|
@@ -2,13 +2,9 @@ package oilsupplier
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"encoding/json"
|
|
"encoding/json"
|
|
|
- "strconv"
|
|
|
|
|
"strings"
|
|
"strings"
|
|
|
"time"
|
|
"time"
|
|
|
|
|
|
|
|
- "dashoo.cn/backend/api/business/auditsetting"
|
|
|
|
|
- "dashoo.cn/backend/api/business/oilsupplier/classorgsetting"
|
|
|
|
|
- "dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
|
|
|
|
|
"dashoo.cn/backend/api/business/workflow"
|
|
"dashoo.cn/backend/api/business/workflow"
|
|
|
|
|
|
|
|
"dashoo.cn/backend/api/business/baseUser"
|
|
"dashoo.cn/backend/api/business/baseUser"
|
|
@@ -482,7 +478,7 @@ func (this *OilSupplierCertController) DeleteEntity() {
|
|
|
// @Success 200 {object} controllers.Request
|
|
// @Success 200 {object} controllers.Request
|
|
|
// @router /audit/:id [post]
|
|
// @router /audit/:id [post]
|
|
|
func (this *OilSupplierCertController) AuditEntity() {
|
|
func (this *OilSupplierCertController) AuditEntity() {
|
|
|
- Id := this.Ctx.Input.Param(":id")
|
|
|
|
|
|
|
+ certId := this.Ctx.Input.Param(":id")
|
|
|
|
|
|
|
|
var errinfo ErrorDataInfo
|
|
var errinfo ErrorDataInfo
|
|
|
defer func() { //finally处理失败的异常
|
|
defer func() { //finally处理失败的异常
|
|
@@ -491,81 +487,28 @@ func (this *OilSupplierCertController) AuditEntity() {
|
|
|
errinfo.Code = -1
|
|
errinfo.Code = -1
|
|
|
this.Data["json"] = &errinfo
|
|
this.Data["json"] = &errinfo
|
|
|
this.ServeJSON()
|
|
this.ServeJSON()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ //返回正确结果
|
|
|
|
|
+ errinfo.Message = "审核提交成功"
|
|
|
|
|
+ errinfo.Code = 0
|
|
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
|
|
+ this.ServeJSON()
|
|
|
}
|
|
}
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
//取出审批列表
|
|
//取出审批列表
|
|
|
- var supplierCert suppliercert.OilSupplierCert
|
|
|
|
|
certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
|
|
certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
|
|
|
- certSrv.GetEntityById(Id, &supplierCert)
|
|
|
|
|
-
|
|
|
|
|
- //取出准入分类列表
|
|
|
|
|
- var subList []suppliercertsub.OilSupplierCertSub
|
|
|
|
|
- certSubSrv := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
|
|
|
|
|
- subWhere := " 1=1 "
|
|
|
|
|
- subWhere += " and SupplierCertId='" + Id + "'"
|
|
|
|
|
- certSubSrv.GetEntitysByWhere(OilSupplierCertSubName, subWhere, &subList)
|
|
|
|
|
- var subClassIds string
|
|
|
|
|
- for _, certSub := range subList {
|
|
|
|
|
- subClassIds += strconv.Itoa(certSub.SubClassId) + ","
|
|
|
|
|
- }
|
|
|
|
|
- subClassIds = strings.Trim(subClassIds, ",")
|
|
|
|
|
- if len(subClassIds) <= 0 {
|
|
|
|
|
- panic("没有选择准入分类")
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //取出审核部门
|
|
|
|
|
- classorgSrv := classorgsetting.GetOilClassOrgSettingService(utils.DBE)
|
|
|
|
|
- var list []classorgsetting.OilClassOrgSetting
|
|
|
|
|
- var orgListStr string
|
|
|
|
|
- var where string
|
|
|
|
|
- where += " 1=1 "
|
|
|
|
|
- subWhere += " and SupplierTypeCode='" + supplierCert.SupplierTypeCode + "'"
|
|
|
|
|
- where += " and ClassId in (" + subClassIds + ")"
|
|
|
|
|
- where += " and AuditStepCode = '" + workflow.FIRST_TRIAL + "'"
|
|
|
|
|
- classorgSrv.GetEntitysByWhere(OilClassOrgSettingName, where, &list)
|
|
|
|
|
- if len(list) <= 0 {
|
|
|
|
|
- panic("未配置准入分类审批部门")
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- subClassIdsCheck := subClassIds + ","
|
|
|
|
|
- //拼接工作流的需要审批的部门及部门相关的审核人员信息
|
|
|
|
|
- var orgAudits []workflow.MultiOrgAuditVM
|
|
|
|
|
- userSvc := userRole.GetUserService(utils.DBE)
|
|
|
|
|
- auditSrv := auditsetting.GetOilAuditSettingService(utils.DBE)
|
|
|
|
|
- for _, certsetting := range list {
|
|
|
|
|
- var auditSetting auditsetting.Base_OilAuditSetting
|
|
|
|
|
- var orgAudit workflow.MultiOrgAuditVM
|
|
|
|
|
- orgAudit.OrgId = strconv.Itoa(certsetting.OrganizeId)
|
|
|
|
|
- orgAudit.OrgName = certsetting.OrganizeName
|
|
|
|
|
-
|
|
|
|
|
- auditWhere := " 1=1 "
|
|
|
|
|
- auditWhere += " and OrganizeId = '" + strconv.Itoa(certsetting.OrganizeId) + "'"
|
|
|
|
|
- auditWhere += " and AuditStepCode = '" + workflow.FIRST_TRIAL + "'"
|
|
|
|
|
- auditSrv.GetEntity(&auditSetting, auditWhere)
|
|
|
|
|
- userIds := userSvc.GetUserIdsByRoleId(strconv.Itoa(auditSetting.RoleId))
|
|
|
|
|
- tempstr := strings.Join(userIds, ",")
|
|
|
|
|
- orgAudit.UserIds = strings.Replace(tempstr, "uid_", "", -1)
|
|
|
|
|
- orgAudits = append(orgAudits, orgAudit)
|
|
|
|
|
-
|
|
|
|
|
- orgListStr += "org_" + strconv.Itoa(certsetting.OrganizeId) + ","
|
|
|
|
|
- //排除未设置部门的分类
|
|
|
|
|
- subClassIdsCheck = strings.Replace(subClassIdsCheck, strconv.Itoa(certsetting.ClassId)+",", "", 1)
|
|
|
|
|
- }
|
|
|
|
|
- orgListStr = strings.Trim(orgListStr, ",")
|
|
|
|
|
- if len(subClassIdsCheck) > 0 {
|
|
|
|
|
- panic("存在准入分类 " + subClassIdsCheck + " 未设置审核部门")
|
|
|
|
|
- }
|
|
|
|
|
- if len(orgListStr) <= 0 {
|
|
|
|
|
- panic("未找到审核部门")
|
|
|
|
|
- }
|
|
|
|
|
- //多实例工作流
|
|
|
|
|
- svcFlow := suppliercert.GetOilSupplierCertService(utils.DBE)
|
|
|
|
|
- svcFlow.StartAudit(Id, "", orgAudits, this.User.Id, "1", "提交给二级部门初审")
|
|
|
|
|
-
|
|
|
|
|
- //返回正确结果
|
|
|
|
|
- errinfo.Message = "审核提交成功"
|
|
|
|
|
- errinfo.Code = 0
|
|
|
|
|
- this.Data["json"] = &errinfo
|
|
|
|
|
- this.ServeJSON()
|
|
|
|
|
|
|
+ processInstanceId := certSrv.SubmitOrgAudit(certId, workflow.OIL_SUPPLIER_APPLY, workflow.FIRST_TRIAL, this.User.Id, "1", "提交给二级单位初审", OilSupplierCertSubName, OilClassOrgSettingName)
|
|
|
|
|
+
|
|
|
|
|
+ //记下workflowID(首次提交时才会记录,中间状态请忽略) 及审批状态
|
|
|
|
|
+ var supplierCertEntity suppliercert.OilSupplierCert
|
|
|
|
|
+ certSrv.GetEntityById(certId, supplierCertEntity)
|
|
|
|
|
+ supplierCertEntity.WorkflowId = processInstanceId
|
|
|
|
|
+ supplierCertEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
|
|
|
|
|
+ cols := []string{
|
|
|
|
|
+ "Id",
|
|
|
|
|
+ "WorkflowId",
|
|
|
|
|
+ "Status",
|
|
|
|
|
+ }
|
|
|
|
|
+ certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
|
|
|
}
|
|
}
|