فهرست منبع

添加工作流

huangrf 6 سال پیش
والد
کامیت
2fd68835ea
6فایلهای تغییر یافته به همراه713 افزوده شده و 3 حذف شده
  1. 192 0
      controllers/gen/SysWfController_gen.go
  2. 287 0
      controllers/partial/SysWfController.go
  3. 113 3
      light-apiengine.xml
  4. 30 0
      models/WfDefine_gen.go
  5. 26 0
      models/WfRunData_gen.go
  6. 65 0
      routers/sys_wf_gen.go

+ 192 - 0
controllers/gen/SysWfController_gen.go

@@ -0,0 +1,192 @@
+
+package gen
+
+import (
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
+	"github.com/gin-gonic/gin"
+	
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/controllers/partial"
+	
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
+)
+
+// SysWfController operations for SysWf
+type SysWfController struct {
+	apiengine *engine.ApiEngine
+}
+
+func NewSysWfController(e *engine.ApiEngine) *SysWfController {
+	controller := &SysWfController{e}
+	return controller
+}
+
+
+
+// WfInstanceList
+// @Title WfInstanceList
+// @Description 分页获取流程实例         
+// @Param	      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /wf_instance_list  [get]
+func (c *SysWfController) WfInstanceList(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_WfInstanceList(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// InstanceStepCurrent
+// @Title InstanceStepCurrent
+// @Description 实例当前状态         
+// @Param	instance_id      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /instance_step_current  [get]
+func (c *SysWfController) InstanceStepCurrent(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_InstanceStepCurrent(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// Prerun
+// @Title Prerun
+// @Description 运行实例前奏         
+// @Param	      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /prerun  [post]
+func (c *SysWfController) Prerun(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_Prerun(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// Run
+// @Title Run
+// @Description 运行实例         
+// @Param	      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /run  [post]
+func (c *SysWfController) Run(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_Run(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// WfDefinesTag
+// @Title WfDefinesTag
+// @Description 根据tag获取工作流事项         
+// @Param	tag      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /wf_defines_tag  [get]
+func (c *SysWfController) WfDefinesTag(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_WfDefinesTag(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// WfDefineForm
+// @Title WfDefineForm
+// @Description 根据表单名称获取表单         
+// @Param	form      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /wf_define_form  [get]
+func (c *SysWfController) WfDefineForm(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_WfDefineForm(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// Recall
+// @Title Recall
+// @Description 撤回         
+// @Param	instance_id      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /recall  [post]
+func (c *SysWfController) Recall(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_Recall(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// Designer
+// @Title Designer
+// @Description 修改流程定义         
+// @Param	define_id      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /designer  [get]
+func (c *SysWfController) Designer(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_Designer(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// DefineSave
+// @Title DefineSave
+// @Description 保存流程定义         
+// @Param	      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /define_save  [post]
+func (c *SysWfController) DefineSave(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_DefineSave(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// DefineCreate
+// @Title DefineCreate
+// @Description 创建流程定义         
+// @Param	      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /define_create  [post]
+func (c *SysWfController) DefineCreate(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_DefineCreate(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// CreateInstance
+// @Title CreateInstance
+// @Description 创建流程实例         
+// @Param	      false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /create_instance  [post]
+func (c *SysWfController) CreateInstance(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_CreateInstance(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// Define
+// @Title Define
+// @Description 获取流程定义         
+// @Param	define_id    string  false  ""  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /define  [get]
+func (c *SysWfController) Define(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_Define(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// AllDefine
+// @Title AllDefine
+// @Description 获取所有流程定义         
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /all_define  [get]
+func (c *SysWfController) AllDefine(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysWf_AllDefine(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+

+ 287 - 0
controllers/partial/SysWfController.go

@@ -0,0 +1,287 @@
+
+package partial
+
+import (
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
+	//sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+    //sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+	sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/wfclient"
+	"strconv"
+	"fmt"
+//__import_packages__
+)
+
+// _WfInstanceList
+// @Title _WfInstanceList
+// @Description 分页获取流程实例
+// @Param	      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_WfInstanceList(c *entitys.CtrlContext) {
+	page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1"))
+	rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10"))
+	//page :=c.Ctx.GetInt("page")
+	//rows :=c.Ctx.GetInt("rows")
+	sidx := c.Ctx.DefaultQuery("sidx", "")
+	sord := c.Ctx.DefaultQuery("sord", "")
+	filter := c.Ctx.Query("filters")
+
+	bytess, err := wfclient.Instance().FetchWFINstances(page, rows, filter, sidx, sord)
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+		//c.Ctx.String(200,"",string(bytess))
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _InstanceStepCurrent
+// @Title _InstanceStepCurrent
+// @Description 实例当前状态
+// @Param	instance_id      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_InstanceStepCurrent(c *entitys.CtrlContext) {
+	instanceId := c.Ctx.Query("instance_id")
+
+	bytess, err := wfclient.Instance().FetchCurrentStepByLoginUser(instanceId)
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _Prerun
+// @Title _Prerun
+// @Description 运行实例前奏
+// @Param	choice      false  ""
+// @Param	instance_id      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_Prerun(c *entitys.CtrlContext) {
+	obj := models.WfRunData{}
+	err := c.Ctx.Bind(&obj)
+	if err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+		return
+	}
+
+	bytess, err := wfclient.Instance().PreRun(obj.InstanceId, obj.Choice)
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _Run
+// @Title _Run
+// @Description 运行实例
+// @Param	choice      false  ""
+// @Param	instance_id      false  ""
+// @Param	nextStep      false  ""
+// @Param	option      false  ""
+// @Param	users      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_Run(c *entitys.CtrlContext) {
+	obj := models.WfRunData{}
+	err := c.Ctx.Bind(&obj)
+	if err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+		return
+	}
+
+	bytess, err := wfclient.Instance().Run(obj.InstanceId, obj.Users, obj.Choice, obj.Opinion, obj.NextStep, c)
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _WfDefinesTag
+// @Title _WfDefinesTag
+// @Description 根据tag获取工作流事项
+// @Param	tag      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_WfDefinesTag(c *entitys.CtrlContext) {
+	tag := c.Ctx.Query("tag")
+
+	bytess, err := wfclient.Instance().FetchDefinesByTag(tag)
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _WfDefineForm
+// @Title _WfDefineForm
+// @Description 根据表单名称获取表单
+// @Param	form      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_WfDefineForm(c *entitys.CtrlContext) {
+	form := c.Ctx.Query("form")
+
+	ret := __none_func_sys_wf__(form)
+	if ret {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _Recall
+// @Title _Recall
+// @Description 撤回
+// @Param	instance_id      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_Recall(c *entitys.CtrlContext) {
+	obj := models.WfRunData{}
+	err := c.Ctx.Bind(&obj)
+	if err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+		return
+	}
+
+	bytess, err := wfclient.Instance().Recall(obj.InstanceId)
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _Designer
+// @Title _Designer
+// @Description 修改流程定义
+// @Param	define_id      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_Designer(c *entitys.CtrlContext) {
+	define_id := c.Ctx.Query("define_id")
+
+	bytess, err := wfclient.Instance().FetchDesignDiagram(define_id)
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _DefineSave
+// @Title _DefineSave
+// @Description 保存流程定义
+// @Param	define_id      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_DefineSave(c *entitys.CtrlContext) {
+	PostData := models.WfDefine{}
+	err := c.Ctx.Bind(&PostData)
+
+	bytess, err := wfclient.Instance().CreateOrUpdateDefine(PostData.DefineId, PostData.Name, PostData.Descript, PostData.Data, PostData.Form, PostData.Tag, PostData.Code)
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _DefineCreate
+// @Title _DefineCreate
+// @Description 创建流程定义
+// @Param	      false  ""
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func SysWf_DefineCreate(c *entitys.CtrlContext) {
+	PostData := models.WfDefine{}
+	err := c.Ctx.Bind(&PostData)
+
+	bytess, err := wfclient.Instance().CreateOrUpdateDefine(PostData.DefineId, PostData.Name, PostData.Descript, PostData.Data, PostData.Form, PostData.Tag, PostData.Code)
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+// _CreateInstance
+// @Title _CreateInstance
+// @Description 创建流程实例
+// @Param	      false  ""
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func SysWf_CreateInstance(c *entitys.CtrlContext) {
+	var InstanceInfo struct {
+		DefineId string `json:"define_id"`
+		Name     string `json:"name"`
+		FormData string `json:"form_data"`
+	}
+
+	err := c.Ctx.BindJSON(&InstanceInfo)
+	if err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+
+	bytess, err := wfclient.Instance().CreateInstance(InstanceInfo.DefineId, InstanceInfo.Name, InstanceInfo.FormData)
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
+// _Define
+// @Title _Define
+// @Description 获取流程定义
+// @Param	define_id    string  false  ""
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func SysWf_Define(c *entitys.CtrlContext) {
+	define_id := c.Ctx.Query("define_id")
+
+	bytess, err := wfclient.Instance().FetchDefine(define_id)
+	fmt.Println(string(bytess))
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
+// _AllDefine
+// @Title _AllDefine
+// @Description 获取所有流程定义
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func SysWf_AllDefine(c *entitys.CtrlContext) {
+
+	bytess, err := wfclient.Instance().FetchAllDefines()
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", string(bytess)})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
+
+func __none_func_sys_wf__(params ... interface{}) bool{
+	return true
+}

+ 113 - 3
light-apiengine.xml

@@ -791,7 +791,99 @@
                 </return>
             </api>
         </controller>
-        <controller name="sys_public" desc="开放接口" skip_login="true">
+        <controller name="sys_wf" desc="工作流">
+			<api name="wf_instance_list" desc="分页获取流程实例" method="get">
+				<param ref="$get_page_info"></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="instance_step_current" desc="实例当前状态" method="get">
+				<param name="instance_id" ></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="prerun" desc="运行实例前奏" method="post">
+				<param ref="$wf_run_data"></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="run" desc="运行实例" method="post">
+				<param ref="$wf_run_data"></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="wf_defines_tag" desc="根据tag获取工作流事项" method="get">
+				<param name="tag" ></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="wf_define_form" desc="根据表单名称获取表单" method="get">
+				<param name="form" ></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="recall" desc="撤回" method="post">
+				<param name="instance_id" ></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="designer" desc="修改流程定义" method="get">
+				<param name="define_id" ></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="define_save" desc="保存流程定义" method="post">
+				<param ref="$wf_define"></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="define_create" desc="创建流程定义" method="post">
+				<param ref="$wf_define"></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="create_instance" desc="创建流程实例" method="post">
+				<param ref="$wf_define"></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="define" desc="获取流程定义" method="get">
+				<param name="define_id" type="string"></param>
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+			<api name="all_define" desc="获取所有流程定义" method="get">
+				<return>
+					<success ref="$sys_return" desc=""></success>
+					<failure ref="$sys_return" desc=""></failure>
+				</return>
+			</api>
+		</controller>
+		<controller name="sys_public" desc="开放接口" skip_login="true">
             <api name="wxpay_callback" desc="微信支付回调" method="post">
             </api>
             <api name="wxoauth_params" desc="获取微信oauth配置" method="post">
@@ -803,7 +895,7 @@
             <api name="alipay_callback" desc="支付宝支付回调" method="post">
             </api>
         </controller>
-    </controllers>
+	</controllers>
     <beans>
         <bean name="sys_org_tree" desc="组织架构" inher="$sys_org">
             <prop name="children" caption="子列表" type="$sys_org_tree array" />
@@ -880,7 +972,25 @@
             <prop name="new" type="string" caption="新密码"/>
             <prop name="confirm" type="string" caption="确认密码"/>
         </bean>
-    </beans>
+		<bean name="wf_run_data" desc="接受prerun、run提交参数">
+			<prop name="choice" caption="选择项" type="string" />
+			<prop name="instance_id" caption="实例id" type="string" />
+			<prop name="nextStep" caption="下一步骤名称" type="string" />
+			<prop name="opinion" caption="选项" type="string" />
+			<prop name="users" caption="下一环节处理人ID" type="string" />
+		</bean>
+		<bean name="wf_define" desc="流程定义">
+			<prop name="code" caption="流程定义code" type="string" />
+			<prop name="data" caption="流程图" type="string" />
+			<prop name="define_id" caption="流程ID" type="string" />
+			<prop name="descript" caption="描述" type="string" />
+			<prop name="form" caption="表单名称" type="string" />
+			<prop name="name" caption="流程名称" type="string" />
+			<prop name="tag" caption="流程分类" type="string" />
+		</bean>
+
+
+	</beans>
     <tables>
         <table name="sys_user" desc="用户表">
             <column isNull="false" isPK="true" name="id" caption="主键" dbtype="varchar(36)"

+ 30 - 0
models/WfDefine_gen.go

@@ -0,0 +1,30 @@
+
+package models
+import (
+//__import_packages__
+)
+
+
+
+type WfDefine struct {
+	
+	//流程定义code
+	Code   string `json:"code"`
+	//流程图
+	Data   string `json:"data"`
+	//流程ID
+	DefineId   string `json:"define_id"`
+	//描述
+	Descript   string `json:"descript"`
+	//表单名称
+	Form   string `json:"form"`
+	//流程名称
+	Name   string `json:"name"`
+	//流程分类
+	Tag   string `json:"tag"`
+
+}
+
+func init() {
+    AddTableName("wf_define")
+}

+ 26 - 0
models/WfRunData_gen.go

@@ -0,0 +1,26 @@
+
+package models
+import (
+//__import_packages__
+)
+
+
+
+type WfRunData struct {
+	
+	//选择项
+	Choice   string `json:"choice"`
+	//实例id
+	InstanceId   string `json:"instance_id"`
+	//下一步骤名称
+	NextStep   string `json:"nextStep"`
+	//选项
+	Opinion   string `json:"opinion"`
+	//下一环节处理人ID
+	Users   string `json:"users"`
+
+}
+
+func init() {
+    AddTableName("wf_run_data")
+}

+ 65 - 0
routers/sys_wf_gen.go

@@ -0,0 +1,65 @@
+
+package routers
+
+import (
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/middleware"
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/controllers/gen"
+)
+
+func init(){
+	addRegisterHandler(registerSysWfRouter)
+}
+
+func registerSysWfRouter(e *engine.ApiEngine){
+	api:=e.GinEngine.Group("/api")
+	v1:=api.Group("/v1/sys_wf")
+	v1.Use(middleware.LoginWare())
+	if len(_router["sys_wf"]) >0 {
+		v1.Use(_router["sys_wf"]...)
+	}
+	ctrler := gen.NewSysWfController(e)
+
+
+
+	v1.GET("/wf_instance_list",ctrler.WfInstanceList)
+	//v1.POST("/wf_instance_list",ctrler.WfInstanceList)
+
+	v1.GET("/instance_step_current",ctrler.InstanceStepCurrent)
+	//v1.POST("/instance_step_current",ctrler.InstanceStepCurrent)
+
+	//v1.GET("/prerun",ctrler.Prerun)
+	v1.POST("/prerun",ctrler.Prerun)
+
+	//v1.GET("/run",ctrler.Run)
+	v1.POST("/run",ctrler.Run)
+
+	v1.GET("/wf_defines_tag",ctrler.WfDefinesTag)
+	//v1.POST("/wf_defines_tag",ctrler.WfDefinesTag)
+
+	v1.GET("/wf_define_form",ctrler.WfDefineForm)
+	//v1.POST("/wf_define_form",ctrler.WfDefineForm)
+
+	//v1.GET("/recall",ctrler.Recall)
+	v1.POST("/recall",ctrler.Recall)
+
+	v1.GET("/designer",ctrler.Designer)
+	//v1.POST("/designer",ctrler.Designer)
+
+	//v1.GET("/define_save",ctrler.DefineSave)
+	v1.POST("/define_save",ctrler.DefineSave)
+
+	//v1.GET("/define_create",ctrler.DefineCreate)
+	v1.POST("/define_create",ctrler.DefineCreate)
+
+	//v1.GET("/create_instance",ctrler.CreateInstance)
+	v1.POST("/create_instance",ctrler.CreateInstance)
+
+	v1.GET("/define",ctrler.Define)
+	//v1.POST("/define",ctrler.Define)
+
+	v1.GET("/all_define",ctrler.AllDefine)
+	//v1.POST("/all_define",ctrler.AllDefine)
+
+}
+