PCModuleLogic.cs 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:PCModuleLogic.cs
  5. * 2.功能描述:生产配置数据库访问类
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 陈冰 2014/09/3 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Data;
  13. using System.Text;
  14. using Dongke.IBOSS.PRD.Basics.BaseResources;
  15. using Dongke.IBOSS.PRD.Basics.DataAccess;
  16. using Dongke.IBOSS.PRD.Service.DataModels;
  17. using Dongke.IBOSS.PRD.WCF.DataModels;
  18. using Dongke.IBOSS.PRD.WCF.DataModels.ConfigModule;
  19. using Oracle.ManagedDataAccess.Client;
  20. namespace Dongke.IBOSS.PRD.Service.PCModuleLogic
  21. {
  22. /// <summary>
  23. /// 生产配置数据库访问类
  24. /// </summary>
  25. public partial class PCModuleLogic
  26. {
  27. #region 生产线配置
  28. /// <summary>
  29. /// 获得生产线配置
  30. /// </summary>
  31. /// <param name="lineID">生产线ID</param>
  32. /// <returns>DataSet</returns>
  33. public static DataSet GetProductionLineDetail(int lineID)
  34. {
  35. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  36. try
  37. {
  38. con.Open();
  39. OracleParameter[] paras1 = new OracleParameter[]{
  40. new OracleParameter("in_productionLineID",OracleDbType.Int32,lineID,ParameterDirection.Input),
  41. };
  42. string sqlText = @"SELECT * FROM TP_PC_ProductionLine WHERE ProductionLineID= :in_productionLineID";
  43. DataTable dataTable0 = con.GetSqlResultToDt(sqlText, paras1);
  44. sqlText = @"SELECT p.*,
  45. (
  46. SELECT
  47. listagg ( to_char( l.GOODSLEVELTYPEID ), ',' ) within GROUP ( ORDER BY l.GOODSLEVELTYPEID )
  48. FROM
  49. TP_PC_PROCEDUREGOODSLEVEL l
  50. WHERE
  51. l.PRODUCTIONLINEID = p.PRODUCTIONLINEID
  52. AND l.PROCEDUREID = p.PROCEDUREID
  53. ) AS SemiGoodsLevel
  54. FROM
  55. TP_PC_PROCEDURE p
  56. WHERE p.valueflag='1' and
  57. p.productionLineID = :in_productionLineID ORDER BY NodeNo";
  58. DataTable dataTable1 = con.GetSqlResultToDt(sqlText, paras1);
  59. sqlText = @"SELECT * FROM TP_PC_ProcedureFlow pfl
  60. inner join TP_PC_PROCEDURE p on p.procedureid = pfl.procedureid and p.valueflag='1'
  61. WHERE pfl.ProductionLineID= :in_productionLineID";
  62. DataTable dataTable2 = con.GetSqlResultToDt(sqlText, paras1);
  63. sqlText = @"SELECT pro.*,g.GoodsCode,g.GoodsName,g.GoodsSpecification,g.GoodsModel,type.GoodsTypeName
  64. FROM TP_PC_ProcedureGoods pro
  65. inner join TP_PC_PROCEDURE p on p.procedureid = pro.procedureid and p.valueflag='1'
  66. left join TP_MST_Goods g on pro.GoodsID=g.GoodsID
  67. left join TP_MST_GoodsType type on type.GoodsTypeID=g.GoodsTypeID
  68. where pro.ProductionLineID= :in_productionLineID";
  69. DataTable dataTable3 = con.GetSqlResultToDt(sqlText, paras1);
  70. sqlText = @"SELECT proUser.*,tuser.usercode,tuser.username
  71. FROM TP_PC_ProcedureUser proUser
  72. inner join TP_PC_PROCEDURE p on p.procedureid = proUser.procedureid and p.valueflag='1'
  73. inner join tp_mst_user tuser on tuser.userid=prouser.userid
  74. WHERE proUser.ProductionLineID= :in_productionLineID";
  75. DataTable dataTable4 = con.GetSqlResultToDt(sqlText, paras1);
  76. sqlText = @"SELECT proDefect.*,def.DefectCode,def.DefectName
  77. FROM TP_PC_ProcedureDefect proDefect
  78. inner join TP_PC_PROCEDURE p on p.procedureid = proDefect.procedureid and p.valueflag='1'
  79. inner join tp_mst_Defect def on def.DefectID = proDefect.DefectID
  80. WHERE proDefect.ProductionLineID= :in_productionLineID";
  81. DataTable dataTable5 = con.GetSqlResultToDt(sqlText, paras1);
  82. sqlText = @"SELECT dj.*,defect.defectcode, defect.defectName,jobs.jobsCode,jobs.jobsName
  83. FROM TP_PC_DefectProcedureJobs dj
  84. inner join TP_PC_PROCEDURE p on p.procedureid = dj.procedureid and p.valueflag='1'
  85. inner join tp_mst_defect defect
  86. on defect.defectid=dj.defectid
  87. inner join tp_mst_jobs jobs
  88. on jobs.jobsid=dj.jobsid
  89. WHERE dj.ProductionLineID= :in_productionLineID";
  90. DataTable dataTable6 = con.GetSqlResultToDt(sqlText, paras1);
  91. sqlText = @"SELECT prokiln.*,kiln.kilncode,kiln.kilnname
  92. FROM tp_pc_procedurekiln prokiln
  93. inner join TP_PC_PROCEDURE p on p.procedureid = prokiln.procedureid and p.valueflag='1'
  94. inner join tp_mst_kiln kiln on kiln.kilnid=prokiln.kilnid
  95. WHERE prokiln.ProductionLineID= :in_productionLineID";
  96. DataTable dataTable7 = con.GetSqlResultToDt(sqlText, paras1);
  97. DataSet ds1 = new DataSet();
  98. ds1.Tables.Add(dataTable0);
  99. ds1.Tables.Add(dataTable1);
  100. ds1.Tables.Add(dataTable2);
  101. ds1.Tables.Add(dataTable3);
  102. ds1.Tables.Add(dataTable4);
  103. ds1.Tables.Add(dataTable5);
  104. ds1.Tables.Add(dataTable6);
  105. ds1.Tables.Add(dataTable7);
  106. // 命名 方便客户端取值
  107. ds1.Tables[0].TableName = "lineTable";
  108. ds1.Tables[1].TableName = "procedureTable";
  109. ds1.Tables[2].TableName = "procedureFlowTable";
  110. ds1.Tables[3].TableName = "procedureGoodsTable";
  111. ds1.Tables[4].TableName = "procedureUserTable";
  112. ds1.Tables[5].TableName = "procedureDefectTable";
  113. ds1.Tables[6].TableName = "defectProcedureJobsTable";
  114. ds1.Tables[7].TableName = "procedureKilnTable";
  115. return ds1;
  116. /*
  117. OracleParameter[] paras = new OracleParameter[]{
  118. new OracleParameter("productionLineID",OracleDbType.Int32,lineID,ParameterDirection.Input),
  119. new OracleParameter("rs_line",OracleDbType.RefCursor,ParameterDirection.Output),
  120. new OracleParameter("rs_procedure",OracleDbType.RefCursor,ParameterDirection.Output),
  121. new OracleParameter("rs_procedureFlow",OracleDbType.RefCursor,ParameterDirection.Output),
  122. new OracleParameter("rs_procedureGoods",OracleDbType.RefCursor,ParameterDirection.Output),
  123. new OracleParameter("rs_procedureUser",OracleDbType.RefCursor,ParameterDirection.Output),
  124. new OracleParameter("rs_procedureDefect",OracleDbType.RefCursor,ParameterDirection.Output),
  125. new OracleParameter("rs_defectProcedureJobs",OracleDbType.RefCursor,ParameterDirection.Output),
  126. new OracleParameter("rs_procedureKiln",OracleDbType.RefCursor,ParameterDirection.Output),
  127. };
  128. DataSet ds = con.ExecStoredProcedure("PRO_PC_GetProductionLineDetail", paras);
  129. // 命名 方便客户端取值
  130. ds.Tables[0].TableName = "lineTable";
  131. ds.Tables[1].TableName = "procedureTable";
  132. ds.Tables[2].TableName = "procedureFlowTable";
  133. ds.Tables[3].TableName = "procedureGoodsTable";
  134. ds.Tables[4].TableName = "procedureUserTable";
  135. ds.Tables[5].TableName = "procedureDefectTable";
  136. ds.Tables[6].TableName = "defectProcedureJobsTable";
  137. ds.Tables[7].TableName = "procedureKilnTable";
  138. return ds;
  139. */
  140. }
  141. catch (Exception ex)
  142. {
  143. throw ex;
  144. }
  145. finally
  146. {
  147. if (con.ConnState == ConnectionState.Open)
  148. {
  149. con.Close();
  150. }
  151. }
  152. }
  153. /// <summary>
  154. /// 查询生产线配置
  155. /// </summary>
  156. /// <param name="productionLine">生产线实体类</param>
  157. /// <param name="sUserInfo">用户基本信息</param>
  158. /// <returns>DataSet</returns>
  159. public static DataSet SearchProductionLine(ProductionLineEntity productionLine, SUserInfo sUserInfo)
  160. {
  161. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  162. try
  163. {
  164. con.Open();
  165. string str_vauleFlags = null;
  166. if (productionLine.ValueFlags != null && productionLine.ValueFlags.Length > 0)
  167. {
  168. foreach (var item in productionLine.ValueFlags)
  169. {
  170. str_vauleFlags += "," + item;
  171. }
  172. str_vauleFlags = str_vauleFlags.Substring(1);
  173. }
  174. OracleParameter[] paras = new OracleParameter[]{
  175. new OracleParameter("in_productionLineID",OracleDbType.Int32,productionLine.ProductionLineID,ParameterDirection.Input),
  176. new OracleParameter("in_productionLineCode",OracleDbType.NVarchar2,productionLine.ProductionLineCode,ParameterDirection.Input),
  177. new OracleParameter("in_productionLineName",OracleDbType.NVarchar2,productionLine.ProductionLineName,ParameterDirection.Input),
  178. new OracleParameter("in_remarks",OracleDbType.NVarchar2,productionLine.Remarks,ParameterDirection.Input),
  179. new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  180. new OracleParameter("in_valueFlags",OracleDbType.NVarchar2,str_vauleFlags,ParameterDirection.Input),
  181. new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
  182. new OracleParameter("rs_resultDetail",OracleDbType.RefCursor,ParameterDirection.Output),
  183. };
  184. /*
  185. OracleParameter[] paras = new OracleParameter[]{
  186. new OracleParameter("productionLineID",OracleDbType.Int32,productionLine.ProductionLineID,ParameterDirection.Input),
  187. new OracleParameter("productionLineCode",OracleDbType.NVarchar2,productionLine.ProductionLineCode,ParameterDirection.Input),
  188. new OracleParameter("productionLineName",OracleDbType.NVarchar2,productionLine.ProductionLineName,ParameterDirection.Input),
  189. new OracleParameter("remarks",OracleDbType.NVarchar2,productionLine.Remarks,ParameterDirection.Input),
  190. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  191. new OracleParameter("valueFlags",OracleDbType.NVarchar2,str_vauleFlags,ParameterDirection.Input),
  192. new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
  193. new OracleParameter("rs_resultDetail",OracleDbType.RefCursor,ParameterDirection.Output),
  194. };
  195. */
  196. DataSet ds = con.ExecStoredProcedure("PRO_PC_SearchProductionLine", paras);
  197. return ds;
  198. }
  199. catch (Exception ex)
  200. {
  201. throw ex;
  202. }
  203. finally
  204. {
  205. if (con.ConnState == ConnectionState.Open)
  206. {
  207. con.Close();
  208. }
  209. }
  210. }
  211. #endregion
  212. #region 班次配置
  213. /// <summary>
  214. /// 获取班次配置信息
  215. /// </summary>
  216. /// <param name="searchEntity">班次配配置查询实体</param>
  217. /// <param name="sUserInfo">用户基本信息</param>
  218. /// <returns>DataSet</returns>
  219. public static DataSet SearchClassesSetting(SearchClassesSettingEntity searchEntity, SUserInfo sUserInfo)
  220. {
  221. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  222. try
  223. {
  224. con.Open();
  225. OracleParameter[] paras = new OracleParameter[]{
  226. new OracleParameter("in_accountId",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  227. new OracleParameter("in_userid",OracleDbType.Int32,searchEntity.UserID,ParameterDirection.Input),
  228. new OracleParameter("in_userCode",OracleDbType.Varchar2,searchEntity.UserCode,ParameterDirection.Input),
  229. new OracleParameter("in_startAccountDate",OracleDbType.Date,searchEntity.StartAccountDate,ParameterDirection.Input),
  230. new OracleParameter("in_endAccountDate",OracleDbType.Date,searchEntity.EndAccountDate,ParameterDirection.Input),
  231. new OracleParameter("in_remarks",OracleDbType.Varchar2,searchEntity.Remarks,ParameterDirection.Input),
  232. new OracleParameter("in_valueFlag",OracleDbType.Int32,searchEntity.ValueFlag,ParameterDirection.Input),
  233. new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
  234. };
  235. DataSet ds = con.ExecStoredProcedure("PRO_PC_SearchClassesSetting", paras);
  236. return ds;
  237. }
  238. catch (Exception ex)
  239. {
  240. throw ex;
  241. }
  242. finally
  243. {
  244. if (con.ConnState == ConnectionState.Open)
  245. {
  246. con.Close();
  247. }
  248. }
  249. }
  250. /// <summary>
  251. /// 获取指定班次配置明细信息
  252. /// </summary>
  253. /// <param name="classesSettingID">班次配置Id</param>
  254. /// <param name="sUserInfo">用户基本信息</param>
  255. /// <returns>DataSet</returns>
  256. /// <remarks>
  257. /// 作者 日期 内容
  258. /// 冯雪 2014-9-23 新建
  259. /// </remarks>
  260. public static DataSet SearchClassesDetail(int classesSettingID, SUserInfo sUserInfo)
  261. {
  262. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  263. try
  264. {
  265. con.Open();
  266. string strSql = " SELECT classesDetail.ClassesSettingID,classesDetail.UserID,classesDetail.userCode,"
  267. + " classesDetail.StaffID,classesDetail.Createtime,"
  268. //+ " classesDetail.UjobsId jobs,classesDetail.SjobsId,classesDetail.Remarks,classesDetail.CreateUserID,"
  269. + " classesDetail.UjobsId UjobsId,classesDetail.SjobsId jobs,classesDetail.Remarks,classesDetail.CreateUserID,"
  270. + " classesDetail.UpdateTime,MUser.Username mUsername,CUser.Username createUserName,"
  271. + " Jobs.Jobsname,Muser.Organizationid,Org.Organizationname,Staff.Staffname,Staff.Staffcode,"
  272. + " status.staffstatusname AS staffStatusName,classesDetail.staffStatus,UJobs.JobsName as UJobsName,classesDetail.Ujobsid as UJobsId "
  273. + " FROM TP_PC_ClassesDetail classesDetail "
  274. + " LEFT JOIN TP_MST_User MUser ON MUser.UserId = classesDetail.UserID "
  275. + " LEFT JOIN TP_MST_User CUser ON CUser.UserId = classesDetail.CreateUserID "
  276. + " LEFT JOIN TP_MST_Jobs Jobs ON Jobs.Jobsid = classesDetail.SjobsId "
  277. + " LEFT JOIN TP_MST_Organization Org ON Org.Organizationid = Muser.Organizationid "
  278. + " LEFT JOIN TP_HR_Staff Staff ON staff.staffid = classesDetail.Staffid "
  279. + " LEFT JOIN TP_MST_UserStaff userStaff ON classesDetail.STAFFID = userStaff.Staffid and classesDetail.Userid = userStaff.UserId"
  280. + " LEFT JOIN TP_MST_JOBS UJobs ON classesDetail.Ujobsid = UJobs.Jobsid"
  281. + " Inner JOIN TP_SYS_StaffStatus status on classesDetail.Staffstatus = status.staffstatusid"
  282. + " WHERE classesDetail.AccountID = :accountID "
  283. + " AND classesDetail.ClassesSettingID = :classesSettingID ";
  284. OracleParameter[] paras = new OracleParameter[]{
  285. new OracleParameter(":accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  286. new OracleParameter(":classesSettingID",OracleDbType.Int32,classesSettingID,ParameterDirection.Input),
  287. };
  288. DataSet ds = con.GetSqlResultToDs(strSql, paras);
  289. return ds;
  290. }
  291. catch (Exception ex)
  292. {
  293. throw ex;
  294. }
  295. finally
  296. {
  297. if (con.ConnState == ConnectionState.Open)
  298. {
  299. con.Close();
  300. }
  301. }
  302. }
  303. #endregion
  304. /// <summary>
  305. /// 生产配置删除节点时,此节点是否在产
  306. /// </summary>
  307. /// <param name="procedureID">工序ID</param>
  308. /// <returns>bool</returns>
  309. /// <remarks>
  310. /// </remarks>
  311. public static bool GetAllowDelete(int procedureID)
  312. {
  313. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  314. try
  315. {
  316. con.Open();
  317. string strSql = " select 1 from TP_PM_InProduction where FlowProcedureID=:procedureID";
  318. OracleParameter[] paras = new OracleParameter[]{
  319. new OracleParameter(":procedureID",OracleDbType.Int32,procedureID,ParameterDirection.Input),
  320. };
  321. DataSet ds = con.GetSqlResultToDs(strSql, paras);
  322. if (ds != null && ds.Tables[0].Rows.Count > 0) // 有在产信息
  323. {
  324. return true;
  325. }
  326. return false;
  327. }
  328. catch (Exception ex)
  329. {
  330. throw ex;
  331. }
  332. finally
  333. {
  334. if (con.ConnState == ConnectionState.Open)
  335. {
  336. con.Close();
  337. }
  338. }
  339. }
  340. /// <summary>
  341. /// 取得FPM2105画面(注浆登记)的查询数据
  342. /// </summary>
  343. /// <param name="ids">多个注浆id(用[,]分开)</param>
  344. /// <param name="user">登录用户信息</param>
  345. /// <returns>查询结果</returns>
  346. public static ServiceResultEntity GetFPM2105Data(GroutingDailyEntity se, SUserInfo user)
  347. {
  348. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  349. try
  350. {
  351. con.Open();
  352. List<OracleParameter> parameters = new List<OracleParameter>();
  353. StringBuilder sql = new StringBuilder(GetFPM2105SQL());
  354. parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
  355. //parameters.Add(new OracleParameter(":UPUserId", OracleDbType.Int32, user.UserID, ParameterDirection.Input));
  356. if (se != null)
  357. {
  358. // 产品条码
  359. if (se.BarCode != null)
  360. {
  361. sql.Append(" AND GDD.BARCODE = :barcode");
  362. parameters.Add(new OracleParameter(":barcode", OracleDbType.Char,se.BarCode, ParameterDirection.Input));
  363. }
  364. // 成型线ID
  365. if (se.GroutingLineID.HasValue)
  366. {
  367. sql.Append(" AND GD.GroutingLineID = :GroutingLineID");
  368. parameters.Add(new OracleParameter(":GroutingLineID", OracleDbType.Int32, se.GroutingLineID.Value, ParameterDirection.Input));
  369. }
  370. // 注浆日期
  371. if (se.GroutingDate.HasValue)
  372. {
  373. sql.Append(" AND GD.GroutingDate = :GroutingDate");
  374. parameters.Add(new OracleParameter(":GroutingDate", OracleDbType.Date, se.GroutingDate.Value.Date, ParameterDirection.Input));
  375. //sql.Append(" AND GD.GroutingDate <= :GroutingDateEnd");
  376. //parameters.Add(new OracleParameter(":GroutingDateEnd", OracleDbType.Date, se.GroutingDate.Value.AddDays(1).AddMinutes(-1), ParameterDirection.Input));
  377. }
  378. // 注浆批次
  379. if (se.GroutingBatchNo.HasValue)
  380. {
  381. sql.Append(" AND GDD.GroutingBatchNo = :GroutingBatchNo");
  382. parameters.Add(new OracleParameter(":GroutingBatchNo", OracleDbType.Int32, se.GroutingBatchNo.Value, ParameterDirection.Input));
  383. }
  384. }
  385. sql.Append(" ORDER BY GDD.GroutingDate, GDD.GroutingLineCode, GDD.GroutingDailyID, GDD.GroutingMouldCode");
  386. DataTable data = con.GetSqlResultToDt(sql.ToString(), parameters.ToArray());
  387. ServiceResultEntity sre = new ServiceResultEntity();
  388. if (data == null || data.Rows.Count == 0)
  389. {
  390. sre.Status = Constant.ServiceResultStatus.NoSearchResults;
  391. return sre;
  392. }
  393. sre.Data = new DataSet();
  394. sre.Data.Tables.Add(data);
  395. return sre;
  396. }
  397. catch (Exception ex)
  398. {
  399. throw ex;
  400. }
  401. finally
  402. {
  403. if (con.ConnState == ConnectionState.Open)
  404. {
  405. con.Close();
  406. }
  407. }
  408. }
  409. /// <summary>
  410. /// 获取查询sql
  411. /// </summary>
  412. /// <returns>sql</returns>
  413. private static string GetFPM2105SQL()
  414. {
  415. string selSql =
  416. "SELECT 0 as Sel," +
  417. " GDD.GroutingDailyID," +
  418. " GDD.GroutingLineDetailID," +
  419. " GDD.GroutingDailyDetailID," +
  420. " GDD.GroutingLineID," +
  421. // 成型线编码
  422. " GDD.GroutingLineCode," +
  423. // 成型线名称
  424. " GDD.GroutingLineName," +
  425. // 注浆日期
  426. " GDD.GroutingDate," +
  427. // 成型工号
  428. " GDD.UserCode," +
  429. // 产品编码
  430. " GDD.GoodsCode," +
  431. // 产品名称
  432. " GDD.GoodsName," +
  433. // 注浆线模具编码
  434. " GDD.GroutingMouldCode," +
  435. // 模具状态
  436. " GMS.GMouldStatusName," +
  437. // 注浆标识
  438. " GDD.GroutingFlag," +
  439. // 未注浆原因
  440. " DD.DictionaryValue AS NoGroutingRreason," +
  441. // 注浆次数
  442. " GDD.GroutingCount," +
  443. // 注浆次数
  444. " GDD.GroutingBatchNo," +
  445. // 损坯标识
  446. " GDD.ScrapFlag," +
  447. // 备注
  448. " GDD.Remarks," +
  449. // 成型线类型
  450. " GMT.GMouldTypeName," +
  451. // 绑定条码
  452. " GDD.BarCode," +
  453. // 创建时间
  454. " GDD.CreateTime," +
  455. // 创建工号
  456. " U.UserName AS Createuser" +
  457. // 注浆日报
  458. " FROM TP_PM_GroutingDaily GD" +
  459. // 注浆日报明细表
  460. " INNER JOIN TP_PM_GroutingDailyDetail GDD" +
  461. " ON GD.GroutingDailyID = GDD.GroutingDailyID" +
  462. // 成型线类型
  463. " INNER JOIN TP_MST_GMouldType GMT" +
  464. " ON GD.GMouldTypeID = GMT.GMouldTypeID" +
  465. // 模具状态
  466. " INNER JOIN TP_SYS_GMouldStatus GMS" +
  467. " ON GMS.GMouldStatusID = GDD.GMouldStatus" +
  468. // 创建工号
  469. " INNER JOIN TP_MST_User U" +
  470. " ON U.UserID = GDD.CreateUserID" +
  471. // 未注浆原因
  472. " LEFT JOIN TP_MST_DataDictionary DD" +
  473. " ON DD.DictionaryID = GDD.NoGroutingRreason" +
  474. //// 成型线操作权限
  475. //" INNER JOIN (SELECT UP.PurviewID" +
  476. //" FROM TP_MST_UserPurview UP" +
  477. //" WHERE UP.PurviewType = '" + (int)Constant.PurviewType.OperateGroutingLine + "'" +
  478. //" AND UP.UserId = :UPUserId) UP" +
  479. //" ON UP.PurviewID = GD.GroutingLineID" +
  480. // 账套
  481. " WHERE GD.AccountID = :AccountID" +
  482. " AND GD.ValueFlag = 1";
  483. return selSql;
  484. }
  485. }
  486. }