|
|
@@ -1,11 +1,18 @@
|
|
|
package oilcontract
|
|
|
|
|
|
import (
|
|
|
+
|
|
|
+ "dashoo.cn/backend/api/business/oilcontract/contractEvaluationItems"
|
|
|
+ "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"
|
|
|
-
|
|
|
+ "fmt"
|
|
|
"dashoo.cn/backend/api/business/baseUser"
|
|
|
// "dashoo.cn/backend/api/business/items"
|
|
|
. "dashoo.cn/backend/api/controllers"
|
|
|
@@ -150,23 +157,43 @@ func (this *OilContractReviewController) GetEntity() {
|
|
|
// @Success 200 {object} controllers.Request
|
|
|
// @router /add [post]
|
|
|
func (this *OilContractReviewController) AddEntity() {
|
|
|
- var model contractReview.OilContractReview
|
|
|
+ var modeVO contractReview.OilContractReviewVo
|
|
|
var jsonBlob = this.Ctx.Input.RequestBody
|
|
|
- svc := contractReview.GetOilContractReviewService(utils.DBE)
|
|
|
-
|
|
|
- json.Unmarshal(jsonBlob, &model)
|
|
|
- model.CreateOn = time.Now()
|
|
|
- model.CreateBy = this.User.Realname
|
|
|
- model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
|
|
|
-
|
|
|
- _, err := svc.InsertEntityBytbl(this.User.AccCode+OilContractReviewName, &model)
|
|
|
+ json.Unmarshal(jsonBlob, &modeVO)
|
|
|
|
|
|
+ svc := contractReview.GetOilContractReviewService(utils.DBE)
|
|
|
+ itemSvc := contractEvaluationItems.GetOilContractEvaluationItemsService(utils.DBE)
|
|
|
+ var reviewMode contractReview.OilContractReview
|
|
|
+ reviewMode.ContractId = modeVO.ContractId
|
|
|
+ reviewMode.Status = "0"
|
|
|
+ reviewMode.CreateOn = time.Now()
|
|
|
+ reviewMode.CreateBy = this.User.Realname
|
|
|
+ reviewMode.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
|
|
|
+ _, err := svc.InsertEntityBytbl(OilContractReviewName, &reviewMode)
|
|
|
+
|
|
|
+ var items []contractEvaluationItems.OilContractEvaluationItems
|
|
|
+ // 新增配置项
|
|
|
+ for i,v := range modeVO.Items{
|
|
|
+ fmt.Print(i)
|
|
|
+ var temp contractEvaluationItems.OilContractEvaluationItems
|
|
|
+ temp.ContentReviewId = reviewMode.Id
|
|
|
+ temp.ParentId = v.ParentId
|
|
|
+ temp.SequenceNo = v.SequenceNo
|
|
|
+ temp.Content = v.Content
|
|
|
+ temp.NormalScore = v.NormalScore
|
|
|
+ temp.Score = v.Score
|
|
|
+ temp.LevelCode = v.LevelCode
|
|
|
+ temp.Remark = v.Remark
|
|
|
+ temp.Content = v.Content
|
|
|
+ items = append(items, temp)
|
|
|
+ }
|
|
|
+ itemSvc.DBE.Insert(items)
|
|
|
var errinfo ErrorDataInfo
|
|
|
if err == nil {
|
|
|
//新增
|
|
|
errinfo.Message = "添加成功!"
|
|
|
errinfo.Code = 0
|
|
|
- errinfo.Item = model.Id
|
|
|
+ errinfo.Item = reviewMode.Id
|
|
|
this.Data["json"] = &errinfo
|
|
|
this.ServeJSON()
|
|
|
} else {
|
|
|
@@ -193,20 +220,25 @@ func (this *OilContractReviewController) UpdateEntity() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- var model contractReview.OilContractReview
|
|
|
+ var modeVO contractReview.OilContractReviewVo
|
|
|
svc := contractReview.GetOilContractReviewService(utils.DBE)
|
|
|
-
|
|
|
+ itemSvc := contractEvaluationItems.GetOilContractEvaluationItemsService(utils.DBE)
|
|
|
var jsonBlob = this.Ctx.Input.RequestBody
|
|
|
- json.Unmarshal(jsonBlob, &model)
|
|
|
- model.ModifiedOn = time.Now()
|
|
|
- model.ModifiedBy = this.User.Realname
|
|
|
- model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
|
|
|
+ json.Unmarshal(jsonBlob, &modeVO)
|
|
|
|
|
|
- cols := []string{
|
|
|
+ var reviewMode contractReview.OilContractReview
|
|
|
+ reviewMode.ContractId = modeVO.ContractId
|
|
|
+ reviewMode.Status = "0"
|
|
|
+ reviewMode.ModifiedOn = time.Now()
|
|
|
+ reviewMode.ModifiedBy = this.User.Realname
|
|
|
+ reviewMode.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
|
|
|
|
|
|
+ cols := []string{
|
|
|
"Id",
|
|
|
|
|
|
- "ContractEId",
|
|
|
+ "ContractId",
|
|
|
+
|
|
|
+ "Status",
|
|
|
|
|
|
"WorkflowId",
|
|
|
|
|
|
@@ -216,7 +248,17 @@ func (this *OilContractReviewController) UpdateEntity() {
|
|
|
|
|
|
"BackRemark",
|
|
|
|
|
|
- "ReviewType",
|
|
|
+ "FirstAudit",
|
|
|
+
|
|
|
+ "SecondAudit",
|
|
|
+
|
|
|
+ "ThirdAudit",
|
|
|
+
|
|
|
+ "FourthAudit",
|
|
|
+
|
|
|
+ "ProfessionalAudit",
|
|
|
+
|
|
|
+ "AuditIndex",
|
|
|
|
|
|
"CreateOn",
|
|
|
|
|
|
@@ -224,9 +266,38 @@ func (this *OilContractReviewController) UpdateEntity() {
|
|
|
|
|
|
"CreateBy",
|
|
|
|
|
|
+ "ModifiedOn",
|
|
|
|
|
|
+ "ModifiedUserId",
|
|
|
+
|
|
|
+ "ModifiedBy",
|
|
|
+ }
|
|
|
+ err := svc.UpdateEntityBytbl(OilContractReviewName, id, &reviewMode, cols)
|
|
|
+
|
|
|
+
|
|
|
+ where := "ContentReviewId=" + id
|
|
|
+ // 清除掉之前的
|
|
|
+ itemSvc.DeleteEntityBytbl(OilContractReviewName,where)
|
|
|
+
|
|
|
+ var items []contractEvaluationItems.OilContractEvaluationItems
|
|
|
+ // 新增配置项
|
|
|
+ for i,v := range modeVO.Items{
|
|
|
+ fmt.Print(i)
|
|
|
+ var temp contractEvaluationItems.OilContractEvaluationItems
|
|
|
+ temp.ContentReviewId = reviewMode.Id
|
|
|
+ temp.ParentId = v.ParentId
|
|
|
+ temp.SequenceNo = v.SequenceNo
|
|
|
+ temp.Content = v.Content
|
|
|
+ temp.NormalScore = v.NormalScore
|
|
|
+ temp.Score = v.Score
|
|
|
+ temp.LevelCode = v.LevelCode
|
|
|
+ temp.Remark = v.Remark
|
|
|
+ temp.Content = v.Content
|
|
|
+ items = append(items, temp)
|
|
|
}
|
|
|
- err := svc.UpdateEntityBytbl(this.User.AccCode+OilContractReviewName, id, &model, cols)
|
|
|
+ itemSvc.DBE.Insert(items)
|
|
|
+
|
|
|
+
|
|
|
if err == nil {
|
|
|
errinfo.Message = "修改成功!"
|
|
|
errinfo.Code = 0
|
|
|
@@ -258,8 +329,13 @@ func (this *OilContractReviewController) DeleteEntity() {
|
|
|
var model contractReview.OilContractReview
|
|
|
var entityempty contractReview.OilContractReview
|
|
|
svc := contractReview.GetOilContractReviewService(utils.DBE)
|
|
|
+
|
|
|
+ // 评分审核是否结束校验
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
opdesc := "删除-" + Id
|
|
|
- err := svc.DeleteOperationAndWriteLogBytbl(this.User.AccCode+OilContractReviewName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "钻井日报")
|
|
|
+ err := svc.DeleteOperationAndWriteLogBytbl(OilContractReviewName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "钻井日报")
|
|
|
if err == nil {
|
|
|
errinfo.Message = "删除成功"
|
|
|
errinfo.Code = 0
|
|
|
@@ -274,3 +350,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)
|
|
|
+}
|
|
|
+
|
|
|
+
|