FlowStatus.cs
上传用户:yhzmled
上传日期:2014-08-04
资源大小:35k
文件大小:4k
源码类别:

xml/soap/webservice

开发平台:

C#

  1. /*
  2.  *author: l_dragon  email:l_dragon2000@163.com
  3.  * last update:2003/04/03
  4.  * */
  5. using System;
  6. namespace gdiFlow
  7. {
  8. /// <summary>
  9. /// FlowStatus 的摘要说明。
  10. /// </summary>
  11. public class FlowStatus
  12. {
  13.   
  14. public Double dblStatusId=0;//环节ID, STATUS_ID
  15. public Double dblFlowId;//流程ID,FLOW_ID
  16. /*
  17.  * 环节类型ID,STATUS_TYPE_ID  
  18.  *  0 开始
  19.     1 结束
  20. 2 普通
  21. 3 子流
  22. 4 自动
  23. 5 分流
  24. 6 合流
  25. 7 转流程
  26. */
  27. public int intStatusTypeId;
  28. public System.Drawing.Rectangle objRect;//矩形变量,用来判断某点是否在矩形内
  29. public int last_x=-1;//状态最后的位置X坐标
  30. public int last_y=-1;//状态最后位置的Y坐标
  31. public int isMove=0;//判断是否可以移动,为零不能移动
  32. public int _x=-1;//状态矩形左上角的X坐标
  33. public int _y=-1;//状态矩形左上角的Y坐标
  34. public int _w=0;//状态矩形宽度
  35. public int _h=0;//状态矩形高度
  36. public String strStatusName;//环节名称,STATUS_NAME
  37. public String strInterfixField;// 相关字段, INTERFIX_FIELD
  38. public String strComExtend;// Com扩展, COM_EXTEND
  39. public String strChildFlow;//子流:等待,不等待,CHILD_FLOW;当用0,1来表示时表示的是分流的单个和多个
  40. public String strChildFlowType;//子流(分流)类型:同时、顺序,CHILD_FLOW_TYPE
  41. public String strChildFlowHint;//子流提示, CHILD_FLOW_HINT
  42. public String strJoinRule2;//合流自定义规则,INTERFLOW_UNITE_LIST
  43. public String strAutoFieldName;//自动字段名称,AUTO_FIELD_NAME
  44. public String strAutoFieldList;//自动列表,AUTO_FIELD_LIST
  45. public String strJoinRule; // 合流自定义规则,INTERFLOW_CUSTOM_RULE
  46. public String strAutoRule;//自动自定义规则, AUTO_CUSTOM_RULE 
  47. public String strChangeFlowName;//转流程流程名,CHANGE_FLOW_NAME
  48. public String strChangeStatusName;//转流程状态名称, CHANGE_STATUS_NAME
  49. /*是否显示该状态对象,删除时状态对象并不从ArrayList删除,只是不让其显示。
  50. 当增加新状态对象时,如果arylist中有没有显示的状态对象,则取第一个来显示。这样可以保证序号的一致性
  51. 即:当1,2,3,4加入画板后2删除后,新增的状态对象编号还是2,只是位置变换了而已。其他属性不变。
  52. 状态对象的名称用其在ArrayList中的位置+1来确定
  53. */
  54. public bool blDisplay=true;
  55. /**
  56. *通过状态的左上角x,y坐标和状态的宽度,高度构造一个状态对象
  57. * @param int x
  58. * @param int y
  59. * @param int w 宽度
  60. * @param int h 高度 * 
  61. */
  62. public FlowStatus(int x,int y,int w,int h)
  63. {
  64. _x=x;
  65. _y=y;
  66. _w=w;
  67. _h=h;
  68. }
  69. public FlowStatus()//从Xml生成空FlowStatus对象
  70. {
  71. }
  72.    
  73. /**
  74. *判断一个点是否在状态对象内
  75. * @param int mouseX
  76. * @param int mouseY
  77. * @return boolean 坐标点是否在状态对象内
  78.    */
  79. public bool contains(int mousex,int mousey)
  80. {   
  81. objRect.X=this._x;
  82. objRect.Y=this._y;
  83. objRect.Width=this._w;
  84. objRect.Height=this._h;
  85. if(objRect.Contains(mousex,mousey)) return true;
  86. else return false;
  87. }
  88. /**
  89. *根据鼠标点更新状态对象坐标
  90.  * @param int mouseX
  91. * @param int mouseY
  92. */
  93. public void setLocation(int mousex,int mousey)
  94. {
  95. this._x=this.last_x+mousex;
  96. this._y=this.last_y+mousey;
  97. }
  98. /**
  99.  * 清除状态的属性
  100.  * 删除状态时,并不真正删除该对象,但是要清除其属性
  101.  * 
  102.  * */
  103. public void clearProperty() 
  104. {
  105. blDisplay=false;  
  106. last_x=-1;//状态最后的位置X坐标
  107. last_y=-1;//状态最后位置的Y坐标
  108. isMove=0;//判断是否可以移动,为零不能移动
  109. _x=-1;//状态矩形左上角的X坐标
  110. _y=-1;//状态矩形左上角的Y坐标
  111.     this.dblStatusId=-1; 
  112. strStatusName="";//环节名称,STATUS_NAME
  113. strInterfixField="";// 相关字段, INTERFIX_FIELD
  114. strComExtend="";// Com扩展, COM_EXTEND
  115. strChildFlow="";//子流:等待,不等待,CHILD_FLOW;当用0,1来表示时表示的是分流的单个和多个
  116. strChildFlowType="";//子流(分流)类型:同时、顺序,CHILD_FLOW_TYPE
  117. strChildFlowHint="";//子流提示, CHILD_FLOW_HINT
  118. strJoinRule2="";//合流自定义规则,INTERFLOW_UNITE_LIST
  119. strAutoFieldName="";//自动字段名称,AUTO_FIELD_NAME
  120. strAutoFieldList="";//自动列表,AUTO_FIELD_LIST
  121.             strJoinRule=""; // 合流自定义规则,INTERFLOW_CUSTOM_RULE
  122.     strAutoRule="";//自动自定义规则, AUTO_CUSTOM_RULE 
  123. strChangeFlowName="";//转流程流程名,CHANGE_FLOW_NAME
  124. strChangeStatusName="";//转流程状态名称, CHANGE_STATUS_NAME
  125.   
  126. }
  127.    
  128. }
  129. }