Bladeren bron

增项提交审批

huahaiyan 6 jaren geleden
bovenliggende
commit
db7d8a52e6

+ 1 - 1
src/dashoo.cn/backend/api/business/oilsupplier/suppliercertappend/oilsuppliercertappend.go

@@ -16,12 +16,12 @@ type OilSupplierCertAppend struct {
 	DenyReason     string    `xorm:"comment('退回原因') VARCHAR(50)"`
 	AuditDate      time.Time `xorm:"comment('审核日期') DATETIME"`
 	Status         string    `xorm:"comment('状态标识') VARCHAR(50)"`
+	WorkFlowId     string    `xorm:"default '0' comment('工作流的ID') VARCHAR(255)"`
 	Remark         string    `xorm:"comment('备注') VARCHAR(500)"`
 	IsDelete       int       `xorm:"default 0 comment('删除状态,0正常,1已删除') INT(10)"`
 	CreateOn       time.Time `xorm:"DATETIME"`
 	CreateUserId   int       `xorm:"INT(10)"`
 	CreateBy       string    `xorm:"VARCHAR(50)"`
-	WorkflowId     string    `xorm:"VARCHAR(50)"` //工作流id
 	ModifiedOn     time.Time `xorm:"DATETIME"`
 	ModifiedUserId int       `xorm:"INT(10)"`
 	ModifiedBy     string    `xorm:"VARCHAR(50)"`

+ 1 - 1
src/dashoo.cn/backend/api/business/oilsupplier/suppliercertappend/oilsuppliercertappendService.go

@@ -93,7 +93,7 @@ func (s *OilSupplierCertAppendService) SubmitOrgAudit(certId, wfName, wfNodeCode
 	}
 	//多实例工作流
 	svcActiviti := workflow.GetActivitiService(s.DBE)
-	if supplierCert.WorkflowId == "0" || len(supplierCert.WorkflowId) <= 0 {
+	if supplierCert.WorkFlowId == "0" || len(supplierCert.WorkFlowId) <= 0 {
 		//启动工作流
 		fmt.Println("-=========certId=========", certId)
 		processInstanceId = svcActiviti.StartProcess(wfName, certId, userId)

+ 2 - 0
src/dashoo.cn/backend/api/business/workflow/workflow.go

@@ -81,4 +81,6 @@ const (
 
 	//年审流程图
 	OIL_AUDIT_APPLY string = "oil_audit_apply"
+	//供方增项流程图
+	OIL_APPEND_APPLY string = "oil_append_apply"
 )

+ 6 - 5
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercert.go

@@ -1,13 +1,14 @@
 package oilsupplier
 
 import (
-	"dashoo.cn/backend/api/business/auditsetting"
 	"encoding/json"
 	"fmt"
 	"strconv"
 	"strings"
 	"time"
 
+	"dashoo.cn/backend/api/business/auditsetting"
+
 	"dashoo.cn/backend/api/business/workflow"
 
 	"dashoo.cn/backend/api/business/baseUser"
@@ -576,7 +577,7 @@ func (this *OilSupplierCertController) AuditEntity() {
 	supplierCertEntity.WorkflowId = processInstanceId
 	supplierCertEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
 	supplierCertEntity.Step = 2
-	supplierCertEntity.FirstAudit,_ = strconv.Atoi(firstAudit)
+	supplierCertEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
 	cols := []string{
 		"Id",
 		"WorkflowId",
@@ -670,7 +671,7 @@ func (this *OilSupplierCertController) AuditEntityappend() {
 	//记下workflowID(首次提交时才会记录,中间状态请忽略) 及审批状态
 	var supplierCertAppendEntity suppliercertappend.OilSupplierCertAppend
 	certSrv.GetEntityById(certId, supplierCertAppendEntity)
-	supplierCertAppendEntity.WorkflowId = processInstanceId + ""
+	supplierCertAppendEntity.WorkFlowId = processInstanceId + ""
 	supplierCertAppendEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
 	cols := []string{
 		"Id",
@@ -787,12 +788,12 @@ func (this *OilSupplierCertController) AuditCallback() {
 	var supplierCertEntity suppliercert.OilSupplierCert
 	svc := suppliercert.GetOilSupplierCertService(utils.DBE)
 	supplierCertEntity.Status = status
-	supplierCertEntity.Step,_ = strconv.Atoi(step)
+	supplierCertEntity.Step, _ = strconv.Atoi(step)
 	cols := []string{
 		"Id",
 		"Status",
 		"step",
 	}
 	svc.UpdateEntityByIdCols(id, supplierCertEntity, cols)
-	fmt.Println(id,status,step)
+	fmt.Println(id, status, step)
 }

+ 85 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercertappend.go

@@ -1,7 +1,12 @@
 package oilsupplier
 
 import (
+	"dashoo.cn/backend/api/business/auditsetting"
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
+	"dashoo.cn/backend/api/business/workflow"
+	"dashoo.cn/business2/userRole"
 	"encoding/json"
+	"strconv"
 	"strings"
 	"time"
 
@@ -286,3 +291,83 @@ func (this *OilSupplierCertAppendController) DeleteEntity() {
 		this.ServeJSON()
 	}
 }
+
+// @Title 提交审批
+// @Description 提交审批
+// @Success	200	{object} controllers.Request
+// @router /audit/:id [post]
+func (this *OilSupplierCertAppendController) AuditEntity() {
+	certappendId := this.Ctx.Input.Param(":id")
+	firstAudit := this.GetString("firstAudit")
+
+	//取出审批列表
+	certSrv := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
+	var supplierCertAppendEntity suppliercertappend.OilSupplierCertAppend
+	certSrv.GetEntityById(certappendId, &supplierCertAppendEntity)
+
+	var errinfo ErrorDataInfo
+	defer func() { //finally处理失败的异常
+		if err := recover(); err != nil {
+			errinfo.Message = "提交失败," + err.(string)
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		} else {
+			//返回正确结果
+			errinfo.Message = "审核提交成功"
+			errinfo.Code = 0
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		}
+	}()
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+	//获得有审核权限的人员
+	var users []userRole.Base_RoleList
+	var userIds string
+	var auditWorkflow auditsetting.Base_OilAuditSetting
+	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	rsvc.GetAuditStepRoleEntity(OilAuditSettingName, firstAudit, workflow.FIRST_TRIAL, &auditWorkflow)
+	users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode) //
+
+	processInstanceId := ""
+	if supplierCertAppendEntity.WorkFlowId == "0" || len(supplierCertAppendEntity.WorkFlowId) <= 0 {
+		//启动工作流
+		processInstanceId = svcActiviti.StartProcess(workflow.OIL_APPEND_APPLY, certappendId, this.User.Id)
+	}
+	for _, tmpUser := range users {
+		userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
+	}
+	userIds = strings.Trim(userIds, ",")
+	var ActiComplete workflow.ActiCompleteVM
+	ActiComplete.ProcessKey = workflow.OIL_APPEND_APPLY
+	ActiComplete.BusinessKey = certappendId
+	ActiComplete.UserNames = userIds
+	ActiComplete.UserId = this.User.Id
+	ActiComplete.Result = "1"
+	ActiComplete.Remarks = ""
+	ActiComplete.CallbackUrl = ""
+	receiveVal := svcActiviti.TaskComplete(ActiComplete)
+
+	if receiveVal == "true" {
+		errinfo.Message = "提交成功!"
+		errinfo.Code = 0
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+	} else {
+		errinfo.Message = "工作流异常,请联系管理员!"
+		errinfo.Code = -1
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+		return
+	}
+	//记下workflowID(首次提交时才会记录,中间状态请忽略) 及审批状态
+	var model suppliercertappend.OilSupplierCertAppend
+	model.WorkFlowId = processInstanceId
+	model.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
+	cols := []string{
+		"Id",
+		"WorkFlowId",
+		"Status",
+	}
+	certSrv.UpdateEntityByIdCols(certappendId, model, cols)
+}

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

@@ -32,4 +32,11 @@ export default {
       method: 'delete'
     })
   },
+  //提交审批
+  auditEntity (entityId, FirstAudit, myAxios) {
+    return myAxios({
+      url: '/suppliercertappend/audit/' + entityId + '?firstAudit=' + FirstAudit,
+      method: 'post'
+    })
+  },
 }

+ 1 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/annualaudit/_opera/auditoperation.vue

@@ -579,7 +579,7 @@
       makeSure() {
         //审核通过的具体操作(未编写)
         console.log("----this.shenheForm---", this.shenheForm)
-        if (this.AnnualStatus === '1') {
+        if (this.AnnualStatus === '0') {
           this.selectAuditShow = true
         } else {
           this.$confirm("确认审核结果!", "提示", {

+ 65 - 0
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/goodsdataopera.vue

@@ -11,6 +11,8 @@
           <i class="icon icon-table2"></i> 编辑
         </span>
         <span style="float: right;">
+           <el-button type="primary" size="mini" style="margin-right: 3px" @click="AuditdialogShow = true" v-if="formData.Id !=''">提交审批
+          </el-button>
           <router-link :to="'/oilsupplier/supplierappend/goodslist'">
             <el-button type="primary" size="mini" style="margin-left: 8px">返回</el-button>
           </router-link>
@@ -109,6 +111,29 @@
       </span>
     </el-dialog>
 
+     <el-dialog title="选择审批单位" :visible.sync="AuditdialogShow" width="520px">
+      <el-form ref="searchForm" label-width="110px">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="单位名称">
+              <el-select ref="selectauditOrg" v-model="FirstAudit" placeholder="请选择"
+                         style="width: 90%" filterable allow-create default-first-option>
+                <el-option
+                  v-for="item in organizeOption"
+                  :key="item.Id"
+                  :label="item.Fullname"
+                  :value="item.Id">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="AuditdialogShow = false">取 消</el-button>
+        <el-button size="mini" type="primary" @click="AuditEntity">确定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -116,6 +141,7 @@
   import {
     mapGetters
   } from 'vuex'
+  import suppapi from '@/api/oilsupplier/supplier'
   import api from '@/api/oilsupplier/supplierappendsub'
   import api2 from '@/api/oilsupplier/supplierappend'
 
@@ -150,6 +176,9 @@
         }
       }
       return {
+        AuditdialogShow: false,//提交审核弹框
+        organizeOption: [], // 审批部门
+        FirstAudit: '',
         supplierList: [], //供应方公司列表
         supplierOptions: '', //已选择的供应方公司列表
         // serviceType: '', //服务类型()
@@ -248,6 +277,7 @@
       this.getOrgTreeList() //获取推荐单位层级列表
       this.getGoodsTreeList(this.ParentId) //获取物资类层级列表
       this.getSupplierList() //获取供应方公司列表
+      this.getDictOptions()
     },
     methods: {
 
@@ -371,6 +401,7 @@
         let _this = this
         api2.getEntityById(_this.Id, _this.$axios).then(res => {
           _this.formData = res.data
+          console.log("---_this.formData ----",_this.formData )
           //显示原推荐单位
           if (_this.formData.RecUnitFlag != null) {
             let arr = _this.formData.RecUnitFlag.split(',')
@@ -643,6 +674,40 @@
         })
         .catch(() => {})
       },
+      //提交审批
+       AuditEntity () {
+        api2.auditEntity(this.formData.Id, this.FirstAudit, this.$axios).then(res => {
+          if (res.data.code === 0) {
+            // 保存成功后,初始化数据,变成修改
+            this.initDatas()
+            this.AuditdialogShow = false
+            this.$message({
+              type: 'success',
+              message: res.data.message
+            })
+          } else {
+            this.$message({
+              type: 'warning',
+              message: res.data.message
+            })
+          }
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+
+      getDictOptions () {
+        suppapi.getDictList(this.$axios).then(res => {
+          this.dictData = res.data.items
+          this.organizeOption = res.data.items['Organizes']
+          console.log("---this.organizeOption---",this.organizeOption)
+          /* this.UnitRelationOptions = res.data.items['UnitRelation']
+           this.getCityList(res.data.items['GaodeMapChinaAreas'])
+           this.CompanyTypeOptions = res.data.items['CompanyType'] */
+        }).catch(err => {
+          console.error(err)
+        })
+      },
 
       //列表排序功能
       orderby(column) {