|
@@ -3,7 +3,6 @@ package seal
|
|
import (
|
|
import (
|
|
"errors"
|
|
"errors"
|
|
"fmt"
|
|
"fmt"
|
|
- "github.com/astaxie/beego/logs"
|
|
|
|
"hongze/hongze_mobile_admin/models/custom"
|
|
"hongze/hongze_mobile_admin/models/custom"
|
|
sealResp "hongze/hongze_mobile_admin/models/response/seal"
|
|
sealResp "hongze/hongze_mobile_admin/models/response/seal"
|
|
"hongze/hongze_mobile_admin/models/tables/admin"
|
|
"hongze/hongze_mobile_admin/models/tables/admin"
|
|
@@ -236,7 +235,7 @@ func checkEdit(sealInfo *seal.Seal, updateCol []string, approvalRecordId int, co
|
|
|
|
|
|
//作废用印
|
|
//作废用印
|
|
func Invalid(sealId int, opUser *custom.AdminWx, isInvalidContract bool) (err error) {
|
|
func Invalid(sealId int, opUser *custom.AdminWx, isInvalidContract bool) (err error) {
|
|
- //查询当前合同信息
|
|
|
|
|
|
+ //查询当前用印信息
|
|
sealInfo, err := seal.GetSealInfoById(sealId)
|
|
sealInfo, err := seal.GetSealInfoById(sealId)
|
|
if err != nil {
|
|
if err != nil {
|
|
if err.Error() == utils.ErrNoRow() {
|
|
if err.Error() == utils.ErrNoRow() {
|
|
@@ -269,7 +268,7 @@ func Invalid(sealId int, opUser *custom.AdminWx, isInvalidContract bool) (err er
|
|
if sealInfo.ContractId > 0 && isInvalidContract {
|
|
if sealInfo.ContractId > 0 && isInvalidContract {
|
|
err = contractService.InvalidContract(sealInfo.ContractId, opUser)
|
|
err = contractService.InvalidContract(sealInfo.ContractId, opUser)
|
|
if err != nil {
|
|
if err != nil {
|
|
- logs.Info("作废用印时,同步作废合同失败,Err:", err.Error())
|
|
|
|
|
|
+ utils.ApiLog.Println("作废用印时,同步作废合同失败,Err:", err.Error())
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//添加操作日志
|
|
//添加操作日志
|
|
@@ -278,7 +277,52 @@ func Invalid(sealId int, opUser *custom.AdminWx, isInvalidContract bool) (err er
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-//获取审批流和权限
|
|
|
|
|
|
+// UploadCheckBackFile 上传签回用印附件
|
|
|
|
+func UploadCheckBackFile(sealId int, fileUrl string, opUser *custom.AdminWx) (err error) {
|
|
|
|
+ //查询当前用印信息
|
|
|
|
+ sealInfo, err := seal.GetSealInfoById(sealId)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ err = uploadCheckBackFile(sealInfo, fileUrl, opUser)
|
|
|
|
+
|
|
|
|
+ //如果是系统合同,那么需要去更新系统的签回附件
|
|
|
|
+ if sealInfo.ContractId > 0 {
|
|
|
|
+ _ = contractService.UploadCheckBackFileBySeal(sealInfo.ContractId, fileUrl, opUser)
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// UploadCheckBackFile 上传签回用印附件
|
|
|
|
+func UploadCheckBackFileByContract(contractId int, fileUrl string, opUser *custom.AdminWx) (err error) {
|
|
|
|
+ //查询当前用印信息
|
|
|
|
+ sealInfo, err := seal.GetSealInfoByContractId(contractId)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ err = uploadCheckBackFile(sealInfo, fileUrl, opUser)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// uploadCheckBackFile 上传签回用印附件(实际操作)
|
|
|
|
+func uploadCheckBackFile(sealInfo *seal.Seal, fileUrl string, opUser *custom.AdminWx) (err error) {
|
|
|
|
+ //用印状态判断
|
|
|
|
+ if sealInfo.Status != "已审批" && sealInfo.Status != "已签回" {
|
|
|
|
+ err = errors.New("用印状态异常,不允许上传签回用印附件,当前用印状态:" + sealInfo.Status)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ sealInfo.CheckBackFileUrl = fileUrl
|
|
|
|
+ sealInfo.Status = "已签回"
|
|
|
|
+ sealInfo.ModifyTime = time.Now()
|
|
|
|
+ sealInfo.CheckBackFileTime = time.Now()
|
|
|
|
+ err = sealInfo.Update([]string{"CheckBackFileUrl", "Status", "ModifyTime", "CheckBackFileTime"})
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// GetOpButton 获取审批流和权限
|
|
func GetOpButton(sealInfo *seal.Seal, contractApprovalInfo *contract_approval.ContractApproval, opUser *custom.AdminWx) (sealOpButton sealResp.OpButton, flowNodeListResp [][]contract_approval_record.ContractApprovalRecord, err error) {
|
|
func GetOpButton(sealInfo *seal.Seal, contractApprovalInfo *contract_approval.ContractApproval, opUser *custom.AdminWx) (sealOpButton sealResp.OpButton, flowNodeListResp [][]contract_approval_record.ContractApprovalRecord, err error) {
|
|
//审批流
|
|
//审批流
|
|
approvalRecordList, err := contract_approval_record.GetContractApprovalRecordListByContractApprovalId(contractApprovalInfo.ContractApprovalId)
|
|
approvalRecordList, err := contract_approval_record.GetContractApprovalRecordListByContractApprovalId(contractApprovalInfo.ContractApprovalId)
|
|
@@ -341,6 +385,12 @@ func GetOpButton(sealInfo *seal.Seal, contractApprovalInfo *contract_approval.Co
|
|
sealOpButton.Invalid = true
|
|
sealOpButton.Invalid = true
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //是否具有签回合同用印权限
|
|
|
|
+ uploadStatus := []string{"已审批", "已签回"}
|
|
|
|
+ if opUser.RoleTypeCode == utils.ROLE_TYPE_CODE_COMPLIANCE && strings.Contains(strings.Join(uploadStatus, ","), sealInfo.Status) {
|
|
|
|
+ sealOpButton.UploadFile = true
|
|
|
|
+ }
|
|
|
|
+
|
|
//编辑权限
|
|
//编辑权限
|
|
editStatus := []string{"已驳回", "待提交", "已撤回"}
|
|
editStatus := []string{"已驳回", "待提交", "已撤回"}
|
|
if opUser.AdminId == sealInfo.UserId && strings.Contains(strings.Join(editStatus, ","), sealInfo.Status) {
|
|
if opUser.AdminId == sealInfo.UserId && strings.Contains(strings.Join(editStatus, ","), sealInfo.Status) {
|