process.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package workflow
  2. import (
  3. "errors"
  4. "server/dao"
  5. "server/model/common/request"
  6. )
  7. type ProcessService struct{}
  8. func (ps *ProcessService) QueryAllProcess() ([]dao.Process, error) {
  9. return dao.QueryAllProcess()
  10. }
  11. func (ps *ProcessService) QueryProcessList(info request.PageInfo) (list interface{}, total int64, err error) {
  12. limit := info.PageSize
  13. offset := info.PageSize * (info.Page - 1)
  14. processes, total, err := dao.QueryProcessList(limit, offset)
  15. return processes, total, err
  16. }
  17. func (ps *ProcessService) CreateProcess(process request.CreateProcess) error {
  18. return dao.CreateProcess(process.Process, process.ProcessNodes)
  19. }
  20. func (ps *ProcessService) UpdateProcess(process request.CreateProcess) error {
  21. return dao.UpdateProcess(process.Process, process.ProcessNodes)
  22. }
  23. func (ps *ProcessService) SwitchProcess(process dao.Process) error {
  24. return dao.SwitchProcess(process)
  25. }
  26. func (ps *ProcessService) DeleteProcess(process dao.Process) error {
  27. projectProcess, err := dao.QueryProjectProcessByProcessApprovalId(int(process.ID))
  28. if err != nil {
  29. return err
  30. }
  31. if len(projectProcess) > 0 {
  32. return errors.New("该审批流程已被使用")
  33. }
  34. return process.DeleteProcess()
  35. }