|
@@ -571,7 +571,6 @@ func reapply(sealInfo *seal.Seal, opUser *system.Admin) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// GetSealApprovalPageList 获取用印审批分页列表
|
|
|
func GetSealApprovalPageList(condition, joinCondition string, pars []interface{}, startSize, pageSize int, sysUser *system.Admin) (newList []*response.SealApprovalList, total int, err error) {
|
|
|
// 1.列表数据
|
|
|
list, total, err := seal.GetSealApprovalListByWhere(condition, joinCondition, pars, startSize, pageSize)
|
|
@@ -708,6 +707,150 @@ func GetSealApprovalPageList(condition, joinCondition string, pars []interface{}
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// GetSealApprovalPageList 获取用印审批分页列表
|
|
|
+//func GetSealApprovalPageList(condition, joinCondition string, pars []interface{}, startSize, pageSize int, sysUser *system.Admin) (newList []*response.SealApprovalList, total int, err error) {
|
|
|
+// // 1.列表数据
|
|
|
+// list, total, err := seal.GetSealApprovalListByWhere(condition, joinCondition, pars, startSize, pageSize)
|
|
|
+// if err != nil {
|
|
|
+// err = errors.New(fmt.Sprint("获取用印审批列表失败,Err:"+err.Error(), err))
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 2.操作权限
|
|
|
+// if len(list) > 0 {
|
|
|
+// // 取出所有列表最新的审批IDs
|
|
|
+// approvalIdSlice := make([]string, 0)
|
|
|
+// // 取出所有列表的关联合同id
|
|
|
+// contractIdSlice := make([]string, 0)
|
|
|
+// for i := 0; i < len(list); i++ {
|
|
|
+// approvalIdSlice = append(approvalIdSlice, strconv.Itoa(list[i].ContractApprovalId))
|
|
|
+// contractIdSlice = append(contractIdSlice, strconv.Itoa(list[i].ContractId))
|
|
|
+// }
|
|
|
+// approvalIdStr := strings.Join(approvalIdSlice, ",")
|
|
|
+//
|
|
|
+// // 通过审批IDs获取所有的审批流
|
|
|
+// approvalRecordList, tempErr := contract.GetContractApprovalRecordListByContractApprovalIds(approvalIdStr)
|
|
|
+// //approvalRecordList, tempErr := contract.GetContractApprovalRecordList(approvalIdStr, sysUser.AdminId)
|
|
|
+// if tempErr != nil {
|
|
|
+// err = errors.New(fmt.Sprint("获取审批流失败,Err:"+tempErr.Error(), err))
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 获取自己的审批流列表数据
|
|
|
+// selfContractApprovalRecordList, tempErr := contract.GetSelfContractApprovalRecordList(approvalIdStr, sysUser.AdminId)
|
|
|
+// if tempErr != nil {
|
|
|
+// err = errors.New(fmt.Sprint("获取审批列表失败,Err:"+tempErr.Error(), err))
|
|
|
+// return
|
|
|
+// }
|
|
|
+// selfContractApprovalRecordMap := make(map[int]*contract.ContractApprovalRecord)
|
|
|
+// for i := 0; i < len(selfContractApprovalRecordList); i++ {
|
|
|
+// selfContractApprovalRecordMap[selfContractApprovalRecordList[i].ContractApprovalId] = selfContractApprovalRecordList[i]
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 获取所有关联的合同列表
|
|
|
+// selfContractMap := make(map[int]*contract.ContractList)
|
|
|
+// {
|
|
|
+// if len(contractIdSlice) > 0 {
|
|
|
+// contractIdStr := strings.Join(contractIdSlice, ",")
|
|
|
+// contractList, tempErr := contract.GetContractListByContractIds(contractIdStr)
|
|
|
+// if tempErr != nil {
|
|
|
+// err = errors.New(fmt.Sprint("获取合同失败,Err:"+tempErr.Error(), err))
|
|
|
+// return
|
|
|
+// }
|
|
|
+// for i := 0; i < len(contractList); i++ {
|
|
|
+// selfContractMap[contractList[i].ContractId] = contractList[i]
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// for i := 0; i < len(list); i++ {
|
|
|
+// item := list[i]
|
|
|
+// list[i].CreateTimeStr = item.CreateTime.Format(utils.FormatDateTime)
|
|
|
+// list[i].ModifyTimeStr = item.ModifyTime.Format(utils.FormatDateTime)
|
|
|
+// list[i].ApproveTimeStr = item.ApproveTime.Format(utils.FormatDateTime)
|
|
|
+// list[i].InvalidTimeStr = item.InvalidTime.Format(utils.FormatDateTime)
|
|
|
+// list[i].CheckBackFileTimeStr = item.CheckBackFileTime.Format(utils.FormatDateTime)
|
|
|
+//
|
|
|
+// if item.ApproveStatus == "已审批" || item.ApproveStatus == "已驳回" {
|
|
|
+// list[i].ApproveTime = item.ModifyTime
|
|
|
+// list[i].ApproveTimeStr = item.ModifyTime.Format(utils.FormatDateTime)
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 如果当前状态是待审批的话,那么校验自己的审批流数据,然后去返回对应的状态
|
|
|
+// if item.Status == "待审批" {
|
|
|
+// // 如果是自己发起的审批单,同时已经经过了一轮审批,那么标记为处理中
|
|
|
+// if item.ApplyUserId == sysUser.AdminId && item.CurrNodeId > item.StartNodeId {
|
|
|
+// list[i].Status = "处理中"
|
|
|
+// } else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN && item.CurrNodeId > item.StartNodeId {
|
|
|
+// // 如果是超管角色,同时已经经过了一轮审批,那么标记为处理中
|
|
|
+// list[i].Status = "处理中"
|
|
|
+// } else {
|
|
|
+// // 此处可能出现同一审批人同时有权限处理一级二级的情况
|
|
|
+// maxNodeId := 0
|
|
|
+// tempStatus := "待审批"
|
|
|
+// for _, selfRecord := range selfContractApprovalRecordList {
|
|
|
+// if item.ContractApprovalId == selfRecord.ContractApprovalId {
|
|
|
+// if selfRecord.NodeId > maxNodeId {
|
|
|
+// maxNodeId = selfRecord.NodeId
|
|
|
+// }
|
|
|
+// if maxNodeId < item.CurrNodeId && selfRecord.NodeType != "cc" {
|
|
|
+// tempStatus = "处理中"
|
|
|
+// } else if maxNodeId == item.CurrNodeId && selfRecord.NodeType != "cc" {
|
|
|
+// tempStatus = "待审批"
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// list[i].Status = tempStatus
|
|
|
+// /*if contractApprovalRecord, has := selfContractApprovalRecordMap[item.ContractApprovalId]; has {
|
|
|
+// if contractApprovalRecord.NodeId < item.CurrNodeId && contractApprovalRecord.NodeType != "cc" {
|
|
|
+// list[i].Status = "处理中"
|
|
|
+// }
|
|
|
+// }*/
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // 合同编码
|
|
|
+//
|
|
|
+// //if selfContract, has := selfContractMap[item.ContractId]; has {
|
|
|
+// // list[i].ContractCode = selfContract.ContractCode
|
|
|
+// //} else {
|
|
|
+// // if item.ProductId == utils.COMPANY_PRODUCT_RAI_ID {
|
|
|
+// // list[i].ContractCode = item.Code
|
|
|
+// // }
|
|
|
+// //}
|
|
|
+//
|
|
|
+// if selfContract, has := selfContractMap[item.ContractId]; has {
|
|
|
+// list[i].ContractCode = selfContract.ContractCode
|
|
|
+// } else {
|
|
|
+// if item.ProductId == utils.COMPANY_PRODUCT_RAI_ID {
|
|
|
+// list[i].ContractCode = item.Code
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 取出item对应approval_id的审批流
|
|
|
+// var tempApprovalRecordMap []*contract.ContractApprovalRecord
|
|
|
+// for _, recordItem := range approvalRecordList {
|
|
|
+// if item.ContractApprovalId == recordItem.ContractApprovalId {
|
|
|
+// tempApprovalRecordMap = append(tempApprovalRecordMap, recordItem)
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // 获取对该条数据的操作权限
|
|
|
+// opButton, tempErr := handleListOpButton(item, tempApprovalRecordMap, sysUser)
|
|
|
+// if tempErr != nil {
|
|
|
+// err = errors.New(fmt.Sprint("获取操作权限失败,Err:"+tempErr.Error(), err))
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// tempNewList := &response.SealApprovalList{
|
|
|
+// SealApprovalItem: item,
|
|
|
+// OpButton: opButton,
|
|
|
+// }
|
|
|
+// newList = append(newList, tempNewList)
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// return
|
|
|
+//}
|
|
|
+
|
|
|
// handleOpButton 列表数据操作权限
|
|
|
func handleListOpButton(approvalItem *seal.SealApprovalItem, recordList []*contract.ContractApprovalRecord, sysUser *system.Admin) (opButton response.SealApprovalOpButton, err error) {
|
|
|
// 待审批状态下,如果是自己发起的审批单,同时已经经过了一轮审批,那么标记为处理中
|