|
@@ -232,7 +232,7 @@ func (this *ContractApprovalCommon) Detail() {
|
|
|
}
|
|
|
|
|
|
//合同详情
|
|
|
- contractInfo, err := contract.GetContractById(contractApprovalInfo.ContractId)
|
|
|
+ contractInfo, err := contract.GetContractDetailById(contractApprovalInfo.ContractId)
|
|
|
if err != nil {
|
|
|
this.FailWithMessage("获取合同详情失败!", "获取合同详情失败,Err:"+err.Error())
|
|
|
return
|
|
@@ -244,48 +244,8 @@ func (this *ContractApprovalCommon) Detail() {
|
|
|
contractDetail.CheckBackFileUrl = contractInfo.CheckBackFileUrl
|
|
|
|
|
|
//审批操作权限,上传签回文件权限
|
|
|
- var contractOpButton contractResp.OpButton
|
|
|
-
|
|
|
- //审批流
|
|
|
- approvalRecordList, err := contract_approval_record.GetContractApprovalRecordListByContractApprovalId(contractApprovalId)
|
|
|
- if err != nil {
|
|
|
- this.FailWithMessage("获取审批失败!", "获取审批失败,Err:"+err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- flowNodeMap := make(map[int][]contract_approval_record.ContractApprovalRecord, 0)
|
|
|
- keySort := make([]int, 0)
|
|
|
- for _, approvalRecord := range approvalRecordList {
|
|
|
- //如果当前节点正好是该节点,同时审批单状态是待审批状态,然后当前账号又有权限,该账号也正是审批人,那么允许审批操作
|
|
|
- if contractApprovalInfo.CurrNodeId == approvalRecord.NodeId && contractApprovalInfo.Status == "待审批" {
|
|
|
- if this.AdminWx.AdminId == approvalRecord.ApproveUserId && approvalRecord.NodeType == "check" {
|
|
|
- contractOpButton.Approval = true
|
|
|
- }
|
|
|
- }
|
|
|
- if tmpFlowNodeList, ok := flowNodeMap[approvalRecord.NodeId]; ok {
|
|
|
- flowNodeMap[approvalRecord.NodeId] = append(tmpFlowNodeList, *approvalRecord)
|
|
|
- } else {
|
|
|
- tmpFlowNodeList := make([]contract_approval_record.ContractApprovalRecord, 1)
|
|
|
- tmpFlowNodeList[0] = *approvalRecord
|
|
|
- flowNodeMap[approvalRecord.NodeId] = tmpFlowNodeList
|
|
|
+ contractOpButton, flowNodeListResp, err := contractService.GetOpButton(contractInfo, contractApprovalInfo, this.AdminWx)
|
|
|
|
|
|
- keySort = append(keySort, approvalRecord.NodeId)
|
|
|
- }
|
|
|
- }
|
|
|
- flowNodeListResp := make([][]contract_approval_record.ContractApprovalRecord, 0)
|
|
|
- for _, key := range keySort {
|
|
|
- flowNodeListResp = append(flowNodeListResp, flowNodeMap[key])
|
|
|
- }
|
|
|
-
|
|
|
- //是否具有签回合同权限
|
|
|
- uploadStatus := []string{"已审批", "已签回"}
|
|
|
- if this.AdminWx.RoleTypeCode == utils.ROLE_TYPE_CODE_COMPLIANCE && strings.Contains(strings.Join(uploadStatus, ","), contractInfo.Status) {
|
|
|
- contractOpButton.UploadFile = true
|
|
|
- }
|
|
|
-
|
|
|
- //作废权限
|
|
|
- if (this.AdminWx.RoleTypeCode == utils.ROLE_TYPE_CODE_COMPLIANCE || this.AdminWx.AdminId == contractInfo.SellerId) && contractInfo.Status == "已审批" {
|
|
|
- contractOpButton.Invalid = true
|
|
|
- }
|
|
|
resp := contractResp.ContractDetailResp{
|
|
|
ContractDetail: contractDetail,
|
|
|
FlowNodeList: flowNodeListResp,
|
|
@@ -326,48 +286,7 @@ func (this *ContractApprovalCommon) detailByApprovalRecordId(approvalRecordId in
|
|
|
detail.Status = contractInfo.Status
|
|
|
|
|
|
//审批操作权限,上传签回文件权限
|
|
|
- var opButton contractResp.OpButton
|
|
|
-
|
|
|
- //审批流
|
|
|
- approvalRecordList, err := contract_approval_record.GetContractApprovalRecordListByContractApprovalId(approvalRecordInfo.ContractApprovalId)
|
|
|
- if err != nil {
|
|
|
- this.FailWithMessage("获取审批失败", "获取审批失败,Err:"+err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- flowNodeMap := make(map[int][]contract_approval_record.ContractApprovalRecord, 0)
|
|
|
- keySort := make([]int, 0)
|
|
|
- for _, approvalRecord := range approvalRecordList {
|
|
|
- //如果当前节点正好是该节点,同时审批单状态是待审批状态,然后当前账号又有权限,该账号也正是审批人,那么允许审批操作
|
|
|
- if contractApprovalInfo.CurrNodeId == approvalRecord.NodeId && contractApprovalInfo.Status == "待审批" {
|
|
|
- if this.AdminWx.AdminId == approvalRecord.ApproveUserId && approvalRecord.NodeType == "check" {
|
|
|
- opButton.Approval = true
|
|
|
- }
|
|
|
- }
|
|
|
- if tmpFlowNodeList, ok := flowNodeMap[approvalRecord.NodeId]; ok {
|
|
|
- flowNodeMap[approvalRecord.NodeId] = append(tmpFlowNodeList, *approvalRecord)
|
|
|
- } else {
|
|
|
- tmpFlowNodeList := make([]contract_approval_record.ContractApprovalRecord, 1)
|
|
|
- tmpFlowNodeList[0] = *approvalRecord
|
|
|
- flowNodeMap[approvalRecord.NodeId] = tmpFlowNodeList
|
|
|
-
|
|
|
- keySort = append(keySort, approvalRecord.NodeId)
|
|
|
- }
|
|
|
- }
|
|
|
- flowNodeListResp := make([][]contract_approval_record.ContractApprovalRecord, 0)
|
|
|
- for _, key := range keySort {
|
|
|
- flowNodeListResp = append(flowNodeListResp, flowNodeMap[key])
|
|
|
- }
|
|
|
-
|
|
|
- //上传签回文件权限
|
|
|
- uploadStatus := []string{"已审批", "已签回"}
|
|
|
- if this.AdminWx.RoleTypeCode == utils.ROLE_TYPE_CODE_COMPLIANCE && strings.Contains(strings.Join(uploadStatus, ","), contractInfo.Status) {
|
|
|
- opButton.UploadFile = true
|
|
|
- }
|
|
|
-
|
|
|
- //作废权限
|
|
|
- if (this.AdminWx.RoleTypeCode == utils.ROLE_TYPE_CODE_COMPLIANCE || this.AdminWx.AdminId == contractInfo.SellerId) && contractInfo.Status == "已审批" {
|
|
|
- opButton.Invalid = true
|
|
|
- }
|
|
|
+ opButton, flowNodeListResp, err := contractService.GetOpButton(contractInfo, contractApprovalInfo, this.AdminWx)
|
|
|
resp := contractResp.ContractDetailResp{
|
|
|
ContractDetail: detail,
|
|
|
FlowNodeList: flowNodeListResp,
|