Browse Source

Merge branch 'contract_tmp' of http://code.dashoo.cn/dashoo/supplier_system into contract_tmp

Yikoo 5 năm trước cách đây
mục cha
commit
a25a813132

+ 7 - 0
src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScore.go

@@ -30,6 +30,13 @@ type OilContractSumScore struct {
 	WorkflowId     	 string    `json:"WorkflowId" xorm:"default '0' comment('工作流的ID') VARCHAR(50) 'WorkflowId'"`
 	Businesskey      string    `json:"BusinessKey" xorm:"VARCHAR(255) 'BusinessKey'"`
 	Processkey     	 string    `json:"ProcessKey" xorm:"comment('工作流名称') VARCHAR(255) 'ProcessKey'"`
+	FirstAudit        int       `json:"FirstAudit" xorm:"comment('初审') INT(11) 'FirstAudit'"`
+	SecondAudit       int       `json:"SecondAudit" xorm:"comment('复审') INT(11) 'SecondAudit'"`
+	ThirdAudit        int       `json:"ThirdAudit" xorm:"comment('专业科室审批') INT(11) 'ThirdAudit'"`
+	FourthAudit       int       `json:"FourthAudit" xorm:"comment('集中审批') INT(11) 'FourthAudit'"`
+	CommitComId       string    `xorm:"default '0' comment('提交二级单位Id') VARCHAR(50)"`
+	ProfessionalAudit int       `json:"ProfessionalAudit" xorm:"comment('业务处室专业审批人id') INT(11) 'ProfessionalAudit'"`
+	AuditIndex        int       `json:"AuditIndex" xorm:"default 0 comment('审批次数') INT(11) 'AuditIndex'"`
 	CreateOn       	 time.Time `json:"CreateOn" xorm:"DATETIME 'CreateOn'"`
 	CreateUserId     int       `json:"CreateUserId" xorm:"INT(11) 'CreateUserId'"`
 	CreateBy         string    `json:"CreateBy" xorm:"VARCHAR(50) 'CreateBy'"`

+ 84 - 240
src/dashoo.cn/backend/api/controllers/oilcontract/contractAnnualListener.go

@@ -1,85 +1,43 @@
 package oilcontract
 
 import (
-	msg2 "dashoo.cn/backend/api/business/msg"
-	"dashoo.cn/backend/api/business/oilsupplier/annualaudit"
-	"dashoo.cn/backend/api/business/oilsupplier/oilcostmanage"
-	"dashoo.cn/backend/api/business/oilsupplier/supplier"
-	"dashoo.cn/backend/api/business/paymentinfo"
-	"encoding/json"
-	"strconv"
-	"strings"
-	"time"
-
 	"dashoo.cn/backend/api/business/auditsetting"
+	"dashoo.cn/backend/api/business/oilcontract/contractReview"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
 	"dashoo.cn/backend/api/business/workflow"
 	. "dashoo.cn/backend/api/controllers"
 	"dashoo.cn/utils"
+	"encoding/json"
+	"strconv"
+	"strings"
 )
 
-type OilAnnualListenerController struct {
+type OilContractAnnualListenerController struct {
 	BaseController
 }
 
-// @Title 获取二级单位分办人员列表 --回调
-// @Description get user by token
-// @Success 200 {string} string
-// @router /pre-fen-trail [post]
-func (this *OilAnnualListenerController) PreFenTrialStatus() {
-	var jsonBlob = this.Ctx.Input.RequestBody
-	var listenerApprove ListenerApproveParams
-	json.Unmarshal(jsonBlob, &listenerApprove)
-	annualId := strings.Split(listenerApprove.BusinessKey, "-")[0]
-
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
-	cols := []string{
-		"Id",
-		"Status",
-	}
-	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.FEN_TRIAL_STATUS //二级单位分办
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	//查出二级单位分办的人员
-	// 获取准入资质信息:
-	supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-	var supplierCertEntity suppliercert.OilSupplierCert
-	supplierCertSrv.GetEntityById(annualEntity.CerId, &supplierCertEntity)
-
-	stepCode := workflow.GetWorkFlowStepCode(supplierCertEntity.SupplierTypeCode) // TODO 年审的准入方式
-	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
-	approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, annualEntity.CommitComId)
-	var approveInfo ListenerApproveInfo
-	approveInfo.Users = approverIds
-	this.Data["json"] = &approveInfo
-	this.ServeJSON()
-}
-
 // 用
 // @Title 获取二级单位初审人员列表--回调
 // @Description get user by token
 // @Success 200 {string} string
 // @router /pre-first-trail [get]
-func (this *OilAnnualListenerController) PreFirstTrail() {
+func (this *OilContractAnnualListenerController) PreFirstTrail() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
+	reviewId := strings.Split(businessKey, "-")[0]
 
-	svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	svc.GetEntityById(annualId, &annualEntity)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(reviewId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
-	svc.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
+	svc.UpdateEntityByIdCols(reviewId, contractReviewEntity, cols)
 
 	//返回查出的初审人员操作人员列表
-	approverIds := annualEntity.FirstAudit
+	approverIds := contractReviewEntity.FirstAudit
 	this.Data["json"] = approverIds
 	this.ServeJSON()
 }
@@ -88,131 +46,85 @@ func (this *OilAnnualListenerController) PreFirstTrail() {
 // @Description get user by token
 // @Success 200 {string} string
 // @router /pre-second-trail [get]
-func (this *OilAnnualListenerController) PreSecondTrail() {
+func (this *OilContractAnnualListenerController) PreSecondTrail() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "_")[0]
+	dailyId := strings.Split(businessKey, "_")[0]
 
-	certSrv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	certSrv.GetEntityById(annualId, &annualEntity)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailyId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.SECOND_TRIAL_STATUS //二级单位复审
-	certSrv.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.SECOND_TRIAL_STATUS //二级单位复审
+	svc.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 
 	//返回查出的复审人员操作人员列表
-	approverIds := annualEntity.SecondAudit
+	approverIds := contractReviewEntity.SecondAudit
 	this.Data["json"] = approverIds
 	this.ServeJSON()
 }
 
-// @Title 查询是否交费--回调
+// @Title 获取业务处室接收分办人员列表 --回调
 // @Description get user by token
 // @Success 200 {string} string
-// @router /check-need-pay [get]
-func (this *OilAnnualListenerController) CheckNeedPay() {
-	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
-
-	svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	svc.GetEntityById(annualId, &annualEntity)
-
-	certSvc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var supplierCertEntity suppliercert.OilSupplierCert
-	certSvc.GetEntityById(annualEntity.CerId, &supplierCertEntity)
+// @router /pre-third-trail [post]
+func (this *OilContractAnnualListenerController) PreThirdTrialStatus() {
+	var jsonBlob = this.Ctx.Input.RequestBody
+	var listenerApprove ListenerApproveParams
+	json.Unmarshal(jsonBlob, &listenerApprove)
+	dailyId := strings.Split(listenerApprove.BusinessKey, "-")[0]
 
-	var isPayList []string
-	isPayList = append(isPayList, suppliercert.PINGSHEN)
-	isPayList = append(isPayList, suppliercert.WAIBUSHICHANG)
-	var unPayList []string
-	unPayList = append(unPayList, suppliercert.YIJIWUZI)
-	unPayList = append(unPayList, suppliercert.ERJIWUZI)
-	unPayList = append(unPayList, suppliercert.ZHANLUEHEZUO)
-	unPayList = append(unPayList, suppliercert.NEIBUDUOYUAN)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailyId, &contractReviewEntity)
 
-	result := 0
-	isPay := "false"
-	unPay := "false"
-	for _, eachItem := range isPayList {
-		if eachItem == supplierCertEntity.InStyle {
-			// 需要付费
-			isPay = "true"
-			result = 1
-			break
-		}
-	}
-	for _, eachItem := range unPayList {
-		if eachItem == supplierCertEntity.InStyle {
-			// 不需要付费
-			unPay = "true"
-			result = 2
-			break
+	//查出业务处室接收分办的人员
+	stepCode := workflow.PROF_RECE //专业处室接收
+	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
+	approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, strconv.Itoa(contractReviewEntity.ThirdAudit))
+	if approverIds != "" {
+		cols := []string{
+			"Id",
+			"Status",
 		}
+		//进入此步骤,记录在数据库中
+		contractReviewEntity.Status = suppliercert.THIRD_TRIAL_STATUS ////专业处接收
+		svc.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 	}
-	if isPay == unPay {
-		// 准入类型是否付费有误!请联系管理员
-		result = 0
-	}
-
-	this.Data["json"] = result
+	var approveInfo ListenerApproveInfo
+	approveInfo.Users = approverIds
+	this.Data["json"] = &approveInfo
 	this.ServeJSON()
 }
 
-// @Title 获取交费人--回调
+// @Title 获取业务处室专业审批人员列表--回调
 // @Description get user by token
 // @Success 200 {string} string
-// @router /pre-payer [get]
-func (this *OilAnnualListenerController) GetPrePayer() {
+// @router /pre-prof-audit [get]
+func (this *OilContractAnnualListenerController) PreProfAudit() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	dailyId := strings.Split(businessKey, "-")[0]
 
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailyId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.PAYING_AUDIT_STATUS //待缴费
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	// 获取准入资质信息:
-	supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-	var supplierCertEntity suppliercert.OilSupplierCert
-	supplierCertSrv.GetEntityById(annualEntity.CerId, &supplierCertEntity)
-
-	// 年审审批通过且需要交费, 创建交费信息
-	supplierSrv := supplier.GetOilSupplierService(utils.DBE)
-	var supplierEntity supplier.OilSupplier
-	supplierSrv.GetEntityById(annualEntity.SupplierId, &supplierEntity)
-
-	paySvc := paymentinfo.GetPaymentService(utils.DBE)
-	var Amount float64
-	costSvc := oilcostmanage.GetOilCostManageService(utils.DBE)
-	Amount = costSvc.GetAmount("ANNUAL", supplierCertEntity.SupplierTypeCode)
-	var payInfo paymentinfo.OilPaymentInfo
-	payInfo.SrcId = annualEntity.Id
-	payInfo.SupplierId = annualEntity.SupplierId
-	payInfo.SupplierCertId = annualEntity.CerId
-	payInfo.USCCode = supplierEntity.CommercialNo
-	payInfo.SupplierName = supplierEntity.SupplierName
-	payInfo.PayType = "2"
-	payInfo.IsPay = "0"
-	payInfo.IsInvoice = "0"
-	payInfo.Amount = strconv.FormatFloat(Amount, 'E', -1, 64)
-	payInfo.CreateUserId = annualEntity.CreateUserId
-	payInfo.CreateBy = annualEntity.CreateBy
-	payInfo.CreateOn = time.Now()
-	paySvc.InsertEntity(&payInfo)
-
-	//创建人即为交费的人员
-	approverIds := annualEntity.CreateUserId
-	this.Data["json"] = approverIds
+	contractReviewEntity.Status = suppliercert.PROF_AUDIT_STATUS //业务处室专业审批
+	svc.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
+
+	//查出业务处室专业审批的人员
+	//专业审批人已在分办时指定
+	//stepCode := workflow.PROF_AUDIT
+	//auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
+	//approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, supplierCertEntity.CommitComId)
+	this.Data["json"] = 1
 	this.ServeJSON()
 }
 
@@ -220,22 +132,22 @@ func (this *OilAnnualListenerController) GetPrePayer() {
 // @Description get user by token
 // @Success 200 {string} string
 // @router /law-office-auditors [post]
-func (this *OilAnnualListenerController) GetLawOfficeAuditors() {
+func (this *OilContractAnnualListenerController) GetLawOfficeAuditors() {
 	var jsonBlob = this.Ctx.Input.RequestBody
 	var listenerApprove ListenerApproveParams
 	json.Unmarshal(jsonBlob, &listenerApprove)
-	annualId := strings.Split(listenerApprove.BusinessKey, "-")[0]
+	dailylId := strings.Split(listenerApprove.BusinessKey, "-")[0]
 
-	svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	svc.GetEntityById(annualId, &annualEntity)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailylId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.CENT_AUDIT_STATUS //企业法规处
-	svc.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.STOREING_STATUS //企业法规处
+	svc.UpdateEntityByIdCols(dailylId, contractReviewEntity, cols)
 
 	//查出企业法规处审批的人员
 	stepCode := workflow.PROF_REGULATION //企业法规处
@@ -247,47 +159,17 @@ func (this *OilAnnualListenerController) GetLawOfficeAuditors() {
 	this.ServeJSON()
 }
 
-// @Title 企业法规处入库人员列表 --回调
-// @Description get user by token
-// @Success 200 {string} string
-// @router /pre-storage-audit [post]
-func (this *OilAnnualListenerController) GetStorageAuditor() {
-	var jsonBlob = this.Ctx.Input.RequestBody
-	var listenerApprove ListenerApproveParams
-	json.Unmarshal(jsonBlob, &listenerApprove)
-	annualId := strings.Split(listenerApprove.BusinessKey, "-")[0]
-
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
-	cols := []string{
-		"Id",
-		"Status",
-	}
-	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.STOREING_STATUS //待入库
-	srv.UpdateEntityByIdCols(annualId, annualEntity, 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 企业法规处审批入库完成, 工作流结束--回调
+// @Title 企业法规处审批完成, 工作流结束--回调
 // @Description get user by token
 // @Success 200 {string} string
 // @router /workflow-end [get]
-func (this *OilAnnualListenerController) WorkflowEndAudit() {
+func (this *OilContractAnnualListenerController) WorkflowEndAudit() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	dailyId := strings.Split(businessKey, "-")[0]
+	var contractReviewEntity contractReview.OilContractReview
+	srv := contractReview.GetOilContractReviewService(utils.DBE)
+	srv.GetEntityById(dailyId, &contractReviewEntity)
 
 	cols := []string{
 		"Id",
@@ -295,16 +177,8 @@ func (this *OilAnnualListenerController) WorkflowEndAudit() {
 		"ApplyTime",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.STORE_STATUS                  //审核完成
-	annualEntity.ApplyTime = annualEntity.ApplyTime.AddDate(1, 0, 0) //更新年审表时间
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	//更新准入表时间
-	paymentInfoSvc := paymentinfo.GetPaymentService(utils.DBE)
-	var certModel suppliercert.OilSupplierCert
-	certModel.ApplyTime = annualEntity.ApplyTime.AddDate(1, 0, 0)
-	certModel.InFlag = "1"
-	paymentInfoSvc.UpdateEntityByIdCols(strconv.Itoa(annualEntity.CerId), &certModel, []string{"ApplyTime", "InFlag"})
+	contractReviewEntity.Status = suppliercert.STORE_STATUS                  //审核完成
+	srv.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 
 	this.Data["json"] = 1
 	this.ServeJSON()
@@ -314,52 +188,22 @@ func (this *OilAnnualListenerController) WorkflowEndAudit() {
 // @Description get user by token
 // @Success 200 {string} string
 // @router /approval-refuse [get]
-func (this *OilAnnualListenerController) ApprovalRefuse() {
+func (this *OilContractAnnualListenerController) ApprovalRefuse() {
 	businessKey := this.GetString("businessKey")
 	stepCodeStatus := this.GetString("stepCode")
-	annualId := strings.Split(businessKey, "-")[0]
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	dailyId := strings.Split(businessKey, "-")[0]
+	var contractReviewEntity contractReview.OilContractReview
+	srv := contractReview.GetOilContractReviewService(utils.DBE)
+	srv.GetEntityById(dailyId, &contractReviewEntity)
 
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = stepCodeStatus
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	// 获取准入资质信息:
-	//supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-	//var supplierCertEntity suppliercert.OilSupplierCert
-	//supplierCertSrv.GetEntityById(annualEntity.CerId, &supplierCertEntity)
-	//supplierSrv := supplier.GetOilSupplierService(utils.DBE)
-	//var supplierEntity supplier.OilSupplier
-	//supplierSrv.GetEntityById(annualEntity.SupplierId, &supplierEntity)
+	contractReviewEntity.Status = stepCodeStatus
+	srv.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 
-	// TODO 发送驳回通知短信
-	//this.AuditRejectNotice(supplierCertEntity, supplierEntity)
-
-	this.Data["json"] = annualEntity.CreateUserId
+	this.Data["json"] = contractReviewEntity.CreateUserId
 	this.ServeJSON()
 }
-
-// @Title 增项申请审核未通过短信通知
-// @Description 审核未通过短信通知
-// @Success	200	{object}
-// @router /audit-reject-notice/:id [post]
-func (this *OilAnnualListenerController) AuditRejectNotice(supplierCertEntity suppliercert.OilSupplierCert, supplierEntity supplier.OilSupplier) {
-	toMobile := supplierEntity.Mobile
-	bFlag := ""
-	if supplierCertEntity.SupplierTypeCode == "01" {
-		bFlag = "物资类"
-	} else if supplierCertEntity.SupplierTypeCode == "02" {
-		bFlag = "基建类"
-	} else {
-		bFlag = "服务类"
-	}
-	msg := "您的" + bFlag + "年审申请审核未通过,请及时查看!"
-	msgService := msg2.GetMsgService(utils.DBE)
-	msgService.HandleMsg(toMobile, msg, "5-2", supplierCertEntity.CreateBy, supplierEntity.ContactName, strconv.Itoa(supplierCertEntity.CreateUserId), this.User.Username)
-}

+ 0 - 37
src/dashoo.cn/backend/api/controllers/oilcontract/contractDailyListener.go

@@ -2,7 +2,6 @@ package oilcontract
 
 import (
 	"dashoo.cn/backend/api/business/auditsetting"
-	"dashoo.cn/backend/api/business/oilcontract/contract"
 	"dashoo.cn/backend/api/business/oilcontract/contractReview"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
 	"dashoo.cn/backend/api/business/workflow"
@@ -25,42 +24,6 @@ type ListenerApproveInfo struct {
 	Users string `json:"users"`
 }
 
-// @Title 获取二级单位分办人员列表 --回调
-// @Description get user by token
-// @Success 200 {string} string
-// @router /pre-fen-trail [post]
-func (this *OilContractDailyListenerController) PreFenTrialStatus() {
-	var jsonBlob = this.Ctx.Input.RequestBody
-	var listenerApprove ListenerApproveParams
-	json.Unmarshal(jsonBlob, &listenerApprove)
-	var contractReviewEntity contractReview.OilContractReview
-	srv := contractReview.GetOilContractReviewService(utils.DBE)
-	reviewId := strings.Split(listenerApprove.BusinessKey, "-")[0]
-
-	srv.GetEntityById(reviewId, &contractReviewEntity)
-	cols := []string{
-		"Id",
-		"Status",
-	}
-	//进入此步骤,记录在数据库中
-	contractReviewEntity.Status = suppliercert.FEN_TRIAL_STATUS //二级单位分办
-	srv.UpdateEntityByIdCols(reviewId, contractReviewEntity, cols)
-
-	//查出二级单位分办的人员
-	//取出合同表
-	contractSvc := contract.GetOilContractService(utils.DBE)
-	var contractEntity contract.OilContract
-	contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
-
-	stepCode := workflow.GetWorkFlowStepCode(contractEntity.ContractClass)
-	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
-	approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, contractReviewEntity.CommitComId)
-	var approveInfo ListenerApproveInfo
-	approveInfo.Users = approverIds
-	this.Data["json"] = &approveInfo
-	this.ServeJSON()
-}
-
 // 用
 // @Title 获取二级单位初审人员列表--回调
 // @Description get user by token

+ 0 - 108
src/dashoo.cn/backend/api/controllers/oilcontract/contractReview.go

@@ -543,113 +543,5 @@ func (this *OilContractReviewController) BusinessOfficeSeparateAuditEntity() {
 	conRev.UpdateEntityByIdCols(supplierCertId, contractReviewEntity, cols)
 }
 
-// @Title 确认是否入库
-// @Description 确认是否入库
-// @Success	200	{object} controllers.Request
-// @router /update-is-storage/:id [post]
-//func (this *OilContractReviewController) UpdateIsStorage() {
-//	id := this.Ctx.Input.Param(":id")
-//	result := this.GetString("result")
-//	AccessCardNo := this.GetString("AccessCardNo")
-//	BackRemark := this.GetString("BackRemark")
-//	SupplierId := this.GetString("SupplierId")
-//	var errinfo ErrorInfo
-//	if id == "" {
-//		errinfo.Message = "操作失败!请求信息不完整"
-//		errinfo.Code = -2
-//		this.Data["json"] = &errinfo
-//		this.ServeJSON()
-//		return
-//	}
-//	defer func() { //finally处理失败的异常
-//		if err := recover(); err != nil {
-//			errinfo.Message = err.(string)
-//			errinfo.Code = -1
-//			this.Data["json"] = &errinfo
-//			this.ServeJSON()
-//		} else {
-//			//返回正确结果
-//			if result == "1" {
-//				errinfo.Message = "入库成功"
-//			} else {
-//				errinfo.Message = "退回成功"
-//			}
-//			errinfo.Code = 0
-//			this.Data["json"] = &errinfo
-//			this.ServeJSON()
-//		}
-//	}()
-//
-//	var supplierCertEntity suppliercert.OilSupplierCert
-//	certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-//	certSrv.GetEntityById(id, &supplierCertEntity)
-//
-//	AuditRemark := ""
-//	if result == "1" {
-//		AuditRemark = "审批通过, 已入库。"
-//		var supplierEntity supplier.OilSupplier
-//		srv := supplier.GetOilSupplierService(utils.DBE)
-//		srv.GetEntityById(SupplierId, &supplierEntity)
-//		var srvCols []string
-//		if supplierCertEntity.SupplierTypeCode == "01" {
-//			supplierEntity.WZAccessCardNo = AccessCardNo
-//			srvCols = append(srvCols, "WZAccessCardNo")
-//		} else if supplierCertEntity.SupplierTypeCode == "02" {
-//			supplierEntity.WZAccessCardNo = AccessCardNo
-//			srvCols = append(srvCols, "JSAccessCardNo")
-//		} else if supplierCertEntity.SupplierTypeCode == "03" {
-//			supplierEntity.WZAccessCardNo = AccessCardNo
-//			srvCols = append(srvCols, "JFAccessCardNo")
-//		} else {
-//			panic("准入类别错误!")
-//		}
-//
-//		srv.UpdateEntityByIdCols(SupplierId, &supplierEntity, srvCols)
-//	} else {
-//		if BackRemark != "" {
-//			AuditRemark = BackRemark
-//		} else {
-//			AuditRemark = "待入库未通过。"
-//		}
-//	}
-//
-//	cols := []string{
-//		"Id",
-//		"Status",
-//		"ApplyTime",
-//		"InFlag",
-//		"StorageOn",
-//		"ModifiedOn",
-//		"BackRemark",
-//	}
-//	//进入此步骤,记录在数据库中
-//	if result == "1" {
-//		supplierCertEntity.Status = suppliercert.STORE_STATUS // 7 已入库
-//		supplierCertEntity.StorageOn = time.Now()
-//		supplierCertEntity.ApplyTime = time.Now().AddDate(1, 0, 0)
-//		supplierCertEntity.InFlag = "1"
-//		supplierCertEntity.BackRemark = ""
-//	} else {
-//		supplierCertEntity.Status = suppliercert.NO_STOREING_STATUS // -7 待入库未通过
-//		supplierCertEntity.BackRemark = AuditRemark // 未通过理由
-//	}
-//
-//	supplierCertEntity.ModifiedOn = time.Now()
-//	certSrv.UpdateEntityByIdCols(id, supplierCertEntity, cols)
-//
-//	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 = result
-//	ActiComplete.Remarks = AuditRemark
-//	ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
-//	receiveVal := svcActiviti.TaskComplete(ActiComplete)
-//	if receiveVal != "true" {
-//		panic("工作流异常,请联系管理员!" + receiveVal)
-//	}
-//
-//}
 
 

+ 193 - 1
src/dashoo.cn/backend/api/controllers/oilcontract/contractSumScore.go

@@ -1,7 +1,12 @@
 package oilcontract
 
 import (
+	"dashoo.cn/backend/api/business/oilcontract/contract"
+	"dashoo.cn/backend/api/business/oilcontract/contractReview"
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
+	"dashoo.cn/backend/api/business/workflow"
 	"encoding/json"
+	"strconv"
 	"strings"
 	"time"
 
@@ -423,4 +428,191 @@ func (this *OilContractSumScoreController) DeleteEntity() {
 	}
 }
 
- 
+
+// @Title 二级单位提交审批 --启动工作流
+// @Description 二级单位提交审批
+// @Success	200	{object} controllers.Request
+// @router /unit-audit/:id [post]
+func (this *OilContractSumScoreController) 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 := contractSumScore.GetOilContractSumScoreService(utils.DBE)
+	var contractSumEntity contractSumScore.OilContractSumScore
+	conRev.GetEntityById(Id, &contractSumEntity)
+
+	//取出合同表
+	contractSvc := contract.GetOilContractService(utils.DBE)
+	var contractEntity contract.OilContract
+	contractSvc.GetEntityById(contractSumEntity.ContractId, &contractEntity)
+
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+	//启动工作流
+	businessKey := contractSumEntity.Businesskey
+	processInstanceId := contractSumEntity.WorkflowId
+	// 如果被驳回,不再新启工作流
+	if processInstanceId == "" {
+		//启动工作流
+		businessKey = Id + "-" + strconv.Itoa(contractSumEntity.AuditIndex)
+		processInstanceId = svcActiviti.StartProcess2(workflow.OIL_DAILY_CONTRACT_EVALUATION, businessKey, this.User.Id, "1", contractEntity.ContractClass, contractEntity.SupplierName)
+		if len(processInstanceId) <= 0 {
+			panic("工作流启动失败!")
+		}
+		contractSumEntity.AuditIndex += 1
+	}
+	// 将启动和工作流,选择的初审和复审人员保存下来
+	cols := []string{
+		"Id",
+		"FirstAudit",
+		"SecondAudit",
+		"thirdAudit",
+		"WorkflowId",
+		"BusinessKey",
+		"ProcessKey",
+		"CommitComId",
+		"AuditIndex",
+	}
+	contractSumEntity.Processkey = workflow.OIL_DAILY_CONTRACT_EVALUATION
+	contractSumEntity.Businesskey = businessKey
+	contractSumEntity.WorkflowId = processInstanceId
+	contractSumEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
+	contractSumEntity.SecondAudit, _ = strconv.Atoi(secondAudit)
+	contractSumEntity.ThirdAudit, _ = strconv.Atoi(thirdAudit)
+	contractSumEntity.CommitComId = strconv.Itoa(unitId)
+	conRev.UpdateEntityByIdCols(Id, contractSumEntity, cols)
+
+	var ActiComplete workflow.ActiCompleteVM
+	ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
+	ActiComplete.BusinessKey = contractSumEntity.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 *OilContractSumScoreController) 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 contractSumEntity contractReview.OilContractReview
+	conRev.GetEntityById(Id, &contractSumEntity)
+
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+	var ActiComplete workflow.ActiCompleteVM
+	ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
+	ActiComplete.BusinessKey = contractSumEntity.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 *OilContractSumScoreController) 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 contractSumEntity contractReview.OilContractReview
+	conRev.GetEntityById(Id, &contractSumEntity)
+
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+	var ActiComplete workflow.ActiCompleteVM
+	ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
+	ActiComplete.BusinessKey = contractSumEntity.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(contractSumEntity.BusinessKey, "-")[0]
+	contractSumEntity.Status = suppliercert.PROF_AUDIT_STATUS //专业处室接收
+	contractSumEntity.ProfessionalAudit, _ = strconv.Atoi(ProfessionalAudit)
+	conRev.UpdateEntityByIdCols(supplierCertId, contractSumEntity, cols)
+}

+ 1 - 1
src/dashoo.cn/backend/api/routers/router.go

@@ -517,7 +517,7 @@ func init() {
 		// 合同年度评审回调
 		beego.NSNamespace("/contract-annual-listener",
 			beego.NSInclude(
-				&oilcontract.OilAnnualListenerController{},
+				&oilcontract.OilContractAnnualListenerController{},
 			),
 		),
 	)