|
@@ -3,7 +3,10 @@ package seal
|
|
|
import (
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
+ "github.com/astaxie/beego/logs"
|
|
|
+ "hongze/hongze_mobile_admin/models/custom"
|
|
|
"hongze/hongze_mobile_admin/models/tables/seal"
|
|
|
+ contractService "hongze/hongze_mobile_admin/services/contract"
|
|
|
"hongze/hongze_mobile_admin/utils"
|
|
|
"strings"
|
|
|
"time"
|
|
@@ -106,3 +109,47 @@ func Edit(sealId, userId, contractId, fileNum int, use, companyName, userCompany
|
|
|
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+//作废用印
|
|
|
+func Invalid(sealId int, opUser *custom.AdminWx, isInvalidContract bool) (err error) {
|
|
|
+ //查询当前合同信息
|
|
|
+ sealInfo, err := seal.GetSealInfoById(sealId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ err = errors.New(fmt.Sprint("根据用印编号:", sealId, " 找不到初始用印"))
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if sealInfo.UserId != opUser.AdminId && opUser.RoleTypeCode != utils.ROLE_TYPE_CODE_COMPLIANCE {
|
|
|
+ err = errors.New("当前账号无操作权限")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if sealInfo.Status != "已审批" {
|
|
|
+ err = errors.New("用印状态异常,不允许作废,当前用印状态:" + sealInfo.Status)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果删除状态 >0,那么代表已经被删除了
|
|
|
+ if sealInfo.IsDelete > 0 {
|
|
|
+ err = errors.New("该用印已删除")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //用印作废
|
|
|
+ err = seal.Invalid(sealInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果是系统合同,同时需要同步作废合同时,那么逻辑处理
|
|
|
+ if sealInfo.ContractId > 0 && isInvalidContract {
|
|
|
+ err = contractService.InvalidContract(sealInfo.ContractId, opUser)
|
|
|
+ if err != nil {
|
|
|
+ logs.Info("作废用印时,同步作废合同失败,Err:", err.Error())
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //添加操作日志
|
|
|
+ //remark := "作废合同模板"
|
|
|
+ //_ = contract_operation_record.AddContractOperationRecord(nowContract.ContractId, opUser.AdminId, 0, "invalid", opUser.RealName, remark)
|
|
|
+ return
|
|
|
+}
|