PCModuleLogicPartial.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:ConfigModuleLogicPartial.cs
  5. * 2.功能描述:成型线配置信息与数据库的交互类
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 庄天威 2014/09/13 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Data;
  13. using Dongke.IBOSS.PRD.Basics.DataAccess;
  14. using Dongke.IBOSS.PRD.Service.DataModels;
  15. using Dongke.IBOSS.PRD.WCF.DataModels;
  16. using Oracle.DataAccess.Client;
  17. namespace Dongke.IBOSS.PRD.Service.PCModuleLogic
  18. {
  19. /// <summary>
  20. /// 成型线配置信息与数据库的交互类
  21. /// </summary>
  22. public partial class PCModuleLogic
  23. {
  24. #region 成型线配置
  25. /// <summary>
  26. /// 获得成型线信息
  27. /// </summary>
  28. /// <param name="groutingLineEntity">成型线实体</param>
  29. /// <param name="user">用户基本信息</param>
  30. /// <returns>结果集Dataset</returns>
  31. /// <remarks>
  32. /// 庄天威 2014.09.10 新建
  33. /// </remarks>
  34. public static DataSet GetGroutingLine(GroutingLineEntity groutingLineEntity, SUserInfo user)
  35. {
  36. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  37. try
  38. {
  39. con.Open();
  40. OracleParameter[] paras = new OracleParameter[]{
  41. new OracleParameter("GroutingLineID",OracleDbType.Int32,
  42. groutingLineEntity.GROUTINGLINEID,ParameterDirection.Input),
  43. new OracleParameter("GroutingLineIDS",OracleDbType.NVarchar2,
  44. groutingLineEntity.GROUTINGLINEIDS,ParameterDirection.Input),
  45. new OracleParameter("BuildingNo",OracleDbType.NVarchar2,
  46. groutingLineEntity.BUILDINGNO,ParameterDirection.Input),
  47. new OracleParameter("FloorNo",OracleDbType.NVarchar2,
  48. groutingLineEntity.FLOORNO,ParameterDirection.Input),
  49. new OracleParameter("GroutingLineNo",OracleDbType.NVarchar2,
  50. groutingLineEntity.GROUTINGLINENO,ParameterDirection.Input),
  51. new OracleParameter("GroutingLineCode",OracleDbType.NVarchar2,
  52. groutingLineEntity.GROUTINGLINECODE,ParameterDirection.Input),
  53. new OracleParameter("GroutingLineName",OracleDbType.NVarchar2,
  54. groutingLineEntity.GROUTINGLINENAME,ParameterDirection.Input),
  55. new OracleParameter("GMouldTypeID",OracleDbType.Int32,
  56. groutingLineEntity.MOULDTYPEID,ParameterDirection.Input),
  57. new OracleParameter("BeginUsedDateStart",OracleDbType.Date,
  58. groutingLineEntity.BEGINUSEDDATE,ParameterDirection.Input),
  59. new OracleParameter("BeginUsedDateEnd",OracleDbType.Date,
  60. groutingLineEntity.BEGINUSEDDATEEND,ParameterDirection.Input),
  61. new OracleParameter("EndUsedDateStart",OracleDbType.Date,
  62. groutingLineEntity.ENDUSEDDATE,ParameterDirection.Input),
  63. new OracleParameter("EndUsedDateEnd",OracleDbType.Date,
  64. groutingLineEntity.ENDUSEDDATEEND,ParameterDirection.Input),
  65. new OracleParameter("GMouldStatus",OracleDbType.Int32,
  66. groutingLineEntity.MouldStatus,ParameterDirection.Input),
  67. new OracleParameter("remarks",OracleDbType.NVarchar2,
  68. groutingLineEntity.REMARKS,ParameterDirection.Input),
  69. new OracleParameter("AccountID",OracleDbType.Int32,
  70. user.AccountID,ParameterDirection.Input),
  71. //new OracleParameter("ValueFlag",OracleDbType.Int32,
  72. // groutingLineEntity.VALUEFLAG,ParameterDirection.Input),
  73. new OracleParameter("ValueFlag2",OracleDbType.Varchar2,
  74. groutingLineEntity.ValueFlag2,ParameterDirection.Input),
  75. new OracleParameter("UserId",OracleDbType.Int32,
  76. user.UserID,ParameterDirection.Input),
  77. new OracleParameter("PurviewType",OracleDbType.Int32,
  78. groutingLineEntity.Purview,ParameterDirection.Input),
  79. new OracleParameter("DailyTime",OracleDbType.Date,
  80. groutingLineEntity.DailyTime,ParameterDirection.Input),
  81. new OracleParameter("BindBarCodeflag",OracleDbType.Int32,
  82. groutingLineEntity.isYZJ,ParameterDirection.Input),
  83. new OracleParameter("BindBarCodeTime",OracleDbType.Date,
  84. groutingLineEntity.BindBarCodeTime,ParameterDirection.Input),
  85. new OracleParameter("BindBarCodeTimeEnd",OracleDbType.Date,
  86. groutingLineEntity.BindBarCodeTimeEnd,ParameterDirection.Input),
  87. new OracleParameter("rs_result",OracleDbType.RefCursor,
  88. ParameterDirection.Output),
  89. new OracleParameter("UserCode",OracleDbType.NVarchar2,
  90. groutingLineEntity.USERCODE,ParameterDirection.Input),
  91. };
  92. //调用获取符合条件的成型线信息
  93. DataSet ds = con.ExecStoredProcedure("PRO_PC_GetGroutingLine", paras);
  94. return ds;
  95. }
  96. catch (Exception ex)
  97. {
  98. throw ex;
  99. }
  100. finally
  101. {
  102. if (con.ConnState == ConnectionState.Open)
  103. {
  104. con.Close();
  105. }
  106. }
  107. }
  108. /// <summary>
  109. /// 获得成型线明细
  110. /// </summary>
  111. /// <param name="groutingId">成型线ID</param>
  112. /// <param name="groutingIds">成型线ID集</param>
  113. /// <param name="PurviewTypeId">权限类型</param>
  114. /// <param name="user">用户基本信息</param>
  115. /// <returns>DataSet结果数据集</returns>
  116. /// <remarks>
  117. /// 庄天威 2014.09.11 新建
  118. /// </remarks>
  119. public static DataSet GetGroutingLineDetailByMainId(int groutingId, string groutingIds, int PurviewTypeId, SUserInfo user)
  120. {
  121. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  122. try
  123. {
  124. con.Open();
  125. int? UserId = null;
  126. if (PurviewTypeId != 0)
  127. {
  128. UserId = user.UserID;
  129. }
  130. //根据成型线ID获取成型线明细信息结果集
  131. //第一个参数不为空获取单线明细
  132. //第二个参数不为空获取N条线的明细
  133. if (groutingId > 0)
  134. {
  135. OracleParameter[] paras = new OracleParameter[]{
  136. new OracleParameter("GroutingLineID",OracleDbType.Int32,
  137. groutingId,ParameterDirection.Input),
  138. new OracleParameter("GroutingLineIDS",OracleDbType.NVarchar2,
  139. DBNull.Value,ParameterDirection.Input),
  140. new OracleParameter("AccountID",OracleDbType.Int32,
  141. user.AccountID,ParameterDirection.Input),
  142. new OracleParameter("PurviewTypeId",OracleDbType.Int32,
  143. PurviewTypeId,ParameterDirection.Input),
  144. new OracleParameter("UserID",OracleDbType.Int32,
  145. UserId,ParameterDirection.Input),
  146. new OracleParameter("rs_result",OracleDbType.RefCursor,
  147. ParameterDirection.Output),
  148. };
  149. DataSet ds = con.ExecStoredProcedure("PRO_PC_GetGLineDetailByMainId", paras);
  150. DataSet ds2 = con.GetSqlResultToDs("select GMouldStatus,GMouldStatusName,OPTimeStamp from TP_PC_GroutingLine gl left join TP_SYS_GMouldStatus gms on gms.GMouldStatusID = gl.GMouldStatus where GroutingLineID=" + groutingId);
  151. if (ds2 != null && ds2.Tables[0].Rows.Count > 0)
  152. {
  153. ds2.Tables[0].TableName = "TP_PC_GroutingLine";
  154. ds.Tables.Add(ds2.Tables[0].Copy());
  155. }
  156. return ds;
  157. }
  158. else
  159. {
  160. OracleParameter[] paras = new OracleParameter[]{
  161. new OracleParameter("GroutingLineID",OracleDbType.Int32,
  162. DBNull.Value,ParameterDirection.Input),
  163. new OracleParameter("GroutingLineIDS",OracleDbType.NVarchar2,
  164. groutingIds,ParameterDirection.Input),
  165. new OracleParameter("AccountID",OracleDbType.Int32,
  166. user.AccountID,ParameterDirection.Input),
  167. new OracleParameter("PurviewTypeId",OracleDbType.Int32,
  168. PurviewTypeId,ParameterDirection.Input),
  169. new OracleParameter("UserID",OracleDbType.Int32,
  170. user.UserID,ParameterDirection.Input),
  171. new OracleParameter("rs_result",OracleDbType.RefCursor,
  172. ParameterDirection.Output),
  173. };
  174. DataSet ds = con.ExecStoredProcedure("PRO_PC_GetGLineDetailByMainId", paras);
  175. DataSet ds2 = con.GetSqlResultToDs("select GMouldStatus,GMouldStatusName,OPTimeStamp from TP_PC_GroutingLine gl left join TP_SYS_GMouldStatus gms on gms.GMouldStatusID = gl.GMouldStatus where GroutingLineID=" + groutingId);
  176. if (ds2 != null && ds2.Tables[0].Rows.Count > 0)
  177. {
  178. ds2.Tables[0].TableName = "TP_PC_GroutingLine";
  179. ds.Tables.Add(ds2.Tables[0].Copy());
  180. }
  181. return ds;
  182. }
  183. }
  184. catch (Exception ex)
  185. {
  186. throw ex;
  187. }
  188. finally
  189. {
  190. if (con.ConnState == ConnectionState.Open)
  191. {
  192. con.Close();
  193. }
  194. }
  195. }
  196. /// <summary>
  197. /// 获得注浆模具换修履历
  198. /// </summary>
  199. /// <param name="groutingId">成型线ID</param>
  200. /// <param name="detailId">明细ID</param>
  201. /// <param name="TimeStart">履历创建时间开始</param>
  202. /// <param name="TimeEnd">履历创建时间结束</param>
  203. /// <param name="user">用户基本kd信息</param>
  204. /// <returns>DataSet结果集</returns>
  205. /// <remarks>
  206. /// 庄天威 2014.09.11 新建
  207. /// </remarks>
  208. public static DataSet GetMouldRecordByMainId(int? groutingId, int? detailId, DateTime? TimeStart,
  209. DateTime? TimeEnd, SUserInfo user)
  210. {
  211. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  212. try
  213. {
  214. con.Open();
  215. OracleParameter[] paras = new OracleParameter[]{
  216. new OracleParameter("GroutingLineID",OracleDbType.Int32,
  217. groutingId,ParameterDirection.Input),
  218. new OracleParameter("GroutingLineDetailId",OracleDbType.Int32,
  219. detailId,ParameterDirection.Input),
  220. new OracleParameter("AccountID",OracleDbType.Int32,
  221. user.AccountID,ParameterDirection.Input),
  222. new OracleParameter("TimeStart",OracleDbType.NVarchar2,
  223. TimeStart,ParameterDirection.Input),
  224. new OracleParameter("TimeEnd",OracleDbType.NVarchar2,
  225. TimeEnd,ParameterDirection.Input),
  226. new OracleParameter("rs_result",OracleDbType.RefCursor,
  227. ParameterDirection.Output),
  228. };
  229. //调用获取模具换修履历的存储过程
  230. DataSet ds = con.ExecStoredProcedure("PRO_PC_GetMouldRecordByMainId", paras);
  231. return ds;
  232. }
  233. catch (Exception ex)
  234. {
  235. throw ex;
  236. }
  237. finally
  238. {
  239. if (con.ConnState == ConnectionState.Open)
  240. {
  241. con.Close();
  242. }
  243. }
  244. }
  245. /// <summary>
  246. /// 获得注浆模具履历
  247. /// </summary>
  248. /// <param name="groutingId">成型线ID</param>
  249. /// <param name="detailId">明细ID</param>
  250. /// <param name="TimeStart">履历创建时间开始</param>
  251. /// <param name="TimeEnd">履历创建时间结束</param>
  252. /// <param name="user">用户基本信息</param>
  253. /// <returns>DataSet结果集</returns>
  254. /// <remarks>
  255. /// 庄天威 2014.09.11 新建
  256. /// </remarks>
  257. public static DataSet GetMouldHistoryByMainId(int? groutingId, int? detailId, DateTime? TimeStart,
  258. DateTime? TimeEnd, SUserInfo user)
  259. {
  260. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  261. try
  262. {
  263. con.Open();
  264. OracleParameter[] paras = new OracleParameter[]{
  265. new OracleParameter("GroutingLineID",OracleDbType.Int32,
  266. groutingId,ParameterDirection.Input),
  267. new OracleParameter("GroutingLineDetailId",OracleDbType.Int32,
  268. detailId,ParameterDirection.Input),
  269. new OracleParameter("AccountID",OracleDbType.Int32,
  270. user.AccountID,ParameterDirection.Input),
  271. new OracleParameter("TimeStart",OracleDbType.NVarchar2,
  272. TimeStart,ParameterDirection.Input),
  273. new OracleParameter("TimeEnd",OracleDbType.NVarchar2,
  274. TimeEnd,ParameterDirection.Input),
  275. new OracleParameter("rs_result",OracleDbType.RefCursor,
  276. ParameterDirection.Output),
  277. };
  278. //调用获取模具履历的存储过程
  279. DataSet ds = con.ExecStoredProcedure("PRO_PC_GetMouldHistoryByMainId", paras);
  280. return ds;
  281. }
  282. catch (Exception ex)
  283. {
  284. throw ex;
  285. }
  286. finally
  287. {
  288. if (con.ConnState == ConnectionState.Open)
  289. {
  290. con.Close();
  291. }
  292. }
  293. }
  294. /// <summary>
  295. /// 获取变产信息
  296. /// </summary>
  297. /// <param name="glcEntity">条件实体</param>
  298. /// <param name="userInfo">用户信息</param>
  299. /// <returns>返回结果集</returns>
  300. public static DataSet GetLineChange(GetLineChangeEntity glcEntity, SUserInfo userInfo)
  301. {
  302. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  303. try
  304. {
  305. con.Open();
  306. OracleParameter[] paras = new OracleParameter[]{
  307. new OracleParameter("In_AccountID",OracleDbType.Int32,
  308. userInfo.AccountID,ParameterDirection.Input),
  309. new OracleParameter("In_BuildingNo",OracleDbType.NVarchar2,
  310. glcEntity.BuildingNo,ParameterDirection.Input),
  311. new OracleParameter("In_FloorNo",OracleDbType.NVarchar2,
  312. glcEntity.FloorNo,ParameterDirection.Input),
  313. new OracleParameter("In_GroutingLineNo",OracleDbType.NVarchar2,
  314. glcEntity.GroutingLineNo,ParameterDirection.Input),
  315. new OracleParameter("In_GroutingLineCode",OracleDbType.NVarchar2,
  316. glcEntity.GroutingLineCode,ParameterDirection.Input),
  317. new OracleParameter("In_BeginDate",OracleDbType.Date,
  318. glcEntity.BeginDate,ParameterDirection.Input),
  319. new OracleParameter("In_EndDate",OracleDbType.Date,
  320. glcEntity.EndDate,ParameterDirection.Input),
  321. new OracleParameter("In_GoodsCodeB",OracleDbType.NVarchar2,
  322. glcEntity.GoodsCodeB,ParameterDirection.Input),
  323. new OracleParameter("In_GoodsCodeA",OracleDbType.NVarchar2,
  324. glcEntity.GoodSCodeA,ParameterDirection.Input),
  325. new OracleParameter("Out_Result",OracleDbType.RefCursor,
  326. ParameterDirection.Output),
  327. };
  328. //调用获取模具履历的存储过程
  329. DataSet ds = con.ExecStoredProcedure("PRO_RPT_GetLineChange", paras);
  330. return ds;
  331. }
  332. catch (Exception ex)
  333. {
  334. throw ex;
  335. }
  336. finally
  337. {
  338. if (con.ConnState == ConnectionState.Open)
  339. {
  340. con.Close();
  341. }
  342. }
  343. }
  344. #endregion
  345. public static DataSet GetGroutingLineUserDetailByMainId(int GroutingLineID)
  346. {
  347. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  348. try
  349. {
  350. con.Open();
  351. string strSql = " select TP_PC_GroutingUser.Remarks as REMARK,tp_mst_user.userid,tp_mst_user.usercode,tp_mst_user.username "+
  352. " ,(select listagg(to_char(s.staffname), ',') within GROUP(ORDER BY s.staffcode) staffnames "+
  353. " from tp_mst_userstaff us "+
  354. " inner join tp_hr_staff s "+
  355. " on s.staffid = us.staffid "+
  356. " where us.userid = tp_mst_user.userid) staffnames " +
  357. " from TP_PC_GroutingUser left join tp_mst_user on TP_PC_GroutingUser.userid=tp_mst_user.userid where TP_PC_GroutingUser.GroutingLineID=:GroutingLineID";
  358. OracleParameter[] paras = new OracleParameter[]{
  359. new OracleParameter(":GroutingLineID",OracleDbType.Int32,GroutingLineID,ParameterDirection.Input),
  360. };
  361. DataSet ds = con.GetSqlResultToDs(strSql, paras);
  362. if (ds != null && ds.Tables[0].Rows.Count > 0) // 有在产信息
  363. {
  364. return ds;
  365. }
  366. return null;
  367. }
  368. catch (Exception ex)
  369. {
  370. throw ex;
  371. }
  372. finally
  373. {
  374. if (con.ConnState == ConnectionState.Open)
  375. {
  376. con.Close();
  377. }
  378. }
  379. }
  380. /// <summary>
  381. /// 成型线模具履历‘’
  382. /// </summary>
  383. /// <param name="entity"></param>
  384. /// <returns></returns>
  385. public static DataSet GetGMouldRecordInfoByMainId(GMouldRecordEntity entity)
  386. {
  387. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  388. try
  389. {
  390. con.Open();
  391. // string strSql = @" select
  392. // TP_PC_GMouldRecord.GroutingMouldCode,
  393. // tp_mst_goods.goodscode,
  394. // TP_PC_GMouldRecord.GroutingCount,
  395. // decode(TP_PC_GMouldRecord.GMouldRecordType,'0','停用','1','维修','3','换模','5','变产','6','整线变产') as GMouldRecordType,
  396. // TP_PC_GMouldRecord.BeginDate,
  397. // TP_PC_GMouldRecord.EndDate,
  398. // TP_PC_GMouldRecord.Remarks,
  399. // a.goodsCode as ChangeGoodsCode,
  400. // TP_PC_GroutingLine.GroutingLineCode
  401. // from TP_PC_GMouldRecord
  402. // left join tp_mst_goods
  403. // on TP_PC_GMouldRecord.goodsid=tp_mst_goods.goodsid
  404. // left join tp_mst_goods a
  405. // on TP_PC_GMouldRecord.ChangedGoodsID=a.goodsid
  406. // left join TP_PC_GroutingLine
  407. // on TP_PC_GroutingLine.GroutingLineID=TP_PC_GMouldRecord.GroutingLineID
  408. // where TP_PC_GMouldRecord.GroutingLineID=:GroutingLineID";
  409. string strSql = "SELECT decode(gmr.GMouldRecordType,\n" +
  410. " '6',\n" +
  411. " gdd.groutingmouldcode,\n" +
  412. " gmr.GroutingMouldCode) GroutingMouldCode\n" +
  413. " ,decode(gmr.GMouldRecordType,\n" +
  414. " '6',\n" +
  415. " gddgoods.goodscode,\n" +
  416. " goods.goodscode) goodscode\n" +
  417. " ,decode(gmr.GMouldRecordType,\n" +
  418. " '6',\n" +
  419. " gdd.GroutingCount,\n" +
  420. " gmr.GroutingCount) GroutingCount\n" +
  421. " ,decode(gmr.GMouldRecordType,\n" +
  422. " '0',\n" +
  423. " '停用',\n" +
  424. " '1',\n" +
  425. " '维修',\n" +
  426. " '3',\n" +
  427. " '换模',\n" +
  428. " '5',\n" +
  429. " '变产',\n" +
  430. " '6',\n" +
  431. " '整线变产') AS GMouldRecordType\n" +
  432. " ,gmr.BeginDate\n" +
  433. " ,gmr.EndDate\n" +
  434. " ,gmr.Remarks\n" +
  435. " ,aftergoods.goodsCode AS ChangeGoodsCode\n" +
  436. " ,gl.GroutingLineCode\n" +
  437. " ,decode(gdd.groutinglinedetailID,null,gmrm.MouldBarcode,glm.MouldBarcode) MouldBarcode\n" +
  438. " FROM TP_PC_GMouldRecord gmr\n" +
  439. " LEFT JOIN tp_pc_groutinglinedetail gdd\n" +
  440. " ON gdd.lastgmouldrecordid = gmr.gmouldrecordid\n" +
  441. " AND gdd.gmouldstatus = 4\n" +
  442. " AND gmr.gmouldrecordtype = 6\n" +
  443. " LEFT JOIN tp_pc_mould glm\n" +
  444. " ON gdd.MouldSource = '1' and glm.mouldcode = gdd.mouldcode\n" +
  445. " LEFT JOIN tp_pc_mould gmrm\n" +
  446. " ON gmrm.mouldcode = gmr.mouldcode\n" +
  447. " LEFT JOIN tp_mst_goods gddgoods\n" +
  448. " ON gdd.GoodsID = gddgoods.goodsid\n" +
  449. " LEFT JOIN tp_mst_goods goods\n" +
  450. " ON gmr.goodsid = goods.goodsid\n" +
  451. " LEFT JOIN tp_mst_goods aftergoods\n" +
  452. " ON gmr.ChangedGoodsID = aftergoods.goodsid\n" +
  453. " LEFT JOIN TP_PC_GroutingLine gl\n" +
  454. " ON gl.GroutingLineID = gmr.GroutingLineID\n" +
  455. " WHERE gmr.GroutingLineID = :GroutingLineID";
  456. List<OracleParameter> parameters = new List<OracleParameter>();
  457. parameters.Add(new OracleParameter(":GroutingLineID", OracleDbType.Int32, entity.GROUTINGLINEID, ParameterDirection.Input));
  458. if (entity.BEGINDATE != null)
  459. {
  460. //strSql = strSql + " AND TP_PC_GMouldRecord.BeginDate>= :BeginDate ";
  461. //parameters.Add(new OracleParameter(":BeginDate", OracleDbType.Date, entity.BEGINDATE, ParameterDirection.Input));
  462. //strSql = strSql + " AND TP_PC_GMouldRecord.EndDate<= :EndDate ";
  463. //parameters.Add(new OracleParameter(":EndDate", OracleDbType.Date, entity.ENDDATE, ParameterDirection.Input));
  464. strSql = strSql + " AND gmr.BeginDate>= :BeginDate ";
  465. parameters.Add(new OracleParameter(":BeginDate", OracleDbType.Date, entity.BEGINDATE, ParameterDirection.Input));
  466. strSql = strSql + " AND gmr.BeginDate<= :EndDate ";
  467. parameters.Add(new OracleParameter(":EndDate", OracleDbType.Date, entity.ENDDATE, ParameterDirection.Input));
  468. }
  469. if (entity.BEGINDATE2 != null)
  470. {
  471. strSql = strSql + " AND gmr.EndDate>= :BeginDate2";
  472. parameters.Add(new OracleParameter(":BeginDate2", OracleDbType.Date, entity.BEGINDATE2, ParameterDirection.Input));
  473. strSql = strSql + " AND gmr.EndDate<=:EndDate2 ";
  474. parameters.Add(new OracleParameter(":EndDate2", OracleDbType.Date, entity.ENDDATE2, ParameterDirection.Input));
  475. }
  476. if (!string.IsNullOrEmpty(entity.GROUTINGMOULDCODE))
  477. {
  478. //strSql = strSql + " AND instr(','||:GroutingMouldCode||',',','||TP_PC_GMouldRecord.GroutingMouldCode||',')>0 ";
  479. strSql = strSql + " AND instr(gmr.GroutingMouldCode,:GroutingMouldCode) >0 ";
  480. parameters.Add(new OracleParameter(":GroutingMouldCode", OracleDbType.NVarchar2, entity.GROUTINGMOULDCODE, ParameterDirection.Input));
  481. }
  482. if (!string.IsNullOrEmpty(entity.REMARKS))
  483. {
  484. //instr(TP_PM_ProductionData.remarks,:remarks) >0)
  485. strSql = strSql + " AND instr(gmr.remarks,:REMARKS) >0 ";
  486. //strSql = strSql + " AND instr(','||:REMARKS||',',','||TP_PC_GMouldRecord.REMARKS||',')>0 ";
  487. parameters.Add(new OracleParameter(":REMARKS", OracleDbType.NVarchar2, entity.REMARKS, ParameterDirection.Input));
  488. }
  489. if (entity.GMouldRecordType != null)
  490. {
  491. strSql = strSql + " AND gmr.GMouldRecordType=:GMouldRecordType ";
  492. parameters.Add(new OracleParameter(":GMouldRecordType", OracleDbType.Int32, entity.GMouldRecordType, ParameterDirection.Input));
  493. }
  494. strSql = strSql + " order by GMouldRecordID desc, decode(gmr.GMouldRecordType, '6', gdd.groutingmouldcode, gmr.GroutingMouldCode)";
  495. DataSet ds = con.GetSqlResultToDs(strSql, parameters.ToArray());
  496. if (ds != null && ds.Tables[0].Rows.Count > 0) //
  497. {
  498. return ds;
  499. }
  500. return null;
  501. }
  502. catch (Exception ex)
  503. {
  504. throw ex;
  505. }
  506. finally
  507. {
  508. if (con.ConnState == ConnectionState.Open)
  509. {
  510. con.Close();
  511. }
  512. }
  513. }
  514. }
  515. }