Răsfoiți Sursa

审批验证及工作流刷新

yuedefeng 6 ani în urmă
părinte
comite
94ba492f62

+ 1 - 1
src/dashoo.cn/backend/api/controllers/oilsupplier/supplier.go

@@ -929,7 +929,7 @@ func (this *OilSupplierController) GetMyTaskEntityList() {
 	//找出待办任务
 	actisvc := workflow.GetActivitiService(utils.DBE)
 	certIdList := actisvc.GetMyTasks(workflow.OIL_SUPPLIER_APPLY, this.User.Id)
-	where += "b.Id in (" + certIdList + ")"
+	where += " and b.Id in (" + certIdList + ")"
 	//根据部门查询待办任务
 
 

+ 40 - 22
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercert.go

@@ -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()
 }

+ 7 - 0
src/dashoo.cn/frontend_web/src/api/oilsupplier/supplier.js

@@ -13,6 +13,13 @@ export default {
       params: params
     })
   },
+  getMyTasks (CreateOn, params, myAxios) {
+    return myAxios({
+      url: '/supplier/mytasks?CreateOn=' + CreateOn,
+      method: 'GET',
+      params: params
+    })
+  },
   getDictList (myAxios) {
     return myAxios({
       url: '/supplier/dictlist/',

+ 1 - 1
src/dashoo.cn/frontend_web/src/components/workflow/wfhistory.vue

@@ -26,7 +26,7 @@
         </template>
       </el-table-column>
     </el-table>
-    <div style="margin-top:10px;">
+    <div style="margin-top:10px; text-align: center;">
       <img :src="baseurl + 'workflow/historyimg/' + entryinfo.instance " v-if="entryinfo.instance">
     </div>
   </div>

+ 4 - 4
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/goodsedit.vue

@@ -21,7 +21,7 @@
       <el-steps :active="stepActive" simple align-center finish-status="success">
         <el-step title="企业基本信息"></el-step>
         <el-step title="企业情况"></el-step>
-        <el-step title="选择准入范围"></el-step>
+        <el-step title="准入范围及资质"></el-step>
         <el-step title="提交审批"></el-step>
         <el-step title="审批完成"></el-step>
       </el-steps>
@@ -438,7 +438,7 @@
           </el-card>
         </el-tab-pane>
 
-        <el-tab-pane label="选择准入范围" :disabled="formData.Step < 2">
+        <el-tab-pane label="准入范围及资质" :disabled="formData.Step < 2">
           <business-list ref="businessList" :data="businessList" :SupplierCertId="certId" :SupplierId="serviceId"
             :SubClassId="classId" height="360px" style="margin-top: 20px"></business-list>
         </el-tab-pane>
@@ -483,8 +483,8 @@
     data() {
       return {
         equipmentList: [], //企业主要装备情况
-        performanceList: [], //近三年主要工程业绩       
-        patentList: [], //拥有专利、专有技术及工法      
+        performanceList: [], //近三年主要工程业绩
+        patentList: [], //拥有专利、专有技术及工法
         winningList: [], //近三年获得省部级及以上主要技术、管理成果、获奖项目
         businessList: [], //准入业务
 

+ 6 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/techedit.vue

@@ -472,7 +472,7 @@
           </el-card>
         </el-tab-pane>
 
-        <el-tab-pane label="选择准入范围" :disabled="formData.Step < 2">
+        <el-tab-pane label="准入范围及资质" :disabled="formData.Step < 2">
           <business-list ref="businessList" :data="businessList" :SupplierCertId="certId" :SupplierId="serviceId"
             :SubClassId="classId" height="360px" style="margin-top: 20px"></business-list>
         </el-tab-pane>
@@ -485,7 +485,7 @@
                 <el-button type="primary" size="mini" :disabled="formDataCert.Status > 0" @click="AuditEntity">提交审批</el-button>
               </span>
             </div>
-            <wf-history :entryinfo="entrydetail"></wf-history>
+            <wf-history ref="WfHistory" :entryinfo="entrydetail"></wf-history>
           </el-card>
         </el-tab-pane>
       </el-tabs>
@@ -679,6 +679,10 @@
 
             this.entrydetail.business = this.certId
             this.entrydetail.instance = this.formDataCert.WorkflowId
+            if (this.certId && this.formDataCert.WorkflowId) {
+              this.$refs['WfHistory'].getHistoryTask() /*刷新工作流*/
+            }
+
           }).catch(err => {
             console.error(err)
           });

+ 1 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/techlist.vue

@@ -929,7 +929,7 @@
         })
       },
 
-      getDictOptions() {
+      getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           //this.dictOptions.customerList = res.data.items['customerList']
           //this.dictOptions.projectList = res.data.items['projectList']

+ 2 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/index.vue

@@ -918,7 +918,8 @@
         //查询条件
         Object.assign(params, this.searchForm)
         //访问接口
-        api.getCertList(myCreateOn.join(','), params, this.$axios).then(res => {
+        debugger
+        api.getMyTasks(myCreateOn.join(','), params, this.$axios).then(res => {
           this.entityList = res.data.items
           this.currentItemCount = res.data.currentItemCount
         }).catch(err => {