You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

292 lines
10 KiB

3 weeks ago
  1. using ICSSoft.Common;
  2. using ICSSoft.Entity;
  3. using Newtonsoft.Json;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Data.SqlClient;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace ICSSoft.DataProject
  12. {
  13. /// <summary>
  14. /// pda版本
  15. /// </summary>
  16. public class ICSWMSVersions
  17. {
  18. private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  19. private static string connString = System.Configuration.ConfigurationManager.AppSettings["ConnStr"];
  20. private static string ERPDB = System.Configuration.ConfigurationManager.AppSettings["ERPDB"];
  21. DataTable table = null;
  22. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  23. string sql = string.Empty;
  24. string sqlInfo = string.Empty;
  25. VerificationMethod verification = new VerificationMethod();
  26. public List<ICSVersions> Get (ICSVersions JsonData)
  27. {
  28. conn.Open();
  29. SqlTransaction sqlTran = conn.BeginTransaction();
  30. SqlCommand cmd = new SqlCommand();
  31. cmd.Transaction = sqlTran;
  32. cmd.Connection = conn;
  33. try
  34. {
  35. sql = @"select top(1)* from ICSVersions where 1=1";
  36. if (!string.IsNullOrWhiteSpace(JsonData.ProjectName))
  37. {
  38. sql += " and ProjectName='{0}'";
  39. }
  40. sql = string.Format(sql, JsonData.ProjectName);
  41. table = DBHelper.SQlReturnData(sql, cmd);
  42. string json = JsonConvert.SerializeObject(table);
  43. List<ICSVersions> model = JsonConvert.DeserializeObject<List<ICSVersions>>(json);
  44. cmd.Transaction.Commit();
  45. return model;
  46. }
  47. catch (Exception ex)
  48. {
  49. if (cmd.Transaction != null)
  50. cmd.Transaction.Rollback();
  51. log.Error(ex.Message);
  52. throw new Exception(ex.Message);
  53. }
  54. finally
  55. {
  56. if (conn.State == ConnectionState.Open)
  57. {
  58. conn.Close();
  59. }
  60. conn.Dispose();
  61. }
  62. }
  63. public List<ICSWorkPoint> GetWorkPoint(ICSWorkPoint JsonData)
  64. {
  65. conn.Open();
  66. SqlTransaction sqlTran = conn.BeginTransaction();
  67. SqlCommand cmd = new SqlCommand();
  68. cmd.Transaction = sqlTran;
  69. cmd.Connection = conn;
  70. try
  71. {
  72. sql = @"select * from Sys_WorkPoint where 1=1";
  73. if (!string.IsNullOrWhiteSpace(JsonData.WorkPointCode))
  74. {
  75. sql += " and WorkPointCode='{0}'";
  76. }
  77. sql = string.Format(sql, JsonData.WorkPointCode);
  78. log.Debug("站点查询:" + sql);
  79. table = DBHelper.SQlReturnData(sql, cmd);
  80. string json = JsonConvert.SerializeObject(table);
  81. List<ICSWorkPoint> model = JsonConvert.DeserializeObject<List<ICSWorkPoint>>(json);
  82. cmd.Transaction.Commit();
  83. return model;
  84. }
  85. catch (Exception ex)
  86. {
  87. if (cmd.Transaction != null)
  88. cmd.Transaction.Rollback();
  89. log.Error(ex.Message);
  90. throw new Exception(ex.Message);
  91. }
  92. finally
  93. {
  94. if (conn.State == ConnectionState.Open)
  95. {
  96. conn.Close();
  97. }
  98. conn.Dispose();
  99. }
  100. }
  101. public DataTable GetWHCode(ICSWorkPoint JsonData)
  102. {
  103. conn.Open();
  104. SqlTransaction sqlTran = conn.BeginTransaction();
  105. SqlCommand cmd = new SqlCommand();
  106. cmd.Transaction = sqlTran;
  107. cmd.Connection = conn;
  108. try
  109. {
  110. sql = @"SELECT DISTINCT
  111. b.F_ItemName AS CJCode,
  112. STUFF((
  113. SELECT ',' + b2.F_ItemCode
  114. FROM Sys_SRM_ItemsDetail b2
  115. WHERE b2.F_ItemName = b.F_ItemName
  116. ORDER BY b2.F_ItemCode
  117. FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS WHCode
  118. FROM Sys_SRM_Items a
  119. LEFT JOIN Sys_SRM_ItemsDetail b ON a.F_Id = b.F_ItemId
  120. WHERE a.F_EnCode = 'workShopToWareHouse'
  121. GROUP BY b.F_ItemName;";
  122. DataTable table = DBHelper.SQlReturnData(sql, cmd);
  123. if (table == null || table.Rows.Count <= 0)
  124. {
  125. return null;
  126. }
  127. else
  128. {
  129. return table;
  130. //string json = JsonConvert.SerializeObject(table);
  131. //List<ControlMode> model = JsonConvert.DeserializeObject<List<ControlMode>>(json);
  132. //cmd.Transaction.Commit();
  133. //return model[0];
  134. }
  135. }
  136. catch (Exception ex)
  137. {
  138. if (cmd.Transaction != null)
  139. cmd.Transaction.Rollback();
  140. log.Error(ex.Message);
  141. throw new Exception(ex.Message);
  142. }
  143. finally
  144. {
  145. if (conn.State == ConnectionState.Open)
  146. {
  147. conn.Close();
  148. }
  149. conn.Dispose();
  150. }
  151. }
  152. public List<ICSWorkPoint> GetBadCode(ICSWorkPoint JsonData)
  153. {
  154. conn.Open();
  155. SqlTransaction sqlTran = conn.BeginTransaction();
  156. SqlCommand cmd = new SqlCommand();
  157. cmd.Transaction = sqlTran;
  158. cmd.Connection = conn;
  159. try
  160. {
  161. sql = @"select badcode as WorkPointCode,BadDesc as WorkPointName from ICSBadCode where 1=1";
  162. if (!string.IsNullOrWhiteSpace(JsonData.WorkPointCode))
  163. {
  164. sql += " and WorkPoint='{0}'";
  165. }
  166. sql = string.Format(sql, JsonData.WorkPointCode);
  167. log.Debug("不良代码查询:" + sql);
  168. table = DBHelper.SQlReturnData(sql, cmd);
  169. string json = JsonConvert.SerializeObject(table);
  170. List<ICSWorkPoint> model = JsonConvert.DeserializeObject<List<ICSWorkPoint>>(json);
  171. cmd.Transaction.Commit();
  172. return model;
  173. }
  174. catch (Exception ex)
  175. {
  176. if (cmd.Transaction != null)
  177. cmd.Transaction.Rollback();
  178. log.Error(ex.Message);
  179. throw new Exception(ex.Message);
  180. }
  181. finally
  182. {
  183. if (conn.State == ConnectionState.Open)
  184. {
  185. conn.Close();
  186. }
  187. conn.Dispose();
  188. }
  189. }
  190. public List<ICSWorkPoint> GetBadReason(ICSWorkPoint JsonData)
  191. {
  192. conn.Open();
  193. SqlTransaction sqlTran = conn.BeginTransaction();
  194. SqlCommand cmd = new SqlCommand();
  195. cmd.Transaction = sqlTran;
  196. cmd.Connection = conn;
  197. try
  198. {
  199. sql = @"select BadReasonCode as WorkPointCode,BadReasonDesc as WorkPointName from ICSBadReason where 1=1";
  200. if (!string.IsNullOrWhiteSpace(JsonData.WorkPointCode))
  201. {
  202. sql += " and WorkPoint='{0}'";
  203. }
  204. sql = string.Format(sql, JsonData.WorkPointCode);
  205. log.Debug("不良原因查询:" + sql);
  206. table = DBHelper.SQlReturnData(sql, cmd);
  207. string json = JsonConvert.SerializeObject(table);
  208. List<ICSWorkPoint> model = JsonConvert.DeserializeObject<List<ICSWorkPoint>>(json);
  209. cmd.Transaction.Commit();
  210. return model;
  211. }
  212. catch (Exception ex)
  213. {
  214. if (cmd.Transaction != null)
  215. cmd.Transaction.Rollback();
  216. log.Error(ex.Message);
  217. throw new Exception(ex.Message);
  218. }
  219. finally
  220. {
  221. if (conn.State == ConnectionState.Open)
  222. {
  223. conn.Close();
  224. }
  225. conn.Dispose();
  226. }
  227. }
  228. public List<ICSBadReason> GetBadReasonGroupAndItems(ICSWorkPoint JsonData)
  229. {
  230. conn.Open();
  231. SqlTransaction sqlTran = conn.BeginTransaction();
  232. SqlCommand cmd = new SqlCommand();
  233. cmd.Transaction = sqlTran;
  234. cmd.Connection = conn;
  235. try
  236. {
  237. sql = @"SELECT
  238. a.BRGCode,a.BRGDesc,b.BadReasonCode,b.BadReasonDesc
  239. FROM ICSBadReasonGroup a
  240. INNER JOIN ICSBadReason b ON b.BRGroupID=a.ID AND b.WorkPoint=a.WorkPoint
  241. WHERE 1=1";
  242. if (!string.IsNullOrWhiteSpace(JsonData.WorkPointCode))
  243. {
  244. sql += " and a.WorkPoint='{0}'";
  245. }
  246. sql = string.Format(sql, JsonData.WorkPointCode);
  247. log.Debug("不良原因(连分组)查询SQL:" + Environment.NewLine + sql);
  248. table = DBHelper.SQlReturnData(sql, cmd);
  249. string json = JsonConvert.SerializeObject(table);
  250. List<ICSBadReason> model = JsonConvert.DeserializeObject<List<ICSBadReason>>(json);
  251. cmd.Transaction.Commit();
  252. return model;
  253. }
  254. catch (Exception ex)
  255. {
  256. if (cmd.Transaction != null)
  257. cmd.Transaction.Rollback();
  258. log.Error(ex.Message);
  259. throw new Exception(ex.Message);
  260. }
  261. finally
  262. {
  263. if (conn.State == ConnectionState.Open)
  264. {
  265. conn.Close();
  266. }
  267. conn.Dispose();
  268. }
  269. }
  270. }
  271. }