oa 审批 未完成
This commit is contained in:
parent
611fecad5d
commit
a769dd08bf
File diff suppressed because it is too large
Load Diff
@ -326,6 +326,7 @@ message CreateRequest {
|
|||||||
string TypeName = 28 [json_name = "typeName"];
|
string TypeName = 28 [json_name = "typeName"];
|
||||||
string GroupName = 29 [json_name = "groupName"];
|
string GroupName = 29 [json_name = "groupName"];
|
||||||
BundlePayPrice BundlePayPrice = 30 [json_name = "bundlePayPrice"];
|
BundlePayPrice BundlePayPrice = 30 [json_name = "bundlePayPrice"];
|
||||||
|
ApprovalOA ApprovalOA = 31 [json_name = ""];
|
||||||
}
|
}
|
||||||
|
|
||||||
message WorkFlow {
|
message WorkFlow {
|
||||||
@ -416,3 +417,127 @@ message SettingResponse {
|
|||||||
uint64 ID=1 [json_name = "ID"];
|
uint64 ID=1 [json_name = "ID"];
|
||||||
bool Success=2 [json_name = "success"];
|
bool Success=2 [json_name = "success"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// oa审批
|
||||||
|
|
||||||
|
message ApprovalOA {
|
||||||
|
uint64 ID=1 [json_name = "ID"];
|
||||||
|
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
||||||
|
string CreatedAt=3 [json_name = "createdAt"];
|
||||||
|
string UpdatedAt=4 [json_name = "updatedAt"];
|
||||||
|
uint64 ApprovalID=5 [json_name = "approvalID"];
|
||||||
|
LeaveApply LeaveApply = 6 [json_name = "leaveApply"];
|
||||||
|
OutWorkApply OutWork = 7 [json_name = "outWork"];
|
||||||
|
MakeUpApply MakeUp = 8 [json_name = "makeUp"];
|
||||||
|
TurnoverApply Turnover = 9 [json_name = "turnover"];
|
||||||
|
OverTimeApply OverTime = 10 [json_name = "overTime"];
|
||||||
|
Leave Leave = 11 [json_name = "leave"];
|
||||||
|
}
|
||||||
|
|
||||||
|
message LeaveApply {
|
||||||
|
string UUID = 1 [json_name = "UUID"];
|
||||||
|
string StaffUID = 2 [json_name = "staffUID"];
|
||||||
|
string StaffNum = 3 [json_name = "staffNum"];
|
||||||
|
string StaffName = 4 [json_name = "staffName"];
|
||||||
|
string DepartmentUID = 5 [json_name = "departmentUID"];
|
||||||
|
string ApplyType = 6 [json_name = "applyType"];
|
||||||
|
string ActionTime = 7 [json_name = "actionTime"];
|
||||||
|
string ApprovalID = 8 [json_name = "approvalID"];
|
||||||
|
int32 Status = 9 [json_name = "status"];
|
||||||
|
string Reason = 10 [json_name = "reason"];
|
||||||
|
repeated string VerifyFile = 11 [json_name = "verifyFile"];
|
||||||
|
repeated CopyUser CopyUsers = 12 [json_name = "copyUsers"];
|
||||||
|
repeated ApprovalUser ApprovalUsers = 13 [json_name = "approvalUsers"];
|
||||||
|
}
|
||||||
|
|
||||||
|
message OutWorkApply {
|
||||||
|
string UUID = 1 [json_name = "UUID"];
|
||||||
|
string StaffUID = 2 [json_name = "staffUID"];
|
||||||
|
string StaffNum = 3 [json_name = "staffNum"];
|
||||||
|
string StaffName = 4 [json_name = "staffName"];
|
||||||
|
string DepartmentUID = 5 [json_name = "departmentUID"];
|
||||||
|
string ApplyType = 6 [json_name = "applyType"];
|
||||||
|
string ActionTime = 7 [json_name = "actionTime"];
|
||||||
|
string ApprovalID = 8 [json_name = "approvalID"];
|
||||||
|
int32 Status = 9 [json_name = "status"];
|
||||||
|
string BeginTime = 10 [json_name = "beginTime"];
|
||||||
|
string EndTime = 11 [json_name = "endTime"];
|
||||||
|
string Reason = 12 [json_name = "reason"];
|
||||||
|
float Hours = 13 [json_name = "hours"];
|
||||||
|
string OutWorkAddress = 14 [json_name = "outWorkAddress"];
|
||||||
|
string Vehicle = 15 [json_name = "vehicle"];
|
||||||
|
repeated CopyUser CopyUsers = 16 [json_name = "copyUsers"];
|
||||||
|
repeated ApprovalUser ApprovalUsers = 17 [json_name = "approvalUsers"];
|
||||||
|
}
|
||||||
|
|
||||||
|
message MakeUpApply {
|
||||||
|
string UUID = 1 [json_name = "UUID"];
|
||||||
|
string StaffUID = 2 [json_name = "staffUID"];
|
||||||
|
string StaffNum = 3 [json_name = "staffNum"];
|
||||||
|
string StaffName = 4 [json_name = "staffName"];
|
||||||
|
string DepartmentUID = 5 [json_name = "departmentUID"];
|
||||||
|
string ApplyType = 6 [json_name = "applyType"];
|
||||||
|
string ActionTime = 7 [json_name = "actionTime"];
|
||||||
|
string ApprovalID = 8 [json_name = "approvalID"];
|
||||||
|
int32 Status = 9 [json_name = "status"];
|
||||||
|
string MakeUpDate =10 [json_name = "makeUpDate"];
|
||||||
|
string MakeUpTime =11 [json_name = "makeUpTime"];
|
||||||
|
string Reason = 12 [json_name = "reason"];
|
||||||
|
repeated CopyUser CopyUsers = 13 [json_name = "copyUsers"];
|
||||||
|
repeated ApprovalUser ApprovalUsers = 14 [json_name = "approvalUsers"];
|
||||||
|
}
|
||||||
|
|
||||||
|
message TurnoverApply {
|
||||||
|
string UUID = 1 [json_name = "UUID"];
|
||||||
|
string StaffUID = 2 [json_name = "staffUID"];
|
||||||
|
string StaffNum = 3 [json_name = "staffNum"];
|
||||||
|
string StaffName = 4 [json_name = "staffName"];
|
||||||
|
string DepartmentUID = 5 [json_name = "departmentUID"];
|
||||||
|
string ApplyType = 6 [json_name = "applyType"];
|
||||||
|
string ActionTime = 7 [json_name = "actionTime"];
|
||||||
|
string ApprovalID = 8 [json_name = "approvalID"];
|
||||||
|
int32 Status = 9 [json_name = "status"];
|
||||||
|
string HandoverUID = 10 [json_name = "handoverUID"];
|
||||||
|
string HandoverName = 11 [json_name = "handoverName"];
|
||||||
|
string TurnoverTime = 12 [json_name = "turnoverTime"];
|
||||||
|
string Reason = 13 [json_name = "reason"];
|
||||||
|
repeated CopyUser CopyUsers = 14 [json_name = "copyUsers"];
|
||||||
|
repeated ApprovalUser ApprovalUsers = 15 [json_name = "approvalUsers"];
|
||||||
|
}
|
||||||
|
|
||||||
|
message OverTimeApply {
|
||||||
|
string UUID = 1 [json_name = "UUID"];
|
||||||
|
string StaffUID = 2 [json_name = "staffUID"];
|
||||||
|
string StaffNum = 3 [json_name = "staffNum"];
|
||||||
|
string StaffName = 4 [json_name = "staffName"];
|
||||||
|
string DepartmentUID = 5 [json_name = "departmentUID"];
|
||||||
|
string ApplyType = 6 [json_name = "applyType"];
|
||||||
|
string ActionTime = 7 [json_name = "actionTime"];
|
||||||
|
string ApprovalID = 8 [json_name = "approvalID"];
|
||||||
|
int32 Status = 9 [json_name = "status"];
|
||||||
|
string BeginTime = 10 [json_name = "beginTime"];
|
||||||
|
string EndTime = 11 [json_name = "endTime"];
|
||||||
|
string Reason = 12 [json_name = "reason"];
|
||||||
|
float Hours = 13 [json_name = "hours"];
|
||||||
|
repeated CopyUser CopyUsers = 14 [json_name = "copyUsers"];
|
||||||
|
repeated ApprovalUser ApprovalUsers = 15 [json_name = "approvalUsers"];
|
||||||
|
}
|
||||||
|
|
||||||
|
message Leave {
|
||||||
|
string UUID = 1 [json_name = "UUID"];
|
||||||
|
string StaffUID = 2 [json_name = "staffUID"];
|
||||||
|
string StaffNum = 3 [json_name = "staffNum"];
|
||||||
|
string StaffName = 4 [json_name = "staffName"];
|
||||||
|
string DepartmentUID = 5 [json_name = "departmentUID"];
|
||||||
|
string ApplyType = 6 [json_name = "applyType"];
|
||||||
|
string ActionTime = 7 [json_name = "actionTime"];
|
||||||
|
string ApprovalID = 8 [json_name = "approvalID"];
|
||||||
|
int32 Status = 9 [json_name = "status"];
|
||||||
|
string BeginTime = 10 [json_name = "beginTime"];
|
||||||
|
string EndTime = 11 [json_name = "endTime"];
|
||||||
|
string Reason = 12 [json_name = "reason"];
|
||||||
|
float Hours = 13 [json_name = "hours"];
|
||||||
|
float Days = 14 [json_name = "days"];
|
||||||
|
repeated CopyUser CopyUsers = 15 [json_name = "copyUsers"];
|
||||||
|
repeated ApprovalUser ApprovalUsers = 16 [json_name = "approvalUsers"];
|
||||||
|
}
|
@ -263,6 +263,11 @@ func (this *CreateRequest) Validate() error {
|
|||||||
return github_com_mwitkow_go_proto_validators.FieldError("BundlePayPrice", err)
|
return github_com_mwitkow_go_proto_validators.FieldError("BundlePayPrice", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if this.ApprovalOA != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.ApprovalOA); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("ApprovalOA", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
func (this *WorkFlow) Validate() error {
|
func (this *WorkFlow) Validate() error {
|
||||||
@ -325,3 +330,138 @@ func (this *DetailSettingRequest) Validate() error {
|
|||||||
func (this *SettingResponse) Validate() error {
|
func (this *SettingResponse) Validate() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
func (this *ApprovalOA) Validate() error {
|
||||||
|
if this.LeaveApply != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.LeaveApply); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("LeaveApply", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if this.OutWork != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.OutWork); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("OutWork", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if this.MakeUp != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.MakeUp); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("MakeUp", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if this.Turnover != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Turnover); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("Turnover", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if this.OverTime != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.OverTime); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("OverTime", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if this.Leave != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Leave); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("Leave", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (this *LeaveApply) Validate() error {
|
||||||
|
for _, item := range this.CopyUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("CopyUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, item := range this.ApprovalUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("ApprovalUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (this *OutWorkApply) Validate() error {
|
||||||
|
for _, item := range this.CopyUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("CopyUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, item := range this.ApprovalUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("ApprovalUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (this *MakeUpApply) Validate() error {
|
||||||
|
for _, item := range this.CopyUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("CopyUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, item := range this.ApprovalUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("ApprovalUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (this *TurnoverApply) Validate() error {
|
||||||
|
for _, item := range this.CopyUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("CopyUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, item := range this.ApprovalUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("ApprovalUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (this *OverTimeApply) Validate() error {
|
||||||
|
for _, item := range this.CopyUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("CopyUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, item := range this.ApprovalUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("ApprovalUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (this *Leave) Validate() error {
|
||||||
|
for _, item := range this.CopyUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("CopyUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, item := range this.ApprovalUsers {
|
||||||
|
if item != nil {
|
||||||
|
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||||
|
return github_com_mwitkow_go_proto_validators.FieldError("ApprovalUsers", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
@ -51,6 +51,7 @@ type Approval struct {
|
|||||||
BundlePayPrice *BundlePayPrice `gorm:"foreignKey:ApprovalID" json:"BundlePayPrice"` //关联的type
|
BundlePayPrice *BundlePayPrice `gorm:"foreignKey:ApprovalID" json:"BundlePayPrice"` //关联的type
|
||||||
ExhibitionReward *ExhibitionReward `gorm:"foreignKey:ApprovalID" json:"ExhibitionReward"` //关联的type
|
ExhibitionReward *ExhibitionReward `gorm:"foreignKey:ApprovalID" json:"ExhibitionReward"` //关联的type
|
||||||
ApprovalWorkFlows []*ApprovalWorkFlow `gorm:"foreignKey:ApprovalID" json:"ApprovalWorkFlows"`
|
ApprovalWorkFlows []*ApprovalWorkFlow `gorm:"foreignKey:ApprovalID" json:"ApprovalWorkFlows"`
|
||||||
|
ApprovalOA *ApprovalOA `gorm:"foreignKey:ApprovalID" json:"OA"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j *KeyInfos) Scan(src interface{}) error {
|
func (j *KeyInfos) Scan(src interface{}) error {
|
||||||
@ -541,7 +542,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
|
|
||||||
modelObj = modelObj.Where(&Approval{Type: in.Type}).Where(
|
modelObj = modelObj.Where(&Approval{Type: in.Type}).Where(
|
||||||
DB.Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}). // 我需要审批的
|
DB.Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}). // 我需要审批的
|
||||||
Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的
|
Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的
|
||||||
modelObj.Count(&count)
|
modelObj.Count(&count)
|
||||||
|
|
||||||
if len(ids) > 0 { //根据具体id排序
|
if len(ids) > 0 { //根据具体id排序
|
||||||
@ -586,8 +587,8 @@ func MyApprovalWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
if in.UserID != 0 {
|
if in.UserID != 0 {
|
||||||
modelObj = modelObj.Where(
|
modelObj = modelObj.Where(
|
||||||
DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID).
|
DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID).
|
||||||
Where("status != ?", StatusDoing). //完成,我参与审批
|
Where("status != ?", StatusDoing). //完成,我参与审批
|
||||||
Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我,
|
Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我,
|
||||||
Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID).Where("status = ?", StatusOk))) //抄送人(完成抄送)
|
Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID).Where("status = ?", StatusOk))) //抄送人(完成抄送)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -643,8 +644,8 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
if in.UserID != 0 {
|
if in.UserID != 0 {
|
||||||
modelObj = modelObj.Where(
|
modelObj = modelObj.Where(
|
||||||
DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID).
|
DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID).
|
||||||
Where("status != ?", StatusDoing). //完成,我参与审批
|
Where("status != ?", StatusDoing). //完成,我参与审批
|
||||||
Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我,
|
Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我,
|
||||||
Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID).Where("status = ?", StatusOk))) //抄送人(完成抄送)
|
Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID).Where("status = ?", StatusOk))) //抄送人(完成抄送)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -804,6 +805,11 @@ func getApprovalContentFactory(typeFiled string) (ApprovalContentInterface, erro
|
|||||||
case TypeArtExhibitionReward:
|
case TypeArtExhibitionReward:
|
||||||
return &ExhibitionReward{}, nil
|
return &ExhibitionReward{}, nil
|
||||||
default:
|
default:
|
||||||
return &Approval{}, nil
|
v, _ := TypeMap[typeFiled]
|
||||||
|
if v == "oa" {
|
||||||
|
return &ApprovalOA{}, nil
|
||||||
|
} else {
|
||||||
|
return &Approval{}, nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
274
pkg/model/approval_oa.go
Normal file
274
pkg/model/approval_oa.go
Normal file
@ -0,0 +1,274 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||||
|
m2 "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
|
||||||
|
"github.com/jinzhu/copier"
|
||||||
|
"gorm.io/plugin/soft_delete"
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ApprovalOA struct {
|
||||||
|
ID uint64 `gorm:"primaryKey;column:id" json:"id"` // ID
|
||||||
|
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除时间
|
||||||
|
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
|
||||||
|
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
|
||||||
|
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalID"` // 申请的id
|
||||||
|
LeaveApply LeaveApply `json:"leaveApply" gorm:"column:leave_apply;type:json;comment:假期余额申请"`
|
||||||
|
OutWork OutWorkApply `json:"outWork" gorm:"column:out_work;type:json;comment:外勤"`
|
||||||
|
MakeUp MakeUpApply `json:"makeUp" gorm:"column:make_up;type:json;comment:加班"`
|
||||||
|
Turnover TurnoverApply `json:"turnover" gorm:"column:turnover;type:json;comment:离职"`
|
||||||
|
OverTime OverTimeApply `json:"overTime" gorm:"column:over_time;type:json;comment:加班"`
|
||||||
|
Leave Leave `json:"leave" gorm:"column:leave;type:json;comment:请假"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// LeaveApply
|
||||||
|
// 假期额度申请
|
||||||
|
type LeaveApply struct {
|
||||||
|
UUID string `json:"UUID" gorm:"column:uuid,type:varchar(255),primaryKey"`
|
||||||
|
StaffUID string `json:"staffUID" gorm:"column:staff_uid;type:varchar(255);comment:员工UID"` // 员工UID
|
||||||
|
StaffNum string `json:"staffNum" gorm:"column:staff_num;type:varchar(255);comment:员工编号"` // 员工编号
|
||||||
|
StaffName string `json:"staffName" gorm:"column:staff_name;type:varchar(255);comment:员工姓名"` // 员工姓名
|
||||||
|
DepartmentUID string `json:"departmentUID" gorm:"column:department_uid;type:text;comment:部门UID"` // 部门UID
|
||||||
|
ApplyType string `json:"applyType" gorm:"column:apply_type;type:varchar(255);comment:审批|请假类型"`
|
||||||
|
ActionTime string `json:"actionTime" gorm:"column:action_time;type:varchar(255);comment:操作|申请时间"`
|
||||||
|
ApprovalID string `json:"approvalID" gorm:"column:approval_id;type:varchar(255);comment:审批系统中的approvalID"`
|
||||||
|
Reason string `json:"reason" gorm:"column:reason;type:varchar(255);comment:理由"`
|
||||||
|
Status int32 `json:"status" gorm:"column:status;type:int;comment:状态(目前和审批系统状态同步)"`
|
||||||
|
VerifyFile VerifyFiles `json:"verifyFile" gorm:"column:verify_file;type:json;comment:证明文件(图片|pdf)"`
|
||||||
|
ApprovalUsers ApprovalUsers `json:"approvalUsers" gorm:"column:approval_users;type:json;comment:审批人"`
|
||||||
|
CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// OutWorkApply
|
||||||
|
// 外勤申请
|
||||||
|
type OutWorkApply struct {
|
||||||
|
UUID string `json:"UUID" gorm:"column:uuid,type:varchar(255),primaryKey"`
|
||||||
|
StaffUID string `json:"staffUID" gorm:"column:staff_uid;type:varchar(255);comment:员工UID"` // 员工UID
|
||||||
|
StaffNum string `json:"staffNum" gorm:"column:staff_num;type:varchar(255);comment:员工编号"` // 员工编号
|
||||||
|
StaffName string `json:"staffName" gorm:"column:staff_name;type:varchar(255);comment:员工姓名"` // 员工姓名
|
||||||
|
DepartmentUID string `json:"departmentUID" gorm:"column:department_uid;type:text;comment:部门UID"` // 部门UID
|
||||||
|
ApplyType string `json:"applyType" gorm:"column:apply_type;type:varchar(255);comment:审批|请假类型"`
|
||||||
|
ActionTime string `json:"actionTime" gorm:"column:action_time;type:varchar(255);comment:操作|申请时间"`
|
||||||
|
BeginTime string `json:"beginTime" gorm:"column:begin_time;type:varchar(255);comment:开始时间"`
|
||||||
|
EndTime string `json:"endTime" gorm:"column:end_time;type:varchar(255);comment:结束时间"`
|
||||||
|
Hours float32 `json:"hours" gorm:"column:hours;type:decimal(10,2);comment:时长(小时)"`
|
||||||
|
OutWorkAddress string `json:"outWorkAddress" gorm:"column:out_work_address;type:varchar(255);comment:外勤地址"`
|
||||||
|
Vehicle string `json:"vehicle" gorm:"column:vehicle;type:varchar(255);comment:交通工具"`
|
||||||
|
Reason string `json:"reason" gorm:"column:reason;type:varchar(255);comment:理由"`
|
||||||
|
ApprovalID string `json:"approvalID" gorm:"column:approval_id;type:varchar(255);comment:审批系统中的approvalID"`
|
||||||
|
Status int32 `json:"status" gorm:"column:status;type:int;comment:状态(目前和审批系统状态同步)"`
|
||||||
|
ApprovalUsers ApprovalUsers `json:"approvalUsers" gorm:"column:approval_users;type:json;comment:审批人"`
|
||||||
|
CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// MakeUpApply
|
||||||
|
// 补卡申请
|
||||||
|
type MakeUpApply struct {
|
||||||
|
UUID string `json:"UUID" gorm:"column:uuid,type:varchar(255),primaryKey"`
|
||||||
|
StaffUID string `json:"staffUID" gorm:"column:staff_uid;type:varchar(255);comment:员工UID"` // 员工UID
|
||||||
|
StaffNum string `json:"staffNum" gorm:"column:staff_num;type:varchar(255);comment:员工编号"` // 员工编号
|
||||||
|
StaffName string `json:"staffName" gorm:"column:staff_name;type:varchar(255);comment:员工姓名"` // 员工姓名
|
||||||
|
DepartmentUID string `json:"departmentUID" gorm:"column:department_uid;type:text;comment:部门UID"` // 部门UID
|
||||||
|
ApplyType string `json:"applyType" gorm:"column:apply_type;type:varchar(255);comment:审批|请假类型"`
|
||||||
|
ActionTime string `json:"actionTime" gorm:"column:action_time;type:varchar(255);comment:操作|申请时间"`
|
||||||
|
MakeUpDate string `json:"makeUpDate" gorm:"column:make_up_date;type:varchar(255);comment:补卡日期"`
|
||||||
|
MakeUpTime string `json:"makeUpTime" gorm:"column:make_up_time;type:varchar(255);comment:补卡时间"`
|
||||||
|
Reason string `json:"reason" gorm:"column:reason;type:varchar(255);comment:理由"`
|
||||||
|
ApprovalID string `json:"approvalID" gorm:"column:approval_id;type:varchar(255);comment:审批系统中的approvalID"`
|
||||||
|
Status int32 `json:"status" gorm:"column:status;type:int;comment:状态(目前和审批系统状态同步)"`
|
||||||
|
ApprovalUsers ApprovalUsers `json:"approvalUsers" gorm:"column:approval_users;type:json;comment:审批人"`
|
||||||
|
CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// TurnoverApply
|
||||||
|
// 离职申请
|
||||||
|
type TurnoverApply struct {
|
||||||
|
UUID string `json:"UUID" gorm:"column:uuid,type:varchar(255),primaryKey"`
|
||||||
|
StaffUID string `json:"staffUID" gorm:"column:staff_uid;type:varchar(255);comment:员工UID"` // 员工UID
|
||||||
|
StaffNum string `json:"staffNum" gorm:"column:staff_num;type:varchar(255);comment:员工编号"` // 员工编号
|
||||||
|
StaffName string `json:"staffName" gorm:"column:staff_name;type:varchar(255);comment:员工姓名"` // 员工姓名
|
||||||
|
DepartmentUID string `json:"departmentUID" gorm:"column:department_uid;type:text;comment:部门UID"` // 部门UID
|
||||||
|
ApplyType string `json:"applyType" gorm:"column:apply_type;type:varchar(255);comment:审批|请假类型"`
|
||||||
|
ActionTime string `json:"actionTime" gorm:"column:action_time;type:varchar(255);comment:操作|申请时间"`
|
||||||
|
Reason string `json:"reason" gorm:"column:reason;type:varchar(255);comment:理由"`
|
||||||
|
HandoverUID string `json:"handoverUID" gorm:"column:handover_uid;type:varchar(255);comment:交接人"`
|
||||||
|
HandoverName string `json:"handoverName" gorm:"column:handover_name;type:varchar(255);comment:交接人姓名"`
|
||||||
|
TurnoverTime string `json:"turnoverTime" gorm:"column:turnover_time;type:varchar(255);comment:离职时间"`
|
||||||
|
ApprovalID string `json:"approvalID" gorm:"column:approval_id;type:varchar(255);comment:审批系统中的approvalID"`
|
||||||
|
Status int32 `json:"status" gorm:"column:status;type:int;comment:状态(目前和审批系统状态同步)"`
|
||||||
|
ApprovalUsers ApprovalUsers `json:"approvalUsers" gorm:"column:approval_users;type:json;comment:审批人"`
|
||||||
|
CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// OverTimeApply
|
||||||
|
// 加班申请
|
||||||
|
type OverTimeApply struct {
|
||||||
|
UUID string `json:"UUID" gorm:"column:uuid,type:varchar(255),primaryKey"`
|
||||||
|
StaffUID string `json:"staffUID" gorm:"column:staff_uid;type:varchar(255);comment:员工UID"` // 员工UID
|
||||||
|
StaffNum string `json:"staffNum" gorm:"column:staff_num;type:varchar(255);comment:员工编号"` // 员工编号
|
||||||
|
StaffName string `json:"staffName" gorm:"column:staff_name;type:varchar(255);comment:员工姓名"` // 员工姓名
|
||||||
|
DepartmentUID string `json:"departmentUID" gorm:"column:department_uid;type:text;comment:部门UID"` // 部门UID
|
||||||
|
ApplyType string `json:"applyType" gorm:"column:apply_type;type:varchar(255);comment:审批|请假类型"`
|
||||||
|
ApprovalID string `json:"approvalID" gorm:"column:approval_id;type:varchar(255);comment:审批系统中的approvalID"`
|
||||||
|
ActionTime string `json:"actionTime" gorm:"column:action_time;type:varchar(255);comment:操作|申请时间"`
|
||||||
|
BeginTime string `json:"beginTime" gorm:"column:begin_time;type:varchar(255);comment:开始时间"`
|
||||||
|
EndTime string `json:"endTime" gorm:"column:end_time;type:varchar(255);comment:结束时间"`
|
||||||
|
Reason string `json:"reason" gorm:"column:reason;type:varchar(255);comment:理由"`
|
||||||
|
Hours float32 `json:"hours" gorm:"column:hours;type:decimal(10,2);comment:时长(小时)"`
|
||||||
|
Status int32 `json:"status" gorm:"column:status;type:int;comment:状态(目前和审批系统状态同步)"`
|
||||||
|
ApprovalUsers ApprovalUsers `json:"approvalUsers" gorm:"column:approval_users;type:json;comment:审批人"`
|
||||||
|
CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Leave
|
||||||
|
// 请假
|
||||||
|
type Leave struct {
|
||||||
|
UUID string `json:"UUID" gorm:"column:uuid,type:varchar(255),primaryKey"`
|
||||||
|
StaffUID string `json:"staffUID" gorm:"column:staff_uid;type:varchar(255);comment:员工UID"` // 员工UID
|
||||||
|
StaffNum string `json:"staffNum" gorm:"column:staff_num;type:varchar(255);comment:员工编号"` // 员工编号
|
||||||
|
StaffName string `json:"staffName" gorm:"column:staff_name;type:varchar(255);comment:员工姓名"` // 员工姓名
|
||||||
|
DepartmentUID string `json:"departmentUID" gorm:"column:department_uid;type:text;comment:部门UID"` // 部门UID
|
||||||
|
ApplyType string `json:"applyType" gorm:"column:apply_type;type:varchar(255);comment:审批|请假类型"`
|
||||||
|
ActionTime string `json:"actionTime" gorm:"column:action_time;type:varchar(255);comment:操作|申请时间"`
|
||||||
|
ApprovalID string `json:"approvalID" gorm:"column:approval_id;type:varchar(255);comment:审批系统中的approvalID"`
|
||||||
|
BeginTime string `json:"beginTime" gorm:"column:begin_time;type:varchar(255);comment:开始时间"`
|
||||||
|
EndTime string `json:"endTime" gorm:"column:end_time;type:varchar(255);comment:结束时间"`
|
||||||
|
Reason string `json:"reason" gorm:"column:reason;type:varchar(255);comment:理由"`
|
||||||
|
Hours float32 `json:"hours" gorm:"column:hours;type:decimal(10,2);comment:时长(小时)"`
|
||||||
|
Days float32 `json:"days" gorm:"column:days;type:decimal(10,2);comment:时长(天)"`
|
||||||
|
Status int32 `json:"status" gorm:"column:status;type:int;comment:状态(目前和审批系统状态同步)"`
|
||||||
|
ApprovalUsers ApprovalUsers `json:"approvalUsers" gorm:"column:approval_users;type:json;comment:审批人"`
|
||||||
|
CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type VerifyFiles []string
|
||||||
|
|
||||||
|
var sonMap = map[string]string{
|
||||||
|
"leave": "leave", // 事假
|
||||||
|
"sick": "leave", // 病假
|
||||||
|
"annualLeave": "leave", // 年假
|
||||||
|
"dayOff": "leave", // 调休
|
||||||
|
"maritalLeave": "leave", // 婚假
|
||||||
|
"matingCheckLeave": "leave", // 孕检假
|
||||||
|
"maternityLeave": "leave", // 产假
|
||||||
|
"paternityLeave": "leave", // 陪产假
|
||||||
|
"parentalLeave": "leave", // 育儿假
|
||||||
|
"nursingLeave": "leave", // 独生子女护理假
|
||||||
|
"funeralLeave": "leave", // 丧假
|
||||||
|
|
||||||
|
"makeUp": "makeUp", // 补卡
|
||||||
|
"overTime": "overTime", // 加班
|
||||||
|
"outWork": "outWork", // 外勤
|
||||||
|
"turnover": "turnover", // 离职
|
||||||
|
|
||||||
|
"annualLeaveApply": "leaveApply", // 年假申请
|
||||||
|
"maritalLeaveApply": "leaveApply", // 婚假申请
|
||||||
|
"matingCheckLeaveApply": "leaveApply", // 孕检假申请
|
||||||
|
"maternityLeaveApply": "leaveApply", // 产假申请
|
||||||
|
"paternityLeaveApply": "leaveApply", // 陪产假申请
|
||||||
|
"parentalLeaveApply": "leaveApply", // 育儿假申请
|
||||||
|
"nursingLeaveApply": "leaveApply", // 独生子女护理假申请
|
||||||
|
}
|
||||||
|
|
||||||
|
// TableName get sql table name.获取数据库表名
|
||||||
|
func (oa *ApprovalOA) TableName() string {
|
||||||
|
return "approval_oa"
|
||||||
|
}
|
||||||
|
|
||||||
|
func (oa *ApprovalOA) GetApproval(id uint64) (*Approval, error) {
|
||||||
|
|
||||||
|
var entity *Approval
|
||||||
|
if err := DB.
|
||||||
|
Preload("ApprovalWorkFlows").
|
||||||
|
Preload("ApprovalType").
|
||||||
|
Preload("ApprovalOA").
|
||||||
|
First(&entity, id).Error; err != nil {
|
||||||
|
return entity, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return entity, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (oa *ApprovalOA) SaveApprovalContent(in *approval.CreateRequest, a *Approval) error {
|
||||||
|
|
||||||
|
copier.CopyWithOption(&oa, in.ApprovalOA, copier.Option{DeepCopy: true})
|
||||||
|
oa.ApprovalID = a.ID
|
||||||
|
|
||||||
|
if err := oa.addOtherInfo(a); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return DB.Create(&oa).Error
|
||||||
|
}
|
||||||
|
|
||||||
|
func (oa *ApprovalOA) addOtherInfo(a *Approval) error {
|
||||||
|
if v, ok := sonMap[a.ApprovalType.KeyWord]; ok {
|
||||||
|
switch v {
|
||||||
|
case "leave":
|
||||||
|
oa.Leave.ApprovalUsers = a.ApprovalUsers
|
||||||
|
oa.Leave.CopyUsers = a.CopyUsers
|
||||||
|
if oa.Leave.ApplyType != "" {
|
||||||
|
oa.Leave.ApplyType = a.ApprovalType.KeyWord
|
||||||
|
}
|
||||||
|
oa.Leave.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
|
oa.Leave.Status = int32(a.Status)
|
||||||
|
case "makeUp":
|
||||||
|
oa.MakeUp.ApprovalUsers = a.ApprovalUsers
|
||||||
|
oa.MakeUp.CopyUsers = a.CopyUsers
|
||||||
|
oa.MakeUp.ApplyType = a.ApprovalType.KeyWord
|
||||||
|
oa.MakeUp.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
|
oa.MakeUp.Status = int32(a.Status)
|
||||||
|
case "overTime":
|
||||||
|
oa.OverTime.ApprovalUsers = a.ApprovalUsers
|
||||||
|
oa.OverTime.CopyUsers = a.CopyUsers
|
||||||
|
oa.OverTime.ApplyType = a.ApprovalType.KeyWord
|
||||||
|
oa.OverTime.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
|
oa.OverTime.Status = int32(a.Status)
|
||||||
|
case "outWork":
|
||||||
|
oa.OutWork.ApprovalUsers = a.ApprovalUsers
|
||||||
|
oa.OutWork.CopyUsers = a.CopyUsers
|
||||||
|
oa.OutWork.ApplyType = a.ApprovalType.KeyWord
|
||||||
|
oa.OutWork.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
|
oa.OutWork.Status = int32(a.Status)
|
||||||
|
case "turnover":
|
||||||
|
oa.Turnover.ApprovalUsers = a.ApprovalUsers
|
||||||
|
oa.Turnover.CopyUsers = a.CopyUsers
|
||||||
|
oa.Turnover.ApplyType = a.ApprovalType.KeyWord
|
||||||
|
oa.Turnover.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
|
oa.Turnover.Status = int32(a.Status)
|
||||||
|
case "leaveApply":
|
||||||
|
oa.LeaveApply.ApprovalUsers = a.ApprovalUsers
|
||||||
|
oa.LeaveApply.CopyUsers = a.CopyUsers
|
||||||
|
oa.LeaveApply.ApplyType = a.ApprovalType.KeyWord
|
||||||
|
oa.LeaveApply.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
|
oa.LeaveApply.Status = int32(a.Status)
|
||||||
|
default:
|
||||||
|
return errors.New("未找到相关审批类型")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (oa *ApprovalOA) UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error {
|
||||||
|
|
||||||
|
var entity *ApprovalOA
|
||||||
|
|
||||||
|
if err := DB.Where(&ApprovalOA{ApprovalID: a.ID}).First(&entity).Error; err != nil {
|
||||||
|
return errors.New(m2.ErrorNotFound)
|
||||||
|
}
|
||||||
|
|
||||||
|
oa.ID = entity.ID
|
||||||
|
|
||||||
|
return DB.Model(&oa).Updates(oa).Error
|
||||||
|
}
|
||||||
|
|
||||||
|
func (oa *ApprovalOA) BuildResContent(a *Approval, request *approval.CreateRequest) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (oa *ApprovalOA) DeleteApproval(p *Approval) error {
|
||||||
|
return DB.Where(&ApprovalOA{ApprovalID: p.ID}).Delete(&ApprovalOA{}).Error
|
||||||
|
}
|
@ -40,21 +40,31 @@ var TypeMap = map[string]string{
|
|||||||
TypeBundlePayPrice: "",
|
TypeBundlePayPrice: "",
|
||||||
TypeArtExhibitionReward: "",
|
TypeArtExhibitionReward: "",
|
||||||
|
|
||||||
"leave": "", // 事假
|
"leave": "oa", // 事假
|
||||||
"sick": "", // 病假
|
"sick": "oa", // 病假
|
||||||
"annualLeave": "", // 年假
|
"annualLeave": "oa", // 年假
|
||||||
"dayOff": "", // 调休
|
"dayOff": "oa", // 调休
|
||||||
"maritalLeave": "", // 婚假
|
"maritalLeave": "oa", // 婚假
|
||||||
"matingCheckLeave": "", // 孕检假
|
"matingCheckLeave": "oa", // 孕检假
|
||||||
"maternityLeave": "", // 产假
|
"maternityLeave": "oa", // 产假
|
||||||
"paternityLeave": "", // 陪产假
|
"paternityLeave": "oa", // 陪产假
|
||||||
"parentalLeave": "", // 育儿假
|
"parentalLeave": "oa", // 育儿假
|
||||||
"nursingLeave": "", // 独生子女护理假
|
"nursingLeave": "oa", // 独生子女护理假
|
||||||
"funeralLeave": "", // 丧假
|
"funeralLeave": "oa", // 丧假
|
||||||
"makeUp": "", // 补卡
|
|
||||||
"overtime": "", // 加班
|
"makeUp": "oa", // 补卡
|
||||||
"outwork": "", // 外勤
|
"overTime": "oa", // 加班
|
||||||
"turnover": "", // 离职
|
"outWork": "oa", // 外勤
|
||||||
|
"turnover": "oa", // 离职
|
||||||
|
|
||||||
|
"annualLeaveApply": "oa", // 年假申请
|
||||||
|
"maritalLeaveApply": "oa", // 婚假申请
|
||||||
|
"matingCheckLeaveApply": "oa", // 孕检假申请
|
||||||
|
"maternityLeaveApply": "oa", // 产假申请
|
||||||
|
"paternityLeaveApply": "oa", // 陪产假申请
|
||||||
|
"parentalLeaveApply": "oa", // 育儿假申请
|
||||||
|
"nursingLeaveApply": "oa", // 独生子女护理假申请
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var keyWordMap = map[string]string{
|
var keyWordMap = map[string]string{
|
||||||
@ -65,21 +75,31 @@ var keyWordMap = map[string]string{
|
|||||||
"画展审批": "show",
|
"画展审批": "show",
|
||||||
"画展包付款单申请": TypeBundlePayPrice,
|
"画展包付款单申请": TypeBundlePayPrice,
|
||||||
"画作润格审批": TypeArtExhibitionReward,
|
"画作润格审批": TypeArtExhibitionReward,
|
||||||
"事假": "leave", // 事假
|
|
||||||
"病假": "sick", // 病假
|
"事假": "leave", // 事假
|
||||||
"年假": "annualLeave", // 年假
|
"病假": "sick", // 病假
|
||||||
"调休": "dayOff", // 调休
|
"年假": "annualLeave", // 年假
|
||||||
"婚假": "maritalLeave", // 婚假
|
"调休": "dayOff", // 调休
|
||||||
"孕检假": "matingCheckLeave", // 孕检假
|
"婚假": "maritalLeave", // 婚假
|
||||||
"产假": "maternityLeave", // 产假
|
"孕检假": "matingCheckLeave", // 孕检假
|
||||||
"陪产假": "paternityLeave", // 陪产假
|
"产假": "maternityLeave", // 产假
|
||||||
"育儿假": "parentalLeave", // 育儿假
|
"陪产假": "paternityLeave", // 陪产假
|
||||||
"独生子女护理假": "nursingLeave", // 独生子女护理假
|
"育儿假": "parentalLeave", // 育儿假
|
||||||
"丧假": "funeralLeave", // 丧假
|
"独生子女护理假": "nursingLeave", // 独生子女护理假
|
||||||
"补卡": "makeUp", // 补卡
|
"丧假": "funeralLeave", // 丧假
|
||||||
"加班": "overtime", // 加班
|
|
||||||
"外勤": "outwork", // 外勤
|
"补卡": "makeUp", // 补卡
|
||||||
"离职": "turnover", // 离职
|
"加班": "overtime", // 加班
|
||||||
|
"外勤": "outwork", // 外勤
|
||||||
|
"离职": "turnover", // 离职
|
||||||
|
|
||||||
|
"年假申请": "annualLeaveApply", // 年假申请
|
||||||
|
"婚假申请": "maritalLeaveApply", // 婚假申请
|
||||||
|
"孕检假申请": "matingCheckLeaveApply", // 孕检假申请
|
||||||
|
"产假申请": "maternityLeaveApply", // 产假申请
|
||||||
|
"陪产假申请": "paternityLeaveApply", // 陪产假申请
|
||||||
|
"育儿假申请": "parentalLeaveApply", // 育儿假申请
|
||||||
|
"独生子女护理假申请": "nursingLeaveApply", // 独生子女护理假申请
|
||||||
}
|
}
|
||||||
|
|
||||||
func DataExist(domain, keyWork, title string) bool {
|
func DataExist(domain, keyWork, title string) bool {
|
||||||
|
Loading…
Reference in New Issue
Block a user