12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package dao
- import (
- "github.com/jinzhu/gorm"
- "server/global"
- )
- // import _ "github.com/jinzhu/gorm"
- // Task 流程任务表
- // ExecutionID 执行流ID
- // Name 任务名称,在流程文件中定义
- // TaskDefKey 任务定义的ID值
- // Assignee 被指派执行该任务的人
- // Owner 任务拥有人
- type Task struct {
- global.GVA_MODEL
- // Company 任务创建人对应的公司
- // Company string `json:"company"`
- // ExecutionID string `json:"executionID"`
- // 当前执行流所在的节点
- NodeID string `json:"nodeId"`
- Step int `json:"step"`
- // 流程实例id
- ProcInstID int `json:"procInstID"`
- Assignee string `json:"assignee"`
- CreateTime string `json:"createTime"`
- ClaimTime string `json:"claimTime"`
- // 还未审批的用户数,等于0代表会签已经全部审批结束,默认值为1
- MemberCount int8 `json:"memberCount" gorm:"default:1"`
- UnCompleteNum int8 `json:"unCompleteNum" gorm:"default:1"`
- //审批通过数
- AgreeNum int8 `json:"agreeNum"`
- // and 为会签,or为或签,默认为or
- ActType string `json:"actType" gorm:"default:'or'"`
- IsFinished bool `gorm:"default:false" json:"isFinished"`
- }
- // NewTask 新建任务
- func (t *Task) NewTask() (int, error) {
- err := global.GVA_DB.Create(t).Error
- if err != nil {
- return 0, err
- }
- return int(t.ID), nil
- }
- // UpdateTx UpdateTx
- func (t *Task) UpdateTx(tx *gorm.DB) error {
- err := tx.Model(&Task{}).Updates(t).Error
- return err
- }
- // GetTaskByID GetTaskById
- func GetTaskByID(id int) (*Task, error) {
- var t = &Task{}
- err := global.GVA_DB.Where("id=?", id).Find(t).Error
- return t, err
- }
- // GetTaskLastByProInstID GetTaskLastByProInstID
- // 根据流程实例id获取上一个任务
- func GetTaskLastByProInstID(procInstID int) (*Task, error) {
- var t = &Task{}
- err := global.GVA_DB.Where("proc_inst_id=? and is_finished=1", procInstID).Order("claim_time desc").First(t).Error
- return t, err
- }
- // NewTaskTx begin tx
- // 开启事务
- func (t *Task) NewTaskTx(tx *gorm.DB) (int, error) {
- // str, _ := util.ToJSONStr(t)
- // fmt.Printf("newTask:%s", str)
- err := tx.Create(t).Error
- if err != nil {
- return 0, err
- }
- return int(t.ID), nil
- }
- // DeleteTask 删除任务
- func DeleteTask(id int) error {
- err := global.GVA_DB.Where("id=?", id).Delete(&Task{}).Error
- return err
- }
|