3
2
Kaynağa Gözat

工作流--完善

lining 6 yıl önce
ebeveyn
işleme
94f5708e78

+ 12 - 7
src/dashoo.cn/backend/api/business/limscreatereport/limscreatereportService.go

@@ -1,6 +1,7 @@
 package limscreatereport
 
 import (
+	"dashoo.cn/backend/api/business/auditsetting"
 	"strings"
 
 	"dashoo.cn/backend/api/business/limsdataentry"
@@ -165,7 +166,7 @@ func (s *CreateReportService) GetReportUrl(reporttable string, historytable stri
 	return List
 }
 
-func (this *CreateReportService) CreateDataentry(AccCode string, taskbalancename string, entrustname string, dataentryname string,docname string,docdetailname string, reportmodel LimsCreateReport, DataEntryCode string, departartmentId string,RecheckUserId string,ReCheckUser string) (int,int) {
+func (this *CreateReportService) CreateDataentry(DeptID string,AccCode string, taskbalancename string, entrustname string, dataentryname string,docname string,docdetailname string, reportmodel LimsCreateReport, DataEntryCode string, departartmentId string,RecheckUserId string,ReCheckUser string) (int,int) {
 	var err error
 	//获取TemplateCode
 	svc := limsdataentry.GetLimsDataEntryService(utils.DBE)
@@ -202,12 +203,16 @@ func (this *CreateReportService) CreateDataentry(AccCode string, taskbalancename
 	//启动数据录入工作流
 	svcActiviti := workflow.GetActivitiService(utils.DBE)
 	var processInstanceId string
-	switch departartmentId {
-	case "100000150":
-		processInstanceId = svcActiviti.StartProcess(workflow.TJZ_DATA_KEY, strconv.Itoa(dataentryentity.Id), RecheckUserId)
-	case "100000151":
-		processInstanceId = svcActiviti.StartProcess(workflow.YX_DATA_KEY, strconv.Itoa(dataentryentity.Id), RecheckUserId)
-	}
+	var RoleSet auditsetting.Base_OilAuditSetting
+	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	rsvc.GetAuditStepRoleEntity("Base_OilAuditSetting",DeptID,workflow.DATAAUDIT, &RoleSet)
+	processInstanceId = svcActiviti.StartProcess(RoleSet.WorkFlowCord, strconv.Itoa(dataentryentity.Id), RecheckUserId)
+	//switch departartmentId {
+	//case "100000150":
+	//	processInstanceId = svcActiviti.StartProcess(workflow.TJZ_DATA_KEY, strconv.Itoa(dataentryentity.Id), RecheckUserId)
+	//case "100000151":
+	//	processInstanceId = svcActiviti.StartProcess(workflow.YX_DATA_KEY, strconv.Itoa(dataentryentity.Id), RecheckUserId)
+	//}
 	dataentryentity.DocKey = processInstanceId
 	err = this.UpdateEntityBytbl(dataentryname, dataentryentity.Id, &dataentryentity, []string{"DocKey"})
 	fmt.Println(err)

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

@@ -47,18 +47,18 @@ type WordTemplateVM struct {
 }
 
 const (
-	//特检站数据录入
-	TJZ_DATA_KEY string = "tjz_data_apply"
-	//特检站报告
-	TJZ_PROCESS_KEY string = "tjz_report_assign"
-	//宇信数据录入
-	YX_DATA_KEY string = "yx_data_apply"
-	//宇信报告
-	YX_PROCESS_KEY string = "yx_report_assign"
-	//计量数据录入
-	JL_DATA_KEY string = "jl_data_apply"
-	// 节能
-	JN_DATA_KEY string = "jn_data_apply"
+	////特检站数据录入
+	//TJZ_DATA_KEY string = "tjz_data_apply"
+	////特检站报告
+	//TJZ_PROCESS_KEY string = "tjz_report_assign"
+	////宇信数据录入
+	//YX_DATA_KEY string = "yx_data_apply"
+	////宇信报告
+	//YX_PROCESS_KEY string = "yx_report_assign"
+	////计量数据录入
+	//JL_DATA_KEY string = "jl_data_apply"
+	//// 节能
+	//JN_DATA_KEY string = "jn_data_apply"
 	// 数据录入校核
 	DATAJIAOHE string = "DATAJIAOHE"
 	// 数据录入审批

+ 130 - 77
src/dashoo.cn/backend/api/controllers/lims/limscreatereport.go

@@ -138,12 +138,16 @@ func (this *CreateReportController) GetCreateReportToDoList() {
 	//工作流获取代办事务
 	svcActiviti := workflow.GetActivitiService(utils.DBE)
 	var processInstanceId string
-	switch this.User.DepartmentId {
-	case "100000150":
-		processInstanceId = svcActiviti.GetMyTasks(workflow.TJZ_PROCESS_KEY, this.User.Id)
-	case "100000151":
-		processInstanceId = svcActiviti.GetMyTasks(workflow.YX_PROCESS_KEY, this.User.Id)
-	}
+	var RoleSet auditsetting.Base_OilAuditSetting
+	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	rsvc.GetAuditStepRoleEntity(OilAuditSettingName,this.User.DepartmentId,workflow.REPORTAUDIT, &RoleSet)
+	processInstanceId = svcActiviti.GetMyTasks(RoleSet.WorkFlowCord, this.User.Id)
+	//switch this.User.DepartmentId {
+	//case "100000150":
+	//	processInstanceId = svcActiviti.GetMyTasks(workflow.TJZ_PROCESS_KEY, this.User.Id)
+	//case "100000151":
+	//	processInstanceId = svcActiviti.GetMyTasks(workflow.YX_PROCESS_KEY, this.User.Id)
+	//}
 	////取出当前部门及下级部门的所有用户列表
 	//var subUserList []userRole.Base_User
 	//whereUser := " 1=1 "
@@ -442,8 +446,8 @@ func (this *CreateReportController) Recheck() {
 	svc := limscreatereport.GetCreateReportService(utils.DBE)
 	var dataentrylist []limsdataentry.LimsDateEntry
 	svc.GetEntitysByWhere(this.User.AccCode+LimsDateEntryName, "EId = '"+utils.ToStr(reportmodel.EId)+"'", &dataentrylist)
+	dataentryId,TaskId:=svc.CreateDataentry(this.User.DepartmentId, this.User.AccCode, this.User.AccCode+LimsTaskBalanceName, this.User.AccCode+LimsEntrustMainName, this.User.AccCode+LimsDateEntryName,this.User.AccCode+LimsDocTemplateName,this.User.AccCode+LimsDocTemplateDetailName, reportmodel, dataentrylist[0].DataEntryCode, this.User.DepartmentId,RecheckUserId,ReCheckUser)
 	//新增数据录入记录 开始工作流
-	dataentryId,TaskId:=svc.CreateDataentry(this.User.AccCode, this.User.AccCode+LimsTaskBalanceName, this.User.AccCode+LimsEntrustMainName, this.User.AccCode+LimsDateEntryName,this.User.AccCode+LimsDocTemplateName,this.User.AccCode+LimsDocTemplateDetailName, reportmodel, dataentrylist[0].DataEntryCode, this.User.DepartmentId,RecheckUserId,ReCheckUser)
 	//更新报告状态
 	var emptyEntity limscreatereport.LimsCreateReport
 	emptyEntity.ReportStatus = 5
@@ -732,85 +736,134 @@ func (this *CreateReportController) ReportCreateThen(reportUrl string, UnHGRepor
 		svcActiviti := workflow.GetActivitiService(utils.DBE)
 		var processInstanceId string
 		var receiveVal string
-		switch this.User.DepartmentId {
-		case "100000150":
-			users = svc.GetUserByRole("10000184", this.User.AccCode)
-			var userIds string
-			for _, tmpUser := range users {
-				userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
-			}
-			userIds = strings.Trim(userIds, ",")
-			processInstanceId = svcActiviti.StartProcess(workflow.TJZ_PROCESS_KEY, strconv.Itoa(reportEntity.Id), this.User.Id)
-			emptyEntity.FlowKey = processInstanceId
-			err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsCreateReportName, reportEntity.Id, &emptyEntity, []string{"FlowKey"})
-			if UnHGReportUrl == "" {
-				receiveVal = svcActiviti.TaskComplete(workflow.TJZ_PROCESS_KEY, strconv.Itoa(reportEntity.Id), userIds, this.User.Id, "1", "特检合格报告审核")
-			} else {
-				receiveVal = svcActiviti.TaskComplete(workflow.TJZ_PROCESS_KEY, strconv.Itoa(reportEntity.Id), userIds, this.User.Id, "1", "特检不合格报告审核")
+		users = svc.GetUserByRole("10000184", this.User.AccCode)
+		var userIds string
+		for _, tmpUser := range users {
+			userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
+		}
+		userIds = strings.Trim(userIds, ",")
+
+		var RoleSet auditsetting.Base_OilAuditSetting
+		rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+		rsvc.GetAuditStepRoleEntity(OilAuditSettingName,this.User.DepartmentId,workflow.REPORTAUDIT, &RoleSet)
+
+		processInstanceId = svcActiviti.StartProcess(RoleSet.WorkFlowCord, strconv.Itoa(reportEntity.Id), this.User.Id)
+		emptyEntity.FlowKey = processInstanceId
+		err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsCreateReportName, reportEntity.Id, &emptyEntity, []string{"FlowKey"})
+		if UnHGReportUrl == "" {
+			receiveVal = svcActiviti.TaskComplete(RoleSet.WorkFlowCord, strconv.Itoa(reportEntity.Id), userIds, this.User.Id, "1", "合格报告审核")
+		} else {
+			receiveVal = svcActiviti.TaskComplete(RoleSet.WorkFlowCord, strconv.Itoa(reportEntity.Id), userIds, this.User.Id, "1", "不合格报告审核")
+		}
+		if receiveVal == "true" {
+			//报告生成将标志位变1
+			for _, listdata := range datalist {
+				listdata.CreateReportStatus = 1
+				err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsDateEntryName, listdata.DataEntryId, &listdata, []string{"CreateReportStatus"})
 			}
-			if receiveVal == "true" {
-				//报告生成将标志位变1
-				for _, listdata := range datalist {
-					listdata.CreateReportStatus = 1
-					err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsDateEntryName, listdata.DataEntryId, &listdata, []string{"CreateReportStatus"})
-				}
-				if err == nil {
-					errinfo.Message = "报告生成成功"
-					errinfo.Code = 0
-					errinfo.Item = reportEntity
-					this.Data["json"] = &errinfo
-					this.ServeJSON()
-				} else {
-					errinfo.Message = "报告生成发生错误!"
-					errinfo.Code = -1
-					this.Data["json"] = &errinfo
-					this.ServeJSON()
-				}
-			} else {
-				errinfo.Message = "工作流异常,请联系管理员!"
-				errinfo.Code = -1
+			if err == nil {
+				errinfo.Message = "报告生成成功"
+				errinfo.Code = 0
+				errinfo.Item = reportEntity
 				this.Data["json"] = &errinfo
 				this.ServeJSON()
-				return
-			}
-		case "100000151":
-			users = svc.GetUserByRole("10000182", this.User.AccCode)
-			var userIds string
-			for _, tmpUser := range users {
-				userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
-			}
-			userIds = strings.Trim(userIds, ",")
-			processInstanceId = svcActiviti.StartProcess(workflow.YX_PROCESS_KEY, strconv.Itoa(reportEntity.Id), this.User.Id)
-			var emptyEntity limscreatereport.LimsCreateReport
-			emptyEntity.FlowKey = processInstanceId
-			err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsCreateReportName, reportEntity.Id, &emptyEntity, []string{"FlowKey"})
-			receiveVal = svcActiviti.TaskComplete(workflow.YX_PROCESS_KEY, strconv.Itoa(reportEntity.Id), userIds, this.User.Id, "1", "宇信报告审核")
-			if receiveVal == "true" {
-				//报告生成将标志位变1
-				for _, listdata := range datalist {
-					listdata.CreateReportStatus = 1
-					err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsDateEntryName, listdata.DataEntryId, &listdata, []string{"CreateReportStatus"})
-				}
-				if err == nil {
-					errinfo.Message = "报告生成成功"
-					errinfo.Code = 0
-					errinfo.Item = reportEntity
-					this.Data["json"] = &errinfo
-					this.ServeJSON()
-				} else {
-					errinfo.Message = "报告生成发生错误!"
-					errinfo.Code = -1
-					this.Data["json"] = &errinfo
-					this.ServeJSON()
-				}
 			} else {
-				errinfo.Message = "工作流异常,请联系管理员!"
+				errinfo.Message = "报告生成发生错误!"
 				errinfo.Code = -1
 				this.Data["json"] = &errinfo
 				this.ServeJSON()
-				return
 			}
+		} else {
+			errinfo.Message = "工作流异常,请联系管理员!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
 		}
+		//switch this.User.DepartmentId {
+		//case "100000150":
+		//	users = svc.GetUserByRole("10000184", this.User.AccCode)
+		//	var userIds string
+		//	for _, tmpUser := range users {
+		//		userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
+		//	}
+		//	userIds = strings.Trim(userIds, ",")
+		//
+		//	var RoleSet auditsetting.Base_OilAuditSetting
+		//	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+		//	rsvc.GetAuditStepRoleEntity(OilAuditSettingName,this.User.DepartmentId,workflow.REPORTAUDIT, &RoleSet)
+		//
+		//	processInstanceId = svcActiviti.StartProcess(RoleSet.WorkFlowCord, strconv.Itoa(reportEntity.Id), this.User.Id)
+		//	emptyEntity.FlowKey = processInstanceId
+		//	err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsCreateReportName, reportEntity.Id, &emptyEntity, []string{"FlowKey"})
+		//	if UnHGReportUrl == "" {
+		//		receiveVal = svcActiviti.TaskComplete(RoleSet.WorkFlowCord, strconv.Itoa(reportEntity.Id), userIds, this.User.Id, "1", "特检合格报告审核")
+		//	} else {
+		//		receiveVal = svcActiviti.TaskComplete(RoleSet.WorkFlowCord, strconv.Itoa(reportEntity.Id), userIds, this.User.Id, "1", "特检不合格报告审核")
+		//	}
+		//	if receiveVal == "true" {
+		//		//报告生成将标志位变1
+		//		for _, listdata := range datalist {
+		//			listdata.CreateReportStatus = 1
+		//			err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsDateEntryName, listdata.DataEntryId, &listdata, []string{"CreateReportStatus"})
+		//		}
+		//		if err == nil {
+		//			errinfo.Message = "报告生成成功"
+		//			errinfo.Code = 0
+		//			errinfo.Item = reportEntity
+		//			this.Data["json"] = &errinfo
+		//			this.ServeJSON()
+		//		} else {
+		//			errinfo.Message = "报告生成发生错误!"
+		//			errinfo.Code = -1
+		//			this.Data["json"] = &errinfo
+		//			this.ServeJSON()
+		//		}
+		//	} else {
+		//		errinfo.Message = "工作流异常,请联系管理员!"
+		//		errinfo.Code = -1
+		//		this.Data["json"] = &errinfo
+		//		this.ServeJSON()
+		//		return
+		//	}
+		//case "100000151":
+		//	users = svc.GetUserByRole("10000182", this.User.AccCode)
+		//	var userIds string
+		//	for _, tmpUser := range users {
+		//		userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
+		//	}
+		//	userIds = strings.Trim(userIds, ",")
+		//	processInstanceId = svcActiviti.StartProcess(workflow.YX_PROCESS_KEY, strconv.Itoa(reportEntity.Id), this.User.Id)
+		//	var emptyEntity limscreatereport.LimsCreateReport
+		//	emptyEntity.FlowKey = processInstanceId
+		//	err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsCreateReportName, reportEntity.Id, &emptyEntity, []string{"FlowKey"})
+		//	receiveVal = svcActiviti.TaskComplete(workflow.YX_PROCESS_KEY, strconv.Itoa(reportEntity.Id), userIds, this.User.Id, "1", "宇信报告审核")
+		//	if receiveVal == "true" {
+		//		//报告生成将标志位变1
+		//		for _, listdata := range datalist {
+		//			listdata.CreateReportStatus = 1
+		//			err = svcReport.UpdateEntityBytbl(this.User.AccCode+LimsDateEntryName, listdata.DataEntryId, &listdata, []string{"CreateReportStatus"})
+		//		}
+		//		if err == nil {
+		//			errinfo.Message = "报告生成成功"
+		//			errinfo.Code = 0
+		//			errinfo.Item = reportEntity
+		//			this.Data["json"] = &errinfo
+		//			this.ServeJSON()
+		//		} else {
+		//			errinfo.Message = "报告生成发生错误!"
+		//			errinfo.Code = -1
+		//			this.Data["json"] = &errinfo
+		//			this.ServeJSON()
+		//		}
+		//	} else {
+		//		errinfo.Message = "工作流异常,请联系管理员!"
+		//		errinfo.Code = -1
+		//		this.Data["json"] = &errinfo
+		//		this.ServeJSON()
+		//		return
+		//	}
+		//}
 	} else {
 		if err == nil {
 			errinfo.Message = "报告生成成功"

+ 10 - 6
src/dashoo.cn/backend/api/controllers/lims/limsdataentry.go

@@ -4082,12 +4082,16 @@ func (this *LimsDataEntryController) AddDataEntryThen() {
 		//启动数据录入工作流
 		svcActiviti := workflow.GetActivitiService(utils.DBE)
 		var processInstanceId string
-		switch this.User.DepartmentId {
-		case "100000150":
-			processInstanceId = svcActiviti.StartProcess(workflow.TJZ_DATA_KEY, strconv.Itoa(dataentryentity.Id), strconv.Itoa(addmessa.ConUserId))
-		case "100000151":
-			processInstanceId = svcActiviti.StartProcess(workflow.YX_DATA_KEY, strconv.Itoa(dataentryentity.Id), strconv.Itoa(addmessa.ConUserId))
-		}
+		var RoleSet auditsetting.Base_OilAuditSetting
+		rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+		rsvc.GetAuditStepRoleEntity(OilAuditSettingName,this.User.DepartmentId,workflow.DATAAUDIT, &RoleSet)
+		processInstanceId = svcActiviti.StartProcess(RoleSet.WorkFlowCord, strconv.Itoa(dataentryentity.Id), strconv.Itoa(addmessa.ConUserId))
+		//switch this.User.DepartmentId {
+		//case "100000150":
+		//	processInstanceId = svcActiviti.StartProcess(workflow.TJZ_DATA_KEY, strconv.Itoa(dataentryentity.Id), strconv.Itoa(addmessa.ConUserId))
+		//case "100000151":
+		//	processInstanceId = svcActiviti.StartProcess(workflow.YX_DATA_KEY, strconv.Itoa(dataentryentity.Id), strconv.Itoa(addmessa.ConUserId))
+		//}
 		dataentryentity.DocKey = processInstanceId
 		err = svc.UpdateEntityBytbl(this.User.AccCode+LimsDateEntryName, dataentryentity.Id, &dataentryentity, []string{"DocKey"})
 		if err == nil {

+ 21 - 12
src/dashoo.cn/backend/api/controllers/lims/limsindex.go

@@ -1,6 +1,7 @@
 package lims
 
 import (
+	"dashoo.cn/backend/api/business/auditsetting"
 	"encoding/json"
 	"strconv"
 	"strings"
@@ -41,12 +42,16 @@ func (this *LimsIndexController) GetWaiting() {
 	//启动数据录入工作流
 	svcActiviti := workflow.GetActivitiService(utils.DBE)
 	var processInstanceId string
-	switch this.User.DepartmentId {
-	case "100000150":
-		processInstanceId = svcActiviti.GetMyTasks(workflow.TJZ_DATA_KEY, this.User.Id)
-	case "100000151":
-		processInstanceId = svcActiviti.GetMyTasks(workflow.YX_DATA_KEY, this.User.Id)
-	}
+	var RoleSet auditsetting.Base_OilAuditSetting
+	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	rsvc.GetAuditStepRoleEntity(OilAuditSettingName,this.User.DepartmentId,workflow.DATAAUDIT, &RoleSet)
+	processInstanceId = svcActiviti.GetMyTasks(RoleSet.WorkFlowCord, this.User.Id)
+	//switch this.User.DepartmentId {
+	//case "100000150":
+	//	processInstanceId = svcActiviti.GetMyTasks(workflow.TJZ_DATA_KEY, this.User.Id)
+	//case "100000151":
+	//	processInstanceId = svcActiviti.GetMyTasks(workflow.YX_DATA_KEY, this.User.Id)
+	//}
 	where := " b.BalanceStatus <> 0 "
 	where += " and a.Id in (" + processInstanceId + ")"
 
@@ -82,12 +87,16 @@ func (this *LimsIndexController) GetDone() {
 	//启动数据录入工作流
 	svcActiviti := workflow.GetActivitiService(utils.DBE)
 	var processInstanceId string
-	switch this.User.DepartmentId {
-	case "100000150":
-		processInstanceId = svcActiviti.GetHistoryMyTasks(workflow.TJZ_DATA_KEY, this.User.Id)
-	case "100000151":
-		processInstanceId = svcActiviti.GetMyTasks(workflow.YX_DATA_KEY, this.User.Id)
-	}
+	var RoleSet auditsetting.Base_OilAuditSetting
+	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	rsvc.GetAuditStepRoleEntity(OilAuditSettingName,this.User.DepartmentId,workflow.DATAAUDIT, &RoleSet)
+	processInstanceId = svcActiviti.GetHistoryMyTasks(RoleSet.WorkFlowCord, this.User.Id)
+	//switch this.User.DepartmentId {
+	//case "100000150":
+	//	processInstanceId = svcActiviti.GetHistoryMyTasks(workflow.TJZ_DATA_KEY, this.User.Id)
+	//case "100000151":
+	//	processInstanceId = svcActiviti.GetMyTasks(workflow.YX_DATA_KEY, this.User.Id)
+	//}
 	where := " a.ModifiedOn > '" + whtintime + "'"
 	where += " and a.Id in (" + processInstanceId + ")"