PCModuleLogicPartial.cs 27 KB

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