|
|
@@ -483,7 +483,22 @@ func (this *OilSupplierCertController) DeleteEntity() {
|
|
|
func (this *OilSupplierCertController) AuditEntity() {
|
|
|
Id := this.Ctx.Input.Param(":id")
|
|
|
|
|
|
- //取出专业科室的部门ID
|
|
|
+ var errinfo ErrorDataInfo
|
|
|
+ defer func() { //finally处理失败的异常
|
|
|
+ if err := recover(); err != nil {
|
|
|
+ errinfo.Message = "提交失败," + err.(string)
|
|
|
+ errinfo.Code = -1
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ //取出审批列表
|
|
|
+ var supplierCert suppliercert.OilSupplierCert
|
|
|
+ certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
|
|
|
+ certSrv.GetEntityById(Id, &supplierCert)
|
|
|
+
|
|
|
+ //取出准入分类列表
|
|
|
var subList []suppliercertsub.OilSupplierCertSub
|
|
|
certSubSrv := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
|
|
|
subWhere := " 1=1 "
|
|
|
@@ -494,6 +509,9 @@ func (this *OilSupplierCertController) AuditEntity() {
|
|
|
subClassIds += strconv.Itoa(certSub.SubclassId) + ","
|
|
|
}
|
|
|
subClassIds = strings.Trim(subClassIds, ",")
|
|
|
+ if len(subClassIds) <= 0 {
|
|
|
+ panic("没有选择准入分类")
|
|
|
+ }
|
|
|
|
|
|
//取出审核部门
|
|
|
classorgSrv := classorgsetting.GetOilClassOrgSettingService(utils.DBE)
|
|
|
@@ -501,12 +519,17 @@ func (this *OilSupplierCertController) AuditEntity() {
|
|
|
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 {
|
|
|
@@ -525,28 +548,23 @@ func (this *OilSupplierCertController) AuditEntity() {
|
|
|
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(orgListStr) > 0 {
|
|
|
- //测试多实例工作流
|
|
|
- svcFlow := suppliercert.GetOilSupplierCertService(utils.DBE)
|
|
|
- svcFlow.StartAudit(Id, orgListStr, orgAudits, this.User.Id, "1", "提交给二级部门初审")
|
|
|
-
|
|
|
+ if len(subClassIdsCheck) > 0 {
|
|
|
+ panic("存在准入分类 " + subClassIdsCheck + " 未设置审核部门")
|
|
|
}
|
|
|
-
|
|
|
- var errinfo ErrorDataInfo
|
|
|
- if len(orgListStr) > 0 {
|
|
|
- errinfo.Message = "审核提交成功"
|
|
|
- errinfo.Code = 0
|
|
|
- this.Data["json"] = &errinfo
|
|
|
- this.ServeJSON()
|
|
|
- } else {
|
|
|
- errinfo.Message = "提交失败,未找到审核部门"
|
|
|
- errinfo.Code = -1
|
|
|
- this.Data["json"] = &errinfo
|
|
|
- this.ServeJSON()
|
|
|
+ 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()
|
|
|
}
|