ソースを参照

后端: 新增准入申请-企管法规处审核和交费环节可撤回的接口

baichengfei 4 年 前
コミット
8061f2c0e1

+ 87 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercert.go

@@ -945,6 +945,93 @@ func (this *OilSupplierCertController) CommonAuditEntity() {
 	}
 }
 
+// @Title 分办之后的各级审批  --审批 包含:二级单位初审、复审, 业务处室专业审核, 集中评审
+// @Description 分办之后的各级审批
+// @Success	200	{object} controllers.Request
+// @router /recall-apply/:id [post]
+func (this *OilSupplierCertController) RecallApply() {
+	certId := 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()
+		}
+	}()
+
+	if AuditRemark == "" {
+		errInfo.Message = "撤回原因不能为空!"
+		errInfo.Code = -1
+		this.Data["json"] = &errInfo
+		this.ServeJSON()
+	}
+
+	//取出准入表信息
+	certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
+	var supplierCertEntity suppliercert.OilSupplierCert
+	certSrv.GetEntityById(certId, &supplierCertEntity)
+
+	if this.User.Id != strconv.Itoa(supplierCertEntity.CreateUserId) {
+		errInfo.Message = "权限错误,仅申请人可撤回当前申请!"
+		errInfo.Code = -1
+		this.Data["json"] = &errInfo
+		this.ServeJSON()
+	}
+
+	svcPaymentInfo := paymentinfo.GetPaymentService(utils.DBE)
+	var paymentInfo paymentinfo.OilPaymentInfo
+	wherePay := " SrcId=" + certId + " and SupplierId=" + strconv.Itoa(supplierCertEntity.SupplierId) + " and SupplierCertId=" + certId
+	hasPayInfo := svcPaymentInfo.GetEntityByWhere("OilPaymentInfo", wherePay, &paymentInfo)
+	if hasPayInfo {
+		if paymentInfo.PayType != "1" {
+			log.Println("交费类型错误:" + paymentInfo.PayType + ", 准入申请ID: " + certId + ", 企业ID:" + strconv.Itoa(supplierCertEntity.SupplierId))
+			errInfo.Message = "交费类型错误,不允许撤回!"
+			errInfo.Code = -1
+			this.Data["json"] = &errInfo
+			this.ServeJSON()
+		}
+		if paymentInfo.IsPay == "2" {
+			errInfo.Message = "该申请已完成交费,不允许撤回!"
+			errInfo.Code = -1
+			this.Data["json"] = &errInfo
+			this.ServeJSON()
+		}
+	} else {
+		log.Println("交费信息不存在:" + ", 准入申请ID: " + certId + ", 企业ID:" + strconv.Itoa(supplierCertEntity.SupplierId))
+		errInfo.Message = "交费信息不存在或当前申请状态不允许撤回,请重新确认!"
+		errInfo.Code = -1
+		this.Data["json"] = &errInfo
+		this.ServeJSON()
+	}
+
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+	var ActiComplete workflow.ActiCompleteVM
+	ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
+	ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
+	ActiComplete.UserId = this.User.Id //审批人员
+	ActiComplete.Result = "0"          // 撤回申请 默认0
+	ActiComplete.Remarks = AuditRemark
+	ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
+	receiveVal := svcActiviti.TaskComplete(ActiComplete)
+	if receiveVal != "true" {
+		log.Println("工作流异常, 业务ID:"+supplierCertEntity.BusinessKey+", 流程ID:"+supplierCertEntity.WorkflowId, " 工作流传参: ", ActiComplete, receiveVal)
+		panic("任务已审批,请刷新!")
+	} else {
+		// 删除已产生的交费信息
+		svcPaymentInfo.DeleteEntityBytbl("OilPaymentInfo", wherePay)
+	}
+}
+
 // @Title 业务处室接收分办 专业审批
 // @Description 业务处室接收分办 专业审批
 // @Success 200 {object} controllers.Request

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

@@ -175,6 +175,37 @@ func (this *OilSupplierCertListenerController) PreProfAudit() {
 	this.ServeJSON()
 }
 
+// @Title 获取企管法规处审批人员列表 --回调
+// @Description get user by token
+// @Success 200 {string} string
+// @router /pre-prof-reg-audit [post]
+func (this *OilSupplierCertListenerController) ProfRegAudit() {
+	var jsonBlob = this.Ctx.Input.RequestBody
+	var listenerApprove ListenerApproveParams
+	json.Unmarshal(jsonBlob, &listenerApprove)
+	supplierCertId := strings.Split(listenerApprove.BusinessKey, "-")[0]
+
+	certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
+	var supplierCertEntity suppliercert.OilSupplierCert
+	certSrv.GetEntityById(supplierCertId, &supplierCertEntity)
+	cols := []string{
+		"Id",
+		"Status",
+	}
+	//进入此步骤,记录在数据库中
+	supplierCertEntity.Status = suppliercert.LAW_AUDIT_STATUS //企管法规处审核
+	certSrv.UpdateEntityByIdCols(supplierCertId, supplierCertEntity, cols)
+
+	//查出企管法规处的人员
+	stepCode := workflow.PROF_REGULATION //企业法规处
+	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
+	approverIds := auditSettingService.GetApproverIdsByStepCodeForConcentrateAudit(stepCode)
+	var approveInfo ListenerApproveInfo
+	approveInfo.Users = approverIds
+	this.Data["json"] = &approveInfo
+	this.ServeJSON()
+}
+
 // @Title 获取集中审批人员列表 --回调
 // @Description get user by token
 // @Success 200 {string} string
@@ -309,7 +340,6 @@ func (this *OilSupplierCertListenerController) GetPrePayer() {
 	msgService := msg2.GetMsgService(utils.DBE)
 	msgService.HandleMsg(supplierEntity.Mobile, msg, "5-1", supplierCertEntity.CreateBy, supplierEntity.ContactName, strconv.Itoa(supplierCertEntity.CreateUserId), this.User.Username)
 
-
 	paySvc := paymentinfo.GetPaymentService(utils.DBE)
 	var Amount float64
 	costSvc := oilcostmanage.GetOilCostManageService(utils.DBE)