BaseEntityDAL.cs 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. using Core.Mes.Client.Comm.Format;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Reflection;
  8. using Core.Mes.Client.Comm.Server;
  9. using Core.Mes.Client.Comm.Tool;
  10. using Infragistics.Win.UltraWinGrid;
  11. using CoreFS.CA06;
  12. namespace Core.StlMes.Client.PlnSaleOrd.PlanStove
  13. {
  14. public class BaseEntityDAL
  15. {
  16. /// <summary>
  17. /// 使用实体类与后台交互时,与后台交互的通用方法,实际上是可以执行查询,插入,更新的
  18. /// </summary>
  19. /// <typeparam name="T">实体类类型</typeparam>
  20. /// <param name="Entityobj">实体类的实例</param>
  21. /// <param name="sqlID">需要执行的语句的sqlid</param>
  22. /// <param name="javaEntityClassID">java端的实体类的全名,包路径.类名</param>
  23. /// <param name="paramList">sqlid对应的参数List</param>
  24. /// <param name="ob">OpeBase对象</param>
  25. /// <returns>成功执行的条数</returns>
  26. public static int ExcuteNonQuery<T>(T Entityobj, string sqlID, string javaEntityClassID, List<Object> paramList, CoreFS.CA06.OpeBase ob)
  27. {
  28. int nret = 0;
  29. string jsonObj = JSONFormat.Format(Entityobj);
  30. nret = Core.Mes.Client.Comm.Server.ServerHelper.SetData(MethodDef.StoveBase.ExcuteNonQuery, new Object[] { jsonObj, sqlID, javaEntityClassID, paramList }, ob);
  31. return nret;
  32. }
  33. public static int ExcuteTransaction(List<String> entitySqlIDs,List<string> entityJsonStrings,List<String> entityClassNames,List<String> sqlIds,List<List<Object>> paramList,CoreFS.CA06.OpeBase ob)
  34. {
  35. int nRet = 0;
  36. nRet = Core.Mes.Client.Comm.Server.ServerHelper.SetData(MethodDef.StoveBase.ExeTransction, new Object[] { entitySqlIDs, entityJsonStrings, entityClassNames, sqlIds, paramList }, ob);
  37. return nRet;
  38. }
  39. public static int ExcuteTransaction(List<String> sqlIds, List<List<Object>> paramList, CoreFS.CA06.OpeBase ob)
  40. {
  41. int nRet = 0;
  42. nRet = Core.Mes.Client.Comm.Server.ServerHelper.SetData(MethodDef.StoveBase.ExeTransction, new Object[] { sqlIds, paramList }, ob);
  43. return nRet;
  44. }
  45. /// <summary>
  46. /// 不使用实体类与后台交互,的非查询执行方法
  47. /// </summary>
  48. /// <param name="sqlId"></param>
  49. /// <param name="paramList"></param>
  50. /// <param name="ob"></param>
  51. /// <returns></returns>
  52. public static int ExcuteNonQuery(string sqlId,List<Object> paramList,CoreFS.CA06.OpeBase ob)
  53. {
  54. int nRet = 0;
  55. nRet = Core.Mes.Client.Comm.Server.ServerHelper.SetData(MethodDef.StoveBase.ExcuteNonQuery,new Object[]{sqlId,paramList},ob);
  56. return nRet;
  57. }
  58. /// <summary>
  59. /// HEAT_PLAN_NO的格式如E201605160001,本函数获取获取DBK,RCL,ZG,JGX表中其后四位+1的整形数字
  60. /// </summary>
  61. /// <param name="tableName">表名,ZY_M表的表名</param>
  62. /// <param name="ob"></param>
  63. /// <returns></returns>
  64. public static DataTable GetMaxHeatNo(string tableName, CoreFS.CA06.OpeBase ob)
  65. {
  66. return Core.Mes.Client.Comm.Server.ServerHelper.GetData(MethodDef.StoveBase.getMaxHeatPlanNo, new Object[] { tableName }, ob);
  67. }
  68. /// <summary>
  69. /// 根据PROPlanID和GXPLANNO更新BATCHED_WT和BATCHED_NUM
  70. /// </summary>
  71. /// <param name="tableName">表名,四大工序的Order_S表全名</param>
  72. /// <param name="BATCHED_WT"></param>
  73. /// <param name="BATCHED_NUM"></param>
  74. /// <param name="PRO_PLAN_ID"></param>
  75. /// <param name="GX_PLAN_NO"></param>
  76. /// <param name="ob">frmbase的ob对象</param>
  77. public static void UpdateOrder_WT_NUM(string tableName, string BATCHED_WT, string BATCHED_NUM, string PRO_PLAN_ID, string GX_PLAN_NO, CoreFS.CA06.OpeBase ob)
  78. {
  79. Core.Mes.Client.Comm.Server.ServerHelper.SetData(MethodDef.StoveBase.UpdateOrder_WT_NUM, new Object[] { tableName, new List<string>() { BATCHED_WT, BATCHED_NUM, PRO_PLAN_ID, GX_PLAN_NO } }, ob);
  80. }
  81. /// <summary>
  82. /// 根据PROPlanID和GXPLANNO更新MatchWtIn和MatchNumIn
  83. /// </summary>
  84. /// <param name="tableName"></param>
  85. /// <param name="MatchWtIn"></param>
  86. /// <param name="MatchNumIn"></param>
  87. /// <param name="PRO_PLAN_ID"></param>
  88. /// <param name="GX_PLAN_NO"></param>
  89. /// <param name="ob"></param>
  90. public static void UpdateOrder_MATCHIN_WT_NUM(string tableName, string MatchWtIn, string MatchNumIn, string PRO_PLAN_ID, string GX_PLAN_NO, CoreFS.CA06.OpeBase ob)
  91. {
  92. Core.Mes.Client.Comm.Server.ServerHelper.SetData(MethodDef.StoveBase.UpdateOrder_MATCHIN_WT_NUM, new Object[] { tableName, new List<string>() { MatchWtIn, MatchNumIn, PRO_PLAN_ID, GX_PLAN_NO } }, ob);
  93. }
  94. /// <summary>
  95. /// 待条件查询Order表
  96. /// </summary>
  97. /// <typeparam name="T"></typeparam>
  98. /// <param name="tableName"></param>
  99. /// <param name="PLINE_CODE"></param>
  100. /// <param name="ORD_NO"></param>
  101. /// <param name="PRO_PLAN_ID"></param>
  102. /// <param name="statusArr"></param>
  103. /// <param name="ob"></param>
  104. /// <returns></returns>
  105. public static Object queryALL<T>(string tableName, string PLINE_CODE, string ORD_NO, string PRO_PLAN_ID, string[] statusArr, CoreFS.CA06.OpeBase ob)
  106. {
  107. return Core.Mes.Client.Comm.Tool.EntityHelper.GetData<T>(MethodDef.StoveBase.queryAll, new Object[] { tableName, PLINE_CODE, ORD_NO, PRO_PLAN_ID, statusArr }, ob);
  108. }
  109. /// <summary>
  110. /// 查询某个表的所有的内容,并把它填充进指定的实体类
  111. /// </summary>
  112. /// <typeparam name="T">实体类</typeparam>
  113. /// <param name="tableName">表名</param>
  114. /// <param name="ob"></param>
  115. /// <returns>datasouceList对象</returns>
  116. public static Object queryALL<T>(string tableName, CoreFS.CA06.OpeBase ob)
  117. {
  118. return Core.Mes.Client.Comm.Tool.EntityHelper.GetData<T>(MethodDef.StoveBase.queryAll, new Object[] { tableName }, ob);
  119. }
  120. /// <summary>
  121. ///
  122. /// </summary>
  123. /// <typeparam name="T"></typeparam>
  124. /// <param name="ServerParams"></param>
  125. /// <param name="ob"></param>
  126. /// <returns></returns>
  127. public static Object queryALL<T>(Object[] ServerParams, CoreFS.CA06.OpeBase ob)
  128. {
  129. return Core.Mes.Client.Comm.Tool.EntityHelper.GetData<T>(MethodDef.StoveBase.queryAll, ServerParams, ob);
  130. }
  131. /// <summary>
  132. /// 根据heatplanno更新作业计划表的planstatus
  133. /// </summary>
  134. /// <param name="tablename">需要更新的表名</param>
  135. /// <param name="PLAN_STATUS">需要更新的下发状态(0计划,1下发,2生产完成)</param>
  136. /// <param name="HEAT_PLAN_NO">作业计划表主键</param>
  137. /// <param name="ob"></param>
  138. public static int UpdateZYPlanStatus(string tablename, string PLAN_STATUS, string HEAT_PLAN_NO,string UpdateName, CoreFS.CA06.OpeBase ob)
  139. {
  140. return Core.Mes.Client.Comm.Server.ServerHelper.SetData(MethodDef.StoveBase.UpdatePlnStatus, new Object[] { tablename, new List<String>() { PLAN_STATUS,UpdateName, HEAT_PLAN_NO} }, ob);
  141. }
  142. /// <summary>
  143. /// 获取作业计划表的批次生产序号()
  144. /// </summary>
  145. /// <param name="tablename"></param>
  146. /// <param name="ob"></param>
  147. public static DataTable GetMaxProdIndex(string tablename, CoreFS.CA06.OpeBase ob)
  148. {
  149. return Core.Mes.Client.Comm.Server.ServerHelper.GetData(MethodDef.StoveBase.queryMaxProdIndex, new Object[] { tablename }, ob);
  150. }
  151. /// <summary>
  152. /// 获取CHECKJVAL
  153. /// </summary>
  154. /// <param name="ORDLNDLYPK"></param>
  155. /// <param name="ob"></param>
  156. /// <returns></returns>
  157. public static Double GetCHECKJVAL(string ORDLNDLYPK, CoreFS.CA06.OpeBase ob)
  158. {
  159. DataTable dt = Core.Mes.Client.Comm.Server.ServerHelper.GetData(MethodDef.StoveBase.queryCHECKJVAL, new Object[] { ORDLNDLYPK }, ob);
  160. string CHECKJVAL = "";
  161. if (dt.Rows.Count > 0)
  162. {
  163. CHECKJVAL = dt.Rows[0][0].ToString();
  164. }
  165. try
  166. {
  167. return Convert.ToDouble(CHECKJVAL);
  168. }
  169. catch
  170. {
  171. return 0;
  172. }
  173. }
  174. }
  175. }