|
@@ -1,8 +1,12 @@
|
|
|
package oilcontract
|
|
package oilcontract
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
|
+ "dashoo.cn/backend/api/business/oilcontract/contract"
|
|
|
"dashoo.cn/backend/api/business/oilcontract/contractReview"
|
|
"dashoo.cn/backend/api/business/oilcontract/contractReview"
|
|
|
|
|
+ "dashoo.cn/backend/api/business/oilsupplier/suppliercert"
|
|
|
|
|
+ "dashoo.cn/backend/api/business/workflow"
|
|
|
"encoding/json"
|
|
"encoding/json"
|
|
|
|
|
+ "strconv"
|
|
|
"strings"
|
|
"strings"
|
|
|
"time"
|
|
"time"
|
|
|
|
|
|
|
@@ -274,3 +278,245 @@ func (this *OilContractReviewController) DeleteEntity() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+// @Title 二级单位提交审批 --启动工作流
|
|
|
|
|
+// @Description 二级单位提交审批
|
|
|
|
|
+// @Success 200 {object} controllers.Request
|
|
|
|
|
+// @router /unit-audit/:id [post]
|
|
|
|
|
+func (this *OilContractReviewController) UnitAuditEntity() {
|
|
|
|
|
+ Id := this.Ctx.Input.Param(":id")
|
|
|
|
|
+ firstAudit := this.GetString("FirstAudit")
|
|
|
|
|
+ secondAudit := this.GetString("SecondAudit")
|
|
|
|
|
+ thirdAudit := this.GetString("ThirdAudit")
|
|
|
|
|
+ AuditRemark := this.GetString("AuditRemark")
|
|
|
|
|
+ userId := this.User.Id
|
|
|
|
|
+ var baseUserInfo userRole.Base_User
|
|
|
|
|
+ userService := userRole.GetUserService(utils.DBE)
|
|
|
|
|
+ userService.GetEntityById(userId, &baseUserInfo)
|
|
|
|
|
+ //unitId := baseUserInfo.UnitId
|
|
|
|
|
+
|
|
|
|
|
+ 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()
|
|
|
|
|
+ }
|
|
|
|
|
+ }()
|
|
|
|
|
+
|
|
|
|
|
+ //取出日常评审主表信息
|
|
|
|
|
+ conRev := contractReview.GetOilContractReviewService(utils.DBE)
|
|
|
|
|
+ var contractReviewEntity contractReview.OilContractReview
|
|
|
|
|
+ conRev.GetEntityById(Id, &contractReviewEntity)
|
|
|
|
|
+ //检查是否可提交
|
|
|
|
|
+ //conRev.IsSupplierCertCanSubmit(strconv.Itoa(supplierCertEntity.SupplierId), certId)
|
|
|
|
|
+ //取出合同表
|
|
|
|
|
+ contractSvc := contract.GetOilContractService(utils.DBE)
|
|
|
|
|
+ var contractEntity contract.OilContract
|
|
|
|
|
+ contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
|
|
|
|
|
+
|
|
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
|
|
+ //启动工作流
|
|
|
|
|
+ businessKey := contractReviewEntity.BusinessKey
|
|
|
|
|
+ processInstanceId := contractReviewEntity.WorkflowId
|
|
|
|
|
+ // 如果被驳回,不再新启工作流
|
|
|
|
|
+ if processInstanceId == "" {
|
|
|
|
|
+ //启动工作流
|
|
|
|
|
+ businessKey = Id + "-" + strconv.Itoa(contractReviewEntity.AuditIndex)
|
|
|
|
|
+ processInstanceId = svcActiviti.StartProcess2(workflow.OIL_DAILY_CONTRACT_EVALUATION, businessKey, this.User.Id, "1", contractEntity.ContractClass, contractEntity.SupplierName)
|
|
|
|
|
+ if len(processInstanceId) <= 0 {
|
|
|
|
|
+ panic("工作流启动失败!")
|
|
|
|
|
+ }
|
|
|
|
|
+ contractReviewEntity.AuditIndex += 1
|
|
|
|
|
+ }
|
|
|
|
|
+ // 将启动和工作流,选择的初审和复审人员保存下来
|
|
|
|
|
+ cols := []string{
|
|
|
|
|
+ "Id",
|
|
|
|
|
+ "FirstAudit",
|
|
|
|
|
+ "SecondAudit",
|
|
|
|
|
+ "thirdAudit",
|
|
|
|
|
+ "WorkflowId",
|
|
|
|
|
+ "BusinessKey",
|
|
|
|
|
+ "ProcessKey",
|
|
|
|
|
+ //"CommitComId",
|
|
|
|
|
+ "AuditIndex",
|
|
|
|
|
+ }
|
|
|
|
|
+ contractReviewEntity.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
|
|
|
|
|
+ contractReviewEntity.BusinessKey = businessKey
|
|
|
|
|
+ contractReviewEntity.WorkflowId = processInstanceId
|
|
|
|
|
+ contractReviewEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
|
|
|
|
|
+ contractReviewEntity.SecondAudit, _ = strconv.Atoi(secondAudit)
|
|
|
|
|
+ contractReviewEntity.ThirdAudit, _ = strconv.Atoi(thirdAudit)
|
|
|
|
|
+ //contractReviewEntity.CommitComId = strconv.Itoa(unitId)
|
|
|
|
|
+ conRev.UpdateEntityByIdCols(Id, contractReviewEntity, cols)
|
|
|
|
|
+
|
|
|
|
|
+ var ActiComplete workflow.ActiCompleteVM
|
|
|
|
|
+ ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
|
|
|
|
|
+ ActiComplete.BusinessKey = contractReviewEntity.BusinessKey
|
|
|
|
|
+ ActiComplete.UserId = this.User.Id // 当前审批操作人员
|
|
|
|
|
+ //ActiComplete.UserNames = secondAudit // 当前审批操作人员
|
|
|
|
|
+ ActiComplete.Result = "2" //分办提交给二级单位初审
|
|
|
|
|
+ ActiComplete.Remarks = AuditRemark
|
|
|
|
|
+ ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
|
|
|
|
|
+ receiveVal := svcActiviti.TaskComplete(ActiComplete)
|
|
|
|
|
+ if receiveVal != "true" {
|
|
|
|
|
+ panic("工作流异常,请联系管理员!" + receiveVal)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// @Title 分办之后的各级审批 --审批 包含:二级单位初审、复审, 业务处室专业审核, 集中评审
|
|
|
|
|
+// @Description 分办之后的各级审批
|
|
|
|
|
+// @Success 200 {object} controllers.Request
|
|
|
|
|
+// @router /common-audit/:id [post]
|
|
|
|
|
+func (this *OilContractReviewController) CommonAuditEntity() {
|
|
|
|
|
+ Id := this.Ctx.Input.Param(":id")
|
|
|
|
|
+ result := this.GetString("result")
|
|
|
|
|
+ AuditRemark := this.GetString("AuditRemark")
|
|
|
|
|
+
|
|
|
|
|
+ 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()
|
|
|
|
|
+ }
|
|
|
|
|
+ }()
|
|
|
|
|
+
|
|
|
|
|
+ //取出日常评审主表信息
|
|
|
|
|
+ conRev := contractReview.GetOilContractReviewService(utils.DBE)
|
|
|
|
|
+ var contractReviewEntity contractReview.OilContractReview
|
|
|
|
|
+ conRev.GetEntityById(Id, &contractReviewEntity)
|
|
|
|
|
+
|
|
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
|
|
+ var ActiComplete workflow.ActiCompleteVM
|
|
|
|
|
+ ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
|
|
|
|
|
+ ActiComplete.BusinessKey = contractReviewEntity.BusinessKey
|
|
|
|
|
+ ActiComplete.UserId = this.User.Id //审批人员
|
|
|
|
|
+ ActiComplete.Result = result //前台审批[同意、不同意]
|
|
|
|
|
+ ActiComplete.Remarks = AuditRemark
|
|
|
|
|
+ ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
|
|
|
|
|
+ receiveVal := svcActiviti.TaskComplete(ActiComplete)
|
|
|
|
|
+ if receiveVal != "true" {
|
|
|
|
|
+ panic("工作流异常,请联系管理员!" + receiveVal)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// @Title 业务处室接收分办 专业审批
|
|
|
|
|
+// @Description 业务处室接收分办 专业审批
|
|
|
|
|
+// @Success 200 {object} controllers.Request
|
|
|
|
|
+// @router /business-separate-audit/:id [post]
|
|
|
|
|
+func (this *OilContractReviewController) BusinessOfficeSeparateAuditEntity() {
|
|
|
|
|
+ Id := this.Ctx.Input.Param(":id")
|
|
|
|
|
+ ProfessionalAudit := this.GetString("ProfessionalAudit")
|
|
|
|
|
+ AuditRemark := this.GetString("AuditRemark")
|
|
|
|
|
+
|
|
|
|
|
+ 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()
|
|
|
|
|
+ }
|
|
|
|
|
+ }()
|
|
|
|
|
+
|
|
|
|
|
+ //取出日常评审主表信息
|
|
|
|
|
+ conRev := contractReview.GetOilContractReviewService(utils.DBE)
|
|
|
|
|
+ var contractReviewEntity contractReview.OilContractReview
|
|
|
|
|
+ conRev.GetEntityById(Id, &contractReviewEntity)
|
|
|
|
|
+
|
|
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
|
|
+ var ActiComplete workflow.ActiCompleteVM
|
|
|
|
|
+ ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
|
|
|
|
|
+ ActiComplete.BusinessKey = contractReviewEntity.BusinessKey
|
|
|
|
|
+ ActiComplete.UserId = this.User.Id //审批人员
|
|
|
|
|
+ ActiComplete.Result = "1" //前台审批[同意、不同意]
|
|
|
|
|
+ ActiComplete.UserNames = ProfessionalAudit
|
|
|
|
|
+ ActiComplete.Remarks = AuditRemark
|
|
|
|
|
+ ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
|
|
|
|
|
+ receiveVal := svcActiviti.TaskComplete(ActiComplete)
|
|
|
|
|
+ if receiveVal != "true" {
|
|
|
|
|
+ panic("工作流异常,请联系管理员!" + receiveVal)
|
|
|
|
|
+ }
|
|
|
|
|
+ cols := []string{
|
|
|
|
|
+ "Id",
|
|
|
|
|
+ "Status",
|
|
|
|
|
+ "ProfessionalAudit",
|
|
|
|
|
+ }
|
|
|
|
|
+ supplierCertId := strings.Split(contractReviewEntity.BusinessKey, "-")[0]
|
|
|
|
|
+ contractReviewEntity.Status = suppliercert.PROF_AUDIT_STATUS //专业处室接收
|
|
|
|
|
+ contractReviewEntity.ProfessionalAudit, _ = strconv.Atoi(ProfessionalAudit)
|
|
|
|
|
+ conRev.UpdateEntityByIdCols(supplierCertId, contractReviewEntity, cols)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// @Title 集中审批
|
|
|
|
|
+// @Description 集中审批
|
|
|
|
|
+// @Success 200 {object} controllers.Request
|
|
|
|
|
+// @router /concentrate-audit/:id [post]
|
|
|
|
|
+func (this *OilContractReviewController) ConcentrateAuditEntity() {
|
|
|
|
|
+ Id := this.Ctx.Input.Param(":id")
|
|
|
|
|
+ AuditRemark := this.GetString("AuditRemark")
|
|
|
|
|
+
|
|
|
|
|
+ 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()
|
|
|
|
|
+ }
|
|
|
|
|
+ }()
|
|
|
|
|
+
|
|
|
|
|
+ //取出日常评审主表信息
|
|
|
|
|
+ conRev := contractReview.GetOilContractReviewService(utils.DBE)
|
|
|
|
|
+ var contractReviewEntity contractReview.OilContractReview
|
|
|
|
|
+ conRev.GetEntityById(Id, &contractReviewEntity)
|
|
|
|
|
+
|
|
|
|
|
+ svcActiviti := workflow.GetActivitiService(utils.DBE)
|
|
|
|
|
+ var ActiComplete workflow.ActiCompleteVM
|
|
|
|
|
+ ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
|
|
|
|
|
+ ActiComplete.BusinessKey = contractReviewEntity.BusinessKey
|
|
|
|
|
+ ActiComplete.UserId = this.User.Id //审批人员
|
|
|
|
|
+ ActiComplete.Result = "1" //前台审批[同意、不同意]
|
|
|
|
|
+ ActiComplete.Remarks = AuditRemark
|
|
|
|
|
+ ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
|
|
|
|
|
+ receiveVal := svcActiviti.TaskComplete(ActiComplete)
|
|
|
|
|
+ if receiveVal != "true" {
|
|
|
|
|
+ panic("工作流异常,请联系管理员!" + receiveVal)
|
|
|
|
|
+ }
|
|
|
|
|
+ //cols := []string{
|
|
|
|
|
+ // "Id",
|
|
|
|
|
+ // "Status",
|
|
|
|
|
+ //}
|
|
|
|
|
+ //supplierCertId := strings.Split(supplierCertEntity.BusinessKey, "-")[0]
|
|
|
|
|
+ //supplierCertEntity.Status = suppliercert.PROF_AUDIT_STATUS //专业处室接收
|
|
|
|
|
+ //certSrv.UpdateEntityByIdCols(supplierCertId, supplierCertEntity, cols)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|