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.

7762 lines
350 KiB

3 weeks ago
  1. using NFine.Data.Extensions;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using NFine.Code;
  9. using NFine.Repository;
  10. using System.Data.Common;
  11. using NFine.Domain._03_Entity.SRM;
  12. using ICS.Application.Entity;
  13. using Newtonsoft.Json;
  14. using System.Configuration;
  15. using System.Data.SqlClient;
  16. using ICS.Data;
  17. using Newtonsoft.Json.Linq;
  18. using NFine.Domain._03_Entity.WMS;
  19. using System.Web.UI.WebControls;
  20. using System.Runtime.InteropServices.ComTypes;
  21. using System.Diagnostics;
  22. using System.Net;
  23. using System.IO;
  24. using System.Web.UI;
  25. namespace NFine.Application.WMS
  26. {
  27. public class BasicSettingsApp : RepositoryFactory<ICSVendor>
  28. {
  29. public static DataTable Invmes = new DataTable();
  30. /// <summary>
  31. /// 删除库位
  32. /// </summary>
  33. /// <param name="keyValue">传入ID</param>
  34. /// <returns></returns>
  35. public string DeleteStack(string keyValue)
  36. {
  37. //站点信息
  38. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  39. string msg = "";
  40. JArray res = (JArray)JsonConvert.DeserializeObject(keyValue);
  41. //keyValue = keyValue.Substring(1, keyValue.Length - 2);
  42. string sql = string.Empty;
  43. foreach (var item in res)
  44. {
  45. JObject jo = (JObject)item;
  46. sql = string.Format(@"
  47. IF EXISTS(SELECT * FROM dbo.ICSWareHouseLotInfo a
  48. LEFT JOIN dbo.ICSLocation b ON a.LocationCode=b.LocationCode and a.WorkPoint=b.WorkPoint
  49. where b.ID = '{0}' and a.Quantity>0)
  50. BEGIN
  51. RAISERROR('{2}!',16,1);
  52. RETURN
  53. END
  54. DELETE FROM dbo.ICSLocation WHERE ID = '{0}' and WorkPoint ='{1}'", jo["ID"].ToString(), WorkPoint, jo["LocationCode"].ToString());
  55. try
  56. {
  57. SqlHelper.ExecuteNonQuery(sql);
  58. }
  59. catch (Exception ex)
  60. {
  61. msg = ex.Message;
  62. //throw new Exception(ex.Message);
  63. }
  64. }
  65. return msg;
  66. }
  67. public void ClearTemp()
  68. {
  69. Invmes.Rows.Clear();
  70. }
  71. /// <summary>
  72. /// 获取仓库信息
  73. /// </summary>
  74. /// <param name="jqgridparam"></param>
  75. /// <returns></returns>
  76. public DataTable GetICSWarehouseInfoId(string ID, ref Pagination jqgridparam)
  77. {
  78. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  79. DataTable dt = new DataTable();
  80. //var queryParam = queryJson.ToJObject();
  81. List<DbParameter> parameter = new List<DbParameter>();
  82. string sql = @"select ID,WarehouseCode,WarehouseName ,Enable,BatchEnable,Asset,Proxy,InCost from ICSWarehouse where WorkPoint='{0}' ";
  83. sql = string.Format(sql, WorkPoint);
  84. if (!string.IsNullOrWhiteSpace(ID))
  85. {
  86. sql += " and Id in (" + ID + ") ";
  87. }
  88. DataTable table = Repository().FindDataSetBySql(sql).Tables[0];
  89. DataTable dtCloned = table.Clone();
  90. foreach (DataColumn col in dtCloned.Columns)
  91. {
  92. col.DataType = typeof(string);
  93. }
  94. foreach (DataRow row in table.Rows)
  95. {
  96. DataRow newrow = dtCloned.NewRow();
  97. foreach (DataColumn column in dtCloned.Columns)
  98. {
  99. newrow[column.ColumnName] = row[column.ColumnName].ToString();
  100. }
  101. dtCloned.Rows.Add(newrow);
  102. }
  103. if (Invmes.Rows.Count > 0)
  104. {
  105. dtCloned.Merge(Invmes, false);
  106. }
  107. return dtCloned;
  108. }
  109. /// <summary>
  110. /// 删除周转箱
  111. /// </summary>
  112. /// <param name="keyValue">传入ID</param>
  113. /// <returns></returns>
  114. public string DeleteBoxes(string keyValue)
  115. {
  116. //站点信息
  117. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  118. string msg = "";
  119. JArray res = (JArray)JsonConvert.DeserializeObject(keyValue);
  120. //keyValue = keyValue.Substring(1, keyValue.Length - 2);
  121. string sql = string.Empty;
  122. foreach (var item in res)
  123. {
  124. JObject jo = (JObject)item;
  125. sql = $@"
  126. IF EXISTS(SELECT * FROM dbo.ICSWorkingCapitalBoxAccount a
  127. where a.BoxNumber='{jo["BoxNumber"]}' )
  128. BEGIN
  129. RAISERROR('!', 16, 1);
  130. RETURN
  131. END
  132. DELETE FROM dbo.ICSWorkingCapitalBox WHERE ID = '{jo["ID"]}' ";
  133. try
  134. {
  135. SqlHelper.ExecuteNonQuery(sql);
  136. }
  137. catch (Exception ex)
  138. {
  139. msg = ex.Message;
  140. //throw new Exception(ex.Message);
  141. }
  142. }
  143. return msg;
  144. }
  145. /// <summary>
  146. /// 删除模具档案
  147. /// </summary>
  148. /// <param name="keyValue">传入ID</param>
  149. /// <returns></returns>
  150. public string DeleteMould(string keyValue)
  151. {
  152. //站点信息
  153. string msg = "";
  154. JArray res = (JArray)JsonConvert.DeserializeObject(keyValue);
  155. //keyValue = keyValue.Substring(1, keyValue.Length - 2);
  156. string sql = string.Empty;
  157. foreach (var item in res)
  158. {
  159. JObject jo = (JObject)item;
  160. sql = $@"
  161. IF EXISTS(SELECT Id FROM dbo.ICSMouldAccount a
  162. where a.MouldNumber='{jo["MouldNumber"]}')
  163. BEGIN
  164. RAISERROR('!', 16, 1);
  165. RETURN
  166. END
  167. DELETE FROM dbo.ICSMould WHERE ID = '{jo["ID"]}' ";
  168. try
  169. {
  170. SqlHelper.ExecuteNonQuery(sql);
  171. }
  172. catch (Exception ex)
  173. {
  174. msg = ex.Message;
  175. //throw new Exception(ex.Message);
  176. }
  177. }
  178. return msg;
  179. }
  180. /// <summary>
  181. /// 删除模具台账
  182. /// </summary>
  183. /// <param name="keyValue">传入ID</param>
  184. /// <returns></returns>
  185. public string DeleteMouldAccount(string keyValue)
  186. {
  187. //站点信息
  188. string msg = "";
  189. JArray res = (JArray)JsonConvert.DeserializeObject(keyValue);
  190. //keyValue = keyValue.Substring(1, keyValue.Length - 2);
  191. string sql = string.Empty;
  192. foreach (var item in res)
  193. {
  194. JObject jo = (JObject)item;
  195. sql = $@"
  196. IF EXISTS(SELECT Id FROM dbo.ICSMouldLog a
  197. where a.MouldCode='{jo["MouldCode"]}')
  198. BEGIN
  199. RAISERROR('使!', 16, 1);
  200. RETURN
  201. END
  202. DELETE FROM dbo.ICSMouldAccount WHERE ID = '{jo["ID"]}' ";
  203. try
  204. {
  205. SqlHelper.ExecuteNonQuery(sql);
  206. }
  207. catch (Exception ex)
  208. {
  209. msg = ex.Message;
  210. //throw new Exception(ex.Message);
  211. }
  212. }
  213. return msg;
  214. }
  215. /// <summary>
  216. /// 删除不良原因
  217. /// </summary>
  218. /// <param name="keyValue">传入ID</param>
  219. /// <returns></returns>
  220. public string DeleteBadCode(string keyValue)
  221. {
  222. //站点信息
  223. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  224. string msg = "";
  225. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  226. string sql = string.Empty;
  227. sql = string.Format(@"DELETE FROM dbo.ICSBadCode WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  228. try
  229. {
  230. SqlHelper.ExecuteNonQuery(sql);
  231. }
  232. catch (Exception ex)
  233. {
  234. throw new Exception(ex.Message);
  235. }
  236. return msg;
  237. }
  238. /// <summary>
  239. /// 获取库房信息
  240. /// </summary>
  241. /// <returns></returns>
  242. public DataTable GetWarehouse()
  243. {
  244. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  245. string sql = @"
  246. select '' as WarehouseCode,'' as WarehouseName
  247. union all
  248. SELECT [WarehouseCode],[WarehouseName] FROM [ICSWarehouse] WITH (NOLOCK) WHERE 1=1 ";
  249. //string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  250. //if (role != "admin")
  251. //{
  252. // sql += " and b.WorkPoint='" + WorkPoint + "'";
  253. //}
  254. sql += " and WorkPoint='" + WorkPoint + "'";
  255. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  256. return dt;
  257. }
  258. /// <summary>
  259. /// 获取周转箱类型
  260. /// </summary>
  261. /// <returns></returns>
  262. public DataTable GetType(string tableName)
  263. {
  264. string sql = $@"
  265. select '' as Type,'' as TypeName
  266. union all
  267. SELECT Code AS Type,Name as TypeName FROM [ICSType] WITH (NOLOCK) WHERE TableCode='{tableName}' AND ColumnCode='Type' ";
  268. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  269. return dt;
  270. }
  271. /// <summary>
  272. /// 获取周转箱编码信息
  273. /// </summary>
  274. /// <returns></returns>
  275. public DataTable GetBoxNumber()
  276. {
  277. string sql = @"select '' as BoxNumber
  278. union all
  279. SELECT BoxNumber FROM [ICSWorkingCapitalBox] ";
  280. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  281. return dt;
  282. }
  283. /// <summary>
  284. /// 获取模具编码信息
  285. /// </summary>
  286. /// <returns></returns>
  287. public DataTable GetMouldNumber()
  288. {
  289. string sql = @"select '' as MouldNumber
  290. union all
  291. SELECT MouldNumber FROM [ICSMould] ";
  292. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  293. return dt;
  294. }
  295. /// <summary>
  296. /// 获取模具代码信息
  297. /// </summary>
  298. /// <returns></returns>
  299. public DataTable GetMouldCode()
  300. {
  301. string sql = @"select '' as MouldCode
  302. union all
  303. SELECT MouldCode FROM [ICSMouldAccount] ";
  304. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  305. return dt;
  306. }
  307. /// <summary>
  308. /// 新增库位
  309. /// </summary>
  310. /// <param name="queryJson"></param>
  311. /// <returns></returns>
  312. public string InsertStack(string keyValue)
  313. {
  314. var queryParam = keyValue.ToJObject();
  315. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  316. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  317. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  318. string msg = "";
  319. string StackSql = @"select * from ICSWarehouse where WarehouseCode='{0}' and WorkPoint='{1}'";
  320. StackSql = string.Format(StackSql, queryParam["Warehouse"].ToString(), WorkPoint);
  321. DataTable dt = SqlHelper.GetDataTableBySql(StackSql);
  322. string sql = string.Empty;
  323. string sqlkey = string.Empty;
  324. string sqlValue = string.Empty;
  325. foreach (JObject jsonObject in queryParam["arrayOfObjects"])
  326. {
  327. foreach (var property in jsonObject.Properties())
  328. {
  329. string propertyName = property.Name; // 属性名
  330. JToken propertyValue = property.Value; // 属性值
  331. // 根据需要处理属性值...
  332. if (propertyValue.Type == JTokenType.String)
  333. {
  334. string stringValue = (string)propertyValue;
  335. // 处理字符串值...
  336. }
  337. else if (propertyValue.Type == JTokenType.Object)
  338. {
  339. JObject nestedObject = (JObject)propertyValue;
  340. // 处理嵌套对象...
  341. }
  342. sqlkey += "," + propertyName + "";
  343. sqlValue += ",'" + (string)propertyValue + "'";
  344. // 处理其他类型的值...
  345. }
  346. }
  347. sql = @"IF ((SELECT 1 FROM ICSLocation WHERE LocationCode='{0}' AND LocationName='{1}' AND WHID='{2}' AND WorkPoint='{5}' ) IS NULL)
  348. BEGIN
  349. INSERT INTO dbo.ICSLocation
  350. ( ID ,LocationCode ,LocationName ,WHID ,MUSER ,
  351. MUSERName ,MTIME ,WorkPoint ,Region,Row,GoodsShelf ,Tier,Grid {11}) Values(NEWID(),'{0}','{1}','{2}','{3}','{4}',GETDATE(),'{5}','{6}','{7}','{8}','{9}','{10}' {12})
  352. END
  353. ELSE
  354. BEGIN
  355. RAISERROR('',16,1);
  356. END ";
  357. sql = string.Format(sql, queryParam["StackCode"].ToString(), queryParam["StackName"].ToString(), dt.Rows[0]["ID"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["Qu"].ToString(), queryParam["Pai"].ToString(), queryParam["Jia"].ToString(), queryParam["Ceng"].ToString(), queryParam["Ge"].ToString(), sqlkey, sqlValue);
  358. try
  359. {
  360. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  361. {
  362. }
  363. else
  364. {
  365. msg = "新增失败";
  366. }
  367. }
  368. catch (Exception ex)
  369. {
  370. msg = ex.Message;
  371. return msg;
  372. }
  373. return msg;
  374. }
  375. /// <summary>
  376. /// 周转箱信息
  377. /// </summary>
  378. /// <param name="queryJson"></param>
  379. /// <returns></returns>
  380. public string InsertBoxes(string keyValue)
  381. {
  382. var queryParam = keyValue.ToJObject();
  383. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  384. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  385. string msg = "";
  386. string sql = string.Empty;
  387. sql = $@"IF ((SELECT 1 FROM ICSWorkingCapitalBox WHERE BoxNumber='{queryParam["BoxNumber"]}') IS NULL)
  388. BEGIN
  389. INSERT INTO [dbo].[ICSWorkingCapitalBox] ([ID], [BoxNumber], [BoxName], [Type], [Version], [Specification], [Describe], [FirstCleanCycle], [SecondCleanCycle], [ThirdCleanCycle], [MTIME], [MUser], [MUSERName])
  390. VALUES (NEWID(), '{queryParam["BoxNumber"]}', '{queryParam["BoxName"]}', '{queryParam["Type"]}', '{queryParam["Version"]}', '{queryParam["Specification"]}', '{queryParam["Describe"]}', {queryParam["FirstCleanCycle"]}, {queryParam["SecondCleanCycle"]}, {queryParam["ThirdCleanCycle"]}, GETDATE(), '{MUSER}', '{MUSERNAME}');
  391. END
  392. ELSE
  393. BEGIN
  394. RAISERROR('',16,1);
  395. END ";
  396. try
  397. {
  398. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  399. {
  400. }
  401. else
  402. {
  403. msg = "新增失败";
  404. }
  405. }
  406. catch (Exception ex)
  407. {
  408. msg = ex.Message;
  409. return msg;
  410. }
  411. return msg;
  412. }
  413. /// <summary>
  414. /// 新增模具信息
  415. /// </summary>
  416. /// <param name="queryJson"></param>
  417. /// <returns></returns>
  418. public string InsertMould(string keyValue)
  419. {
  420. var queryParam = keyValue.ToJObject();
  421. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  422. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  423. string msg = "";
  424. string sql = string.Empty;
  425. sql = $@"IF ((SELECT 1 FROM ICSMould WHERE MouldNumber='{queryParam["MouldNumber"]}') IS NULL)
  426. BEGIN
  427. INSERT INTO [dbo].[ICSMould] ([ID], [MouldNumber], [MouldName], [Type], [Specification], [Unit],[EATTRIBUTE1], [MTIME], [MUser], [MUSERName])
  428. VALUES (NEWID(), '{queryParam["MouldNumber"]}', '{queryParam["MouldName"]}', '{queryParam["Type"]}', '{queryParam["Specification"]}', '{queryParam["Unit"]}', '{queryParam["Phone"]}',GETDATE(), '{MUSER}', '{MUSERNAME}');
  429. END
  430. ELSE
  431. BEGIN
  432. RAISERROR('',16,1);
  433. END ";
  434. try
  435. {
  436. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  437. {
  438. }
  439. else
  440. {
  441. msg = "新增失败";
  442. }
  443. }
  444. catch (Exception ex)
  445. {
  446. msg = ex.Message;
  447. return msg;
  448. }
  449. return msg;
  450. }
  451. /// <summary>
  452. /// 新增不良代码
  453. /// </summary>
  454. /// <param name="queryJson"></param>
  455. /// <returns></returns>
  456. public string InsertBadCode(string keyValue)
  457. {
  458. var queryParam = keyValue.ToJObject();
  459. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  460. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  461. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  462. string msg = "";
  463. string sql = string.Empty;
  464. sql = @"INSERT INTO dbo.ICSBadCode
  465. ( ID ,BadCode ,BadDesc ,MUSER ,
  466. MUSERName ,MTIME ,WorkPoint,BCGroupID ) Values(NEWID(),'{0}','{1}','{2}','{3}',GETDATE(),'{4}','NULL')";
  467. sql = string.Format(sql, queryParam["BadCode"].ToString(), queryParam["BadDesc"].ToString(), MUSER, MUSERNAME, WorkPoint);
  468. try
  469. {
  470. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  471. {
  472. }
  473. else
  474. {
  475. msg = "新增失败";
  476. }
  477. }
  478. catch (Exception ex)
  479. {
  480. throw new Exception(ex.Message);
  481. }
  482. return msg;
  483. }
  484. /// <summary>
  485. /// 修改不良代码
  486. /// </summary>
  487. /// <param name="queryJson"></param>
  488. /// <returns></returns>
  489. public string UpdateBadCode(string keyValue)
  490. {
  491. var queryParam = keyValue.ToJObject();
  492. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  493. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  494. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  495. string msg = "";
  496. string sql = string.Empty;
  497. sql = @"UPDATE dbo.ICSBadCode set BadCode='{0}',BadDesc='{1}',MUSER='{2}',MUSERName='{3}',MTIME=GetDate(),WorkPoint='{4}' WHERE ID='{5}'";
  498. sql = string.Format(sql, queryParam["BadCode"].ToString(), queryParam["BadDesc"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString());
  499. try
  500. {
  501. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  502. {
  503. }
  504. else
  505. {
  506. msg = "新增失败";
  507. }
  508. }
  509. catch (Exception ex)
  510. {
  511. throw new Exception(ex.Message);
  512. }
  513. return msg;
  514. }
  515. /// <summary>
  516. /// 修改库位
  517. /// </summary>
  518. /// <param name="queryJson"></param>
  519. /// <returns></returns>
  520. public string UpdateStack(string keyValue)
  521. {
  522. var queryParam = keyValue.ToJObject();
  523. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  524. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  525. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  526. string msg = "";
  527. string sqlJ = "";
  528. // 遍历JArray并处理每个JObject
  529. foreach (JObject jsonObject in queryParam["arrayOfObjects"])
  530. {
  531. foreach (var property in jsonObject.Properties())
  532. {
  533. string propertyName = property.Name; // 属性名
  534. JToken propertyValue = property.Value; // 属性值
  535. // 根据需要处理属性值...
  536. if (propertyValue.Type == JTokenType.String)
  537. {
  538. string stringValue = (string)propertyValue;
  539. // 处理字符串值...
  540. }
  541. else if (propertyValue.Type == JTokenType.Object)
  542. {
  543. JObject nestedObject = (JObject)propertyValue;
  544. // 处理嵌套对象...
  545. }
  546. sqlJ += "," + propertyName + "='" + (string)propertyValue + "'";
  547. // 处理其他类型的值...
  548. }
  549. }
  550. string StackSql = @"select * from ICSWarehouse where WarehouseCode='{0}'";
  551. StackSql = string.Format(StackSql, queryParam["Warehouse"].ToString());
  552. DataTable dt = SqlHelper.GetDataTableBySql(StackSql);
  553. string sql = string.Empty;
  554. sql = @"UPDATE dbo.ICSLocation set LocationCode='{0}',LocationName='{1}',WHID='{2}',MUSER='{3}',MUSERName='{4}',MTIME=GETDATE(),WorkPoint='{5}',Region='{7}',Row='{8}',GoodsShelf ='{9}',Tier='{10}',Grid='{11}' {12} WHERE ID='{6}'";
  555. sql = string.Format(sql, queryParam["StackCode"].ToString(), queryParam["StackName"].ToString(), dt.Rows[0]["ID"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString(), queryParam["Qu"].ToString(), queryParam["Pai"].ToString(), queryParam["Jia"].ToString(), queryParam["Ceng"].ToString(), queryParam["Ge"].ToString(), sqlJ);
  556. try
  557. {
  558. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  559. {
  560. }
  561. else
  562. {
  563. msg = "修改失败";
  564. }
  565. }
  566. catch (Exception ex)
  567. {
  568. throw new Exception(ex.Message);
  569. }
  570. return msg;
  571. }
  572. /// <summary>
  573. /// 修改周转箱信息
  574. /// </summary>
  575. /// <param name="queryJson"></param>
  576. /// <returns></returns>
  577. public string UpdateBoxes(string keyValue)
  578. {
  579. var queryParam = keyValue.ToJObject();
  580. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  581. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  582. string msg = "";
  583. string sql = string.Empty;
  584. sql = $@"UPDATE [dbo].[ICSWorkingCapitalBox] SET [BoxName] = '{queryParam["BoxName"]}', [Type] = '{queryParam["Type"]}', [Version] = '{queryParam["Version"]}', [Specification] = '{queryParam["Specification"]}', [Describe] = '{queryParam["Describe"]}', [FirstCleanCycle] = {queryParam["FirstCleanCycle"]}, [SecondCleanCycle] = {queryParam["SecondCleanCycle"]}, [ThirdCleanCycle] = {queryParam["ThirdCleanCycle"]}, [MTIME] = GETDATE(), [MUser] = '{MUSER}', [MUSERName] = '{MUSERNAME}' WHERE ID='{queryParam["ID"]}';";
  585. try
  586. {
  587. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  588. {
  589. }
  590. else
  591. {
  592. msg = "修改失败";
  593. }
  594. }
  595. catch (Exception ex)
  596. {
  597. throw new Exception(ex.Message);
  598. }
  599. return msg;
  600. }
  601. /// <summary>
  602. /// 修改模具信息
  603. /// </summary>
  604. /// <param name="queryJson"></param>
  605. /// <returns></returns>
  606. public string UpdateMould(string keyValue)
  607. {
  608. var queryParam = keyValue.ToJObject();
  609. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  610. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  611. string msg = "";
  612. string sql = string.Empty;
  613. sql = $@"UPDATE [dbo].[ICSMould] SET [MouldName] = '{queryParam["MouldName"]}', [Type] = '{queryParam["Type"]}', [Unit] = '{queryParam["Unit"]}', [Specification] = '{queryParam["Specification"]}', [EATTRIBUTE1] = '{queryParam["Phone"]}', [MTIME] = GETDATE(), [MUser] = '{MUSER}', [MUSERName] = '{MUSERNAME}' WHERE ID='{queryParam["ID"]}';";
  614. try
  615. {
  616. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  617. {
  618. }
  619. else
  620. {
  621. msg = "修改失败";
  622. }
  623. }
  624. catch (Exception ex)
  625. {
  626. throw new Exception(ex.Message);
  627. }
  628. return msg;
  629. }
  630. /// <summary>
  631. /// 修改模具状态信息
  632. /// </summary>
  633. /// <param name="queryJson"></param>
  634. /// <returns></returns>
  635. public string UpdateMouldStatus(string keyValue)
  636. {
  637. var queryParam = keyValue.ToJObject();
  638. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  639. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  640. string msg = "";
  641. string sql = string.Empty;
  642. sql = $@"UPDATE [dbo].[ICSMouldAccount] SET [MajorStates] = '禁用', [SubStates] = '{queryParam["Status"]}' WHERE ID='{queryParam["ID"]}';
  643. INSERT INTO [dbo].[ICSMouldLog] ([ID], [MouldCode], [MouldNumber], [Status], [DailyUses], [StartDate], [MTIME], [MUser], [MUSERName], [UsageCount]) SELECT NEWID(),MouldCode,MouldNumber,'{queryParam["Status"]}',0,GETDATE(),GETDATE(),'{MUSER}','{MUSERNAME}',0 FROM ICSMouldAccount WHERE ID='{queryParam["ID"]}';";
  644. try
  645. {
  646. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  647. {
  648. }
  649. else
  650. {
  651. msg = "修改失败";
  652. }
  653. }
  654. catch (Exception ex)
  655. {
  656. throw new Exception(ex.Message);
  657. }
  658. return msg;
  659. }
  660. /// <summary>
  661. /// 新增类型
  662. /// </summary>
  663. /// <param name="queryJson"></param>
  664. /// <returns></returns>
  665. public string InsertICSType(string keyValue)
  666. {
  667. var queryParam = keyValue.ToJObject();
  668. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  669. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  670. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  671. string msg = "";
  672. string sql = string.Empty;
  673. sql = @"INSERT INTO dbo.ICSType
  674. ( ID ,TableCode ,ColumnCode ,Code,Name, Enable,MTIME,MUSER ,MUSERName ,WorkPoint,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,EATTRIBUTE9,EATTRIBUTE10 )
  675. Values(NEWID(),'{0}','{1}','{2}','{3}','{4}',GETDATE(),'{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}')
  676. ";
  677. sql = string.Format(sql, queryParam["TableCode"].ToString(), queryParam["ColumnCode"].ToString(), queryParam["Code"].ToString(), queryParam["Name"].ToString(), queryParam["Enable"].ToString(), MUSER, MUSERNAME, WorkPoint,
  678. queryParam["EATTRIBUTE1"].ToString(), queryParam["EATTRIBUTE2"].ToString(), queryParam["EATTRIBUTE3"].ToString(), queryParam["EATTRIBUTE4"].ToString(), queryParam["EATTRIBUTE5"].ToString(), queryParam["EATTRIBUTE6"].ToString(), queryParam["EATTRIBUTE7"].ToString(), queryParam["EATTRIBUTE8"].ToString(), queryParam["EATTRIBUTE9"].ToString(), queryParam["EATTRIBUTE10"].ToString());
  679. try
  680. {
  681. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  682. {
  683. }
  684. else
  685. {
  686. msg = "新增失败";
  687. }
  688. }
  689. catch (Exception ex)
  690. {
  691. throw new Exception(ex.Message);
  692. }
  693. return msg;
  694. }
  695. /// <summary>
  696. /// 修改类型
  697. /// </summary>
  698. /// <param name="queryJson"></param>
  699. /// <returns></returns>
  700. public string UpdateICSType(string keyValue)
  701. {
  702. var queryParam = keyValue.ToJObject();
  703. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  704. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  705. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  706. string msg = "";
  707. string sql = string.Empty;
  708. sql = @"UPDATE dbo.ICSType set TableCode='{0}',ColumnCode='{1}',Code='{2}',Name='{3}',Enable='{4}',MTIME=GETDATE(),MUSER='{5}',MUSERName='{6}',WorkPoint='{7}' ,EATTRIBUTE1='{9}',EATTRIBUTE2='{10}',EATTRIBUTE3='{11}',EATTRIBUTE4='{12}',EATTRIBUTE5='{13}',EATTRIBUTE6='{14}',EATTRIBUTE7='{15}',EATTRIBUTE8='{16}',EATTRIBUTE9='{17}',EATTRIBUTE10='{18}' WHERE ID='{8}'";
  709. sql = string.Format(sql, queryParam["TableCode"].ToString(), queryParam["ColumnCode"].ToString(), queryParam["Code"].ToString(), queryParam["Name"].ToString(), queryParam["Enable"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString()
  710. , queryParam["EATTRIBUTE1"].ToString(), queryParam["EATTRIBUTE2"].ToString(), queryParam["EATTRIBUTE3"].ToString(), queryParam["EATTRIBUTE4"].ToString(), queryParam["EATTRIBUTE5"].ToString(), queryParam["EATTRIBUTE6"].ToString(), queryParam["EATTRIBUTE7"].ToString(), queryParam["EATTRIBUTE8"].ToString(), queryParam["EATTRIBUTE9"].ToString(), queryParam["EATTRIBUTE10"].ToString());
  711. try
  712. {
  713. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  714. {
  715. }
  716. else
  717. {
  718. msg = "修改失败";
  719. }
  720. }
  721. catch (Exception ex)
  722. {
  723. throw new Exception(ex.Message);
  724. }
  725. return msg;
  726. }
  727. /// <summary>
  728. /// 删除类型
  729. /// </summary>
  730. /// <param name="keyValue">传入ID</param>
  731. /// <returns></returns>
  732. public string DeleteICSType(string keyValue)
  733. {
  734. //站点信息
  735. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  736. string msg = "";
  737. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  738. string sql = string.Empty;
  739. sql = string.Format(@"DELETE FROM dbo.ICSType WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  740. try
  741. {
  742. SqlHelper.ExecuteNonQuery(sql);
  743. }
  744. catch (Exception ex)
  745. {
  746. throw new Exception(ex.Message);
  747. }
  748. return msg;
  749. }
  750. /// <summary>
  751. /// 修改参数配置
  752. /// </summary>
  753. /// <param name="queryJson"></param>
  754. /// <returns></returns>
  755. public string UpdateICSConfiguration(string keyValue)
  756. {
  757. var queryParam = keyValue.ToJObject();
  758. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  759. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  760. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  761. string msg = "";
  762. string sql = string.Empty;
  763. sql = @"UPDATE dbo.ICSConfiguration set Code='{0}',Name='{1}',Enable='{2}',Figure='{3}',MTIME=GETDATE(),MUSER='{4}',MUSERName='{5}',WorkPoint='{6}' WHERE ID='{7}'";
  764. sql = string.Format(sql, queryParam["Code"].ToString(), queryParam["Name"].ToString(), queryParam["Enable"].ToString(), queryParam["Figure"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString());
  765. try
  766. {
  767. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  768. {
  769. }
  770. else
  771. {
  772. msg = "修改失败";
  773. }
  774. }
  775. catch (Exception ex)
  776. {
  777. throw new Exception(ex.Message);
  778. }
  779. return msg;
  780. }
  781. /// <summary>
  782. /// 新增参数配置
  783. /// </summary>
  784. /// <param name="queryJson"></param>
  785. /// <returns></returns>
  786. public string InsertICSConfiguration(string keyValue)
  787. {
  788. var queryParam = keyValue.ToJObject();
  789. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  790. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  791. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  792. string msg = "";
  793. string sql = string.Empty;
  794. sql = @"INSERT INTO dbo.ICSConfiguration
  795. ( ID ,Code ,Name ,Enable,Figure,MTIME,MUSER ,MUSERName ,WorkPoint )
  796. Values(NEWID(),'{0}','{1}','{2}','{3}',GETDATE(),'{4}','{5}','{6}')
  797. ";
  798. sql = string.Format(sql, queryParam["Code"].ToString(), queryParam["Name"].ToString(), queryParam["Enable"].ToString(), queryParam["Figure"].ToString(), MUSER, MUSERNAME, WorkPoint);
  799. try
  800. {
  801. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  802. {
  803. }
  804. else
  805. {
  806. msg = "新增失败";
  807. }
  808. }
  809. catch (Exception ex)
  810. {
  811. throw new Exception(ex.Message);
  812. }
  813. return msg;
  814. }
  815. /// <summary>
  816. /// 删除参数配置
  817. /// </summary>
  818. /// <param name="keyValue">传入ID</param>
  819. /// <returns></returns>
  820. public string DeleteICSConfiguration(string keyValue)
  821. {
  822. //站点信息
  823. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  824. string msg = "";
  825. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  826. string sql = string.Empty;
  827. sql = string.Format(@"DELETE FROM dbo.ICSConfiguration WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  828. try
  829. {
  830. SqlHelper.ExecuteNonQuery(sql);
  831. }
  832. catch (Exception ex)
  833. {
  834. throw new Exception(ex.Message);
  835. }
  836. return msg;
  837. }
  838. /// <summary>
  839. /// 修改启用配置
  840. /// </summary>
  841. /// <param name="queryJson"></param>
  842. /// <returns></returns>
  843. public string UpdateICSExtensionEnable(string keyValue)
  844. {
  845. var queryParam = keyValue.ToJObject();
  846. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  847. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  848. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  849. string msg = "";
  850. string sql = string.Empty;
  851. sql = @"UPDATE dbo.ICSExtensionEnable set ColCode='{0}',ColName='{1}',Enable='{2}',MTIME=GETDATE(),MUSER='{3}',MUSERName='{4}',WorkPoint='{5}' WHERE ID='{6}'";
  852. sql = string.Format(sql, queryParam["ColCode"].ToString(), queryParam["ColName"].ToString(), queryParam["Enable"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString());
  853. try
  854. {
  855. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  856. {
  857. }
  858. else
  859. {
  860. msg = "修改失败";
  861. }
  862. }
  863. catch (Exception ex)
  864. {
  865. throw new Exception(ex.Message);
  866. }
  867. return msg;
  868. }
  869. /// <summary>
  870. /// 修改启用配置
  871. /// </summary>
  872. /// <param name="queryJson"></param>
  873. /// <returns></returns>
  874. public string UpdateICSColumnEnable(string keyValue)
  875. {
  876. var queryParam = keyValue.ToJObject();
  877. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  878. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  879. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  880. string msg = "";
  881. string sqlJ = "";
  882. // 遍历JArray并处理每个JObject
  883. foreach (JObject jsonObject in queryParam["arrayOfObjects"])
  884. {
  885. foreach (var property in jsonObject.Properties())
  886. {
  887. string propertyName = property.Name; // 属性名
  888. JToken propertyValue = property.Value; // 属性值
  889. // 根据需要处理属性值...
  890. if (propertyValue.Type == JTokenType.String)
  891. {
  892. string stringValue = (string)propertyValue;
  893. // 处理字符串值...
  894. }
  895. else if (propertyValue.Type == JTokenType.Object)
  896. {
  897. JObject nestedObject = (JObject)propertyValue;
  898. // 处理嵌套对象...
  899. }
  900. sqlJ += "," + propertyName + "='" + (string)propertyValue + "'";
  901. // 处理其他类型的值...
  902. }
  903. }
  904. string sql = string.Empty;
  905. sql = @"UPDATE dbo.ICSColumnEnable set TableCode = '{0}',ColumnCode='{1}',Code='{2}',Name='{3}',Enable='{4}',MTIME=GETDATE(),MUSER='{5}',MUSERName='{6}',WorkPoint='{7}'{9} WHERE ID='{8}'";
  906. sql = string.Format(sql, queryParam["TableCode"].ToString(), queryParam["ColumnCode"].ToString(), queryParam["Code"].ToString().Replace("EATTRIBUTE", ""), queryParam["Name"].ToString(), queryParam["Enable"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString(), sqlJ);
  907. try
  908. {
  909. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  910. {
  911. }
  912. else
  913. {
  914. msg = "修改失败";
  915. }
  916. }
  917. catch (Exception ex)
  918. {
  919. throw new Exception(ex.Message);
  920. }
  921. return msg;
  922. }
  923. /// <summary>
  924. /// 新增启用配置
  925. /// </summary>
  926. /// <param name="queryJson"></param>
  927. /// <returns></returns>
  928. public string InsertICSExtensionEnable(string keyValue)
  929. {
  930. var queryParam = keyValue.ToJObject();
  931. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  932. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  933. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  934. string msg = "";
  935. string sql = string.Empty;
  936. sql = @"INSERT INTO dbo.ICSExtensionEnable
  937. ( ID ,ColCode ,ColName ,Enable,MTIME,MUSER ,MUSERName ,WorkPoint )
  938. Values(NEWID(),'{0}','{1}','{2}',GETDATE(),'{3}','{4}','{5}')
  939. ";
  940. sql = string.Format(sql, queryParam["ColCode"].ToString(), queryParam["ColName"].ToString(), queryParam["Enable"].ToString(), MUSER, MUSERNAME, WorkPoint);
  941. try
  942. {
  943. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  944. {
  945. }
  946. else
  947. {
  948. msg = "新增失败";
  949. }
  950. }
  951. catch (Exception ex)
  952. {
  953. throw new Exception(ex.Message);
  954. }
  955. return msg;
  956. }
  957. /// <summary>
  958. /// 新增启用配置
  959. /// </summary>
  960. /// <param name="queryJson"></param>
  961. /// <returns></returns>
  962. public string InsertICSColumnEnable(string keyValue)
  963. {
  964. var queryParam = keyValue.ToJObject();
  965. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  966. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  967. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  968. string msg = "";
  969. string sql = string.Empty;
  970. string sqlkey = string.Empty;
  971. string sqlValue = string.Empty;
  972. foreach (JObject jsonObject in queryParam["arrayOfObjects"])
  973. {
  974. foreach (var property in jsonObject.Properties())
  975. {
  976. string propertyName = property.Name; // 属性名
  977. JToken propertyValue = property.Value; // 属性值
  978. // 根据需要处理属性值...
  979. if (propertyValue.Type == JTokenType.String)
  980. {
  981. string stringValue = (string)propertyValue;
  982. // 处理字符串值...
  983. }
  984. else if (propertyValue.Type == JTokenType.Object)
  985. {
  986. JObject nestedObject = (JObject)propertyValue;
  987. // 处理嵌套对象...
  988. }
  989. sqlkey += "," + propertyName + "";
  990. sqlValue += ",'" + (string)propertyValue + "'";
  991. // 处理其他类型的值...
  992. }
  993. }
  994. sql = @"INSERT INTO dbo.ICSColumnEnable
  995. ( ID ,TableCode,ColumnCode,Code ,Name ,Enable,MTIME,MUSER ,MUSERName ,WorkPoint" + sqlkey + @") Values(NEWID(),'{0}','{1}','{2}','{3}','{4}',GETDATE(),'{5}','{6}','{7}'{8}) ";
  996. sql = string.Format(sql, queryParam["TableCode"].ToString(), queryParam["ColumnCode"].ToString(), queryParam["Code"].ToString().Replace("EATTRIBUTE", ""), queryParam["Name"].ToString(), queryParam["Enable"].ToString(), MUSER, MUSERNAME, WorkPoint, sqlValue);
  997. try
  998. {
  999. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  1000. {
  1001. }
  1002. else
  1003. {
  1004. msg = "新增失败";
  1005. }
  1006. }
  1007. catch (Exception ex)
  1008. {
  1009. throw new Exception(ex.Message);
  1010. }
  1011. return msg;
  1012. }
  1013. /// <summary>
  1014. /// 删除启用配置
  1015. /// </summary>
  1016. /// <param name="keyValue">传入ID</param>
  1017. /// <returns></returns>
  1018. public string DeleteICSExtensionEnable(string keyValue)
  1019. {
  1020. //站点信息
  1021. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1022. string msg = "";
  1023. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  1024. string sql = string.Empty;
  1025. sql = string.Format(@"DELETE FROM dbo.ICSExtensionEnable WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  1026. try
  1027. {
  1028. SqlHelper.ExecuteNonQuery(sql);
  1029. }
  1030. catch (Exception ex)
  1031. {
  1032. throw new Exception(ex.Message);
  1033. }
  1034. return msg;
  1035. }
  1036. /// <summary>
  1037. /// 删除单据启用配置
  1038. /// </summary>
  1039. /// <param name="keyValue">传入ID</param>
  1040. /// <returns></returns>
  1041. public string DeleteICSColumnEnable(string keyValue)
  1042. {
  1043. //站点信息
  1044. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1045. string msg = "";
  1046. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  1047. string sql = string.Empty;
  1048. sql = string.Format(@"DELETE FROM dbo.ICSColumnEnable WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  1049. try
  1050. {
  1051. SqlHelper.ExecuteNonQuery(sql);
  1052. }
  1053. catch (Exception ex)
  1054. {
  1055. throw new Exception(ex.Message);
  1056. }
  1057. return msg;
  1058. }
  1059. //不良代码
  1060. public DataTable GetICSBadCodeGroup(ref Pagination jqgridparam, string queryJson)
  1061. {
  1062. DataTable dt = new DataTable();
  1063. var queryParam = queryJson.ToJObject();
  1064. List<DbParameter> parameter = new List<DbParameter>();
  1065. string sql = @" select ID,BCGCode,BCGDesc,MUSER,MUSERName,MTIME,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,
  1066. EATTRIBUTE9,EATTRIBUTE10 from ICSBadCodeGroup ";
  1067. sql += " WHERE 1=1";
  1068. if (!string.IsNullOrWhiteSpace(queryJson))
  1069. {
  1070. if (!string.IsNullOrWhiteSpace(queryParam["BadCode"].ToString()))
  1071. {
  1072. sql += " and BCGCode like '%" + queryParam["BadCode"].ToString() + "%' ";
  1073. }
  1074. if (!string.IsNullOrWhiteSpace(queryParam["BadCodeName"].ToString()))
  1075. {
  1076. sql += " and BCGDesc like '%" + queryParam["BadCodeName"].ToString() + "%' ";
  1077. }
  1078. }
  1079. sql = string.Format(sql);
  1080. DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1081. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1082. }
  1083. //不良原因
  1084. public DataTable GetICSBadReasonGroup(ref Pagination jqgridparam, string queryJson)
  1085. {
  1086. DataTable dt = new DataTable();
  1087. var queryParam = queryJson.ToJObject();
  1088. List<DbParameter> parameter = new List<DbParameter>();
  1089. string sql = @" select ID,BRGCode,BRGDesc,MUSER,MUSERName,MTIME,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,
  1090. EATTRIBUTE9,EATTRIBUTE10 from ICSBadReasonGroup ";
  1091. sql += " WHERE 1=1";
  1092. if (!string.IsNullOrWhiteSpace(queryJson))
  1093. {
  1094. if (!string.IsNullOrWhiteSpace(queryParam["BadReason"].ToString()))
  1095. {
  1096. sql += " and BRGCode like '%" + queryParam["BadReason"].ToString() + "%' ";
  1097. }
  1098. if (!string.IsNullOrWhiteSpace(queryParam["BadReasonName"].ToString()))
  1099. {
  1100. sql += " and BRGDesc like '%" + queryParam["BadReasonName"].ToString() + "%' ";
  1101. }
  1102. }
  1103. sql = string.Format(sql);
  1104. DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1105. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1106. }
  1107. //不良代码子表
  1108. public DataTable GetICSBadCodeGroupdetil(string ID, ref Pagination jqgridparam)
  1109. {
  1110. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1111. DataTable dt = new DataTable();
  1112. //var queryParam = queryJson.ToJObject();
  1113. List<DbParameter> parameter = new List<DbParameter>();
  1114. string sql = @"select BCGroupID,BadCode,BadDesc,MUSERName,MTIME,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,
  1115. EATTRIBUTE9,EATTRIBUTE10 from ICSBadCode
  1116. where BCGroupID='" + ID + "' ";
  1117. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1118. }
  1119. public DataTable GetICSBadCode(string BRGCode, ref Pagination jqgridparam)
  1120. {
  1121. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1122. DataTable dt = new DataTable();
  1123. //var queryParam = queryJson.ToJObject();
  1124. List<DbParameter> parameter = new List<DbParameter>();
  1125. string sql = @"select BRGroupID,BadReasonCode,BadReasonDesc,MUSERName,MTIME from ICSBadReason
  1126. WHERE BRGroupID='" + BRGCode + "' ";
  1127. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1128. }
  1129. /// <summary>
  1130. /// 不良原因子表查询
  1131. /// </summary>
  1132. /// <param name="queryJson"></param>
  1133. /// <param name="jqgridparam"></param>
  1134. /// <returns></returns>
  1135. public DataTable GetICSBadReason(string BRGroupID, ref Pagination jqgridparam)
  1136. {
  1137. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1138. DataTable dt = new DataTable();
  1139. //var queryParam = queryJson.ToJObject();
  1140. List<DbParameter> parameter = new List<DbParameter>();
  1141. string sql = @"select BRGroupID,BadReasonCode,BadReasonDesc,MUSERName,MTIME,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,
  1142. EATTRIBUTE9,EATTRIBUTE10 from ICSBadReason
  1143. WHERE BRGroupID='" + BRGroupID + "' ";
  1144. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1145. }
  1146. ///// <summary>
  1147. ///// 不良原因子表查询2
  1148. ///// </summary>
  1149. ///// <param name="queryJson"></param>
  1150. ///// <param name="jqgridparam"></param>
  1151. ///// <returns></returns>
  1152. //public DataTable GetICSBadReason2(string BRGCode, ref Pagination jqgridparam)
  1153. //{
  1154. // string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1155. // DataTable dt = new DataTable();
  1156. // //var queryParam = queryJson.ToJObject();
  1157. // List<DbParameter> parameter = new List<DbParameter>();
  1158. // string sql = @"select BRGroupID,BadReasonCode,BadReasonDesc,MUSERName,MTIME from ICSBadReason
  1159. // WHERE BRGroupID='" + BRGCode + "' ";
  1160. // return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1161. //}
  1162. public void DeleteBCItem(string ID)
  1163. {
  1164. string sql = "DELETE FROM dbo.ICSBadCode WHERE ID='" + ID + "'";
  1165. SqlHelper.ExecuteNonQuery(sql);
  1166. }
  1167. public void DeleteItem(string ID)
  1168. {
  1169. string sql = "DELETE FROM dbo.ICSBadReason WHERE ID='" + ID + "'";
  1170. SqlHelper.ExecuteNonQuery(sql);
  1171. }
  1172. //不良代码新增
  1173. public void SubICSBadCodeGroupAdd(ICSBadReason main, string BRGCode, string BRGDesc)
  1174. {
  1175. string sql = string.Empty;
  1176. string sqls = string.Empty;
  1177. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1178. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  1179. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1180. string NewID = Common.GuId();
  1181. //添加配置项,验证不良代码描述是否可以重复
  1182. string checkSql = @"SELECT F_Id from Sys_SRM_ItemsDetail WHERE F_ItemCode='BadCode' AND F_EnabledMark='1'";
  1183. bool check = false;
  1184. var dt = SqlHelper.CmdExecuteDataTable(checkSql);
  1185. if (dt.Rows.Count > 0)
  1186. {
  1187. check = true;
  1188. }
  1189. List<ICSBadReason> list_Item1 = new List<ICSBadReason>();
  1190. if (main.arrayShellFabricItem != null)
  1191. {
  1192. list_Item1 = JsonConvert.DeserializeObject<List<ICSBadReason>>(main.arrayShellFabricItem);
  1193. }
  1194. string connString = SqlHelper.DataCenterConnString;
  1195. SqlConnection conn = new SqlConnection(connString);
  1196. conn.Open();
  1197. SqlTransaction sqlTran = conn.BeginTransaction();
  1198. SqlCommand cmd = new SqlCommand();
  1199. cmd.Transaction = sqlTran;
  1200. cmd.Connection = conn;
  1201. sql = @"IF EXISTS( select BCGCode from ICSBadCodeGroup where BCGCode='{0}')
  1202. BEGIN
  1203. RAISERROR('',16,1);
  1204. RETURN
  1205. END
  1206. INSERT INTO dbo.ICSBadCodeGroup
  1207. ( ID ,BCGCode ,BCGDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  1208. Values('{5}','{0}','{1}',GETDATE(),'{2}','{3}','{4}')";
  1209. sql = string.Format(sql, BRGCode, BRGDesc, MUSER, MUSERNAME, WorkPoint, NewID);
  1210. try
  1211. {
  1212. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  1213. {
  1214. foreach (ICSBadReason Item in list_Item1)
  1215. {
  1216. if (check)
  1217. {
  1218. sqls = @"IF EXISTS( select BadCode from ICSBadCode where BadCode=@BadReasonCode)
  1219. BEGIN
  1220. RAISERROR('',16,1);
  1221. RETURN
  1222. END
  1223. IF EXISTS(SELECT * FROM ICSBadCode WHERE BadDesc=@BadReasonDesc and WorkPoint='{3}')
  1224. BEGIN
  1225. RAISERROR('" + Item.BadReasonDesc + @"', 16, 1);
  1226. RETURN
  1227. END
  1228. INSERT INTO dbo.ICSBadCode
  1229. ( ID ,BCGroupID,BadCode ,BadDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  1230. Values(@ID,'{0}',@BadReasonCode,@BadReasonDesc,GETDATE(),'{1}','{2}','{3}')";
  1231. }
  1232. else
  1233. {
  1234. sqls = @"IF EXISTS( select BadCode from ICSBadCode where BadCode=@BadReasonCode)
  1235. BEGIN
  1236. RAISERROR('',16,1);
  1237. RETURN
  1238. END
  1239. INSERT INTO dbo.ICSBadCode
  1240. ( ID ,BCGroupID,BadCode ,BadDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  1241. Values(@ID,'{0}',@BadReasonCode,@BadReasonDesc,GETDATE(),'{1}','{2}','{3}')";
  1242. }
  1243. sqls = string.Format(sqls, NewID, MUSER, MUSERNAME, WorkPoint);
  1244. SqlParameter[] sp_Item =
  1245. {
  1246. new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  1247. new SqlParameter("@BadReasonCode",DbType.String){ Value= Item.BadReasonCode},
  1248. new SqlParameter("@BadReasonDesc",DbType.String){ Value= Item.BadReasonDesc},
  1249. };
  1250. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  1251. }
  1252. cmd.Transaction.Commit();
  1253. }
  1254. }
  1255. catch (Exception ex)
  1256. {
  1257. cmd.Transaction.Rollback();
  1258. throw new Exception(ex.Message);
  1259. }
  1260. finally
  1261. {
  1262. if (conn.State == ConnectionState.Open)
  1263. {
  1264. conn.Close();
  1265. }
  1266. conn.Dispose();
  1267. }
  1268. }
  1269. //不良原因新增
  1270. public void SubICSBadReasonGroupAdd(ICSBadReason main, string BRGCode, string BRGDesc)
  1271. {
  1272. string sql = string.Empty;
  1273. string sqls = string.Empty;
  1274. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1275. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  1276. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1277. //添加配置项,验证不良原因描述是否可以重复
  1278. string checkSql = $@"SELECT F_Id from Sys_SRM_ItemsDetail WHERE F_ItemCode='BadCauses' AND F_EnabledMark='1'";
  1279. bool check = false;
  1280. string NewID = Common.GuId();
  1281. List<ICSBadReason> list_Item1 = new List<ICSBadReason>();
  1282. if (main.arrayShellFabricItem != null)
  1283. {
  1284. list_Item1 = JsonConvert.DeserializeObject<List<ICSBadReason>>(main.arrayShellFabricItem);
  1285. }
  1286. var dt = SqlHelper.CmdExecuteDataTable(checkSql);
  1287. if (dt.Rows.Count > 0)
  1288. {
  1289. check = true;
  1290. }
  1291. string connString = SqlHelper.DataCenterConnString;
  1292. SqlConnection conn = new SqlConnection(connString);
  1293. conn.Open();
  1294. SqlTransaction sqlTran = conn.BeginTransaction();
  1295. SqlCommand cmd = new SqlCommand();
  1296. cmd.Transaction = sqlTran;
  1297. cmd.Connection = conn;
  1298. sql = @"IF EXISTS( select BRGCode from ICSBadReasonGroup where BRGCode='{0}')
  1299. BEGIN
  1300. RAISERROR('',16,1);
  1301. RETURN
  1302. end
  1303. INSERT INTO dbo.ICSBadReasonGroup
  1304. ( ID ,BRGCode ,BRGDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  1305. Values('{5}','{0}','{1}',GETDATE(),'{2}','{3}','{4}')";
  1306. sql = string.Format(sql, BRGCode, BRGDesc, MUSER, MUSERNAME, WorkPoint, NewID);
  1307. try
  1308. {
  1309. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  1310. {
  1311. foreach (ICSBadReason Item in list_Item1)
  1312. {
  1313. if (check)
  1314. {
  1315. sqls = @"IF EXISTS(select BadReasonCode from ICSBadReason where BadReasonCode=@BadReasonCode and Workpoint='{3}')
  1316. BEGIN
  1317. RAISERROR('',16,1);
  1318. RETURN
  1319. end
  1320. IF EXISTS(SELECT * FROM ICSBadReason WHERE BadReasonDesc=@BadReasonDesc and Workpoint='{3}')
  1321. BEGIN
  1322. RAISERROR('" + Item.BadReasonDesc + @"', 16, 1);
  1323. RETURN
  1324. END
  1325. INSERT INTO dbo.ICSBadReason
  1326. ( ID ,BRGroupID,BadReasonCode ,BadReasonDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  1327. Values(@ID,'{0}',@BadReasonCode,@BadReasonDesc,GETDATE(),'{1}','{2}','{3}')";
  1328. }
  1329. else
  1330. {
  1331. sqls = @"IF EXISTS(select BadReasonCode from ICSBadReason where BadReasonCode=@BadReasonCode)
  1332. BEGIN
  1333. RAISERROR('',16,1);
  1334. RETURN
  1335. end
  1336. INSERT INTO dbo.ICSBadReason
  1337. ( ID ,BRGroupID,BadReasonCode ,BadReasonDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  1338. Values(@ID,'{0}',@BadReasonCode,@BadReasonDesc,GETDATE(),'{1}','{2}','{3}')";
  1339. }
  1340. sqls = string.Format(sqls, NewID, MUSER, MUSERNAME, WorkPoint);
  1341. SqlParameter[] sp_Item = {
  1342. new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  1343. new SqlParameter("@BadReasonCode",DbType.String){ Value= Item.BadReasonCode},
  1344. new SqlParameter("@BadReasonDesc",DbType.String){ Value= Item.BadReasonDesc},
  1345. };
  1346. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  1347. }
  1348. cmd.Transaction.Commit();
  1349. }
  1350. }
  1351. catch (Exception ex)
  1352. {
  1353. cmd.Transaction.Rollback();
  1354. throw new Exception(ex.Message);
  1355. }
  1356. finally
  1357. {
  1358. if (conn.State == ConnectionState.Open)
  1359. {
  1360. conn.Close();
  1361. }
  1362. conn.Dispose();
  1363. }
  1364. }
  1365. public DataTable GetICSBadCodeGroupdetil2(string ID, ref Pagination jqgridparam)
  1366. {
  1367. string sql = string.Empty;
  1368. DataTable dt = null;
  1369. List<DbParameter> parameter = new List<DbParameter>();
  1370. sql = string.Format(@"select * from ICSBadCode where BCGroupID='{0}'", ID);
  1371. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1372. //dt = SqlHelper.GetDataTableBySql(sql);
  1373. //return dt;
  1374. }
  1375. public DataTable GetICSBadReason2(string BID, ref Pagination jqgridparam)
  1376. {
  1377. string sql = string.Empty;
  1378. DataTable dt = null;
  1379. List<DbParameter> parameter = new List<DbParameter>();
  1380. sql = string.Format(@"select * from ICSBadReason where BRGroupID='{0}'", BID);
  1381. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1382. //dt = SqlHelper.GetDataTableBySql(sql);
  1383. //return dt;
  1384. }
  1385. public void UpdateICSBadCodeGroup(ICSBadReason main, string BID, string BRGCode, string BRGDesc)
  1386. {
  1387. string sql = string.Empty;
  1388. string sqls = string.Empty;
  1389. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1390. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  1391. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1392. //添加配置项,验证不良代码描述是否可以重复
  1393. string checkSql = @"SELECT F_Id from Sys_SRM_ItemsDetail WHERE F_ItemCode='BadCode' AND F_EnabledMark='1'";
  1394. bool check = false;
  1395. var dt = SqlHelper.CmdExecuteDataTable(checkSql);
  1396. if (dt.Rows.Count > 0)
  1397. {
  1398. check = true;
  1399. }
  1400. List<ICSBadReason> list_Item1 = new List<ICSBadReason>();
  1401. if (main.arrayShellFabricItem != null)
  1402. {
  1403. list_Item1 = JsonConvert.DeserializeObject<List<ICSBadReason>>(main.arrayShellFabricItem);
  1404. }
  1405. string connString = SqlHelper.DataCenterConnString;
  1406. SqlConnection conn = new SqlConnection(connString);
  1407. conn.Open();
  1408. SqlTransaction sqlTran = conn.BeginTransaction();
  1409. SqlCommand cmd = new SqlCommand();
  1410. cmd.Transaction = sqlTran;
  1411. cmd.Connection = conn;
  1412. sql = @"UPDATE dbo.ICSBadCodeGroup set BCGCode='{0}',BCGDesc='{1}',MTIME=GETDATE(),MUSER='{2}',MUSERName='{3}',WorkPoint='{4}' WHERE ID='{5}'";
  1413. sql = string.Format(sql, BRGCode, BRGDesc, MUSER, MUSERNAME, WorkPoint, BID);
  1414. try
  1415. {
  1416. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  1417. {
  1418. foreach (ICSBadReason Item in list_Item1)
  1419. {
  1420. if (check)
  1421. {
  1422. sqls = @"IF NOT EXISTS(SELECT * FROM ICSBadCode WHERE ID=@ID)
  1423. BEGIN
  1424. IF EXISTS(SELECT * FROM ICSBadCode WHERE BadDesc=@BadReasonDesc and WorkPoint='{3}')
  1425. BEGIN
  1426. RAISERROR(':" + Item.BadReasonDesc + @"', 16, 1);
  1427. RETURN
  1428. END
  1429. INSERT INTO ICSBadCode( ID,BCGroupID,BadCode,BadDesc,MTIME,MUSER,MUSERName,WorkPoint)
  1430. VALUES (@ID,'{0}',@BadReasonCode,@BadReasonDesc,getdate(),'{1}','{2}','{3}')
  1431. END
  1432. ELSE
  1433. BEGIN
  1434. IF EXISTS(SELECT * FROM ICSBadCode WHERE BadDesc=@BadReasonDesc AND ID!=@ID and WorkPoint='{3}')
  1435. BEGIN
  1436. RAISERROR('" + Item.BadReasonDesc + @"', 16, 1);
  1437. RETURN
  1438. END
  1439. UPDATE dbo.ICSBadCode set BCGroupID='{0}',BadCode=@BadReasonCode,BadDesc=@BadReasonDesc,MTIME=GETDATE(),MUSER='{1}',MUSERName='{2}',WorkPoint='{3}' WHERE ID=@ID
  1440. end";
  1441. }
  1442. else
  1443. {
  1444. sqls = @"IF NOT EXISTS(SELECT * FROM ICSBadCode WHERE ID=@ID)
  1445. BEGIN
  1446. INSERT INTO ICSBadCode( ID,BCGroupID,BadCode,BadDesc,MTIME,MUSER,MUSERName,WorkPoint)
  1447. VALUES (@ID,'{0}',@BadReasonCode,@BadReasonDesc,getdate(),'{1}','{2}','{3}')
  1448. END
  1449. ELSE
  1450. BEGIN
  1451. UPDATE dbo.ICSBadCode set BCGroupID='{0}',BadCode=@BadReasonCode,BadDesc=@BadReasonDesc,MTIME=GETDATE(),MUSER='{1}',MUSERName='{2}',WorkPoint='{3}' WHERE ID=@ID
  1452. end
  1453. ";
  1454. }
  1455. sqls = string.Format(sqls, BID, MUSER, MUSERNAME, WorkPoint);
  1456. SqlParameter[] sp_Item = {
  1457. new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  1458. new SqlParameter("@BadReasonCode",DbType.String){ Value= Item.BadReasonCode},
  1459. new SqlParameter("@BadReasonDesc",DbType.String){ Value= Item.BadReasonDesc},
  1460. };
  1461. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  1462. }
  1463. cmd.Transaction.Commit();
  1464. }
  1465. }
  1466. catch (Exception ex)
  1467. {
  1468. cmd.Transaction.Rollback();
  1469. throw new Exception(ex.Message);
  1470. }
  1471. finally
  1472. {
  1473. if (conn.State == ConnectionState.Open)
  1474. {
  1475. conn.Close();
  1476. }
  1477. conn.Dispose();
  1478. }
  1479. }
  1480. /// <summary>
  1481. /// 周转箱使用记录查询
  1482. /// </summary>
  1483. /// <param name="queryJson"></param>
  1484. /// <param name="jqgridparam"></param>
  1485. /// <returns></returns>
  1486. public DataTable GetBoxesRecord(string queryJson, ref Pagination jqgridparam)
  1487. {
  1488. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1489. var queryParam = queryJson.ToJObject();
  1490. DataTable dt = new DataTable();
  1491. //var queryParam = queryJson.ToJObject();
  1492. List<DbParameter> parameter = new List<DbParameter>();
  1493. string sql = @"SELECT a.BoxCode ,a.BoxNumber,a.Picture,a.MTIME,a.MUSERName,b.BoxName FROM ICSWorkingCapitalBoxLog a
  1494. left JOIN ICSWorkingCapitalBoxAccount b ON a.BoxCode=b.BoxCode WHERE 1=1 ";
  1495. if (queryParam["BoxCode"] != null && queryParam["BoxCode"].ToString() != "")
  1496. {
  1497. sql = sql + $@"and a.BoxCode='{queryParam["BoxCode"]}' ";
  1498. }
  1499. if (queryParam["BoxName"] != null && queryParam["BoxName"].ToString() != "")
  1500. {
  1501. sql = sql + $@" and a.BoxCode='{queryParam["BoxName"]}'";
  1502. }
  1503. if (queryParam["BoxNumber"] != null && queryParam["BoxNumber"].ToString() != "")
  1504. {
  1505. sql = sql + $@" and a.BoxNumber='{queryParam["BoxNumber"]}'";
  1506. }
  1507. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1508. }
  1509. /// <summary>
  1510. /// 周转箱台账信息
  1511. /// </summary>
  1512. /// <param name="queryJson"></param>
  1513. /// <param name="jqgridparam"></param>
  1514. /// <returns></returns>
  1515. public DataTable GetBoxesAccountRecord(string queryJson, ref Pagination jqgridparam)
  1516. {
  1517. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1518. var queryParam = queryJson.ToJObject();
  1519. DataTable dt = new DataTable();
  1520. //var queryParam = queryJson.ToJObject();
  1521. List<DbParameter> parameter = new List<DbParameter>();
  1522. string sql = @"SELECT [ID], [BoxCode], [BoxNumber], [BoxName], [States], [Describe], [DailyUses], [TotalUses], [TotalClearn], [CleanDate], [Cleaner], [Picture], [MUser], [MUSERName], [MTIME] from ICSWorkingCapitalBoxAccount WHERE 1=1 ";
  1523. if (queryParam["BoxCode"] != null && queryParam["BoxCode"].ToString() != "")
  1524. {
  1525. sql = sql + $@"and a.BoxCode='{queryParam["BoxCode"]}' ";
  1526. }
  1527. if (queryParam["BoxName"] != null && queryParam["BoxName"].ToString() != "")
  1528. {
  1529. sql = sql + $@" and a.BoxCode='{queryParam["BoxName"]}'";
  1530. }
  1531. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1532. }
  1533. /// <summary>
  1534. /// 模具使用记录查询
  1535. /// </summary>
  1536. /// <param name="queryJson"></param>
  1537. /// <param name="jqgridparam"></param>
  1538. /// <returns></returns>
  1539. public DataTable GetMouldRecord(string queryJson, ref Pagination jqgridparam)
  1540. {
  1541. var queryParam = queryJson.ToJObject();
  1542. DataTable dt = new DataTable();
  1543. //var queryParam = queryJson.ToJObject();
  1544. List<DbParameter> parameter = new List<DbParameter>();
  1545. string sql = @"SELECT a.MouldCode,a.Status,a.EOPCode,a.Picture ,a.MouldNumber,a.DailyUses,b.MouldName,
  1546. (case when a.status = '' then a.StartDate else null end) as MaintenanceDate,
  1547. (case when a.status = '' then a.MUSERName else null end) as MaintenancePerson,
  1548. (case when a.status = '' then a.StartDate else null end) as MaintainDate,
  1549. (case when a.status = '' then a.MUSERName else null end) as MaintainPerson,
  1550. (case when a.status not in('','') then a.MTime else null end) as UseDate,
  1551. (case when a.status not in('','') then a.MUSERName else null end) as UsePerson
  1552. FROM ICSMouldLog a
  1553. left JOIN ICSMouldAccount b ON a.MouldCode=b.MouldCode WHERE 1=1 ";
  1554. if (queryParam["MouldCode"] != null && queryParam["MouldCode"].ToString() != "")
  1555. {
  1556. sql = sql + $@"and a.MouldCode='{queryParam["MouldCode"]}' ";
  1557. }
  1558. if (queryParam["MouldNumber"] != null && queryParam["MouldNumber"].ToString() != "")
  1559. {
  1560. sql = sql + $@"and a.MouldNumber='{queryParam["MouldNumber"]}' ";
  1561. }
  1562. if (queryParam["MouldName"] != null && queryParam["MouldName"].ToString() != "")
  1563. {
  1564. sql = sql + $@" and a.MouldCode='{queryParam["MouldName"]}'";
  1565. }
  1566. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1567. }
  1568. /// <summary>
  1569. /// 模具台账信息
  1570. /// </summary>
  1571. /// <param name="queryJson"></param>
  1572. /// <param name="jqgridparam"></param>
  1573. /// <returns></returns>
  1574. public DataTable GetMouldAccountRecord(string queryJson, ref Pagination jqgridparam)
  1575. {
  1576. var queryParam = queryJson.ToJObject();
  1577. DataTable dt = new DataTable();
  1578. //var queryParam = queryJson.ToJObject();
  1579. List<DbParameter> parameter = new List<DbParameter>();
  1580. string sql = @"SELECT [ID], [MouldCode], [MouldNumber], [MouldName], [MajorStates], [SubStates], [UpperLimit], [LowerLimit], [DailyUses],
  1581. [TotalUses], [Users], [UserDate], [Picture], [MUser], [MUSERName], [MTIME], [EATTRIBUTE1] FROM ICSMouldAccount WHERE 1=1 ";
  1582. if (queryParam["MouldCode"] != null && queryParam["MouldCode"].ToString() != "")
  1583. {
  1584. sql = sql + $@"and MouldCode='{queryParam["MouldCode"]}' ";
  1585. }
  1586. if (queryParam["MouldNumber"] != null && queryParam["MouldNumber"].ToString() != "")
  1587. {
  1588. sql = sql + $@"and MouldNumber='{queryParam["MouldNumber"]}' ";
  1589. }
  1590. if (queryParam["MouldName"] != null && queryParam["MouldName"].ToString() != "")
  1591. {
  1592. sql = sql + $@" and MouldCode='{queryParam["MouldName"]}'";
  1593. }
  1594. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1595. }
  1596. public void UpdateICSBadReasonGroup(ICSBadReason main, string BID, string BRGCode, string BRGDesc)
  1597. {
  1598. string sql = string.Empty;
  1599. string sqls = string.Empty;
  1600. //添加配置项,验证不良原因描述是否可以重复
  1601. string checkSql = $@"SELECT F_Id from Sys_SRM_ItemsDetail WHERE F_ItemCode='BadCauses' AND F_EnabledMark='1'";
  1602. bool check = false;
  1603. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1604. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  1605. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1606. List<ICSBadReason> list_Item1 = new List<ICSBadReason>();
  1607. if (main.arrayShellFabricItem != null)
  1608. {
  1609. list_Item1 = JsonConvert.DeserializeObject<List<ICSBadReason>>(main.arrayShellFabricItem);
  1610. }
  1611. var dt = SqlHelper.CmdExecuteDataTable(checkSql);
  1612. if (dt.Rows.Count > 0)
  1613. {
  1614. check = true;
  1615. }
  1616. string connString = SqlHelper.DataCenterConnString;
  1617. SqlConnection conn = new SqlConnection(connString);
  1618. conn.Open();
  1619. SqlTransaction sqlTran = conn.BeginTransaction();
  1620. SqlCommand cmd = new SqlCommand();
  1621. cmd.Transaction = sqlTran;
  1622. cmd.Connection = conn;
  1623. sql = @"UPDATE dbo.ICSBadReasonGroup set BRGCode='{0}',BRGDesc='{1}',MTIME=GETDATE(),MUSER='{2}',MUSERName='{3}',WorkPoint='{4}' WHERE ID='{5}'";
  1624. sql = string.Format(sql, BRGCode, BRGDesc, MUSER, MUSERNAME, WorkPoint, BID);
  1625. try
  1626. {
  1627. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  1628. {
  1629. foreach (ICSBadReason Item in list_Item1)
  1630. {
  1631. if (check)
  1632. {
  1633. sqls = @"IF NOT EXISTS(SELECT * FROM ICSBadReason WHERE ID = @ID)
  1634. BEGIN
  1635. IF EXISTS(SELECT * FROM ICSBadReason WHERE BadReasonDesc = @BadReasonDesc and Workpoint='{3}')
  1636. BEGIN
  1637. RAISERROR('" + Item.BadReasonDesc + @"', 16, 1);
  1638. RETURN
  1639. END
  1640. INSERT INTO ICSBadReason(ID, BRGroupID, BadReasonCode, BadReasonDesc, MTIME, MUSER, MUSERName, WorkPoint)
  1641. VALUES(@ID, '{0}', @BadReasonCode, @BadReasonDesc, getdate(), '{1}', '{2}', '{3}')
  1642. END
  1643. ELSE
  1644. BEGIN
  1645. IF EXISTS(SELECT* FROM ICSBadReason WHERE BadReasonDesc= @BadReasonDesc AND ID!= @ID and Workpoint='{3}')
  1646. BEGIN
  1647. RAISERROR('" + Item.BadReasonDesc + @"', 16, 1);
  1648. RETURN
  1649. END
  1650. UPDATE dbo.ICSBadReason set BRGroupID = '{0}',BadReasonCode = @BadReasonCode,BadReasonDesc = @BadReasonDesc,MTIME = GETDATE(),MUSER = '{1}',MUSERName = '{2}',WorkPoint = '{3}' WHERE ID = @ID
  1651. end
  1652. ";
  1653. }
  1654. else
  1655. {
  1656. sqls = @"IF NOT EXISTS(SELECT * FROM ICSBadReason WHERE ID=@ID)
  1657. BEGIN
  1658. INSERT INTO ICSBadReason( ID,BRGroupID,BadReasonCode,BadReasonDesc,MTIME,MUSER,MUSERName,WorkPoint)
  1659. VALUES (@ID,'{0}',@BadReasonCode,@BadReasonDesc,getdate(),'{1}','{2}','{3}')
  1660. END
  1661. ELSE
  1662. BEGIN
  1663. UPDATE dbo.ICSBadReason set BRGroupID='{0}',BadReasonCode=@BadReasonCode,BadReasonDesc=@BadReasonDesc,MTIME=GETDATE(),MUSER='{1}',MUSERName='{2}',WorkPoint='{3}' WHERE ID=@ID
  1664. end
  1665. ";
  1666. }
  1667. sqls = string.Format(sqls, BID, MUSER, MUSERNAME, WorkPoint);
  1668. SqlParameter[] sp_Item = {
  1669. new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  1670. new SqlParameter("@BadReasonCode",DbType.String){ Value= Item.BadReasonCode},
  1671. new SqlParameter("@BadReasonDesc",DbType.String){ Value= Item.BadReasonDesc},
  1672. };
  1673. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  1674. }
  1675. cmd.Transaction.Commit();
  1676. }
  1677. }
  1678. catch (Exception ex)
  1679. {
  1680. cmd.Transaction.Rollback();
  1681. throw new Exception(ex.Message);
  1682. }
  1683. finally
  1684. {
  1685. if (conn.State == ConnectionState.Open)
  1686. {
  1687. conn.Close();
  1688. }
  1689. conn.Dispose();
  1690. }
  1691. }
  1692. /// <summary>
  1693. /// 删除不良代码组
  1694. /// </summary>
  1695. /// <param name="keyValue">传入ID</param>
  1696. /// <returns></returns>
  1697. public string DeleteICSBadCodeGroup(string keyValue)
  1698. {
  1699. //站点信息
  1700. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1701. string msg = "";
  1702. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  1703. string sql = string.Empty;
  1704. sql += string.Format(@"DELETE FROM dbo.ICSBadCodeGroup WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  1705. sql += string.Format(@"DELETE FROM dbo.ICSBadCode WHERE BCGroupID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  1706. try
  1707. {
  1708. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  1709. {
  1710. }
  1711. }
  1712. catch (Exception ex)
  1713. {
  1714. throw new Exception(ex.Message);
  1715. }
  1716. return msg;
  1717. }
  1718. /// <summary>
  1719. /// 删除不良原因组
  1720. /// </summary>
  1721. /// <param name="keyValue">传入ID</param>
  1722. /// <returns></returns>
  1723. public string DeleteICSBadReasonGroup(string keyValue)
  1724. {
  1725. //站点信息
  1726. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1727. string msg = "";
  1728. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  1729. string sql = string.Empty;
  1730. sql += string.Format(@"DELETE FROM dbo.ICSBadReasonGroup WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  1731. sql += string.Format(@"DELETE FROM dbo.ICSBadReason WHERE BRGroupID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  1732. try
  1733. {
  1734. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  1735. {
  1736. }
  1737. }
  1738. catch (Exception ex)
  1739. {
  1740. throw new Exception(ex.Message);
  1741. }
  1742. return msg;
  1743. }
  1744. /// <summary>
  1745. /// 初次加载查询检验项目组
  1746. /// </summary>
  1747. /// <param name="jqgridparam"></param>
  1748. /// <returns></returns>
  1749. public DataTable GetICSInspectionGroup(ref Pagination jqgridparam, string queryJson)
  1750. {
  1751. DataTable dt = new DataTable();
  1752. var queryParam = queryJson.ToJObject();
  1753. string workPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1754. List<DbParameter> parameter = new List<DbParameter>();
  1755. string sql = $@"select ID,GroupCode,GroupName,Enable,MUSER,MUSERName,MTIME,EATTRIBUTE1 as Type,EATTRIBUTE2 as IQCStatus from ICSInspectionGroup WHERE WorkPoint='{workPoint}' ";
  1756. if (!string.IsNullOrWhiteSpace(queryJson))
  1757. {
  1758. if (!string.IsNullOrWhiteSpace(queryParam["ListCode"].ToString()))
  1759. {
  1760. sql += " and GroupCode like '%" + queryParam["ListCode"].ToString() + "%' ";
  1761. }
  1762. if (!string.IsNullOrWhiteSpace(queryParam["ListName"].ToString()))
  1763. {
  1764. sql += " and GroupName like '%" + queryParam["ListName"].ToString() + "%' ";
  1765. }
  1766. }
  1767. sql = string.Format(sql);
  1768. DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1769. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1770. }
  1771. /// <summary>
  1772. /// 检验项目子表查询
  1773. /// </summary>
  1774. /// <param name="queryJson"></param>
  1775. /// <param name="jqgridparam"></param>
  1776. /// <returns></returns>
  1777. public DataTable ICSInspectionList(string GroupCode, ref Pagination jqgridparam)
  1778. {
  1779. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1780. DataTable dt = new DataTable();
  1781. //var queryParam = queryJson.ToJObject();
  1782. List<DbParameter> parameter = new List<DbParameter>();
  1783. string sql = @" SELECT b.GroupID,b.ListCode,b.ListName,b.Unit,b.SetValueMax,b.SetValueMin,b.Enable,b.MUSERName,b.MTIME,b.EATTRIBUTE1,b.EATTRIBUTE2,b.EATTRIBUTE3,b.EATTRIBUTE4,b.EATTRIBUTE5,b.EATTRIBUTE6,b.EATTRIBUTE7,b.EATTRIBUTE8,
  1784. b.EATTRIBUTE9,b.EATTRIBUTE10 FROM ICSInspectionGroup a
  1785. LEFT JOIN ICSInspectionList b ON a.ID=b.GroupID
  1786. WHERE a.GroupCode='" + GroupCode + "'";
  1787. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1788. }
  1789. /// <summary>
  1790. /// 根据id删除自动表
  1791. /// </summary>
  1792. /// <param name="ID"></param>
  1793. public void DeleteList(string ID)
  1794. {
  1795. string sql = "DELETE FROM dbo.ICSInspectionList WHERE ID='" + ID + "'";
  1796. SqlHelper.ExecuteNonQuery(sql);
  1797. }
  1798. /// <summary>
  1799. /// 检查项目组修改
  1800. /// </summary>
  1801. /// <param name="main"></param>
  1802. /// <param name="BID"></param>
  1803. /// <param name="GroupCode"></param>
  1804. /// <param name="GroupName"></param>
  1805. /// <param name="Enable"></param>
  1806. public void UpdateICSInspectionGroup(ICSInspectionList main, List<EATTRIBUTEModel> attributteModel, string BID, string GroupCode, string GroupName, string Enable, string IQCStatus, string Type)
  1807. {
  1808. string sql = string.Empty;
  1809. string sqls = string.Empty;
  1810. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1811. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  1812. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1813. List<ICSInspectionList> list_Item1 = new List<ICSInspectionList>();
  1814. if (main.arrayShellFabricItem != null)
  1815. {
  1816. list_Item1 = JsonConvert.DeserializeObject<List<ICSInspectionList>>(main.arrayShellFabricItem);
  1817. }
  1818. string connString = SqlHelper.DataCenterConnString;
  1819. SqlConnection conn = new SqlConnection(connString);
  1820. conn.Open();
  1821. SqlTransaction sqlTran = conn.BeginTransaction();
  1822. SqlCommand cmd = new SqlCommand();
  1823. cmd.Transaction = sqlTran;
  1824. cmd.Connection = conn;
  1825. sql = @"UPDATE dbo.ICSInspectionGroup set GroupCode='{0}',GroupName='{1}',Enable='{2}',MTIME=GETDATE(),MUSER='{3}',MUSERName='{4}',WorkPoint='{5}' ,EATTRIBUTE2='{7}',EATTRIBUTE1='{8}' WHERE ID='{6}'";
  1826. sql = string.Format(sql, GroupCode, GroupName, Enable, MUSER, MUSERNAME, WorkPoint, BID, IQCStatus, Type);
  1827. try
  1828. {
  1829. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  1830. {
  1831. int i = 0;
  1832. foreach (ICSInspectionList Item in list_Item1)
  1833. {
  1834. if (string.IsNullOrWhiteSpace(Item.SetValueMax))
  1835. {
  1836. Item.SetValueMax = "null";
  1837. }
  1838. if (string.IsNullOrWhiteSpace(Item.SetValueMin))
  1839. {
  1840. Item.SetValueMin = "null";
  1841. }
  1842. sqls = $@" IF NOT EXISTS(SELECT * FROM ICSInspectionList WHERE ID='{Item.ID}')
  1843. BEGIN
  1844. INSERT INTO ICSInspectionList( ID,GroupID,ListCode,ListName,Unit,SetValueMax,SetValueMin,Enable,MTIME,MUSER,MUSERName,WorkPoint,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,EATTRIBUTE9,EATTRIBUTE10,EATTRIBUTE11,EATTRIBUTE12,EATTRIBUTE13,EATTRIBUTE14,EATTRIBUTE15,EATTRIBUTE16,EATTRIBUTE17,EATTRIBUTE18,EATTRIBUTE19,EATTRIBUTE20,EATTRIBUTE21,EATTRIBUTE22,EATTRIBUTE23,EATTRIBUTE24,EATTRIBUTE25,EATTRIBUTE26,EATTRIBUTE27,EATTRIBUTE28,EATTRIBUTE29,EATTRIBUTE30)
  1845. VALUES ('{Item.ID}','{BID}','{Item.ListCode}','{Item.ListName}','{Item.Unit}',{Item.SetValueMax},{Item.SetValueMin},'{Item.Enable}',getdate(),'{MUSER}','{MUSERNAME}','{WorkPoint}','{attributteModel[i].EATTRIBUTE1}','{attributteModel[i].EATTRIBUTE2}','{attributteModel[i].EATTRIBUTE3}','{attributteModel[i].EATTRIBUTE4}','{attributteModel[i].EATTRIBUTE5}','{attributteModel[i].EATTRIBUTE6}','{attributteModel[i].EATTRIBUTE7}','{attributteModel[i].EATTRIBUTE8}','{attributteModel[i].EATTRIBUTE9}','{attributteModel[i].EATTRIBUTE10}','{attributteModel[i].EATTRIBUTE11}','{attributteModel[i].EATTRIBUTE12}','{attributteModel[i].EATTRIBUTE13}','{attributteModel[i].EATTRIBUTE14}','{attributteModel[i].EATTRIBUTE15}','{attributteModel[i].EATTRIBUTE16}','{attributteModel[i].EATTRIBUTE17}','{attributteModel[i].EATTRIBUTE28}','{attributteModel[i].EATTRIBUTE19}','{attributteModel[i].EATTRIBUTE20}','{attributteModel[i].EATTRIBUTE21}','{attributteModel[i].EATTRIBUTE22}','{attributteModel[i].EATTRIBUTE23}','{attributteModel[i].EATTRIBUTE24}','{attributteModel[i].EATTRIBUTE25}','{attributteModel[i].EATTRIBUTE26}','{attributteModel[i].EATTRIBUTE27}','{attributteModel[i].EATTRIBUTE28}','{attributteModel[i].EATTRIBUTE29}','{attributteModel[i].EATTRIBUTE30}')
  1846. END
  1847. ELSE
  1848. BEGIN
  1849. UPDATE dbo.ICSInspectionList set GroupID='{BID}',ListCode='{Item.ListCode}',ListName='{Item.ListName}',Unit='{Item.Unit}',SetValueMax={Item.SetValueMax},SetValueMin={Item.SetValueMin},Enable='{Item.Enable}',MTIME=GETDATE(),MUSER='{MUSER}',MUSERName='{MUSERNAME}',WorkPoint='{WorkPoint}',EATTRIBUTE1='{attributteModel[i].EATTRIBUTE1}',EATTRIBUTE2='{attributteModel[i].EATTRIBUTE2}',EATTRIBUTE3='{attributteModel[i].EATTRIBUTE3}',EATTRIBUTE4='{attributteModel[i].EATTRIBUTE4}',EATTRIBUTE5='{attributteModel[i].EATTRIBUTE5}',EATTRIBUTE6='{attributteModel[i].EATTRIBUTE6}',EATTRIBUTE7='{attributteModel[i].EATTRIBUTE7}',EATTRIBUTE8='{attributteModel[i].EATTRIBUTE8}',EATTRIBUTE9='{attributteModel[i].EATTRIBUTE9}',EATTRIBUTE10='{attributteModel[i].EATTRIBUTE10}',EATTRIBUTE11='{attributteModel[i].EATTRIBUTE11}',EATTRIBUTE12='{attributteModel[i].EATTRIBUTE12}',EATTRIBUTE13='{attributteModel[i].EATTRIBUTE13}',EATTRIBUTE14='{attributteModel[i].EATTRIBUTE14}',EATTRIBUTE15='{attributteModel[i].EATTRIBUTE15}',EATTRIBUTE16='{attributteModel[i].EATTRIBUTE16}',EATTRIBUTE17='{attributteModel[i].EATTRIBUTE17}',EATTRIBUTE18='{attributteModel[i].EATTRIBUTE28}',EATTRIBUTE19='{attributteModel[i].EATTRIBUTE19}',EATTRIBUTE20='{attributteModel[i].EATTRIBUTE20}',EATTRIBUTE21='{attributteModel[i].EATTRIBUTE21}',EATTRIBUTE22='{attributteModel[i].EATTRIBUTE22}',EATTRIBUTE23='{attributteModel[i].EATTRIBUTE23}',EATTRIBUTE24='{attributteModel[i].EATTRIBUTE24}',EATTRIBUTE25='{attributteModel[i].EATTRIBUTE25}',EATTRIBUTE26='{attributteModel[i].EATTRIBUTE26}',EATTRIBUTE27='{attributteModel[i].EATTRIBUTE27}',EATTRIBUTE28='{attributteModel[i].EATTRIBUTE28}',EATTRIBUTE29='{attributteModel[i].EATTRIBUTE29}',EATTRIBUTE30='{attributteModel[i].EATTRIBUTE30}' WHERE ID='{Item.ID}'
  1850. end
  1851. ";
  1852. i++;
  1853. SqlParameter[] sp_Item = { };
  1854. //SqlParameter[] sp_Item = {
  1855. //new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  1856. //new SqlParameter("@ListCode",DbType.String){ Value= Item.ListCode},
  1857. //new SqlParameter("@ListName",DbType.String){ Value= Item.ListName},
  1858. //new SqlParameter("@Unit",DbType.String){ Value= Item.Unit},
  1859. //new SqlParameter("@SetValueMax",DbType.String){ Value= Item.SetValueMax},
  1860. //new SqlParameter("@SetValueMin",DbType.String){ Value= Item.SetValueMin},
  1861. //new SqlParameter("@Enable",DbType.String){ Value= Item.Enable},
  1862. //};
  1863. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  1864. }
  1865. cmd.Transaction.Commit();
  1866. }
  1867. }
  1868. catch (Exception ex)
  1869. {
  1870. cmd.Transaction.Rollback();
  1871. throw new Exception(ex.Message);
  1872. }
  1873. finally
  1874. {
  1875. if (conn.State == ConnectionState.Open)
  1876. {
  1877. conn.Close();
  1878. }
  1879. conn.Dispose();
  1880. }
  1881. }
  1882. /// <summary>
  1883. /// 检查项目组新增
  1884. /// </summary>
  1885. /// <param name="main"></param>
  1886. /// <param name="BRGCode"></param>
  1887. /// <param name="BRGDesc"></param>
  1888. public void ICSInspectionGroupAdd(ICSInspectionList main, List<EATTRIBUTEModel> attributteModel, string GroupCode, string GroupName, string Enable, string IQCStatus, string Type)
  1889. {
  1890. string sql = string.Empty;
  1891. string sqls = string.Empty;
  1892. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1893. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  1894. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1895. string ID = Guid.NewGuid().ToString();
  1896. List<ICSInspectionList> list_Item1 = new List<ICSInspectionList>();
  1897. if (main.arrayShellFabricItem != null)
  1898. {
  1899. list_Item1 = JsonConvert.DeserializeObject<List<ICSInspectionList>>(main.arrayShellFabricItem);
  1900. }
  1901. string connString = SqlHelper.DataCenterConnString;
  1902. SqlConnection conn = new SqlConnection(connString);
  1903. conn.Open();
  1904. SqlTransaction sqlTran = conn.BeginTransaction();
  1905. SqlCommand cmd = new SqlCommand();
  1906. cmd.Transaction = sqlTran;
  1907. cmd.Connection = conn;
  1908. try
  1909. {
  1910. sql = @"
  1911. IF EXISTS(select GroupCode from ICSInspectionGroup where GroupCode='{0}')
  1912. BEGIN
  1913. RAISERROR('',16,1);
  1914. RETURN
  1915. end
  1916. INSERT INTO dbo.ICSInspectionGroup
  1917. ( ID ,GroupCode ,GroupName,Enable, MTIME,MUSER ,MUSERName ,WorkPoint,EATTRIBUTE1,EATTRIBUTE2 )
  1918. Values('{6}','{0}','{1}','{2}',GETDATE(),'{3}','{4}','{5}','{7}','{8}')";
  1919. sql = string.Format(sql, GroupCode, GroupName, Enable, MUSER, MUSERNAME, WorkPoint, ID, Type, IQCStatus);
  1920. int i = 0;
  1921. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  1922. {
  1923. foreach (ICSInspectionList Item in list_Item1)
  1924. {
  1925. if (string.IsNullOrEmpty(Item.SetValueMax))
  1926. {
  1927. Item.SetValueMax = "null";
  1928. }
  1929. if (string.IsNullOrEmpty(Item.SetValueMin))
  1930. {
  1931. Item.SetValueMin = "null";
  1932. }
  1933. sqls = $@"
  1934. IF EXISTS(select ListCode from ICSInspectionList where ListCode='{Item.ListCode}')
  1935. BEGIN
  1936. RAISERROR('',16,1);
  1937. RETURN
  1938. end
  1939. INSERT INTO ICSInspectionList( ID,GroupID,ListCode,ListName,Unit,SetValueMax,SetValueMin,Enable,MTIME,MUSER,MUSERName,WorkPoint,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,EATTRIBUTE9,EATTRIBUTE10,EATTRIBUTE11,EATTRIBUTE12,EATTRIBUTE13,EATTRIBUTE14,EATTRIBUTE15,EATTRIBUTE16,EATTRIBUTE17,EATTRIBUTE18,EATTRIBUTE19,EATTRIBUTE20,EATTRIBUTE21,EATTRIBUTE22,EATTRIBUTE23,EATTRIBUTE24,EATTRIBUTE25,EATTRIBUTE26,EATTRIBUTE27,EATTRIBUTE28,EATTRIBUTE29,EATTRIBUTE30)
  1940. VALUES ('{Item.ID}','{ID}','{Item.ListCode}','{Item.ListName}','{Item.Unit}',{Item.SetValueMax},{Item.SetValueMin},'{Item.Enable}',getdate(),'{MUSER}','{MUSERNAME}','{WorkPoint}','{attributteModel[i].EATTRIBUTE1}','{attributteModel[i].EATTRIBUTE2}','{attributteModel[i].EATTRIBUTE3}','{attributteModel[i].EATTRIBUTE4}','{attributteModel[i].EATTRIBUTE5}','{attributteModel[i].EATTRIBUTE6}','{attributteModel[i].EATTRIBUTE7}','{attributteModel[i].EATTRIBUTE8}','{attributteModel[i].EATTRIBUTE9}','{attributteModel[i].EATTRIBUTE10}','{attributteModel[i].EATTRIBUTE11}','{attributteModel[i].EATTRIBUTE12}','{attributteModel[i].EATTRIBUTE13}','{attributteModel[i].EATTRIBUTE14}','{attributteModel[i].EATTRIBUTE15}','{attributteModel[i].EATTRIBUTE16}','{attributteModel[i].EATTRIBUTE17}','{attributteModel[i].EATTRIBUTE28}','{attributteModel[i].EATTRIBUTE19}','{attributteModel[i].EATTRIBUTE20}','{attributteModel[i].EATTRIBUTE21}','{attributteModel[i].EATTRIBUTE22}','{attributteModel[i].EATTRIBUTE23}','{attributteModel[i].EATTRIBUTE24}','{attributteModel[i].EATTRIBUTE25}','{attributteModel[i].EATTRIBUTE26}','{attributteModel[i].EATTRIBUTE27}','{attributteModel[i].EATTRIBUTE28}','{attributteModel[i].EATTRIBUTE29}','{attributteModel[i].EATTRIBUTE30}') ";
  1941. SqlParameter[] sp_Item = { };
  1942. // SqlParameter[] sp_Item = {
  1943. // new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  1944. // new SqlParameter("@ListCode",DbType.String){ Value= Item.ListCode},
  1945. // new SqlParameter("@ListName",DbType.String){ Value= Item.ListName},
  1946. // new SqlParameter("@Unit",DbType.String){ Value= Item.Unit},
  1947. // new SqlParameter("@SetValueMax",DbType.String){ Value= Item.SetValueMax},
  1948. // new SqlParameter("@SetValueMin",DbType.String){ Value= Item.SetValueMin},
  1949. // new SqlParameter("@Enable",DbType.String){ Value= Item.Enable},
  1950. //};
  1951. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  1952. i++;
  1953. }
  1954. cmd.Transaction.Commit();
  1955. }
  1956. }
  1957. catch (Exception ex)
  1958. {
  1959. cmd.Transaction.Rollback();
  1960. throw new Exception(ex.Message);
  1961. }
  1962. finally
  1963. {
  1964. if (conn.State == ConnectionState.Open)
  1965. {
  1966. conn.Close();
  1967. }
  1968. conn.Dispose();
  1969. }
  1970. }
  1971. /// <summary>
  1972. /// 动态子表修改加载页面
  1973. /// </summary>
  1974. /// <param name="GroupCode"></param>
  1975. /// <returns></returns>
  1976. public DataTable ICSInspectionList2(string GroupCode)
  1977. {
  1978. string sql = string.Empty;
  1979. DataTable dt = null;
  1980. sql = string.Format(@"SELECT b.ID,b.GroupID,b.ListCode,b.ListName,b.Unit,b.SetValueMax,b.SetValueMin,
  1981. case when b.Enable='1' then '是' else '否' end as Enable,
  1982. b.MUSER,b.MUSERName,b.MTIME,b.WorkPoint,b.EATTRIBUTE1 as ICSInspectionList_EATTRIBUTE1,b.EATTRIBUTE2 ICSInspectionList_EATTRIBUTE2,b.EATTRIBUTE3 ICSInspectionList_EATTRIBUTE3,b.EATTRIBUTE4 ICSInspectionList_EATTRIBUTE4,b.EATTRIBUTE5 ICSInspectionList_EATTRIBUTE5,b.EATTRIBUTE6 ICSInspectionList_EATTRIBUTE6,b.EATTRIBUTE7 ICSInspectionList_EATTRIBUTE7,b.EATTRIBUTE8 ICSInspectionList_EATTRIBUTE8,b.EATTRIBUTE9 ICSInspectionList_EATTRIBUTE9,b.EATTRIBUTE10 ICSInspectionList_EATTRIBUTE10 FROM ICSInspectionGroup a
  1983. LEFT JOIN ICSInspectionList b ON a.ID=b.GroupID
  1984. where GroupCode='{0}'", GroupCode);
  1985. dt = SqlHelper.GetDataTableBySql(sql);
  1986. return dt;
  1987. }
  1988. /// <summary>
  1989. /// 删除不良原因组
  1990. /// </summary>
  1991. /// <param name="keyValue">传入ID</param>
  1992. /// <returns></returns>
  1993. public string DeleteICSInspectionGroup(string keyValue)
  1994. {
  1995. //站点信息
  1996. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1997. string msg = "";
  1998. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  1999. string sql = string.Empty;
  2000. string sqls = string.Empty;
  2001. sql = string.Format(@"DELETE FROM dbo.ICSInspectionGroup WHERE GroupCode IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  2002. try
  2003. {
  2004. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2005. {
  2006. sqls = string.Format(@"DELETE FROM dbo.ICSInspectionList WHERE GroupID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  2007. SqlHelper.ExecuteNonQuery(sqls);
  2008. }
  2009. }
  2010. catch (Exception ex)
  2011. {
  2012. throw new Exception(ex.Message);
  2013. }
  2014. return msg;
  2015. }
  2016. /// <summary>
  2017. /// 新增料品属性
  2018. /// </summary>
  2019. /// <param name="queryJson"></param>
  2020. /// <returns></returns>
  2021. public string InsertICSInventory(string keyValue)
  2022. {
  2023. var queryParam = keyValue.ToJObject();
  2024. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2025. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2026. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2027. string msg = "";
  2028. string sql = string.Empty;
  2029. string sqlkey = string.Empty;
  2030. string sqlValue = string.Empty;
  2031. foreach (JObject jsonObject in queryParam["arrayOfObjects"])
  2032. {
  2033. foreach (var property in jsonObject.Properties())
  2034. {
  2035. string propertyName = property.Name; // 属性名
  2036. JToken propertyValue = property.Value; // 属性值
  2037. // 根据需要处理属性值...
  2038. if (propertyValue.Type == JTokenType.String)
  2039. {
  2040. string stringValue = (string)propertyValue;
  2041. // 处理字符串值...
  2042. }
  2043. else if (propertyValue.Type == JTokenType.Object)
  2044. {
  2045. JObject nestedObject = (JObject)propertyValue;
  2046. // 处理嵌套对象...
  2047. }
  2048. sqlkey += "," + propertyName + "";
  2049. sqlValue += ",'" + (string)propertyValue + "'";
  2050. // 处理其他类型的值...
  2051. }
  2052. }
  2053. sql = @"INSERT INTO dbo.ICSInventory
  2054. ( ID ,InvCode ,InvName ,InvDesc,InvStd,InvUnit,AmountUnit ,ClassCode ,ClassName ,InvRate,InvVersion,InvBrand,InvIQC ,InvFQC ,EffectiveEnable,EffectiveDays,BatchEnable,LotEnable ,PrintEnable ,WHUser,MTIME,MUSER ,MUSERName ,WorkPoint ,AmountEnable,OverType,OverValue,OverInType,OverInValue,ContainerEnable,InvOQC" + sqlkey + @")
  2055. Values(NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}',GETDATE(),'{19}','{20}','{21}','{22}','{23}','{24}','{25}','{26}','{27}','{28}'{29})
  2056. ";
  2057. sql = string.Format(sql,
  2058. queryParam["InvCode"].ToString(),
  2059. queryParam["InvName"].ToString(),
  2060. queryParam["InvDesc"].ToString(),
  2061. queryParam["InvStd"].ToString(),
  2062. queryParam["InvUnit"].ToString(),
  2063. queryParam["AmountUnit"].ToString(),
  2064. queryParam["ClassCode"].ToString(),
  2065. queryParam["ClassName"].ToString(),
  2066. queryParam["InvRate"].ToString(),
  2067. queryParam["InvVersion"].ToString(),
  2068. queryParam["InvBrand"].ToString(),
  2069. queryParam["InvIQC"].ToString(),
  2070. queryParam["InvFQC"].ToString(),
  2071. queryParam["EffectiveEnable"].ToString(),
  2072. queryParam["EffectiveDays"].ToString(),
  2073. queryParam["BatchEnable"].ToString(),
  2074. queryParam["LotEnable"].ToString(),
  2075. queryParam["PrintEnable"].ToString(),
  2076. queryParam["WHUser"].ToString(),
  2077. MUSER, MUSERNAME, WorkPoint, queryParam["AmountEnable"].ToString(),
  2078. queryParam["OverType"].ToString(),
  2079. queryParam["OverValue"].ToString(),
  2080. queryParam["OverInType"].ToString(),
  2081. queryParam["OverInValue"].ToString(),
  2082. queryParam["ContainerEnable"].ToString(),
  2083. queryParam["InvOQC"].ToString(), sqlValue
  2084. );
  2085. try
  2086. {
  2087. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2088. {
  2089. }
  2090. else
  2091. {
  2092. msg = "新增失败";
  2093. }
  2094. }
  2095. catch (Exception ex)
  2096. {
  2097. throw new Exception(ex.Message);
  2098. }
  2099. return msg;
  2100. }
  2101. /// <summary>
  2102. /// 新增周转箱台账信息
  2103. /// </summary>
  2104. /// <param name="queryJson"></param>
  2105. /// <returns></returns>
  2106. public string InsertBoxAccount(string keyValue)
  2107. {
  2108. var queryParam = keyValue.ToJObject();
  2109. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2110. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2111. string msg = "";
  2112. string sql = string.Empty;
  2113. sql = $@"IF ((SELECT 1 FROM ICSWorkingCapitalBoxAccount WHERE BoxCode='{queryParam["BoxCode"]}') IS NULL)
  2114. BEGIN
  2115. INSERT INTO[dbo].[ICSWorkingCapitalBoxAccount]([ID], [BoxCode], [BoxNumber], [BoxName], [States], [Describe], [DailyUses], [TotalUses], [TotalClearn], [MUser], [MUSERName], [MTIME]) VALUES(NEWID(), '{queryParam["BoxCode"]}', '{queryParam["BoxNumber"]}', '{queryParam["BoxName"]}', '', '{queryParam["Describe"]}', 0, 0, 0, '{MUSER}', '{MUSERNAME}', GETDATE())
  2116. END
  2117. ELSE
  2118. BEGIN
  2119. RAISERROR('', 16, 1);
  2120. END ";
  2121. try
  2122. {
  2123. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2124. {
  2125. }
  2126. else
  2127. {
  2128. msg = "新增失败";
  2129. }
  2130. }
  2131. catch (Exception ex)
  2132. {
  2133. throw new Exception(ex.Message);
  2134. }
  2135. return msg;
  2136. }
  2137. /// <summary>
  2138. /// 新增模具账信息
  2139. /// </summary>
  2140. /// <param name="queryJson"></param>
  2141. /// <returns></returns>
  2142. public string InsertMouldAccount(string keyValue)
  2143. {
  2144. var queryParam = keyValue.ToJObject();
  2145. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2146. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2147. string msg = "";
  2148. string sql = string.Empty;
  2149. sql = $@"IF ((SELECT 1 FROM ICSMouldAccount WHERE MouldCode='{queryParam["MouldCode"]}') IS NULL)
  2150. BEGIN
  2151. INSERT INTO[dbo].[ICSMouldAccount]([ID], [MouldCode], [MouldNumber], [MouldName], [MajorStates],[UpperLimit], [LowerLimit], [Picture], [MUser], [MUSERName], [MTIME],[DailyUses],[TotalUses]) VALUES(NEWID(), '{queryParam["MouldCode"]}', '{queryParam["MouldNumber"]}', '{queryParam["MouldName"]}','{queryParam["Status"]}',{queryParam["UpperLimit"]}, {queryParam["LowerLimit"]},'{queryParam["Picture"]}','{MUSER}', '{MUSERNAME}', GETDATE(),0,0)
  2152. END
  2153. ELSE
  2154. BEGIN
  2155. RAISERROR('', 16, 1);
  2156. END ";
  2157. try
  2158. {
  2159. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2160. {
  2161. }
  2162. else
  2163. {
  2164. msg = "新增失败";
  2165. }
  2166. }
  2167. catch (Exception ex)
  2168. {
  2169. throw new Exception(ex.Message);
  2170. }
  2171. return msg;
  2172. }
  2173. /// <summary>
  2174. /// 修改料品属性
  2175. /// </summary>
  2176. /// <param name="queryJson"></param>
  2177. /// <returns></returns>
  2178. public string UpdateICSInventory(string keyValue)
  2179. {
  2180. var queryParam = keyValue.ToJObject();
  2181. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2182. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2183. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2184. string msg = "";
  2185. string sqlJ = "";
  2186. string sql = string.Empty;
  2187. // 遍历JArray并处理每个JObject
  2188. foreach (JObject jsonObject in queryParam["arrayOfObjects"])
  2189. {
  2190. foreach (var property in jsonObject.Properties())
  2191. {
  2192. string propertyName = property.Name; // 属性名
  2193. JToken propertyValue = property.Value; // 属性值
  2194. // 根据需要处理属性值...
  2195. if (propertyValue.Type == JTokenType.String)
  2196. {
  2197. string stringValue = (string)propertyValue;
  2198. // 处理字符串值...
  2199. }
  2200. else if (propertyValue.Type == JTokenType.Object)
  2201. {
  2202. JObject nestedObject = (JObject)propertyValue;
  2203. // 处理嵌套对象...
  2204. }
  2205. sqlJ += "," + propertyName + "='" + (string)propertyValue + "'";
  2206. // 处理其他类型的值...
  2207. }
  2208. }
  2209. sql = @"UPDATE dbo.ICSInventory set
  2210. InvCode='{0}'
  2211. ,InvName='{1}'
  2212. ,InvDesc='{2}'
  2213. ,InvStd='{3}'
  2214. ,InvUnit='{4}'
  2215. ,AmountUnit='{5}'
  2216. ,ClassCode='{6}'
  2217. ,ClassName='{7}'
  2218. ,InvRate='{8}'
  2219. ,InvVersion='{9}'
  2220. ,InvBrand='{10}'
  2221. ,InvIQC='{11}'
  2222. ,InvFQC='{12}'
  2223. ,EffectiveEnable='{13}'
  2224. ,EffectiveDays='{14}'
  2225. ,BatchEnable='{15}'
  2226. ,LotEnable='{16}'
  2227. ,PrintEnable='{17}'
  2228. ,AmountEnable='{23}'
  2229. ,WHUser='{18}'
  2230. ,MTIME=GETDATE()
  2231. ,MUSER='{19}'
  2232. ,MUSERName='{20}'
  2233. ,WorkPoint='{21}'
  2234. ,OverType='{24}'
  2235. ,OverValue='{25}'
  2236. ,OverInType='{26}'
  2237. ,OverInValue='{27}'
  2238. ,ContainerEnable='{28}'
  2239. ,InvOQC='{29}' {30}
  2240. WHERE ID='{22}'";
  2241. sql = string.Format(sql,
  2242. queryParam["InvCode"].ToString(),
  2243. queryParam["InvName"].ToString(),
  2244. queryParam["InvDesc"].ToString(),
  2245. queryParam["InvStd"].ToString(),
  2246. queryParam["InvUnit"].ToString(),
  2247. queryParam["AmountUnit"].ToString(),
  2248. queryParam["ClassCode"].ToString(),
  2249. queryParam["ClassName"].ToString(),
  2250. queryParam["InvRate"].ToString(),
  2251. queryParam["InvVersion"].ToString(),
  2252. queryParam["InvBrand"].ToString(),
  2253. queryParam["InvIQC"].ToString(),
  2254. queryParam["InvFQC"].ToString(),
  2255. queryParam["EffectiveEnable"].ToString(),
  2256. queryParam["EffectiveDays"].ToString(),
  2257. queryParam["BatchEnable"].ToString(),
  2258. queryParam["LotEnable"].ToString(),
  2259. queryParam["PrintEnable"].ToString(),
  2260. queryParam["WHUser"].ToString(),
  2261. MUSER, MUSERNAME, WorkPoint,
  2262. queryParam["ID"].ToString(), queryParam["AmountEnable"].ToString(),
  2263. queryParam["OverType"].ToString(),
  2264. queryParam["OverValue"].ToString(),
  2265. queryParam["OverInType"].ToString(),
  2266. queryParam["OverInValue"].ToString(),
  2267. queryParam["ContainerEnable"].ToString(),
  2268. queryParam["InvOQC"].ToString(), sqlJ
  2269. );
  2270. try
  2271. {
  2272. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2273. {
  2274. }
  2275. else
  2276. {
  2277. msg = "修改失败";
  2278. }
  2279. }
  2280. catch (Exception ex)
  2281. {
  2282. throw new Exception(ex.Message);
  2283. }
  2284. return msg;
  2285. }
  2286. /// <summary>
  2287. /// 新增部门
  2288. /// </summary>
  2289. /// <param name="queryJson"></param>
  2290. /// <returns></returns>
  2291. public string InsertICSDeptment(string keyValue)
  2292. {
  2293. var queryParam = keyValue.ToJObject();
  2294. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2295. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2296. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2297. string msg = "";
  2298. string sql = string.Empty;
  2299. sql = @"IF EXISTS (SELECT DepCode FROM ICSDepartment WHERE DepCode='{0}' AND WorkPoint='{5}')
  2300. BEGIN
  2301. RAISERROR('', 16, 1);
  2302. END
  2303. ELSE
  2304. BEGIN
  2305. insert into ICSDepartment
  2306. (DepCode,DepName,DepFullName,DepGrade,DepEnd,WorkPoint,MUSER,MUSERName,MTIME)
  2307. values
  2308. ('{0}','{1}','{2}','{3}',{4},'{5}','{6}','{7}',GETDATE())
  2309. END";
  2310. sql = string.Format(sql,
  2311. queryParam["DepCode"].ToString(),
  2312. queryParam["DepName"].ToString(),
  2313. queryParam["DepFullName"].ToString(),
  2314. queryParam["DepGrade"].ToString(),
  2315. queryParam["DepEnd"].ToString(),
  2316. WorkPoint, MUSER, MUSERNAME);
  2317. try
  2318. {
  2319. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2320. {
  2321. }
  2322. else
  2323. {
  2324. msg = "新增失败";
  2325. }
  2326. }
  2327. catch (Exception ex)
  2328. {
  2329. throw new Exception(ex.Message);
  2330. }
  2331. return msg;
  2332. }
  2333. /// <summary>
  2334. /// 修改部门
  2335. /// </summary>
  2336. /// <param name="queryJson"></param>
  2337. /// <returns></returns>
  2338. public string UpdateICSDeptment(string keyValue)
  2339. {
  2340. var queryParam = keyValue.ToJObject();
  2341. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2342. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2343. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2344. string msg = "";
  2345. string sql = string.Empty;
  2346. sql = @"update ICSDepartment set DepName='{0}',DepFullName='{1}',DepGrade='{2}',DepEnd={3}
  2347. ,MUSER='{6}',MUSERName='{7}'
  2348. where DepCode='{4}' and WorkPoint='{5}'";
  2349. sql = string.Format(sql,
  2350. queryParam["DepName"].ToString(),
  2351. queryParam["DepFullName"].ToString(),
  2352. queryParam["DepGrade"].ToString(),
  2353. queryParam["DepEnd"].ToString(),
  2354. queryParam["DepCode"].ToString(),
  2355. WorkPoint, MUSER, MUSERNAME);
  2356. try
  2357. {
  2358. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2359. {
  2360. }
  2361. else
  2362. {
  2363. msg = "修改失败";
  2364. }
  2365. }
  2366. catch (Exception ex)
  2367. {
  2368. throw new Exception(ex.Message);
  2369. }
  2370. return msg;
  2371. }
  2372. /// <summary>
  2373. /// 删除部门
  2374. /// </summary>
  2375. /// <param name="keyValue">传入ID</param>
  2376. /// <returns></returns>
  2377. public string DeleteICSDeptment(string keyValue)
  2378. {
  2379. //站点信息
  2380. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2381. string msg = "";
  2382. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  2383. string sql = string.Empty;
  2384. sql = string.Format(@"DELETE FROM dbo.ICSDepartment WHERE ID IN ({0}) and WorkPoint ='{1}'"
  2385. , keyValue.TrimEnd(','), WorkPoint);
  2386. try
  2387. {
  2388. SqlHelper.ExecuteNonQuery(sql);
  2389. }
  2390. catch (Exception ex)
  2391. {
  2392. throw new Exception(ex.Message);
  2393. }
  2394. return msg;
  2395. }
  2396. /// <summary>
  2397. /// 修改周转箱台账
  2398. /// </summary>
  2399. /// <param name="queryJson"></param>
  2400. /// <returns></returns>
  2401. public string UpdateBoxAccount(string keyValue)
  2402. {
  2403. var queryParam = keyValue.ToJObject();
  2404. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2405. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2406. string msg = "";
  2407. string sql = string.Empty;
  2408. sql = $@"IF ((SELECT 1 FROM ICSWorkingCapitalBoxAccount WHERE BoxCode='{queryParam["BoxCode"]}') IS NULL)
  2409. BEGIN
  2410. UPDATE [dbo].[ICSWorkingCapitalBoxAccount] SET [BoxNumber] = '{queryParam["BoxNumber"]}', [BoxCode]='{queryParam["BoxCode"]}', [BoxName] = '{queryParam["BoxName"]}', [Describe] = '{queryParam["Describe"]}' WHERE ID='{queryParam["ID"]}'
  2411. END
  2412. ELSE
  2413. BEGIN
  2414. RAISERROR('', 16, 1);
  2415. END";
  2416. try
  2417. {
  2418. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2419. {
  2420. }
  2421. else
  2422. {
  2423. msg = "修改失败";
  2424. }
  2425. }
  2426. catch (Exception ex)
  2427. {
  2428. throw new Exception(ex.Message);
  2429. }
  2430. return msg;
  2431. }
  2432. /// <summary>
  2433. /// 修改模具台账
  2434. /// </summary>
  2435. /// <param name="queryJson"></param>
  2436. /// <returns></returns>
  2437. public string UpdateMouldAccount(string keyValue)
  2438. {
  2439. var queryParam = keyValue.ToJObject();
  2440. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2441. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2442. string msg = "";
  2443. string sql = string.Empty;
  2444. if (!string.IsNullOrEmpty(queryParam["Picture"].ToString()))
  2445. {
  2446. sql = $@" UPDATE [dbo].[ICSMouldAccount] SET [MouldNumber] = '{queryParam["MouldNumber"]}', [MouldName] = '{queryParam["MouldName"]}',MouldCode='{queryParam["MouldCode"]}', [MajorStates] = '{queryParam["Status"]}', [UpperLimit] = {queryParam["UpperLimit"]}, [LowerLimit] = {queryParam["LowerLimit"]}, [Picture] = '{queryParam["Picture"]}' WHERE ID='{queryParam["ID"]}'";
  2447. }
  2448. else
  2449. {
  2450. sql = $@" UPDATE [dbo].[ICSMouldAccount] SET [MouldNumber] = '{queryParam["MouldNumber"]}',MouldCode='{queryParam["MouldCode"]}', [MouldName] = '{queryParam["MouldName"]}', [MajorStates] = '{queryParam["Status"]}', [UpperLimit] = {queryParam["UpperLimit"]}, [LowerLimit] = {queryParam["LowerLimit"]} WHERE ID='{queryParam["ID"]}'";
  2451. }
  2452. try
  2453. {
  2454. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2455. {
  2456. }
  2457. else
  2458. {
  2459. msg = "修改失败";
  2460. }
  2461. }
  2462. catch (Exception ex)
  2463. {
  2464. throw new Exception(ex.Message);
  2465. }
  2466. return msg;
  2467. }
  2468. /// <summary>
  2469. /// 修改PDA版本
  2470. /// </summary>
  2471. /// <param name="queryJson"></param>
  2472. /// <returns></returns>
  2473. public string UpdatePDAVersion(string keyValue)
  2474. {
  2475. var queryParam = keyValue.ToJObject();
  2476. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2477. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2478. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2479. string msg = "";
  2480. string sql = string.Empty;
  2481. sql = @"UPDATE ICSVersions SET Version='{2}',URL='{3}',MUSERCode='{4}',MUSERName='{5}',MTIME=CONVERT(nvarchar(50),GETDATE(),120) WHERE guid='{0}' AND WorkPointCode IN('{1}')";
  2482. sql = string.Format(sql,
  2483. queryParam["guid"].ToString(),
  2484. WorkPoint,
  2485. queryParam["Version"].ToString(),
  2486. queryParam["URL"].ToString(),
  2487. MUSER,
  2488. MUSERNAME);
  2489. try
  2490. {
  2491. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2492. {
  2493. }
  2494. else
  2495. {
  2496. msg = "修改失败";
  2497. }
  2498. }
  2499. catch (Exception ex)
  2500. {
  2501. throw new Exception(ex.Message);
  2502. }
  2503. return msg;
  2504. }
  2505. /// <summary>
  2506. /// 获取下拉料品号获取其他信息
  2507. /// </summary>
  2508. public DataTable GetInputValue(string ID)
  2509. {
  2510. try
  2511. {
  2512. DataTable dt = new DataTable();
  2513. //var queryParam = queryJson.ToJObject();
  2514. List<DbParameter> parameter = new List<DbParameter>();
  2515. string sql = @"select InvCode,InvName,InvDesc,InvStd,InvUnit,AmountUnit, ClassCode,ClassName,InvRate,InvVersion,InvBrand,InvIQC,InvOQC,
  2516. InvFQC,EffectiveEnable,EffectiveDays,BatchEnable,LotEnable,PrintEnable,WHUser,AmountEnable,OverType,OverValue,OverInType,OverInValue,ContainerEnable , {1}
  2517. from ICSInventory
  2518. WHERE 1=1 AND ID='{0}' ";
  2519. string EATTRIBUTE = @"EATTRIBUTE1, EATTRIBUTE2, EATTRIBUTE3, EATTRIBUTE4, EATTRIBUTE5, EATTRIBUTE6, EATTRIBUTE7, EATTRIBUTE8, EATTRIBUTE9, EATTRIBUTE10, EATTRIBUTE11, EATTRIBUTE12, EATTRIBUTE13, EATTRIBUTE14, EATTRIBUTE15, EATTRIBUTE16, EATTRIBUTE17, EATTRIBUTE18, EATTRIBUTE19, EATTRIBUTE20, EATTRIBUTE21, EATTRIBUTE22, EATTRIBUTE23, EATTRIBUTE24, EATTRIBUTE25, EATTRIBUTE26, EATTRIBUTE27, EATTRIBUTE28, EATTRIBUTE29, EATTRIBUTE30";
  2520. sql = string.Format(sql, ID, EATTRIBUTE);
  2521. return Repository().FindTableBySql(sql.ToString());
  2522. }
  2523. catch (Exception ex)
  2524. {
  2525. throw new Exception(ex.Message.ToString());
  2526. }
  2527. }
  2528. /// <summary>
  2529. /// 获取下拉料品号获取其他信息
  2530. /// </summary>
  2531. public DataTable GetStackValue(string ID)
  2532. {
  2533. try
  2534. {
  2535. DataTable dt = new DataTable();
  2536. //var queryParam = queryJson.ToJObject();
  2537. List<DbParameter> parameter = new List<DbParameter>();
  2538. string sql = @"SELECT * FROM ICSLocation
  2539. WHERE 1=1 AND ID='{0}' ";
  2540. sql = string.Format(sql, ID);
  2541. return Repository().FindTableBySql(sql.ToString());
  2542. }
  2543. catch (Exception ex)
  2544. {
  2545. throw new Exception(ex.Message.ToString());
  2546. }
  2547. }
  2548. /// <summary>
  2549. /// 获取部门修改文本框值
  2550. /// </summary>
  2551. public DataTable GetDepInputValue(string ID)
  2552. {
  2553. try
  2554. {
  2555. DataTable dt = new DataTable();
  2556. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2557. //var queryParam = queryJson.ToJObject();
  2558. List<DbParameter> parameter = new List<DbParameter>();
  2559. string sql = @"select DepCode,DepName,DepFullName,DepGrade,DepEnd from ICSDepartment
  2560. where 1=1 and ID='{0}' and WorkPoint='{1}' ";
  2561. sql = string.Format(sql, ID, WorkPoint);
  2562. return Repository().FindTableBySql(sql.ToString());
  2563. }
  2564. catch (Exception ex)
  2565. {
  2566. throw new Exception(ex.Message.ToString());
  2567. }
  2568. }
  2569. /// <summary>
  2570. /// 删除料品属性
  2571. /// </summary>
  2572. /// <param name="keyValue">传入ID</param>
  2573. /// <returns></returns>
  2574. public string DeleteICSInventory(string keyValue)
  2575. {
  2576. //站点信息
  2577. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2578. string msg = "";
  2579. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  2580. string sql = string.Empty;
  2581. sql = string.Format(@"IF EXISTS(select InvCode from ICSInventoryLot where InvCode in ({0}) and WorkPoint='{1}')
  2582. BEGIN
  2583. RAISERROR('',16,1);
  2584. RETURN
  2585. end
  2586. DELETE FROM dbo.ICSInventory WHERE ID IN ({0}) and WorkPoint ='{1}'"
  2587. , keyValue.TrimEnd(','), WorkPoint);
  2588. try
  2589. {
  2590. SqlHelper.ExecuteNonQuery(sql);
  2591. }
  2592. catch (Exception ex)
  2593. {
  2594. throw new Exception(ex.Message);
  2595. }
  2596. return msg;
  2597. }
  2598. /// <summary>
  2599. /// 删除周转箱台账信息
  2600. /// </summary>
  2601. /// <param name="keyValue">传入ID</param>
  2602. /// <returns></returns>
  2603. public string DeleteBoxAccount(string keyValue)
  2604. {
  2605. //站点信息
  2606. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2607. string msg = "";
  2608. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  2609. string sql = string.Empty;
  2610. sql = string.Format(@"DELETE FROM dbo.ICSWorkingCapitalBoxAccount WHERE ID IN ({0})", keyValue.TrimEnd(','));
  2611. try
  2612. {
  2613. SqlHelper.ExecuteNonQuery(sql);
  2614. }
  2615. catch (Exception ex)
  2616. {
  2617. throw new Exception(ex.Message);
  2618. }
  2619. return msg;
  2620. }
  2621. /// <summary>
  2622. /// 获取料品信息
  2623. /// </summary>
  2624. /// <param name="jqgridparam"></param>
  2625. /// <returns></returns>
  2626. public DataTable GetICSInventoryInfo(string queryJson, ref Pagination jqgridparam)
  2627. {
  2628. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2629. DataTable dt = new DataTable();
  2630. var queryParam = queryJson.ToJObject();
  2631. List<DbParameter> parameter = new List<DbParameter>();
  2632. string sql = @"select ID, InvCode,InvName,InvDesc,InvStd,InvUnit,AmountUnit,ClassCode,ClassName,InvRate,InvVersion,InvBrand,
  2633. InvIQC,InvFQC,EffectiveEnable,EffectiveDays,BatchEnable,LotEnable,PrintEnable,WHUser
  2634. from ICSInventory where WorkPoint='{0}' ";
  2635. sql = string.Format(sql, WorkPoint);
  2636. if (!string.IsNullOrWhiteSpace(queryJson))
  2637. {
  2638. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  2639. {
  2640. sql += " and InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  2641. }
  2642. if (!string.IsNullOrWhiteSpace(queryParam["ClassCode"].ToString()))
  2643. {
  2644. sql += " and ClassCode like '" + queryParam["ClassCode"].ToString() + "%' ";
  2645. }
  2646. }
  2647. // DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  2648. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  2649. }
  2650. /// <summary>
  2651. /// 获取仓库信息
  2652. /// </summary>
  2653. /// <param name="jqgridparam"></param>
  2654. /// <returns></returns>
  2655. public DataTable GetICSWarehouseInfo(string queryJson, ref Pagination jqgridparam)
  2656. {
  2657. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2658. DataTable dt = new DataTable();
  2659. var queryParam = queryJson.ToJObject();
  2660. List<DbParameter> parameter = new List<DbParameter>();
  2661. string sql = @"select ID,WarehouseCode,WarehouseName ,Enable,BatchEnable,Asset,Proxy,InCost from ICSWarehouse where WorkPoint='{0}' ";
  2662. sql = string.Format(sql, WorkPoint);
  2663. if (!string.IsNullOrWhiteSpace(queryJson))
  2664. {
  2665. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  2666. {
  2667. sql += " and WarehouseCode like '%" + queryParam["WHCode"].ToString() + "%' ";
  2668. }
  2669. }
  2670. DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  2671. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  2672. }
  2673. /// <summary>
  2674. /// 新增料品仓库批次关系
  2675. /// </summary>
  2676. /// <param name="queryJson"></param>
  2677. /// <returns></returns>
  2678. public string InsertICSInventoryBatchEnable(string keyValue, string keyValue2)
  2679. {
  2680. List<string> InvCodeList = keyValue.Substring(1, keyValue.Length - 3).Split(',').ToList<string>();
  2681. List<string> WarehouseCodeList = keyValue2.Substring(1, keyValue2.Length - 3).Split(',').ToList<string>();
  2682. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2683. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2684. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2685. string msg = "";
  2686. string sql = string.Empty;
  2687. foreach (var item in InvCodeList)
  2688. {
  2689. foreach (var itemwh in WarehouseCodeList)
  2690. {
  2691. sql += @"IF EXISTS(select InvCode,WHCode from ICSInventoryBatchEnable where InvCode={0} and WHCode={1})
  2692. BEGIN
  2693. RAISERROR('',16,1);
  2694. RETURN
  2695. end
  2696. INSERT INTO dbo.ICSInventoryBatchEnable
  2697. ( ID ,InvCode ,WHCode ,BatchEnable,MTIME,MUSER ,MUSERName ,WorkPoint )
  2698. Values(NEWID(),{0},{1},'{2}',GETDATE(),'{3}','{4}','{5}')
  2699. ";
  2700. sql = string.Format(sql, item, itemwh, '1'.ToString(), MUSER, MUSERNAME, WorkPoint);
  2701. }
  2702. }
  2703. try
  2704. {
  2705. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2706. {
  2707. }
  2708. else
  2709. {
  2710. msg = "新增失败";
  2711. }
  2712. }
  2713. catch (Exception ex)
  2714. {
  2715. msg = ex.Message;
  2716. }
  2717. return msg;
  2718. }
  2719. /// <summary>
  2720. /// 修改料品仓库批次关系
  2721. /// </summary>
  2722. /// <param name="queryJson"></param>
  2723. /// <returns></returns>
  2724. public string UpdateICSInventoryBatchEnable(string keyValue)
  2725. {
  2726. var queryParam = keyValue.ToJObject();
  2727. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2728. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2729. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2730. string msg = "";
  2731. string sql = string.Empty;
  2732. sql = @"UPDATE dbo.ICSInventoryBatchEnable set InvCode='{0}',WHCode='{1}',BatchEnable='{2}',MTIME=GETDATE(),MUSER='{3}',MUSERName='{4}',WorkPoint='{5}' WHERE ID='{6}'";
  2733. sql = string.Format(sql, queryParam["InvCode"].ToString(), queryParam["WHCode"].ToString(), queryParam["BatchEnable"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString());
  2734. try
  2735. {
  2736. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2737. {
  2738. }
  2739. else
  2740. {
  2741. msg = "修改失败";
  2742. }
  2743. }
  2744. catch (Exception ex)
  2745. {
  2746. throw new Exception(ex.Message);
  2747. }
  2748. return msg;
  2749. }
  2750. /// <summary>
  2751. /// 删除料品仓库批次关系
  2752. /// </summary>
  2753. /// <param name="keyValue">传入ID</param>
  2754. /// <returns></returns>
  2755. public string DeleteICSInventoryBatchEnable(string keyValue)
  2756. {
  2757. //站点信息
  2758. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2759. string msg = "";
  2760. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  2761. string sql = string.Empty;
  2762. sql = string.Format(@"DELETE FROM dbo.ICSInventoryBatchEnable WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  2763. try
  2764. {
  2765. SqlHelper.ExecuteNonQuery(sql);
  2766. }
  2767. catch (Exception ex)
  2768. {
  2769. throw new Exception(ex.Message);
  2770. }
  2771. return msg;
  2772. }
  2773. /// <summary>
  2774. /// 获取库位信息
  2775. /// </summary>
  2776. /// <param name="jqgridparam"></param>
  2777. /// <returns></returns>
  2778. public DataTable GetICSLocation(string queryJson, ref Pagination jqgridparam)
  2779. {
  2780. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2781. DataTable dt = new DataTable();
  2782. var queryParam = queryJson.ToJObject();
  2783. List<DbParameter> parameter = new List<DbParameter>();
  2784. string sql = @"select a.ID,a.LocationCode,a.LocationName,a.WHID,a.MUSER,a.MUSERName,a.MTIME,a.WorkPoint
  2785. from ICSLocation a INNER JOIN ICSWarehouse b ON a.WHID=b.ID
  2786. where a.WorkPoint='{0}' ";
  2787. sql = string.Format(sql, WorkPoint);
  2788. if (!string.IsNullOrWhiteSpace(queryJson))
  2789. {
  2790. if (!string.IsNullOrWhiteSpace(queryParam["LocationCode"].ToString()))
  2791. {
  2792. sql += " and a.LocationCode like '%" + queryParam["LocationCode"].ToString() + "%' ";
  2793. }
  2794. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  2795. {
  2796. sql += " and b.WarehouseCode like '%" + queryParam["WHCode"].ToString() + "%' ";
  2797. }
  2798. }
  2799. //DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  2800. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  2801. }
  2802. /// <summary>
  2803. /// 新增料品仓库批次关系(3024-1-31 代码优化)
  2804. /// </summary>
  2805. /// <param name="queryJson"></param>
  2806. /// <returns></returns>
  2807. public string InsertICSInventoryLocation(string keyValue, string keyValue2)
  2808. {
  2809. keyValue = keyValue.Substring(1, keyValue.Length - 3);
  2810. keyValue2 = keyValue2.Substring(1, keyValue2.Length - 3);
  2811. //List<string> InvCodeList = keyValue.Substring(1, keyValue.Length - 3).Split(',').ToList<string>();
  2812. //List<string> LocationCodeList = keyValue2.Substring(1, keyValue2.Length - 3).Split(',').ToList<string>();
  2813. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2814. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2815. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2816. string msg = "";
  2817. try
  2818. {
  2819. // foreach (var item in InvCodeList)
  2820. // {
  2821. // foreach (var itemwh in LocationCodeList)
  2822. // {
  2823. // sql += @"IF EXISTS(select InvCode,LocationCode from ICSInventoryLocation where InvCode={0} and LocationCode={1})
  2824. // BEGIN
  2825. // RAISERROR('请勿重复绑定料品库位关系!',16,1);
  2826. // RETURN
  2827. // end
  2828. // INSERT INTO dbo.ICSInventoryLocation
  2829. // ( ID ,InvCode ,LocationCode ,Enable,MTIME,MUSER ,MUSERName ,WorkPoint )
  2830. // Values(NEWID(),{0},{1},'{2}',GETDATE(),'{3}','{4}','{5}')
  2831. //";
  2832. // sql = string.Format(sql, item, itemwh, '1'.ToString(), MUSER, MUSERNAME, WorkPoint);
  2833. // }
  2834. // }
  2835. string sql = $@"if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#TempInventoryLocation'))
  2836. drop table #TempInventoryLocation ;
  2837. SELECT a.InvCode,b.LocationCode,a.WorkPoint INTO #TempInventoryLocation from ICSInventory a
  2838. left JOIN ICSLocation b ON a.WorkPoint=b.WorkPoint AND b.LocationCode IN ({keyValue2})
  2839. WHERE a.InvCode IN ({keyValue}) and a.WorkPoint={WorkPoint};
  2840. INSERT into ICSInventoryLocation ( ID ,InvCode ,LocationCode ,Enable,MTIME,MUSER ,MUSERName ,WorkPoint ) SELECT NEWID(),a.InvCode,a.LocationCode,'1',GETDATE(),'{MUSER}','{MUSERNAME}',a.WorkPoint FROM #TempInventoryLocation a
  2841. LEFT JOIN ICSInventoryLocation b ON a.LocationCode=b.LocationCode AND a.WorkPoint=b.WorkPoint AND a.InvCode=b.InvCode
  2842. WHERE b.LocationCode is NULL;
  2843. drop table #TempInventoryLocation;";
  2844. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2845. {
  2846. }
  2847. else
  2848. {
  2849. msg = "新增失败";
  2850. }
  2851. }
  2852. catch (Exception ex)
  2853. {
  2854. msg = ex.Message;
  2855. }
  2856. return msg;
  2857. }
  2858. /// <summary>
  2859. /// 修改料品库位绑定关系
  2860. /// </summary>
  2861. /// <param name="queryJson"></param>
  2862. /// <returns></returns>
  2863. public string UpdateICSInventoryLocation(string keyValue)
  2864. {
  2865. var queryParam = keyValue.ToJObject();
  2866. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2867. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2868. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2869. string msg = "";
  2870. string sql = string.Empty;
  2871. sql = @"UPDATE dbo.ICSInventoryLocation set InvCode='{0}',LocationCode='{1}',Enable='{2}',MTIME=GETDATE(),MUSER='{3}',MUSERName='{4}',WorkPoint='{5}' WHERE ID='{6}'";
  2872. sql = string.Format(sql, queryParam["InvCode"].ToString(), queryParam["LocationCode"].ToString(), queryParam["Enable"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString());
  2873. try
  2874. {
  2875. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2876. {
  2877. }
  2878. else
  2879. {
  2880. msg = "修改失败";
  2881. }
  2882. }
  2883. catch (Exception ex)
  2884. {
  2885. throw new Exception(ex.Message);
  2886. }
  2887. return msg;
  2888. }
  2889. /// <summary>
  2890. /// 删除料品仓库批次关系
  2891. /// </summary>
  2892. /// <param name="keyValue">传入ID</param>
  2893. /// <returns></returns>
  2894. public string DeleteICSInventoryLocation(string keyValue)
  2895. {
  2896. //站点信息
  2897. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2898. string msg = "";
  2899. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  2900. string sql = string.Empty;
  2901. sql = string.Format(@"DELETE FROM dbo.ICSInventoryLocation WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  2902. try
  2903. {
  2904. SqlHelper.ExecuteNonQuery(sql);
  2905. }
  2906. catch (Exception ex)
  2907. {
  2908. throw new Exception(ex.Message);
  2909. }
  2910. return msg;
  2911. }
  2912. /// <summary>
  2913. /// 新增包装、容器
  2914. /// </summary>
  2915. /// <param name="queryJson"></param>
  2916. /// <returns></returns>
  2917. /// 20230717 lacy.xu Modifly 新增允许料品混装、允许项目号混装、允许批次混装、允许复用
  2918. public string InsertICSContainer(string keyValue)
  2919. {
  2920. string msg = "";
  2921. try
  2922. {
  2923. var queryParam = keyValue.ToJObject();
  2924. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2925. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2926. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2927. string sql = string.Empty;
  2928. sql = @"IF EXISTS(select ContainerCODE from ICSContainer where ContainerCODE='{1}' )
  2929. RAISERROR('{1}',16,1)
  2930. else
  2931. INSERT INTO dbo.ICSContainer
  2932. ( ID ,ContainerID ,ContainerCODE ,ContainerName,Memo,MTIME,MUSER ,MUSERName ,WorkPoint
  2933. ,InventoryMixed,ProjectMixed,BatchMixed,Multiplex,ContainerType)
  2934. Values(NEWID(),'{0}','{1}','{2}','{3}',GETDATE(),'{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}')
  2935. ";
  2936. sql = string.Format(sql, queryParam["ContainerID"].ToString(), queryParam["ContainerCODE"].ToString(), queryParam["ContainerName"].ToString(), queryParam["Memo"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["InventoryMixed"].ToString(), queryParam["ProjectMixed"].ToString(), queryParam["BatchMixed"].ToString(), queryParam["Multiplex"].ToString(), queryParam["ContainerType"].ToString());
  2937. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2938. {
  2939. }
  2940. else
  2941. {
  2942. msg = "新增失败";
  2943. }
  2944. }
  2945. catch (Exception ex)
  2946. {
  2947. throw new Exception(ex.Message);
  2948. }
  2949. return msg;
  2950. }
  2951. /// <summary>
  2952. /// 新增包装、容器
  2953. /// </summary>
  2954. /// <param name="queryJson"></param>
  2955. /// <returns></returns>
  2956. /// 20230717 lacy.xu Modifly 新增允许料品混装、允许项目号混装、允许批次混装、允许复用
  2957. public string InsertICSContainerMore(string keyValue)
  2958. {
  2959. string msg = "";
  2960. try
  2961. {
  2962. var queryParam = keyValue.ToJObject();
  2963. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2964. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2965. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2966. string sql = string.Empty;
  2967. for (int i = 0; i < queryParam["CardsNum"].ToInt(); i++)
  2968. {
  2969. object ContainerCode = GetContainerCODE(WorkPoint, "ICSContainer", "ContainerCode", "PKG" + DateTime.Today.ToString("yyyyMMdd"), 5);
  2970. sql += @"IF EXISTS(select ContainerCODE from ICSContainer where ContainerCODE='{1}' )
  2971. RAISERROR('{1}',16,1)
  2972. else
  2973. INSERT INTO dbo.ICSContainer
  2974. ( ID ,ContainerID ,ContainerCODE ,ContainerName,Memo,MTIME,MUSER ,MUSERName ,WorkPoint
  2975. ,InventoryMixed,ProjectMixed,BatchMixed,Multiplex,ContainerType)
  2976. Values(NEWID(),'{0}','{1}','{2}','{3}',GETDATE(),'{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}')
  2977. ";
  2978. sql = string.Format(sql, queryParam["ContainerID"].ToString(), ContainerCode.ToString(), ContainerCode.ToString(), queryParam["Memo"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["InventoryMixed"].ToString(), queryParam["ProjectMixed"].ToString(), queryParam["BatchMixed"].ToString(), queryParam["Multiplex"].ToString(), queryParam["ContainerType"].ToString());
  2979. }
  2980. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  2981. {
  2982. }
  2983. else
  2984. {
  2985. msg = "新增失败";
  2986. }
  2987. }
  2988. catch (Exception ex)
  2989. {
  2990. throw new Exception(ex.Message);
  2991. }
  2992. return msg;
  2993. }
  2994. public object GetContainerCODE(string workPointCode, string tbName, string colName, string Pre, int numLen)
  2995. {
  2996. string sql = "EXEC Addins_GetSerialCode '{0}','{1}','{2}','{3}',{4}";
  2997. sql = string.Format(sql, new object[] { workPointCode, tbName, colName, Pre, numLen });
  2998. return SqlHelper.ExecuteScalar(sql);
  2999. }
  3000. /// <summary>
  3001. /// 修改包装、容器
  3002. /// </summary>
  3003. /// <param name="queryJson"></param>
  3004. /// <returns></returns>
  3005. /// 20230717 lacy.xu Modifly 新增允许料品混装、允许项目号混装、允许批次混装、允许复用
  3006. public string UpdateICSContainer(string keyValue)
  3007. {
  3008. var queryParam = keyValue.ToJObject();
  3009. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3010. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3011. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3012. string msg = "";
  3013. string sql = string.Empty;
  3014. // sql = @" IF EXISTS(select ContainerCODE from ICSContainer where ContainerCODE='{1}' )
  3015. // RAISERROR('容器:{1},已存在!',16,1)
  3016. //UPDATE dbo.ICSContainer set ContainerID='{0}',ContainerCODE='{1}',ContainerName='{2}',Memo='{3}',MTIME=GETDATE(),MUSER='{4}',MUSERName='{5}',WorkPoint='{6}',InventoryMixed='{8}',ProjectMixed='{9}',BatchMixed='{10}',Multiplex='{11}' WHERE ID='{7}'";
  3017. sql = @"UPDATE dbo.ICSContainer set ContainerID='{0}',ContainerCODE='{1}',ContainerName='{2}',Memo='{3}',MTIME=GETDATE(),MUSER='{4}',MUSERName='{5}',WorkPoint='{6}',InventoryMixed='{8}',ProjectMixed='{9}',BatchMixed='{10}',Multiplex='{11}',ContainerType='{12}' WHERE ID='{7}'";
  3018. sql = string.Format(sql, queryParam["ContainerID"].ToString(), queryParam["ContainerCODE"].ToString(), queryParam["ContainerName"].ToString(), queryParam["Memo"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString(), queryParam["InventoryMixed"].ToString(), queryParam["ProjectMixed"].ToString(), queryParam["BatchMixed"].ToString(), queryParam["Multiplex"].ToString(), queryParam["ContainerType"].ToString());
  3019. try
  3020. {
  3021. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  3022. {
  3023. }
  3024. else
  3025. {
  3026. msg = "修改失败";
  3027. }
  3028. }
  3029. catch (Exception ex)
  3030. {
  3031. msg = ex.Message;
  3032. }
  3033. return msg;
  3034. }
  3035. /// <summary>
  3036. /// 删除包装、容器
  3037. /// </summary>
  3038. /// <param name="keyValue">传入ID</param>
  3039. /// <returns></returns>
  3040. public string UnBindingICSContainer(string keyValue)
  3041. {
  3042. ////站点信息
  3043. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3044. //string msg = "";
  3045. //keyValue = keyValue.Substring(1, keyValue.Length - 2);
  3046. //string sql = string.Empty;
  3047. //sql = string.Format(@"DELETE FROM dbo.ICSContainer WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  3048. //try
  3049. //{
  3050. // SqlHelper.ExecuteNonQuery(sql);
  3051. //}
  3052. //catch (Exception ex)
  3053. //{
  3054. // throw new Exception(ex.Message);
  3055. //}
  3056. //return msg;
  3057. string msg = "";
  3058. string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "ICSContainerCon/Untie";
  3059. string result = DeciliterApp.HttpPost(APIURL, keyValue);
  3060. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
  3061. string MessAge = Obj["Message"].ToString();
  3062. string Success = Obj["Success"].ToString();
  3063. if (Success.ToUpper() == "FALSE")
  3064. {
  3065. msg = MessAge;
  3066. }
  3067. return msg;
  3068. }
  3069. /// <summary>
  3070. /// 删除包装、容器
  3071. /// </summary>
  3072. /// <param name="keyValue">传入ID</param>
  3073. /// <returns></returns>
  3074. public string DeleteICSContainer(string keyValue)
  3075. {
  3076. //站点信息
  3077. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3078. string msg = "";
  3079. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  3080. string sql = string.Empty;
  3081. sql = string.Format(@"IF EXISTS(select ID from ICSContainer where ID in({0}) AND Isnull(ContainerID,'') !='' AND workPoint='{1}' )
  3082. BEGIN
  3083. RAISERROR('',16,1);
  3084. RETURN
  3085. END
  3086. IF EXISTS(select ID from ICSContainer where ContainerID in({0}) AND workPoint='{1}' )
  3087. BEGIN
  3088. RAISERROR('',16,1);
  3089. RETURN
  3090. END
  3091. IF EXISTS(select a.ID from ICSContainer a
  3092. INNER JOIN ICSContainerLot b ON a.Id=b.ContainerID AND a.WorkPoint=b.workpoint
  3093. where a.ID in({0}) AND a.workpoint='{1}')
  3094. BEGIN
  3095. RAISERROR('使',16,1);
  3096. RETURN
  3097. END
  3098. DELETE FROM dbo.ICSContainer WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  3099. try
  3100. {
  3101. SqlHelper.ExecuteNonQuery(sql);
  3102. }
  3103. catch (Exception ex)
  3104. {
  3105. msg = ex.Message;
  3106. }
  3107. return msg;
  3108. }
  3109. /// <summary>
  3110. /// 新增包装、容器关联条码
  3111. /// </summary>
  3112. /// <param name="queryJson"></param>
  3113. /// <returns></returns>
  3114. public string InsertICSContainerLot(string keyValue)
  3115. {
  3116. var queryParam = keyValue.ToJObject();
  3117. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3118. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3119. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3120. string msg = "";
  3121. string sql = string.Empty;
  3122. sql = @"INSERT INTO dbo.ICSContainerLot
  3123. ( ID ,ContainerID ,LotNo ,MTIME,MUSER ,MUSERName ,WorkPoint )
  3124. Values(NEWID(),'{0}','{1}',getdate(),'{2}','{3}','{4}')
  3125. ";
  3126. sql = string.Format(sql, queryParam["ContainerID"].ToString(), queryParam["LotNo"].ToString(), MUSER, MUSERNAME, WorkPoint);
  3127. try
  3128. {
  3129. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  3130. {
  3131. }
  3132. else
  3133. {
  3134. msg = "新增失败";
  3135. }
  3136. }
  3137. catch (Exception ex)
  3138. {
  3139. throw new Exception(ex.Message);
  3140. }
  3141. return msg;
  3142. }
  3143. /// <summary>
  3144. /// 修改包装、容器
  3145. /// </summary>
  3146. /// <param name="queryJson"></param>
  3147. /// <returns></returns>
  3148. public string UpdateICSContainerLot(string keyValue)
  3149. {
  3150. var queryParam = keyValue.ToJObject();
  3151. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3152. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3153. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3154. string msg = "";
  3155. string sql = string.Empty;
  3156. sql = @"UPDATE dbo.ICSContainerLot set ContainerID='{0}',LotNo='{1}',MTIME=GETDATE(),MUSER='{2}',MUSERName='{3}',WorkPoint='{4}' WHERE ID='{5}'";
  3157. sql = string.Format(sql, queryParam["ContainerID"].ToString(), queryParam["LotNo"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString());
  3158. try
  3159. {
  3160. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  3161. {
  3162. }
  3163. else
  3164. {
  3165. msg = "修改失败";
  3166. }
  3167. }
  3168. catch (Exception ex)
  3169. {
  3170. throw new Exception(ex.Message);
  3171. }
  3172. return msg;
  3173. }
  3174. /// <summary>
  3175. /// 删除包装、容器
  3176. /// </summary>
  3177. /// <param name="keyValue">传入ID</param>
  3178. /// <returns></returns>
  3179. public string DeleteICSContainerLot(string keyValue)
  3180. {
  3181. ////站点信息
  3182. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3183. //string msg = "";
  3184. //keyValue = keyValue.Substring(1, keyValue.Length - 2);
  3185. //string sql = string.Empty;
  3186. //sql = string.Format(@"DELETE FROM dbo.ICSContainerLot WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  3187. //try
  3188. //{
  3189. // SqlHelper.ExecuteNonQuery(sql);
  3190. //}
  3191. //catch (Exception ex)
  3192. //{
  3193. // throw new Exception(ex.Message);
  3194. //}
  3195. //return msg;
  3196. string msg = "";
  3197. //List<ICSMOReceiveUntieModel> iCSMOReceiveUntieModels = new List<ICSMOReceiveUntieModel>();
  3198. var list = JsonConvert.DeserializeObject<List<ICSContainerModel>>(keyValue).GroupBy(e => e.ContainerCode).ToList();
  3199. list.ForEach(info =>
  3200. {
  3201. List<ICSMOReceiveUntieModelDetail> iCSMOReceiveUntieModelDetails = new List<ICSMOReceiveUntieModelDetail>();
  3202. info.ToList().ForEach(e =>
  3203. {
  3204. ICSMOReceiveUntieModelDetail iCSMOReceiveUntieModelDetail = new ICSMOReceiveUntieModelDetail();
  3205. iCSMOReceiveUntieModelDetail.LotNo = e.LotNo;
  3206. iCSMOReceiveUntieModelDetails.Add(iCSMOReceiveUntieModelDetail);
  3207. });
  3208. ICSMOReceiveUntieModel iCSMOReceiveUntieModel = new ICSMOReceiveUntieModel()
  3209. {
  3210. ContainerCode = info.Key,
  3211. WorkPoint = info.ToList()[0].WorkPoint,
  3212. User = info.ToList()[0].User,
  3213. Type = info.ToList()[0].Type,
  3214. detail = iCSMOReceiveUntieModelDetails
  3215. };
  3216. //iCSMOReceiveUntieModels.Add(iCSMOReceiveUntieModel);
  3217. string input = iCSMOReceiveUntieModel.ToJson();
  3218. string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "ICSContainerLot/Untie";
  3219. string result = DeciliterApp.HttpPost(APIURL, input);
  3220. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
  3221. string MessAge = Obj["Message"].ToString();
  3222. string Success = Obj["Success"].ToString();
  3223. if (Success.ToUpper() == "FALSE")
  3224. {
  3225. msg = MessAge;
  3226. }
  3227. });
  3228. return msg;
  3229. }
  3230. /// <summary>
  3231. /// 获取料品信息
  3232. /// </summary>
  3233. /// <returns></returns>
  3234. public DataTable GetInvCode()
  3235. {
  3236. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3237. string sql = @"
  3238. select '' as InvCode,'' as InvName
  3239. union all
  3240. SELECT InvCode,InvName FROM ICSInventory WITH (NOLOCK) WHERE 1=1 ";
  3241. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  3242. if (role != "admin")
  3243. {
  3244. sql += " and WorkPoint='" + WorkPoint + "'";
  3245. }
  3246. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  3247. return dt;
  3248. }
  3249. /// <summary>
  3250. /// 获取不良代码信息
  3251. /// </summary>
  3252. /// <returns></returns>
  3253. public DataTable GetBCGroup()
  3254. {
  3255. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3256. string sql = @"select '' as ID,'' as BCGDesc
  3257. union all
  3258. SELECT ID,BCGDesc FROM ICSBadCodeGroup WITH (NOLOCK) WHERE 1=1 ";
  3259. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  3260. if (role != "admin")
  3261. {
  3262. sql += " and WorkPoint='" + WorkPoint + "'";
  3263. }
  3264. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  3265. return dt;
  3266. }
  3267. /// <summary>
  3268. /// 获取不良原因信息
  3269. /// </summary>
  3270. /// <returns></returns>
  3271. public DataTable BRGroupID()
  3272. {
  3273. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3274. string sql = @"select '' as ID,'' as BRGDesc
  3275. union all
  3276. SELECT ID,BRGDesc FROM ICSBadReasonGroup WITH (NOLOCK) WHERE 1=1 ";
  3277. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  3278. if (role != "admin")
  3279. {
  3280. sql += " and WorkPoint='" + WorkPoint + "'";
  3281. }
  3282. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  3283. return dt;
  3284. }
  3285. /// <summary>
  3286. /// 新增料品不良信息
  3287. /// </summary>
  3288. /// <param name="queryJson"></param>
  3289. /// <returns></returns>
  3290. public string InsertInventoryBadGroup(string keyValue)
  3291. {
  3292. var queryParam = keyValue.ToJObject();
  3293. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3294. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3295. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3296. string msg = "";
  3297. string sql = string.Empty;
  3298. #region 重复验证
  3299. string chksql = @"select ID from ICSInventoryBadGroup
  3300. where InvCode='{0}' and BCGroupID='{1}' and BRGroupID='{2}' and WorkPoint='{3}'";
  3301. chksql = string.Format(chksql, queryParam["InvCode"].ToString(), queryParam["BCGroupID"].ToString(), queryParam["BRGroupID"].ToString(), WorkPoint);
  3302. DataTable chkdt = SqlHelper.GetDataTableBySql(chksql);
  3303. if (chkdt.Rows.Count > 0)
  3304. {
  3305. return "物料:" + queryParam["InvCode"].ToString() + "已存在相同的不良代码组和不良原因组,请勿重复新增!";
  3306. }
  3307. #endregion
  3308. sql = @"INSERT INTO dbo.ICSInventoryBadGroup
  3309. ( ID,InvCode,BCGroupID,BRGroupID,Enable,MUSER,MUSERName,MTIME,WorkPoint)
  3310. Values(NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}',getdate(),'{6}')";
  3311. sql = string.Format(sql, queryParam["InvCode"].ToString(), queryParam["BCGroupID"].ToString(), queryParam["BRGroupID"].ToString(), queryParam["Enable"].ToString(), MUSER, MUSERNAME, WorkPoint);
  3312. try
  3313. {
  3314. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  3315. {
  3316. }
  3317. else
  3318. {
  3319. msg = "新增失败";
  3320. }
  3321. }
  3322. catch (Exception ex)
  3323. {
  3324. throw new Exception(ex.Message);
  3325. }
  3326. return msg;
  3327. }
  3328. /// <summary>
  3329. /// 修改料品不良信息
  3330. /// </summary>
  3331. /// <param name="queryJson"></param>
  3332. /// <returns></returns>
  3333. public string UpdateInventoryBadGroup(string keyValue)
  3334. {
  3335. var queryParam = keyValue.ToJObject();
  3336. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3337. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3338. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3339. string msg = "";
  3340. string sql = string.Empty;
  3341. sql = @"UPDATE dbo.ICSInventoryBadGroup set BCGroupID='{0}',BRGroupID='{1}',Enable='{2}',MUSER='{3}',MUSERName='{4}',MTIME=GetDate(),WorkPoint='{5}' WHERE ID='{6}'";
  3342. sql = string.Format(sql, queryParam["BCGroupID"].ToString(), queryParam["BRGroupID"].ToString(), queryParam["Enable"].ToString(), MUSER, MUSERNAME, WorkPoint, queryParam["ID"].ToString());
  3343. try
  3344. {
  3345. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  3346. {
  3347. }
  3348. else
  3349. {
  3350. msg = "修改失败";
  3351. }
  3352. }
  3353. catch (Exception ex)
  3354. {
  3355. throw new Exception(ex.Message);
  3356. }
  3357. return msg;
  3358. }
  3359. /// <summary>
  3360. /// 删除料品不良信息
  3361. /// </summary>
  3362. /// <param name="keyValue">传入ID</param>
  3363. /// <returns></returns>
  3364. public string DeleteInventoryBadGroup(string keyValue)
  3365. {
  3366. //站点信息
  3367. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3368. string msg = "";
  3369. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  3370. string sql = string.Empty;
  3371. sql = string.Format(@"DELETE FROM dbo.ICSInventoryBadGroup WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  3372. try
  3373. {
  3374. SqlHelper.ExecuteNonQuery(sql);
  3375. }
  3376. catch (Exception ex)
  3377. {
  3378. throw new Exception(ex.Message);
  3379. }
  3380. return msg;
  3381. }
  3382. //库位导入
  3383. public string SetData_PR(String savePath)
  3384. {
  3385. //数据获取
  3386. try
  3387. {
  3388. int index = 1;
  3389. string msg = "";
  3390. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3391. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3392. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3393. SqlConnection conn = SqlHelper.GetDataCenterConn();
  3394. string sql = "";
  3395. int count = 0;
  3396. DataTable data = FileToExcel.ExcelToTable(savePath);
  3397. //获取单据显示的自定义项信息
  3398. string columnsql = "SELECT ColumnCode as Code,Name FROM ICSColumnEnable WHERE TableCode='ICSLocation' AND EATTRIBUTE3 is NOT null";
  3399. var columndt = SqlHelper.CmdExecuteDataTable(columnsql);
  3400. string sqlkey = string.Empty;
  3401. string sqlValue = string.Empty;
  3402. List<string> vs = new List<string>();
  3403. for (int k = 0; k < columndt.Rows.Count; k++)
  3404. {
  3405. sqlValue += ",'" + columndt.Rows[k]["Name"] + "'";
  3406. vs.Add(columndt.Rows[k]["Name"].ToString());
  3407. }
  3408. foreach (DataRow dr in data.Rows)
  3409. {
  3410. string sqlkeyinsert = string.Empty;
  3411. index++;
  3412. var StackCode = "";
  3413. var StackName = "";
  3414. //string GUID = Guid.NewGuid().ToString();
  3415. string KuFang = dr["库房编码"].ToString().Trim().ToUpper();
  3416. string Qu = dr["区"].ToString().Trim().ToUpper();
  3417. string Pai = dr["排"].ToString().Trim().ToUpper();
  3418. string Jia = dr["货架"].ToString().Trim().ToUpper();
  3419. string Ceng = dr["层"].ToString().Trim().ToUpper();
  3420. string Ge = dr["格"].ToString().Trim().ToUpper();
  3421. string columnString = string.Empty;
  3422. for (var m = 0; m < vs.Count; m++)
  3423. {
  3424. var colName = vs[m];
  3425. columnString += $" ,'{dr[colName].ToString().Trim()}' ";
  3426. sqlkey += "," + columndt.Rows[m]["Code"] + $"='{dr[colName].ToString().Trim()}' ";
  3427. sqlkeyinsert += "," + columndt.Rows[m]["Code"];
  3428. }
  3429. if (KuFang == "" || KuFang == null)
  3430. {
  3431. throw new Exception("第 " + index + " 行库房编码不能为空!");
  3432. }
  3433. if (Qu == "" && Pai == "" && Jia == "" && Ceng == "" && Ge == "")
  3434. {
  3435. throw new Exception("第 " + index + " 区、排、货架、层、格至少填写一项!");
  3436. }
  3437. string sqlWH = @"select ID from ICSWarehouse where WarehouseCode='{0}' and WorkPoint='{1}'";
  3438. sqlWH = string.Format(sqlWH, KuFang, WorkPoint);
  3439. DataTable dd = SqlHelper.CmdExecuteDataTable(sqlWH);
  3440. if (dd == null || dd.Rows.Count <= 0)
  3441. {
  3442. throw new Exception("库房编码: " + KuFang + " 不存在!");
  3443. }
  3444. string WHID = dd.Rows[0]["ID"].ToString();
  3445. StackCode = KuFang;
  3446. StackName = KuFang + "仓库";
  3447. if (Qu != "")
  3448. {
  3449. StackCode += "-" + Qu;
  3450. StackName += Qu + "区";
  3451. }
  3452. if (Pai != "")
  3453. {
  3454. StackCode += "-" + Pai;
  3455. StackName += Pai + "排";
  3456. }
  3457. if (Jia != "")
  3458. {
  3459. StackCode += "-" + Jia;
  3460. StackName += Jia + "货架";
  3461. }
  3462. if (Ceng != "")
  3463. {
  3464. StackCode += "-" + Ceng;
  3465. StackName += Ceng + "层";
  3466. }
  3467. if (Ge != "")
  3468. {
  3469. StackCode += "-" + Ge;
  3470. StackName += Ge + "格";
  3471. }
  3472. string sqls = @"select LocationCode from ICSLocation where LocationCode='{0}' and WorkPoint='{1}'";
  3473. sqls = string.Format(sqls, StackCode, WorkPoint);
  3474. DataTable dnum = SqlHelper.CmdExecuteDataTable(sqls);
  3475. if (dnum != null && dnum.Rows.Count > 0)
  3476. {
  3477. //如果存在且有显示的自定义项,则修改数据
  3478. if (vs.Count > 0)
  3479. {
  3480. sql += $"Update ICSLocation set {sqlkey.TrimStart(',')} where LocationCode='{StackCode}' and WorkPoint='{WorkPoint}' ;";
  3481. }
  3482. else
  3483. {
  3484. throw new Exception("库位: " + StackCode + " 已存在!");
  3485. }
  3486. }
  3487. else
  3488. {
  3489. sql += @"Insert INto ICSLocation
  3490. ( ID, LocationCode, LocationName, WHID, MUSER, MUSERName, MTIME, WorkPoint, EATTRIBUTE1, Region, Row, GoodsShelf, Tier, Grid {11})
  3491. Values (newid(),'{0}','{1}','{2}','{3}','{4}',getdate(),'{5}','','{6}','{7}','{8}','{9}','{10}' {12})";
  3492. }
  3493. sql = string.Format(sql, StackCode, StackName, WHID, MUSER, MUSERNAME, WorkPoint, Qu, Pai, Jia, Ceng, Ge, sqlkeyinsert, columnString);
  3494. }
  3495. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  3496. if (count > 0)
  3497. {
  3498. msg = "导入成功";
  3499. }
  3500. else
  3501. {
  3502. return "无有效的导入数据。";
  3503. }
  3504. return msg;
  3505. }
  3506. catch (Exception ex)
  3507. {
  3508. return ex.Message;
  3509. }
  3510. }
  3511. //料品导入
  3512. public string SetData_PRByInvCode(String savePath)
  3513. {
  3514. //数据获取
  3515. try
  3516. {
  3517. int index = 1;
  3518. string msg = "";
  3519. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3520. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3521. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3522. SqlConnection conn = SqlHelper.GetDataCenterConn();
  3523. string sql = "";
  3524. int count = 0;
  3525. DataTable data = FileToExcel.ExcelToTable(savePath);
  3526. foreach (DataRow dr in data.Rows)
  3527. {
  3528. index++;
  3529. //string GUID = Guid.NewGuid().ToString();
  3530. string InvCode = dr["助记码"].ToString().Trim().ToUpper();
  3531. string InvName = dr["物料名称"].ToString().Trim().ToUpper();
  3532. string InvStd = dr["型号"].ToString().Trim().ToUpper();
  3533. string InvUnit = dr["单位"].ToString().Trim().ToUpper();
  3534. string ClassCode = dr["大类编码"].ToString().Trim().ToUpper();
  3535. string ClassName = dr["大类名称"].ToString().Trim().ToUpper();
  3536. string InvRate = dr["固定换算率"].ToString().Trim().ToUpper();
  3537. string EffectiveEnable = dr["是否启用有效期"].ToString().Trim().ToUpper();
  3538. string EffectiveDays = dr["有效期天数"].ToString().Trim().ToUpper();
  3539. string BatchEnable = dr["是否启用批次"].ToString().Trim().ToUpper();
  3540. string InvDesc = dr["物料描述"].ToString().Trim().ToUpper();
  3541. string AmountUnit = dr["辅计量单位"].ToString().Trim().ToUpper();
  3542. string EATTRIBUTE3 = dr["物料编码"].ToString().Trim().ToUpper();
  3543. string EATTRIBUTE4 = dr["组件"].ToString().Trim().ToUpper(); ;
  3544. if (InvCode == "" || InvCode == null)
  3545. {
  3546. throw new Exception("第 " + index + " 行助记码不能为空!");
  3547. }
  3548. if (InvName == "" || InvName == null)
  3549. {
  3550. throw new Exception("第 " + index + " 行物料名称不能为空!");
  3551. }
  3552. if (InvUnit == "" || InvUnit == null)
  3553. {
  3554. throw new Exception("第 " + index + " 行单位不能为空!");
  3555. }
  3556. if (ClassCode == "" || ClassCode == null)
  3557. {
  3558. throw new Exception("第 " + index + " 行大类编码不能为空!");
  3559. }
  3560. if (ClassName == "" || ClassName == null)
  3561. {
  3562. throw new Exception("第 " + index + " 行大类名称不能为空!");
  3563. }
  3564. if (InvRate == "" || InvRate == null)
  3565. {
  3566. throw new Exception("第 " + index + " 行固定换算率不能为空!");
  3567. }
  3568. if (EffectiveEnable == "" || EffectiveEnable == null)
  3569. {
  3570. throw new Exception("第 " + index + " 行是否启用有效期不能为空!");
  3571. }
  3572. if (EffectiveDays == "" || EffectiveDays == null)
  3573. {
  3574. throw new Exception("第 " + index + " 行有效期天数不能为空!");
  3575. }
  3576. if (BatchEnable == "" || BatchEnable == null)
  3577. {
  3578. throw new Exception("第 " + index + " 行是否启用批次不能为空!");
  3579. }
  3580. if (EATTRIBUTE3 == "" || EATTRIBUTE3 == null)
  3581. {
  3582. throw new Exception("第 " + index + " 行物料编码不能为空!");
  3583. }
  3584. string sqls = @"select InvCode from ICSInventory where InvCode='{0}' and WorkPoint='{1}'";
  3585. sqls = string.Format(sqls, InvCode, WorkPoint);
  3586. DataTable dnum = SqlHelper.CmdExecuteDataTable(sqls);
  3587. if (dnum != null && dnum.Rows.Count > 0)
  3588. {
  3589. throw new Exception("物料编码: " + InvCode + " 已存在!");
  3590. }
  3591. sqls = @"select InvCode from ICSInventory where InvCode='{0}' and EATTRIBUTE4='{1}' and WorkPoint='{2}'";
  3592. sqls = string.Format(sqls, InvCode, EATTRIBUTE4, WorkPoint);
  3593. DataTable dnumEATTRIBUTE4 = SqlHelper.CmdExecuteDataTable(sqls);
  3594. if (dnumEATTRIBUTE4 != null && dnumEATTRIBUTE4.Rows.Count > 0)
  3595. {
  3596. throw new Exception("组件对应物料: " + InvCode + " 已存在!");
  3597. }
  3598. else
  3599. {
  3600. sql += @"Insert INto ICSInventory
  3601. ( ID,InvCode,InvName,InvStd,InvUnit,ClassCode,ClassName,InvRate,InvIQC,InvFQC, InvOQC,EffectiveEnable, EffectiveDays, BatchEnable,LotEnable,PrintEnable,MUSER,MUSERName,MTIME,WorkPoint,InvDesc,AmountUnit,EATTRIBUTE3,LotDocEnable,EATTRIBUTE4)
  3602. Values (newid(),'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}'
  3603. ,'{9}','{10}','{11}'
  3604. ,'{12}','{13}','{14}','{15}','{16}' ,getdate(),'{17}','{18}','{19}','{20}','{21}','{22}')";
  3605. }
  3606. sql = string.Format(sql, InvCode, InvName, InvStd, InvUnit, ClassCode, ClassName, InvRate, 0, 0
  3607. , 0, EffectiveEnable, EffectiveDays
  3608. , BatchEnable, 1, 1, MUSER, MUSERNAME, WorkPoint, InvDesc, AmountUnit, EATTRIBUTE3, 1, EATTRIBUTE4);
  3609. }
  3610. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  3611. if (count > 0)
  3612. {
  3613. msg = "导入成功";
  3614. }
  3615. else
  3616. {
  3617. return "无有效的导入数据。";
  3618. }
  3619. return msg;
  3620. }
  3621. catch (Exception ex)
  3622. {
  3623. return ex.Message;
  3624. }
  3625. }
  3626. //供应商导入
  3627. public string SetData_PRByVenCode(String savePath)
  3628. {
  3629. //数据获取
  3630. try
  3631. {
  3632. int index = 1;
  3633. string msg = "";
  3634. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3635. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3636. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3637. SqlConnection conn = SqlHelper.GetDataCenterConn();
  3638. string sql = "";
  3639. int count = 0;
  3640. DataTable data = FileToExcel.ExcelToTable(savePath);
  3641. foreach (DataRow dr in data.Rows)
  3642. {
  3643. index++;
  3644. //必填
  3645. //string GUID = Guid.NewGuid().ToString();
  3646. string VenCode = dr["供应商代码"].ToString().Trim().ToUpper();
  3647. string VenName = dr["供应商名称"].ToString().Trim().ToUpper();
  3648. string VenAbbName = dr["供应商简称"].ToString().Trim().ToUpper();
  3649. string VCCode = dr["供应商分类代码"].ToString().Trim().ToUpper();
  3650. string VenExch_name = dr["币种"].ToString().Trim().ToUpper();
  3651. string WorkPoint = dr["站点"].ToString().Trim().ToUpper();
  3652. //非必填
  3653. string VCName = dr["供应商分类名称"].ToString().Trim().ToUpper();
  3654. string VenAddress = dr["地址"].ToString().Trim().ToUpper();
  3655. string VenRegCode = dr["纳税人登记号"].ToString().Trim().ToUpper();
  3656. string VenBank = dr["开会银行"].ToString().Trim().ToUpper();
  3657. string VenAccount = dr["银行账号"].ToString().Trim().ToUpper();
  3658. string VenDevDate = dr["发展日期"].ToString().Trim().ToUpper() == "" ? null : dr["发展日期"].ToString().Trim().ToUpper();
  3659. string VenLPerson = dr["法人"].ToString().Trim().ToUpper();
  3660. string VenPhone = dr["电话"].ToString().Trim().ToUpper();
  3661. string VenEmail = dr["邮件"].ToString().Trim().ToUpper();
  3662. string VenPerson = dr["联系人"].ToString().Trim().ToUpper();
  3663. string VenHand = dr["手机"].ToString().Trim().ToUpper();
  3664. string VenDisRate = dr["扣率"].ToString().Trim().ToUpper();
  3665. string VenCreLine = dr["信用额度"].ToString().Trim().ToUpper();
  3666. string VenCreDate = dr["信用期限"].ToString().Trim().ToUpper();
  3667. string VenPayCond = dr["付款条件编码"].ToString().Trim().ToUpper();
  3668. string PayName = dr["付款条件名称"].ToString().Trim().ToUpper();
  3669. if (VenCode == "" || VenCode == null)
  3670. {
  3671. throw new Exception("第 " + index + " 行供应商代码不能为空!");
  3672. }
  3673. if (VenName == "" || VenName == null)
  3674. {
  3675. throw new Exception("第 " + index + " 行供应商名称不能为空!");
  3676. }
  3677. if (VenAbbName == "" || VenAbbName == null)
  3678. {
  3679. throw new Exception("第 " + index + " 行供应商简称不能为空!");
  3680. }
  3681. if (VCCode == "" || VCCode == null)
  3682. {
  3683. throw new Exception("第 " + index + " 行供应商分类代码不能为空!");
  3684. }
  3685. if (VenExch_name == "" || VenExch_name == null)
  3686. {
  3687. throw new Exception("第 " + index + " 行币种不能为空!");
  3688. }
  3689. if (WorkPoint == "" || WorkPoint == null)
  3690. {
  3691. throw new Exception("第 " + index + " 行站点不能为空!");
  3692. }
  3693. string sqls = @"SELECT VenCode FROM dbo.ICSVendor WHERE VenCode='{0}' AND WorkPoint='{1}'";
  3694. sqls = string.Format(sqls, VenCode, WorkPoint);
  3695. DataTable dnum = SqlHelper.CmdExecuteDataTable(sqls);
  3696. if (dnum != null && dnum.Rows.Count > 0)
  3697. {
  3698. throw new Exception("物料编码: " + VenCode + " ,站点:" + WorkPoint + " 已存在!");
  3699. }
  3700. else
  3701. {
  3702. sql += @"Insert INto ICSVendor
  3703. ( ID,VenCode,VenName,VenAbbName,VCCode
  3704. ,VCName,VenAddress,VenRegCode,VenBank,VenAccount
  3705. ,VenDevDate,VenLPerson,VenPhone,VenEmail,VenPerson
  3706. ,VenHand,VenDisRate,VenCreLine,VenCreDate,VenPayCond
  3707. ,PayName,VenExch_name,MUSER,MUSERName,WorkPoint
  3708. ,MTIME)
  3709. Values (newid(),'{0}','{1}','{2}','{3}'
  3710. ,'{4}','{5}','{6}','{7}','{8}'
  3711. ,'{9}','{10}','{11}','{12}','{13}'
  3712. ,'{14}','{15}','{16}' ,'{17}','{18}'
  3713. ,'{19}','{20}','{21}','{22}','{23}'
  3714. ,GETDATE())";
  3715. }
  3716. sql = string.Format(sql, VenCode, VenName, VenAbbName, VCCode
  3717. , VCName, VenAddress, VenRegCode, VenBank, VenAccount
  3718. , VenDevDate, VenLPerson, VenPhone, VenEmail, VenPerson
  3719. , VenHand, VenDisRate, VenCreLine, VenCreDate, VenPayCond
  3720. , PayName, VenExch_name, MUSER, MUSERNAME, WorkPoint
  3721. );
  3722. }
  3723. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  3724. if (count > 0)
  3725. {
  3726. msg = "导入成功";
  3727. }
  3728. else
  3729. {
  3730. return "无有效的导入数据。";
  3731. }
  3732. return msg;
  3733. }
  3734. catch (Exception ex)
  3735. {
  3736. return ex.Message;
  3737. }
  3738. }
  3739. //周转箱导入
  3740. public string SetDataBoxes(String savePath)
  3741. {
  3742. //数据获取
  3743. try
  3744. {
  3745. int index = 1;
  3746. string msg = "";
  3747. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3748. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3749. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3750. SqlConnection conn = SqlHelper.GetDataCenterConn();
  3751. string sql = "";
  3752. int count = 0;
  3753. DataTable data = FileToExcel.ExcelToTable(savePath);
  3754. foreach (DataRow dr in data.Rows)
  3755. {
  3756. index++;
  3757. string BoxNumber = dr["周转箱编码"].ToString().Trim().ToUpper();
  3758. string BoxName = dr["周转箱名称"].ToString().Trim().ToUpper();
  3759. string Type = dr["类型"].ToString().Trim().ToUpper();
  3760. string Version = dr["型号"].ToString().Trim().ToUpper();
  3761. string Specification = dr["规格"].ToString().Trim().ToUpper();
  3762. string Describe = dr["描述"].ToString().Trim().ToUpper();
  3763. string FirstCleanCycle = dr["第一次清洗周期"].ToString().Trim().ToUpper();
  3764. string SecondCleanCycle = dr["第二次清洗周期"].ToString().Trim().ToUpper();
  3765. string ThirdCleanCycle = dr["第三次清洗周期"].ToString().Trim().ToUpper();
  3766. if (BoxNumber == "" || BoxNumber == null)
  3767. {
  3768. throw new Exception("第 " + index + " 周转箱编码不能为空!");
  3769. }
  3770. if (BoxName == "" || BoxNumber == null)
  3771. {
  3772. throw new Exception("第 " + index + " 周转箱名称不能为空");
  3773. }
  3774. if (Type == "" || Type == null)
  3775. {
  3776. throw new Exception("第 " + index + " 周转类型不能伟空");
  3777. }
  3778. if (FirstCleanCycle == "" || FirstCleanCycle == null || SecondCleanCycle == "" || SecondCleanCycle == null || ThirdCleanCycle == "" || ThirdCleanCycle == null)
  3779. {
  3780. throw new Exception("第 " + index + "清洗周期不能为空");
  3781. }
  3782. string sqlWH = $@"select id from ICSWorkingCapitalBox where BoxNumber='{BoxNumber}'";
  3783. DataTable dd = SqlHelper.CmdExecuteDataTable(sqlWH);
  3784. if (dd != null && dd.Rows.Count > 0)
  3785. {
  3786. throw new Exception("周转箱编码: " + BoxNumber + " 已存在!");
  3787. }
  3788. sql += $@"INSERT INTO [dbo].[ICSWorkingCapitalBox] ([ID], [BoxNumber], [BoxName], [Type], [Version], [Specification], [Describe], [FirstCleanCycle], [SecondCleanCycle], [ThirdCleanCycle], [MTIME], [MUser], [MUSERName])
  3789. VALUES (NEWID(), '{BoxNumber}', '{BoxName}', '{Type}', '{Version}', '{Specification}', '{Describe}', {FirstCleanCycle}, {SecondCleanCycle}, {ThirdCleanCycle}, GETDATE(), '{MUSER}', '{MUSERNAME}'); ";
  3790. }
  3791. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  3792. if (count > 0)
  3793. {
  3794. msg = "导入成功";
  3795. }
  3796. else
  3797. {
  3798. return "无有效的导入数据。";
  3799. }
  3800. return msg;
  3801. }
  3802. catch (Exception ex)
  3803. {
  3804. return ex.Message;
  3805. }
  3806. }
  3807. //周转箱台账导入
  3808. public string SetDataBoxAccount(String savePath)
  3809. {
  3810. //数据获取
  3811. try
  3812. {
  3813. int index = 1;
  3814. string msg = "";
  3815. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3816. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3817. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3818. SqlConnection conn = SqlHelper.GetDataCenterConn();
  3819. string sql = "";
  3820. int count = 0;
  3821. DataTable data = FileToExcel.ExcelToTable(savePath);
  3822. foreach (DataRow dr in data.Rows)
  3823. {
  3824. index++;
  3825. string BoxNumber = dr["周转箱编码"].ToString().Trim().ToUpper();
  3826. string BoxName = dr["名称"].ToString().Trim().ToUpper();
  3827. string BoxCode = dr["周转箱代码"].ToString().Trim().ToUpper();
  3828. string Describe = dr["描述"].ToString().Trim().ToUpper();
  3829. if (BoxNumber == "" || BoxNumber == null)
  3830. {
  3831. throw new Exception("第 " + index + " 周转箱编码不能为空!");
  3832. }
  3833. if (BoxName == "" || BoxNumber == null)
  3834. {
  3835. throw new Exception("第 " + index + " 周转箱名称不能为空");
  3836. }
  3837. if (BoxCode == "" || BoxCode == null)
  3838. {
  3839. throw new Exception("第 " + index + " 周转代码不能伟空");
  3840. }
  3841. string sqlWH = $@"select id from ICSWorkingCapitalBox where BoxNumber='{BoxNumber}'";
  3842. DataTable dd = SqlHelper.CmdExecuteDataTable(sqlWH);
  3843. if (dd == null || dd.Rows.Count <= 0)
  3844. {
  3845. throw new Exception("周转箱编码: " + BoxNumber + " 不存在!");
  3846. }
  3847. string sqlCode = $@"select id from ICSWorkingCapitalBoxAccount where BoxCode='{BoxCode}'";
  3848. DataTable code = SqlHelper.CmdExecuteDataTable(sqlCode);
  3849. if (code != null && code.Rows.Count > 0)
  3850. {
  3851. throw new Exception("周转箱代码: " + BoxCode + " 已存在!");
  3852. }
  3853. sql += $@"INSERT INTO [dbo].[ICSWorkingCapitalBoxAccount] ([ID], [BoxCode], [BoxNumber], [BoxName], [States], [Describe], [DailyUses], [TotalUses], [TotalClearn], [MUser], [MUSERName], [MTIME]) VALUES (NEWID(), '{BoxCode}', '{BoxNumber}', '{BoxName}', '正常', '{Describe}',0, 0, 0, '{MUSER}', '{MUSERNAME}', GETDATE());";
  3854. }
  3855. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  3856. if (count > 0)
  3857. {
  3858. msg = "导入成功";
  3859. }
  3860. else
  3861. {
  3862. return "无有效的导入数据。";
  3863. }
  3864. return msg;
  3865. }
  3866. catch (Exception ex)
  3867. {
  3868. return ex.Message;
  3869. }
  3870. }
  3871. //模具档案导入
  3872. public string SetDataMould(String savePath)
  3873. {
  3874. //数据获取
  3875. try
  3876. {
  3877. int index = 1;
  3878. string msg = "";
  3879. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3880. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3881. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3882. SqlConnection conn = SqlHelper.GetDataCenterConn();
  3883. string sql = "";
  3884. int count = 0;
  3885. DataTable data = FileToExcel.ExcelToTable(savePath);
  3886. foreach (DataRow dr in data.Rows)
  3887. {
  3888. index++;
  3889. string MouldNumber = dr["模具编码"].ToString().Trim().ToUpper();
  3890. string MouldName = dr["模具名称"].ToString().Trim().ToUpper();
  3891. string Type = dr["类型"].ToString().Trim().ToUpper();
  3892. string Specification = dr["规格"].ToString().Trim().ToUpper();
  3893. string Unit = dr["单位"].ToString().Trim().ToUpper();
  3894. string Phone = dr["联系电话"].ToString().Trim().ToUpper();
  3895. if (MouldNumber == "" || MouldNumber == null)
  3896. {
  3897. throw new Exception("第 " + index + " 模具编码不能为空!");
  3898. }
  3899. if (MouldName == "" || MouldName == null)
  3900. {
  3901. throw new Exception("第 " + index + " 模具名称不能为空");
  3902. }
  3903. if (Type == "" || Type == null)
  3904. {
  3905. throw new Exception("第 " + index + " 类型不能伟空");
  3906. }
  3907. if (Specification == "" || Specification == null)
  3908. {
  3909. throw new Exception("第 " + index + "规格不能为空!");
  3910. }
  3911. if (Unit == "" || Unit == null)
  3912. {
  3913. throw new Exception("第 " + index + " 单位不能为空");
  3914. }
  3915. string sqlWH = $@"select id from ICSMould where MouldNumber='{MouldNumber}'";
  3916. DataTable dd = SqlHelper.CmdExecuteDataTable(sqlWH);
  3917. if (dd != null && dd.Rows.Count > 0)
  3918. {
  3919. throw new Exception("模具编码: " + MouldNumber + " 已存在!");
  3920. }
  3921. sql += $@"INSERT INTO [dbo].[ICSMould] ([ID], [MouldNumber], [MouldName], [Type], [Specification], [Unit], [MTIME], [MUser], [MUSERName], [EATTRIBUTE1]) VALUES (NEWID(), '{MouldNumber}', '{MouldName}', '{Type}', '{Specification}', '{Unit}',GETDATE(), '{MUSER}', '{MUSERNAME}','{Phone}');";
  3922. }
  3923. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  3924. if (count > 0)
  3925. {
  3926. msg = "导入成功";
  3927. }
  3928. else
  3929. {
  3930. return "无有效的导入数据。";
  3931. }
  3932. return msg;
  3933. }
  3934. catch (Exception ex)
  3935. {
  3936. return ex.Message;
  3937. }
  3938. }
  3939. //模具台账导入
  3940. public string SetDataMouldAccount(String savePath)
  3941. {
  3942. //数据获取
  3943. try
  3944. {
  3945. int index = 1;
  3946. string msg = "";
  3947. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3948. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3949. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3950. SqlConnection conn = SqlHelper.GetDataCenterConn();
  3951. string sql = "";
  3952. int count = 0;
  3953. DataTable data = FileToExcel.ExcelToTable(savePath);
  3954. foreach (DataRow dr in data.Rows)
  3955. {
  3956. index++;
  3957. string MouldNumber = dr["模具编码"].ToString().Trim().ToUpper();
  3958. string MouldName = dr["模具名称"].ToString().Trim().ToUpper();
  3959. string Status = dr["状态"].ToString().Trim().ToUpper();
  3960. string MouldCode = dr["模具代码"].ToString().Trim().ToUpper();
  3961. string Limit = dr["下限值"].ToString().Trim().ToUpper();
  3962. string Upper = dr["上限值"].ToString().Trim().ToUpper();
  3963. if (MouldNumber == "" || MouldNumber == null)
  3964. {
  3965. throw new Exception("第 " + index + " 模具编码不能为空!");
  3966. }
  3967. if (MouldName == "" || MouldName == null)
  3968. {
  3969. throw new Exception("第 " + index + " 模具名称不能为空");
  3970. }
  3971. if (Status == "" || Status == null)
  3972. {
  3973. throw new Exception("第 " + index + " 状态不能为空");
  3974. }
  3975. if (MouldCode == "" || MouldCode == null)
  3976. {
  3977. throw new Exception("第 " + index + "模具代码不能为空!");
  3978. }
  3979. if (Limit == "" || Limit == null)
  3980. {
  3981. throw new Exception("第 " + index + " 上限不能为空");
  3982. }
  3983. if (Upper == "" || Upper == null)
  3984. {
  3985. throw new Exception("第 " + index + " 下限不能为空");
  3986. }
  3987. string sqlWH = $@"select id from ICSMould where MouldNumber='{MouldNumber}'";
  3988. DataTable dd = SqlHelper.CmdExecuteDataTable(sqlWH);
  3989. if (dd == null || dd.Rows.Count <= 0)
  3990. {
  3991. throw new Exception("模具编码: " + MouldNumber + " 不存在!");
  3992. }
  3993. string salCode = $@"select id from ICSMouldAccount where MouldCode='{MouldCode}'";
  3994. DataTable ddCode = SqlHelper.CmdExecuteDataTable(salCode);
  3995. if (ddCode != null && ddCode.Rows.Count > 0)
  3996. {
  3997. throw new Exception("模具代码: " + MouldNumber + " 已存在!");
  3998. }
  3999. sql += $@"INSERT INTO [dbo].[ICSMouldAccount] ([ID], [MouldCode], [MouldNumber], [MouldName], [MajorStates], [SubStates], [UpperLimit], [LowerLimit], [DailyUses], [TotalUses], [Users], [UserDate], [Picture], [MUser], [MUSERName], [MTIME]) VALUES (NEWID(), '{MouldCode}', '{MouldNumber}', '{MouldName}', '{Status}', null, {Upper}, {Limit}, 0, 0, null, null, null, '{MUSER}', '{MUSERNAME}', GETDATE());";
  4000. }
  4001. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  4002. if (count > 0)
  4003. {
  4004. msg = "导入成功";
  4005. }
  4006. else
  4007. {
  4008. return "无有效的导入数据。";
  4009. }
  4010. return msg;
  4011. }
  4012. catch (Exception ex)
  4013. {
  4014. return ex.Message;
  4015. }
  4016. }
  4017. /// <summary>
  4018. ///启用的料品库位绑定关系
  4019. /// </summary>
  4020. public string EnableInventoryLocation(string keyValue)
  4021. {
  4022. //站点信息
  4023. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4024. string msg = "";
  4025. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  4026. string sql = string.Empty;
  4027. sql = string.Format(@"update ICSInventoryLocation set Enable='1' where ID in ({0}) and WorkPoint='{1}'", keyValue.TrimEnd(','), WorkPoint);
  4028. try
  4029. {
  4030. SqlHelper.ExecuteNonQuery(sql);
  4031. }
  4032. catch (Exception ex)
  4033. {
  4034. throw new Exception(ex.Message);
  4035. }
  4036. return msg;
  4037. }
  4038. /// <summary>
  4039. ///禁用的料品库位绑定关系
  4040. /// </summary>
  4041. public string ForbiddenInventoryLocation(string keyValue)
  4042. {
  4043. //站点信息
  4044. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4045. string msg = "";
  4046. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  4047. string sql = string.Empty;
  4048. sql = string.Format(@"update ICSInventoryLocation set Enable='0' where ID in ({0}) and WorkPoint='{1}'", keyValue.TrimEnd(','), WorkPoint);
  4049. try
  4050. {
  4051. SqlHelper.ExecuteNonQuery(sql);
  4052. }
  4053. catch (Exception ex)
  4054. {
  4055. throw new Exception(ex.Message);
  4056. }
  4057. return msg;
  4058. }
  4059. /// <summary>
  4060. ///启用的料品仓库绑定关系
  4061. /// </summary>
  4062. public string EnableBatchEnable(string keyValue)
  4063. {
  4064. //站点信息
  4065. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4066. string msg = "";
  4067. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  4068. string sql = string.Empty;
  4069. sql = string.Format(@"update ICSInventoryBatchEnable set BatchEnable='1' where ID in ({0}) and WorkPoint='{1}'", keyValue.TrimEnd(','), WorkPoint);
  4070. try
  4071. {
  4072. SqlHelper.ExecuteNonQuery(sql);
  4073. }
  4074. catch (Exception ex)
  4075. {
  4076. throw new Exception(ex.Message);
  4077. }
  4078. return msg;
  4079. }
  4080. /// <summary>
  4081. ///禁用的料品仓库绑定关系
  4082. /// </summary>
  4083. public string ForbiddenBatchEnable(string keyValue)
  4084. {
  4085. //站点信息
  4086. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4087. string msg = "";
  4088. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  4089. string sql = string.Empty;
  4090. sql = string.Format(@"update ICSInventoryBatchEnable set BatchEnable='0' where ID in ({0}) and WorkPoint='{1}'", keyValue.TrimEnd(','), WorkPoint);
  4091. try
  4092. {
  4093. SqlHelper.ExecuteNonQuery(sql);
  4094. }
  4095. catch (Exception ex)
  4096. {
  4097. throw new Exception(ex.Message);
  4098. }
  4099. return msg;
  4100. }
  4101. public string CreateLableDataSource(string Sys_LableDataSource)
  4102. {
  4103. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4104. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4105. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4106. string msg = "";
  4107. string sql = string.Empty;
  4108. string SqlTxt = "";
  4109. JArray res = (JArray)JsonConvert.DeserializeObject(Sys_LableDataSource);
  4110. foreach (var item in res)
  4111. {
  4112. JObject jo = (JObject)item;
  4113. if (jo["DbParas"].ToString().Trim() != "")
  4114. {
  4115. string[] dbvs = jo["DbParas"].ToString().Trim().Split(',');
  4116. List<string> vs = new List<string>();
  4117. foreach (string s in dbvs)
  4118. {
  4119. if (!string.IsNullOrEmpty(s))
  4120. {
  4121. vs.Add(s);
  4122. }
  4123. }
  4124. SqlTxt = string.Format(jo["FormatSqlTxt"].ToString(), vs.ToArray());
  4125. }
  4126. else
  4127. {
  4128. SqlTxt = jo["FormatSqlTxt"].ToString();
  4129. }
  4130. string sqlTxt = jo["FormatSqlTxt"].ToString().Replace("'", "''");
  4131. sql += @"INSERT INTO dbo.Sys_LableDataSource
  4132. (ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID,CreateDate,ModifyUserID,ModifyDate,Link2Cols )
  4133. Values(NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',getdate(),'{11}',getdate(),'{12}')";
  4134. sql = string.Format(sql, WorkPoint, jo["OtherDataBaseID"].ToString(), jo["WorkPointDataFlag"].ToString(), jo["SysDataSourceFlag"].ToString(), SqlTxt, jo["SourceName"].ToString(), jo["FormatSqlTxt"].ToString(), jo["Paras"].ToString(), jo["DbParas"].ToString(), jo["LinkCols"].ToString(), MUSER, MUSER, jo["Link2Cols"].ToString());
  4135. }
  4136. try
  4137. {
  4138. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  4139. {
  4140. }
  4141. else
  4142. {
  4143. msg = "新增失败";
  4144. }
  4145. }
  4146. catch (Exception ex)
  4147. {
  4148. //throw new Exception(ex.Message);
  4149. msg = ex.Message;
  4150. }
  4151. return msg;
  4152. }
  4153. public DataTable GetTXT(string ID)
  4154. {
  4155. DataTable dt = new DataTable();
  4156. //var queryParam = queryJson.ToJObject();
  4157. List<DbParameter> parameter = new List<DbParameter>();
  4158. string sql = @"SELECT
  4159. ID,
  4160. WorkPointCode,
  4161. OtherDataBaseID,
  4162. WorkPointDataFlag,
  4163. SysDataFlag,
  4164. SqlTxt,
  4165. SourceName,
  4166. FormatSqlTxt,
  4167. Paras,
  4168. DbParas,
  4169. LinkCols,
  4170. CreateUserID,
  4171. CreateDate,
  4172. ModifyUserID,
  4173. ModifyDate,
  4174. Link2Cols
  4175. FROM
  4176. dbo.Sys_LableDataSource where ID='" + ID + "'";
  4177. return Repository().FindTableBySql(sql.ToString());
  4178. }
  4179. public string updateLableDataSource(string Sys_LableDataSource)
  4180. {
  4181. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4182. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4183. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4184. string msg = "";
  4185. string sql = string.Empty;
  4186. string SqlTxt = "";
  4187. JArray res = (JArray)JsonConvert.DeserializeObject(Sys_LableDataSource);
  4188. foreach (var item in res)
  4189. {
  4190. JObject jo = (JObject)item;
  4191. if (jo["DbParas"].ToString().Trim() != "")
  4192. {
  4193. string[] dbvs = jo["DbParas"].ToString().Trim().Split(',');
  4194. List<string> vs = new List<string>();
  4195. foreach (string s in dbvs)
  4196. {
  4197. if (!string.IsNullOrEmpty(s))
  4198. {
  4199. vs.Add(s);
  4200. }
  4201. }
  4202. SqlTxt = string.Format(jo["FormatSqlTxt"].ToString(), vs.ToArray());
  4203. }
  4204. else
  4205. {
  4206. SqlTxt = jo["FormatSqlTxt"].ToString();
  4207. }
  4208. SqlTxt = jo["FormatSqlTxt"].ToString().Replace("'", "''");
  4209. sql += @"UPDATE dbo.Sys_LableDataSource set WorkPointCode='{0}',OtherDataBaseID='{1}',WorkPointDataFlag='{2}',SysDataFlag='{3}',SqlTxt='{4}',SourceName='{5}',FormatSqlTxt='{6}',Paras='{7}',DbParas='{8}',LinkCols='{9}',ModifyUserID='{10}',ModifyDate=getdate(),Link2Cols='{11}' WHERE ID='{12}'";
  4210. sql = string.Format(sql, WorkPoint, jo["OtherDataBaseID"].ToString(), jo["WorkPointDataFlag"].ToString(), jo["SysDataSourceFlag"].ToString(), SqlTxt, jo["SourceName"].ToString(), SqlTxt, jo["Paras"].ToString(), jo["DbParas"].ToString(), jo["LinkCols"].ToString(), MUSER, jo["Link2Cols"].ToString(), jo["ID"].ToString());
  4211. }
  4212. try
  4213. {
  4214. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  4215. {
  4216. }
  4217. else
  4218. {
  4219. msg = "修改失败";
  4220. }
  4221. }
  4222. catch (Exception ex)
  4223. {
  4224. throw new Exception(ex.Message);
  4225. }
  4226. return msg;
  4227. }
  4228. public string DeleteLableDataSource(string keyValue)
  4229. {
  4230. //站点信息
  4231. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4232. string msg = "";
  4233. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  4234. string sql = string.Empty;
  4235. sql = string.Format(@"DELETE FROM dbo.Sys_LableDataSource WHERE ID IN ({0}) ", keyValue.TrimEnd(','));
  4236. try
  4237. {
  4238. SqlHelper.ExecuteNonQuery(sql);
  4239. }
  4240. catch (Exception ex)
  4241. {
  4242. throw new Exception(ex.Message);
  4243. }
  4244. return msg;
  4245. }
  4246. public DataTable GetLableType()
  4247. {
  4248. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  4249. string sql = @"
  4250. select '' as F_ItemCode,'' as F_ItemName
  4251. union all
  4252. SELECT DISTINCT a.F_ItemCode,isnull(a.F_ItemName,'') as F_ItemName FROM dbo.Sys_SRM_ItemsDetail a left join Sys_SRM_Items b on a.F_ItemId=b.F_Id where b.F_EnCode='BQ001'";
  4253. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  4254. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  4255. return dt;
  4256. }
  4257. public DataTable GetSys_LablesID()
  4258. {
  4259. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  4260. string sql = @"
  4261. select '' as ID,'' as LableName
  4262. union all
  4263. select distinct ID,LableName from Sys_Lables";
  4264. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  4265. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  4266. return dt;
  4267. }
  4268. public string CreateLables(string txtLableName, string sel_LableType, string sel_LableSourceID)
  4269. {
  4270. string UserId = NFine.Code.OperatorProvider.Provider.GetCurrent().UserId;
  4271. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4272. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4273. string msg = "";
  4274. string sql = string.Empty;
  4275. string LableCode = "";
  4276. string SqlTxt = string.Format(@"SELECT MAX(A.LableCode) AS LableCode FROM Sys_Lables A "); ;
  4277. DataSet ds = SqlHelper.GetDataSetBySql(SqlTxt);
  4278. DataTable dts = ds.Tables[0];
  4279. if (dts != null && dts.Rows.Count > 0)
  4280. {
  4281. string lot = dts.Rows[0]["LableCode"].ToString();
  4282. LableCode = (Convert.ToInt64(lot) + 1).ToString().PadLeft(5, '0');
  4283. }
  4284. else
  4285. {
  4286. LableCode = "00001";
  4287. }
  4288. sql += @" INSERT INTO dbo.Sys_Lables
  4289. (ID,WorkPointCode,LableType,LableCode,LableName,LableXml,LableSourceID,CreateUserID,CreateDate,ModifyUserID,ModifyDate,FileAddress )
  4290. Values(NEWID(),'{0}','{1}','{2}','{3}','','{4}','{5}',getdate(),'{6}',getdate(),'')";
  4291. sql = string.Format(sql, WorkPoint, sel_LableType, LableCode, txtLableName, sel_LableSourceID, UserId, UserId);
  4292. try
  4293. {
  4294. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  4295. {
  4296. }
  4297. else
  4298. {
  4299. msg = "新增失败";
  4300. }
  4301. }
  4302. catch (Exception ex)
  4303. {
  4304. throw new Exception(ex.Message);
  4305. }
  4306. return msg;
  4307. }
  4308. public DataTable GetLabelTXT(string ID)
  4309. {
  4310. DataTable dt = new DataTable();
  4311. //var queryParam = queryJson.ToJObject();
  4312. List<DbParameter> parameter = new List<DbParameter>();
  4313. string sql = @"select ID,WorkPointCode,LableType,LableCode,LableName,LableXml,LableSourceID,CreateUserID,CreateDate,ModifyUserID,ModifyDate,FileAddress from Sys_Lables where ID='" + ID + "'";
  4314. return Repository().FindTableBySql(sql.ToString());
  4315. }
  4316. public string updateLables(string ID, string txtLableName, string sel_LableType, string sel_LableSourceID)
  4317. {
  4318. string UserId = NFine.Code.OperatorProvider.Provider.GetCurrent().UserId;
  4319. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4320. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4321. string msg = "";
  4322. string sql = string.Empty;
  4323. sql += @"update Sys_Lables set LableType='{0}' ,LableName='{1}' ,LableSourceID='{2}',ModifyUserID='{3}',ModifyDate=getdate() where ID='{4}'";
  4324. sql = string.Format(sql, sel_LableType, txtLableName, sel_LableSourceID, UserId, ID);
  4325. try
  4326. {
  4327. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  4328. {
  4329. }
  4330. else
  4331. {
  4332. msg = "修改失败";
  4333. }
  4334. }
  4335. catch (Exception ex)
  4336. {
  4337. throw new Exception(ex.Message);
  4338. }
  4339. return msg;
  4340. }
  4341. public string DeleteICSLabelTemplate(string keyValue)
  4342. {
  4343. //站点信息
  4344. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4345. string msg = "";
  4346. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  4347. string sql = string.Empty;
  4348. sql = string.Format(@"DELETE FROM dbo.Sys_Lables WHERE ID IN ({0}) ", keyValue.TrimEnd(','));
  4349. try
  4350. {
  4351. SqlHelper.ExecuteNonQuery(sql);
  4352. }
  4353. catch (Exception ex)
  4354. {
  4355. throw new Exception(ex.Message);
  4356. }
  4357. return msg;
  4358. }
  4359. //获取父容器
  4360. public DataTable GetContainerID()
  4361. {
  4362. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  4363. string sql = @"
  4364. select '' as ID,'' as ContainerName
  4365. union all
  4366. SELECT DISTINCT a.ID,a.ContainerName FROM dbo.ICSContainer a where 1=1 ";
  4367. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  4368. if (role != "admin")
  4369. {
  4370. sql += " and a.WorkPoint in('" + WorkPoint + "')";
  4371. }
  4372. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  4373. return dt;
  4374. }
  4375. //获取父容器
  4376. public DataTable GetContainerType()
  4377. {
  4378. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  4379. string sql = @"
  4380. select '' as F_ItemName,'' as F_ItemCode
  4381. union all
  4382. SELECT a.F_ItemName,a.F_ItemCode FROM Sys_SRM_ItemsDetail a
  4383. LEFT JOIN Sys_SRM_Items b ON a.F_ItemId = b.F_Id
  4384. WHERE b.F_EnCode = 'ContainerType' and a.F_EnabledMark='1' ";
  4385. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  4386. //if (role != "admin")
  4387. //{
  4388. // sql += " and b.WorkPoint in(" + WorkPoint + ")";
  4389. //}
  4390. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  4391. return dt;
  4392. }
  4393. public int UpLoadLabelFile(string ID, string fileName)
  4394. {
  4395. DataTable dt = new DataTable();
  4396. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  4397. string sql = "";
  4398. sql = string.Format(@"update Sys_Lables set FileAddress='{0}',ModifyDate=getdate()
  4399. where ID='{1}'",
  4400. fileName, ID);
  4401. StringBuilder Str = new StringBuilder(sql);
  4402. return Repository().ExecuteBySql(Str);
  4403. }
  4404. public int UpLoadFiles(string LotNo, string fileName)
  4405. {
  4406. DataTable dt = new DataTable();
  4407. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  4408. string sql = "";
  4409. sql = string.Format(@"update ICSInspection set FileName='{0}'
  4410. where LotNo='{1}' and Enable='1'",
  4411. fileName, LotNo);
  4412. StringBuilder Str = new StringBuilder(sql);
  4413. return Repository().ExecuteBySql(Str);
  4414. }
  4415. //包装容器
  4416. public DataTable GetSendContainer(ref Pagination jqgridparam, string queryJson)
  4417. {
  4418. DataTable dt = new DataTable();
  4419. var queryParam = queryJson.ToJObject();
  4420. List<DbParameter> parameter = new List<DbParameter>();
  4421. string sql = @"select top 0 ID,ContainerID,ContainerCode,ContainerName,Memo,MUSER,MUSERName,MTIME,WorkPoint from ICSContainer";
  4422. sql += " WHERE 1=1";
  4423. sql = string.Format(sql);
  4424. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4425. }
  4426. public DataTable GetContainerInfo(string Code)
  4427. {
  4428. DataTable dt = new DataTable();
  4429. //var queryParam = queryJson.ToJObject();
  4430. List<DbParameter> parameter = new List<DbParameter>();
  4431. string sql = @" select ID,ContainerID,ContainerCode,ContainerName,Memo,MUSER,MUSERName,MTIME,WorkPoint from ICSContainer where ContainerCode='{0}'";
  4432. sql = string.Format(sql, Code);
  4433. return Repository().FindTableBySql(sql.ToString());
  4434. }
  4435. public DataTable GetBindContainerID(string SireCode)
  4436. {
  4437. DataTable dt = new DataTable();
  4438. //var queryParam = queryJson.ToJObject();
  4439. List<DbParameter> parameter = new List<DbParameter>();
  4440. string sql = @" select ID from ICSContainer where ContainerCode='{0}'";
  4441. sql = string.Format(sql, SireCode);
  4442. return Repository().FindTableBySql(sql.ToString());
  4443. }
  4444. public string BindingContainerID(string keyValue)
  4445. {
  4446. // string msg = "";
  4447. // try
  4448. // {
  4449. // string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4450. // string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4451. // string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4452. // string sql = string.Empty;
  4453. // JArray res = (JArray)JsonConvert.DeserializeObject(ICSMTDOC);
  4454. // foreach (var item in res)
  4455. // {
  4456. // JObject jo = (JObject)item;
  4457. // sql += @"
  4458. // IF NOT EXISTS(SELECT ContainerCode FROM ICSContainer WHERE ContainerCode='{1}' )
  4459. // BEGIN
  4460. // RAISERROR('容器:{1} 不存在!',16,1);
  4461. // RETURN
  4462. // END
  4463. // IF EXISTS(select ContainerID from ICSContainer where ContainerCode='{1}' and isnull(ContainerID,'')<>'')
  4464. // BEGIN
  4465. // RAISERROR('容器:{1},已绑定父容器!',16,1);
  4466. // RETURN
  4467. // END
  4468. // update ICSContainer set ContainerID='{0}' WHERE ContainerCode = '{1}' and WorkPoint ='{2}'";
  4469. // sql = string.Format(sql, SireID, jo["ContainerCode"].ToString(), WorkPoint);
  4470. // }
  4471. // if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  4472. // {
  4473. // }
  4474. // else
  4475. // {
  4476. // msg = "绑定失败";
  4477. // }
  4478. // }
  4479. // catch (Exception ex)
  4480. // {
  4481. // msg = ex.Message;
  4482. // }
  4483. // return msg;
  4484. string msg = "";
  4485. string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "ICSContainerCon/Create";
  4486. string result = DeciliterApp.HttpPost(APIURL, keyValue);
  4487. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
  4488. string MessAge = Obj["Message"].ToString();
  4489. string Success = Obj["Success"].ToString();
  4490. if (Success.ToUpper() == "FALSE")
  4491. {
  4492. msg = MessAge;
  4493. }
  4494. return msg;
  4495. }
  4496. //包装容器关联条码
  4497. public DataTable GetSendContainerLot(ref Pagination jqgridparam, string queryJson)
  4498. {
  4499. DataTable dt = new DataTable();
  4500. var queryParam = queryJson.ToJObject();
  4501. List<DbParameter> parameter = new List<DbParameter>();
  4502. string sql = @"se
  4503. select top 0 a.ID, a.LotNo,a.InvCode,b.InvName,b.InvStd,b.InvUnit, a.ProductDate,a.Quantity from ICSInventoryLot a
  4504. left join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint";
  4505. sql = string.Format(sql);
  4506. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4507. }
  4508. /// <summary>
  4509. /// 回车后获取信息
  4510. /// </summary>
  4511. /// <param name="LotNo"></param>
  4512. /// <returns>20230719 lacy.xu modifly 增加自由项</returns>
  4513. public DataTable GetContainerLotInfo(string LotNo)
  4514. {
  4515. DataTable dt = new DataTable();
  4516. //var queryParam = queryJson.ToJObject();
  4517. List<DbParameter> parameter = new List<DbParameter>();
  4518. string sql = @" select a.ID, a.LotNo,a.InvCode,b.InvName,b.InvStd,b.InvUnit, a.ProductDate,a.Quantity
  4519. ,c.ProjectCode,c.BatchCode,Version,Brand,c.cFree1,c.cFree2,c.cFree3,c.cFree4,c.cFree5,c.cFree6,c.cFree7
  4520. ,c.cFree8,c.cFree9,c.cFree10
  4521. from ICSInventoryLot a
  4522. left join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  4523. LEFT JOIN dbo.ICSExtension c ON a.ExtensionID=c.ID AND a.WorkPoint=c.WorkPoint
  4524. where a.LotNo='{0}'";
  4525. sql = string.Format(sql, LotNo);
  4526. return Repository().FindTableBySql(sql.ToString());
  4527. }
  4528. public string BindingContainerLotID(string keyValue)
  4529. {
  4530. // string msg = "";
  4531. // try
  4532. // {
  4533. // string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4534. // string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4535. // string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4536. // string sql = string.Empty;
  4537. // JArray res = (JArray)JsonConvert.DeserializeObject(ICSMTDOC);
  4538. // foreach (var item in res)
  4539. // {
  4540. // JObject jo = (JObject)item;
  4541. // sql += @"
  4542. // IF NOT EXISTS(SELECT ContainerCode FROM ICSContainer WHERE ContainerCode='{5}')
  4543. // BEGIN
  4544. // RAISERROR('容器:{5} 不存在!',16,1);
  4545. // RETURN
  4546. // END
  4547. // IF NOT EXISTS(select LotNo from ICSInventoryLot where LotNo='{1}')
  4548. // BEGIN
  4549. // RAISERROR('条码:{1},不存在!',16,1);
  4550. // RETURN
  4551. // END
  4552. // IF EXISTS(select LotNo from ICSContainerLot where LotNo ='{1}')
  4553. // BEGIN
  4554. // RAISERROR('条码:{1},已绑定容器!',16,1);
  4555. // RETURN
  4556. // END
  4557. // INSERT INTO ICSContainerLot
  4558. // (ID,ContainerID,LotNo,MUSER,MUSERName,WorkPoint,MTIME )
  4559. // Values(NEWID(),'{0}','{1}','{2}','{3}','{4}',getdate())";
  4560. // sql = string.Format(sql, SireID, jo["LotNo"].ToString(), MUSER, MUSERNAME, WorkPoint, SireCode);
  4561. // }
  4562. // if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  4563. // {
  4564. // }
  4565. // else
  4566. // {
  4567. // msg = "绑定失败";
  4568. // }
  4569. // }
  4570. // catch (Exception ex)
  4571. // {
  4572. // msg = ex.Message;
  4573. // }
  4574. // return msg;
  4575. string msg = "";
  4576. string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "ICSContainerLot/Create";
  4577. string result = DeciliterApp.HttpPost(APIURL, keyValue);
  4578. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
  4579. string MessAge = Obj["Message"].ToString();
  4580. string Success = Obj["Success"].ToString();
  4581. if (Success.ToUpper() == "FALSE")
  4582. {
  4583. msg = MessAge;
  4584. }
  4585. return msg;
  4586. }
  4587. /// <summary>
  4588. /// 删除站点
  4589. /// </summary>
  4590. /// <param name="keyValue">传入ID</param>
  4591. /// <returns></returns>
  4592. public string DeleteWorkPoint(string keyValue)
  4593. {
  4594. //站点信息
  4595. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4596. string msg = "";
  4597. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  4598. string sql = string.Empty;
  4599. sql = string.Format(@"DELETE FROM dbo.sys_WorkPoint WHERE ID IN ({0}) ", keyValue.TrimEnd(','), WorkPoint);
  4600. try
  4601. {
  4602. SqlHelper.ExecuteNonQuery(sql);
  4603. }
  4604. catch (Exception ex)
  4605. {
  4606. throw new Exception(ex.Message);
  4607. }
  4608. return msg;
  4609. }
  4610. /// <summary>
  4611. /// 新增站点
  4612. /// </summary>
  4613. /// <param name="queryJson"></param>
  4614. /// <returns></returns>
  4615. public string InsertWorkPoint(string keyValue)
  4616. {
  4617. var queryParam = keyValue.ToJObject();
  4618. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4619. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4620. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4621. string msg = "";
  4622. string sql = string.Empty;
  4623. string pwd = SqlHelper.ToMd5(queryParam["DataBasePwd"].ToString());
  4624. sql = @"INSERT INTO dbo.sys_WorkPoint
  4625. ( ID ,WorkPointCode ,WorkPointName ,ServerName,DataBaseName,DataBaseUser,DataBasePwd, StartFlag,CreateDate,CreateUserCode )
  4626. Values(NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}','{6}',GETDATE(),'{7}')
  4627. ";
  4628. sql = string.Format(sql, queryParam["WorkPointCode"].ToString(), queryParam["WorkPointName"].ToString(), queryParam["ServerName"].ToString(),
  4629. queryParam["DataBaseName"].ToString(), queryParam["DataBaseUser"].ToString(), pwd, queryParam["StartFlag"].ToString(), MUSER);
  4630. try
  4631. {
  4632. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  4633. {
  4634. }
  4635. else
  4636. {
  4637. msg = "新增失败";
  4638. }
  4639. }
  4640. catch (Exception ex)
  4641. {
  4642. throw new Exception(ex.Message);
  4643. }
  4644. return msg;
  4645. }
  4646. /// <summary>
  4647. /// 修改站点
  4648. /// </summary>
  4649. /// <param name="queryJson"></param>
  4650. /// <returns></returns>
  4651. public string UpdateWorkPoint(string keyValue)
  4652. {
  4653. var queryParam = keyValue.ToJObject();
  4654. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4655. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4656. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4657. string msg = "";
  4658. string pwd = SqlHelper.ToMd5(queryParam["DataBasePwd"].ToString());
  4659. string sql = string.Empty;
  4660. sql = @"UPDATE dbo.sys_WorkPoint set WorkPointCode='{0}',WorkPointName='{1}',ServerName='{2}',DataBaseName='{3}',StartFlag='{4}'
  4661. ,DataBaseUser='{5}',DataBasePwd='{6}',ModifyDate=GETDATE(),ModifyUserCode='{7}' WHERE ID='{8}'";
  4662. sql = string.Format(sql, queryParam["WorkPointCode"].ToString(), queryParam["WorkPointName"].ToString(), queryParam["ServerName"].ToString(),
  4663. queryParam["DataBaseName"].ToString(), queryParam["StartFlag"].ToString(), queryParam["DataBaseUser"].ToString(), pwd
  4664. , MUSER, queryParam["ID"].ToString());
  4665. try
  4666. {
  4667. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  4668. {
  4669. }
  4670. else
  4671. {
  4672. msg = "修改失败";
  4673. }
  4674. }
  4675. catch (Exception ex)
  4676. {
  4677. throw new Exception(ex.Message);
  4678. }
  4679. return msg;
  4680. }
  4681. public Sys_WorkPoint GetWorkPoint(string Id)
  4682. {
  4683. Sys_WorkPoint model = new Sys_WorkPoint();
  4684. string sql = string.Empty;
  4685. sql = string.Format(@"SELECT ID,
  4686. WorkPointCode,
  4687. WorkPointName,
  4688. ServerName,
  4689. DataBaseName,
  4690. DataBaseUser,
  4691. DataBasePwd,
  4692. StartFlag,
  4693. CreateUserCode,
  4694. CreateDate,
  4695. ModifyUserCode,
  4696. ModifyDate
  4697. FROM Sys_WorkPoint
  4698. WHERE ID='{0}'", Id);
  4699. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  4700. if (dt != null && dt.Rows.Count > 0)
  4701. {
  4702. model.ID = dt.Rows[0]["ID"].ToString();
  4703. model.WorkPointCode = dt.Rows[0]["WorkPointCode"].ToString();
  4704. model.WorkPointName = dt.Rows[0]["WorkPointName"].ToString();
  4705. model.ServerName = dt.Rows[0]["ServerName"].ToString();
  4706. model.DataBaseName = dt.Rows[0]["DataBaseName"].ToString();
  4707. model.DataBaseUser = dt.Rows[0]["DataBaseUser"].ToString();
  4708. model.DataBasePwd = SqlHelper.FromMd5(dt.Rows[0]["DataBasePwd"].ToString());
  4709. model.StartFlag = dt.Rows[0]["StartFlag"].ToString();
  4710. }
  4711. return model;
  4712. }
  4713. public DataTable GetICSInventoryLotInfo(string ID)
  4714. {
  4715. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4716. DataTable dt = new DataTable();
  4717. //var queryParam = queryJson.ToJObject();
  4718. List<DbParameter> parameter = new List<DbParameter>();
  4719. string sql = @" SELECT a.ID,
  4720. a.LotNo,
  4721. a.InvCode,
  4722. a.ProductDate,
  4723. a.ExpirationDate,
  4724. a.Quantity,
  4725. a.Amount,
  4726. a.ExtensionID,
  4727. a.Type,
  4728. a.PrintTimes,
  4729. a.LastPrintUser,
  4730. a.LastPrintTime,
  4731. a.MUSER,
  4732. a.MUSERName,
  4733. a.MTIME,
  4734. a.WorkPoint,
  4735. a.EATTRIBUTE1,
  4736. b.InvName,
  4737. b.InvUnit,
  4738. c.Enable
  4739. FROM
  4740. dbo.ICSInventoryLot a left join ICSInventory b on a.InvCode=b.InvCode AND a.WorkPoint=b.WorkPoint
  4741. left join ICSInspection c on a.LotNo=c.LotNo AND a.WorkPoint=b.WorkPoint and c.Enable='1'
  4742. WHERE a.ID='" + ID + "'";
  4743. sql += " and a.WorkPoint='" + WorkPoint + "'";
  4744. return Repository().FindTableBySql(sql.ToString());
  4745. }
  4746. public DataTable GetICSBatchInfo(string BatchCode, string INVCode)
  4747. {
  4748. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4749. DataTable dt = new DataTable();
  4750. //var queryParam = queryJson.ToJObject();
  4751. List<DbParameter> parameter = new List<DbParameter>();
  4752. string sql = @" select TOP 1 A.InvCode AS InvCode,C.InvName AS InvName,A.ExpirationDate AS CurrentExpirationDate
  4753. ,B.BatchCode AS BatchCode,SUM(D.Quantity) AS Quantity from ICSInventoryLot A
  4754. LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
  4755. LEFT JOIN ICSInventory C ON C.InvCode=A.InvCode AND C.WorkPoint=A.WorkPoint
  4756. LEFT JOIN ICSWareHouseLotInfo D ON D.LotNo=A.LotNo AND D.WorkPoint=A.WorkPoint
  4757. where B.BatchCode='{0}' AND A.InvCode='{1}' AND A.WorkPoint='{2}'
  4758. GROUP BY A.InvCode,A.ExpirationDate,B.BatchCode,C.InvName";
  4759. sql = string.Format(sql, BatchCode, INVCode, WorkPoint);
  4760. return Repository().FindTableBySql(sql.ToString());
  4761. }
  4762. public int UpdateExpirationDate(string ID, string ExpirationDate, string Inv, string LotNo, string InvCode, string Quantity)
  4763. {
  4764. //decimal QualifiedQuantity = 0;
  4765. //decimal UnqualifiedQuantity = 0;
  4766. // if (Inv == "1") { QualifiedQuantity = Convert.ToDecimal(Quantity); } else { UnqualifiedQuantity = Convert.ToDecimal(Quantity); }
  4767. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4768. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4769. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4770. string sqls = string.Empty;
  4771. //sqls = @"update ICSInspection set Enable='0' WHERE LotNO='{0}' and Enable='1' and WorkPoint='{1}'";
  4772. //sqls = string.Format(sqls, LotNo, WorkPoint);
  4773. //SqlHelper.CmdExecuteNonQueryLi(sqls);
  4774. string sql = string.Empty;
  4775. sql += @"UPDATE ICSInventoryLot SET ExpirationDate='{0}' where ID='{1}' AND WorkPoint='{2}'";
  4776. // sql += @"INSERT INTO dbo.ICSInspection
  4777. // ( ID ,LotNo ,InvCode ,Quantity,QualifiedQuantity,UnqualifiedQuantity,WaiveQuantity,Type,Result,ExpirationDate,Enable,MUSER,MUSERName,MTIME,WorkPoint )
  4778. //Values(NEWID(),'{3}','{4}','{5}','{6}','{7}',0,'4','{8}','{0}','1','{9}','{10}',GETDATE(),'{2}')";
  4779. //sql = string.Format(sql, ExpirationDate, ID, WorkPoint, LotNo, InvCode, Quantity, QualifiedQuantity, UnqualifiedQuantity, Inv, MUSER, MUSERNAME);
  4780. sql = string.Format(sql, ExpirationDate, ID, WorkPoint);
  4781. int count = SqlHelper.CmdExecuteNonQueryLi(sql);
  4782. return count;
  4783. }
  4784. public int UpdateBatchExpirationDate(string ExpirationDate, string BatchCode, string InvCode)
  4785. {
  4786. try
  4787. {
  4788. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4789. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4790. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4791. string sqls = string.Empty;
  4792. sqls = @"UPDATE A
  4793. SET A.ExpirationDate='{0}'
  4794. FROM ICSInventoryLot A
  4795. LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
  4796. WHERE A.InvCode='{1}' AND B.BatchCode='{2}' AND A.WorkPoint='{3}'";
  4797. sqls = string.Format(sqls, ExpirationDate, InvCode, BatchCode, WorkPoint);
  4798. string Inputstr = "";
  4799. Inputstr += "{";
  4800. Inputstr += "\"ORGCode\":\"" + WorkPoint + "\",";
  4801. Inputstr += "\"ModifyUserCode\":\"" + MUSER + "\",";
  4802. Inputstr += "\"ListLot\": [{";
  4803. Inputstr += "\"LotCode\":\"" + BatchCode + "\",";
  4804. Inputstr += "\"INVCode\":\"" + InvCode + "\",";
  4805. Inputstr += "\"InvalidTime\":\"" + ExpirationDate + "\"";
  4806. Inputstr += "}]";
  4807. Inputstr += "}";
  4808. string APIURL = ConfigurationManager.ConnectionStrings["ERPAPIURL"].ConnectionString + "ModifyBatch/Modify";
  4809. string result = HttpPost(APIURL, Inputstr);
  4810. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);
  4811. string MessAge = Obj["Message"].ToString();
  4812. string Success = Obj["Success"].ToString();
  4813. if (Success.ToUpper() == "FALSE")
  4814. {
  4815. throw new Exception(MessAge);
  4816. }
  4817. else
  4818. {
  4819. int count = SqlHelper.CmdExecuteNonQueryLi(sqls);
  4820. return count;
  4821. }
  4822. }
  4823. catch (Exception ex)
  4824. {
  4825. throw new Exception(ex.Message);
  4826. }
  4827. }
  4828. public string CmdExecuteData(string sql, string MTDOCCode, string Identification)
  4829. {
  4830. string msg = "";
  4831. try
  4832. {
  4833. string connString = SqlHelper.DataCenterConnString;
  4834. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  4835. conn.Open();
  4836. SqlTransaction sqlTran = conn.BeginTransaction();
  4837. SqlCommand cmd = new SqlCommand();
  4838. cmd.Transaction = sqlTran;
  4839. cmd.Connection = conn;
  4840. try
  4841. {
  4842. DataSet DSet = SqlCommandHelper.SQlReturnDataSet(sql, cmd);
  4843. string Inputstr = SqlHelper.DataSetToJson(DSet, "details", "Costre");
  4844. string APIURL = ConfigurationManager.ConnectionStrings["ERPAPIURL"].ConnectionString + "MorphologicalTransformationDoc/Create";
  4845. string result = HttpPost(APIURL, Inputstr);
  4846. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
  4847. string MessAge = Obj["Message"].ToString();
  4848. string Success = Obj["Success"].ToString();
  4849. string ERPSql = "";
  4850. if (Success.ToUpper() == "FALSE")
  4851. {
  4852. throw new Exception(MessAge);
  4853. }
  4854. else
  4855. {
  4856. try
  4857. {
  4858. JArray res = (JArray)JsonConvert.DeserializeObject(Obj["Data"].ToString());
  4859. foreach (var item in res)
  4860. {
  4861. JObject jo = (JObject)item;
  4862. JArray resdetail = (JArray)JsonConvert.DeserializeObject(jo["details"].ToString());
  4863. foreach (var detail in resdetail)
  4864. {
  4865. JObject det = (JObject)detail;
  4866. ERPSql += @"UPDATE a set ERPID='{3}',ERPDetailID='{4}',ERPCode='{5}',ERPSequence='{6}',ERPUpload='1'
  4867. from ICSWareHouseLotInfoLog a
  4868. inner join ICSMTDOC b on a.LotNo=b.LotNo and a.WorkPoint=b.WorkPoint
  4869. where b.MTDOCCode='{0}' and b.Sequence='{1}' and a.Identification='{2}'";
  4870. ERPSql += @" update ICSMTDOC set MTDOCID='{3}',MTDOCDetailID='{4}' where MTDOCCode='{0}' and Sequence='{1}'";
  4871. ERPSql = string.Format(ERPSql, MTDOCCode, det["Sequence"].ToString(), Identification, jo["ID"].ToString(), det["DetailID"].ToString(), jo["MTCode"].ToString(), det["Sequence"].ToString());
  4872. }
  4873. }
  4874. SqlCommandHelper.CmdExecuteNonQuery(ERPSql, cmd);
  4875. }
  4876. catch (Exception ex)
  4877. {
  4878. msg = ex.Message;
  4879. }
  4880. }
  4881. cmd.Transaction.Commit();
  4882. //return dt;
  4883. }
  4884. catch (Exception ex)
  4885. {
  4886. cmd.Transaction.Rollback();
  4887. msg = ex.Message;
  4888. }
  4889. finally
  4890. {
  4891. if (conn.State == ConnectionState.Open)
  4892. {
  4893. conn.Close();
  4894. }
  4895. conn.Dispose();
  4896. }
  4897. }
  4898. catch (Exception ex)
  4899. {
  4900. msg = ex.Message;
  4901. }
  4902. return msg;
  4903. }
  4904. //修改多语言
  4905. public string UpdateSys_Language(string keyValue)
  4906. {
  4907. var queryParam = keyValue.ToJObject();
  4908. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4909. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4910. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4911. string msg = "";
  4912. string sql = string.Empty;
  4913. sql = @"UPDATE Sys_Language set Code='{0}',CnValue='{1}',TwValue='{2}',EnValue='{3}' WHERE ID='{4}'";
  4914. sql = string.Format(sql, queryParam["Code"].ToString(), queryParam["CnValue"].ToString(), queryParam["TwValue"].ToString(), queryParam["EnValue"].ToString(), queryParam["ID"].ToString());
  4915. try
  4916. {
  4917. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  4918. {
  4919. }
  4920. else
  4921. {
  4922. msg = "修改失败";
  4923. }
  4924. }
  4925. catch (Exception ex)
  4926. {
  4927. throw new Exception(ex.Message);
  4928. }
  4929. return msg;
  4930. }
  4931. //新增多语言
  4932. public string InsertSys_Language(string keyValue)
  4933. {
  4934. var queryParam = keyValue.ToJObject();
  4935. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  4936. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  4937. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4938. string msg = "";
  4939. string sql = string.Empty;
  4940. sql = @" IF EXISTS(SELECT * FROM Sys_Language WHERE Code='{0}' )
  4941. begin
  4942. RAISERROR('',16,1)
  4943. end
  4944. INSERT INTO Sys_Language
  4945. ( ID ,Code ,CnValue ,TwValue,EnValue )
  4946. Values(NEWID(),'{0}','{1}','{2}','{3}')
  4947. ";
  4948. sql = string.Format(sql, queryParam["Code"].ToString(), queryParam["CnValue"].ToString(), queryParam["TwValue"].ToString(), queryParam["EnValue"].ToString());
  4949. try
  4950. {
  4951. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  4952. {
  4953. }
  4954. else
  4955. {
  4956. msg = "新增失败";
  4957. }
  4958. }
  4959. catch (Exception ex)
  4960. {
  4961. throw new Exception(ex.Message);
  4962. }
  4963. return msg;
  4964. }
  4965. public string GetSerialCode(string workPointCode, string tbName, string colName, string Pre, int numLen)
  4966. {
  4967. string sql = "EXEC Addins_GetSerialCode '{0}','{1}','{2}','{3}',{4}";
  4968. sql = string.Format(sql, new object[] { workPointCode, tbName, colName, Pre, numLen });
  4969. return DbHelper.ExecuteScalar(CommandType.Text, sql).ToString();
  4970. }
  4971. public DataTable GetSys_Language(string ID)
  4972. {
  4973. DataTable dt = new DataTable();
  4974. //var queryParam = queryJson.ToJObject();
  4975. List<DbParameter> parameter = new List<DbParameter>();
  4976. string sql = @"select ID,Code,CnValue,TwValue,EnValue from Sys_Language
  4977. WHERE 1 =1 and ID='" + ID + "' ";
  4978. return Repository().FindTableBySql(sql.ToString());
  4979. }
  4980. /// <summary>
  4981. /// 删除多语言
  4982. /// </summary>
  4983. /// <param name="keyValue">传入ID</param>
  4984. /// <returns></returns>
  4985. public string DeleteSys_Language(string keyValue)
  4986. {
  4987. string msg = "";
  4988. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  4989. string sql = string.Empty;
  4990. sql = string.Format(@"DELETE FROM Sys_Language WHERE ID IN ({0})", keyValue.TrimEnd(','));
  4991. try
  4992. {
  4993. SqlHelper.ExecuteNonQuery(sql);
  4994. }
  4995. catch (Exception ex)
  4996. {
  4997. throw new Exception(ex.Message);
  4998. }
  4999. return msg;
  5000. }
  5001. //料品检验项目
  5002. public DataTable GetICSInventoryInspectionGroup(ref Pagination jqgridparam, string queryJson)
  5003. {
  5004. DataTable dt = new DataTable();
  5005. var queryParam = queryJson.ToJObject();
  5006. List<DbParameter> parameter = new List<DbParameter>();
  5007. string sql = @"select ID,InvCode,GroupCode,GroupName,
  5008. case when Enable='1' then '是' else '否' end as Enable,
  5009. EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,
  5010. EATTRIBUTE9,EATTRIBUTE10
  5011. MUSER,MUSERName,MTIME,WorkPoint from ICSInventoryInspectionGroup ";
  5012. sql += " WHERE 1=1";
  5013. if (!string.IsNullOrWhiteSpace(queryJson))
  5014. {
  5015. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  5016. {
  5017. sql += " and InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  5018. }
  5019. if (!string.IsNullOrWhiteSpace(queryParam["GroupCode"].ToString()))
  5020. {
  5021. sql += " and GroupCode like '%" + queryParam["GroupCode"].ToString() + "%' ";
  5022. }
  5023. if (!string.IsNullOrWhiteSpace(queryParam["GroupName"].ToString()))
  5024. {
  5025. sql += " and GroupName like '%" + queryParam["GroupName"].ToString() + "%' ";
  5026. }
  5027. }
  5028. sql = string.Format(sql);
  5029. DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  5030. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  5031. }
  5032. //料品检验项目子表
  5033. public DataTable ICSInventoryInspectionList(string ID, ref Pagination jqgridparam)
  5034. {
  5035. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5036. DataTable dt = new DataTable();
  5037. //var queryParam = queryJson.ToJObject();
  5038. List<DbParameter> parameter = new List<DbParameter>();
  5039. string sql = @" select ID,InvGroupID,ListCode,ListName,Unit,SetValueMax, SetValueMin,
  5040. CASE WHEN Enable=0 THEN '否' else '是' END Enable,
  5041. MUSERName,MTIME,WorkPoint from ICSInventoryInspectionList
  5042. WHERE InvGroupID='" + ID + "'";
  5043. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  5044. }
  5045. // 删除料品检验项目子表
  5046. public string DeleteICSInventoryInspectionGroup(string keyValue)
  5047. {
  5048. //站点信息
  5049. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5050. string msg = "";
  5051. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  5052. string sql = string.Empty;
  5053. sql += string.Format(@"DELETE FROM dbo.ICSInventoryInspectionGroup WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  5054. sql += string.Format(@"DELETE FROM dbo.ICSInventoryInspectionList WHERE InvGroupID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  5055. try
  5056. {
  5057. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  5058. {
  5059. }
  5060. }
  5061. catch (Exception ex)
  5062. {
  5063. throw new Exception(ex.Message);
  5064. }
  5065. return msg;
  5066. }
  5067. public DataTable Getinv(string invcode, ref Pagination jqgridparam)
  5068. {
  5069. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5070. List<DbParameter> parameter = new List<DbParameter>();
  5071. DataTable table = new DataTable();
  5072. string wherestr = "";
  5073. if (!string.IsNullOrEmpty(invcode))
  5074. {
  5075. wherestr += " and invcode like '%" + invcode + "%'";
  5076. }
  5077. string sql = "select ID,InvCode,InvName,InvDesc,InvUnit,WorkPoint from ICSInventory where workpoint='" + WorkPoint + "'" + wherestr;
  5078. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  5079. }
  5080. public DataTable GetGroupCode()
  5081. {
  5082. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5083. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  5084. string sql = @"select '' as ID,'' as GroupName
  5085. union all
  5086. SELECT distinct ID,GroupName FROM ICSInspectionGroup where WorkPoint='{0}'";
  5087. sql = string.Format(sql, WorkPoint);
  5088. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  5089. return dt;
  5090. }
  5091. public void DeleteINvItem(string ID)
  5092. {
  5093. string sql = "DELETE FROM dbo.ICSInventoryInspectionList WHERE ID='" + ID + "'";
  5094. SqlHelper.ExecuteNonQuery(sql);
  5095. }
  5096. public DataTable GetICSInventoryInspectionList(string ListCode, ref Pagination jqgridparam)
  5097. {
  5098. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5099. DataTable dt = new DataTable();
  5100. //var queryParam = queryJson.ToJObject();
  5101. List<DbParameter> parameter = new List<DbParameter>();
  5102. string sql = @"select ID,ListCode,ListName,Unit,SetValueMax,SetValueMin,Enable,MUSERName,MTIME from ICSInventoryInspectionList
  5103. WHERE ListCode='" + ListCode + "' ";
  5104. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  5105. }
  5106. public DataTable GetInspectionListInfo(string ID)
  5107. {
  5108. DataTable dt = new DataTable();
  5109. //var queryParam = queryJson.ToJObject();
  5110. List<DbParameter> parameter = new List<DbParameter>();
  5111. string sql = @"
  5112. select ID,ListCode,ListName,Unit,SetValueMax,SetValueMin, CASE WHEN Enable=0 THEN '否' else '是' END Enable
  5113. from ICSInspectionList where GroupID='{0}'";
  5114. sql = string.Format(sql, ID);
  5115. return Repository().FindTableBySql(sql.ToString());
  5116. }
  5117. //新增
  5118. public void SubICSInventoryInspectionGroupAdd(ICSInventoryInspectionGroup main, string ID, string InvCode)
  5119. {
  5120. string sql = string.Empty;
  5121. string sqls = string.Empty;
  5122. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  5123. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  5124. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5125. string NewID = Common.GuId();
  5126. List<ICSInventoryInspectionGroup> list_Item1 = new List<ICSInventoryInspectionGroup>();
  5127. if (main.arrayShellFabricItem != null)
  5128. {
  5129. list_Item1 = JsonConvert.DeserializeObject<List<ICSInventoryInspectionGroup>>(main.arrayShellFabricItem);
  5130. }
  5131. string connString = SqlHelper.DataCenterConnString;
  5132. SqlConnection conn = new SqlConnection(connString);
  5133. conn.Open();
  5134. SqlTransaction sqlTran = conn.BeginTransaction();
  5135. SqlCommand cmd = new SqlCommand();
  5136. cmd.Transaction = sqlTran;
  5137. cmd.Connection = conn;
  5138. sql = @"
  5139. INSERT INTO dbo.ICSInventoryInspectionGroup
  5140. ( ID ,InvCode ,GroupCode ,GroupName ,
  5141. Enable ,MUSER ,MUSERName ,MTIME ,WorkPoint )
  5142. SELECT '{0}','{1}',GroupCode,GroupName,Enable,'{2}','{3}',getdate(),'{4}'
  5143. FROM dbo.ICSInspectionGroup
  5144. WHERE ID='{5}'";
  5145. sql = string.Format(sql, NewID, InvCode, MUSER, MUSERNAME, WorkPoint, ID);
  5146. try
  5147. {
  5148. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  5149. {
  5150. foreach (ICSInventoryInspectionGroup Item in list_Item1)
  5151. {
  5152. sqls = @"
  5153. INSERT INTO dbo.ICSInventoryInspectionList
  5154. ( ID ,InvGroupID,ListCode,ListName,Unit,SetValueMax,SetValueMin,Enable , MTIME,MUSER ,MUSERName ,WorkPoint )
  5155. Values(newid(),'{0}',@ListCode,@ListName,@Unit,@SetValueMax,@SetValueMin,@Enable,GETDATE(),'{1}','{2}','{3}')";
  5156. sqls = string.Format(sqls, NewID, MUSER, MUSERNAME, WorkPoint);
  5157. if (string.IsNullOrWhiteSpace(Item.SetValueMax))
  5158. {
  5159. Item.SetValueMax = null;
  5160. }
  5161. if (string.IsNullOrWhiteSpace(Item.SetValueMin))
  5162. {
  5163. Item.SetValueMin = null;
  5164. }
  5165. SqlParameter[] sp_Item = {
  5166. new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  5167. new SqlParameter("@ListCode",DbType.String){ Value= Item.ListCode},
  5168. new SqlParameter("@ListName",DbType.String){ Value= Item.ListName},
  5169. new SqlParameter("@Unit",DbType.String){ Value= Item.Unit},
  5170. new SqlParameter("@SetValueMax",DbType.String){ Value= Item.SetValueMax},
  5171. new SqlParameter("@SetValueMin",DbType.String){ Value= Item.SetValueMin},
  5172. new SqlParameter("@Enable",DbType.String){ Value= Item.Enable},
  5173. };
  5174. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  5175. }
  5176. cmd.Transaction.Commit();
  5177. }
  5178. }
  5179. catch (Exception ex)
  5180. {
  5181. cmd.Transaction.Rollback();
  5182. throw new Exception(ex.Message);
  5183. }
  5184. finally
  5185. {
  5186. if (conn.State == ConnectionState.Open)
  5187. {
  5188. conn.Close();
  5189. }
  5190. conn.Dispose();
  5191. }
  5192. }
  5193. public DataTable GetICSInventoryInspectionList2(string BID)
  5194. {
  5195. string sql = string.Empty;
  5196. DataTable dt = null;
  5197. sql = string.Format(@" select ID,ListCode,ListName,Unit,SetValueMax,SetValueMin, CASE WHEN Enable='1' THEN '是' else '否' END Enable from ICSInventoryInspectionList where InvGroupID='{0}'", BID);
  5198. dt = SqlHelper.GetDataTableBySql(sql);
  5199. return dt;
  5200. }
  5201. //修改
  5202. public void UpdateICSInventoryInspectionGroup(ICSInventoryInspectionGroup main, string BID, string ID, string InvCode)
  5203. {
  5204. string sql = string.Empty;
  5205. string sqls = string.Empty;
  5206. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  5207. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  5208. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5209. List<ICSInventoryInspectionGroup> list_Item1 = new List<ICSInventoryInspectionGroup>();
  5210. if (main.arrayShellFabricItem != null)
  5211. {
  5212. list_Item1 = JsonConvert.DeserializeObject<List<ICSInventoryInspectionGroup>>(main.arrayShellFabricItem);
  5213. }
  5214. string connString = SqlHelper.DataCenterConnString;
  5215. SqlConnection conn = new SqlConnection(connString);
  5216. conn.Open();
  5217. SqlTransaction sqlTran = conn.BeginTransaction();
  5218. SqlCommand cmd = new SqlCommand();
  5219. cmd.Transaction = sqlTran;
  5220. cmd.Connection = conn;
  5221. sql = @"update b set b.InvCode='{0}',b.GroupCode=a.GroupCode,b.GroupName=a.GroupName,b.Enable=a.Enable,b.MTIME=GETDATE(),b.MUSER='{1}',b.MUSERName='{2}',b.WorkPoint='{3}' from ICSInspectionGroup a ,ICSInventoryInspectionGroup b where a.ID='{4}' and b.ID='{5}'";
  5222. sql = string.Format(sql, InvCode, MUSER, MUSERNAME, WorkPoint, ID, BID);
  5223. try
  5224. {
  5225. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  5226. {
  5227. foreach (ICSInventoryInspectionGroup Item in list_Item1)
  5228. {
  5229. sqls = @" IF NOT EXISTS(SELECT * FROM ICSInventoryInspectionList WHERE ID=@ID)
  5230. BEGIN
  5231. INSERT INTO dbo.ICSInventoryInspectionList
  5232. ( ID ,InvGroupID,ListCode,ListName,Unit,SetValueMax,SetValueMin,Enable , MTIME,MUSER ,MUSERName ,WorkPoint )
  5233. Values(@ID,'{0}',@ListCode,@ListName,@Unit,@SetValueMax,@SetValueMin,@Enable,GETDATE(),'{1}','{2}','{3}')
  5234. END
  5235. ELSE
  5236. BEGIN
  5237. UPDATE dbo.ICSInventoryInspectionList set InvGroupID='{0}',ListCode=@ListCode,ListName=@ListName,Unit=@Unit,SetValueMax=@SetValueMax,SetValueMin=@SetValueMin,Enable=@Enable,MTIME=GETDATE(),MUSER='{1}',MUSERName='{2}',WorkPoint='{3}' WHERE ID=@ID
  5238. end
  5239. ";
  5240. sqls = string.Format(sqls, BID, MUSER, MUSERNAME, WorkPoint);
  5241. if (string.IsNullOrEmpty(Item.SetValueMax))
  5242. {
  5243. Item.SetValueMax = null;
  5244. }
  5245. if (string.IsNullOrEmpty(Item.SetValueMin))
  5246. {
  5247. Item.SetValueMin = null;
  5248. }
  5249. SqlParameter[] sp_Item = {
  5250. new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  5251. new SqlParameter("@ListCode",DbType.String){ Value= Item.ListCode},
  5252. new SqlParameter("@ListName",DbType.String){ Value= Item.ListName},
  5253. new SqlParameter("@Unit",DbType.String){ Value= Item.Unit},
  5254. new SqlParameter("@SetValueMax",DbType.String){ Value= Item.SetValueMax},
  5255. new SqlParameter("@SetValueMin",DbType.String){ Value= Item.SetValueMin},
  5256. new SqlParameter("@Enable",DbType.String){ Value= Item.Enable},
  5257. };
  5258. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  5259. }
  5260. cmd.Transaction.Commit();
  5261. }
  5262. }
  5263. catch (Exception ex)
  5264. {
  5265. cmd.Transaction.Rollback();
  5266. throw new Exception(ex.Message);
  5267. }
  5268. finally
  5269. {
  5270. if (conn.State == ConnectionState.Open)
  5271. {
  5272. conn.Close();
  5273. }
  5274. conn.Dispose();
  5275. }
  5276. }
  5277. //库位导入
  5278. public string UploadFileInvBadGroup(String savePath)
  5279. {
  5280. //数据获取
  5281. try
  5282. {
  5283. int index = 1;
  5284. string msg = "";
  5285. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  5286. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  5287. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5288. string MTIME = DateTime.Now.ToString();
  5289. SqlConnection conn = SqlHelper.GetDataCenterConn();
  5290. string sql = "";
  5291. int count = 0;
  5292. DataTable data = FileToExcel.ExcelToTable(savePath);
  5293. foreach (DataRow dr in data.Rows)
  5294. {
  5295. index++;
  5296. var Enable = "";
  5297. string InvCode = dr["料品代码"].ToString().Trim().ToUpper();
  5298. string BCGroupCode = dr["不良代码组代码"].ToString().Trim().ToUpper();
  5299. string BRGroupCode = dr["不良原因组代码"].ToString().Trim().ToUpper();
  5300. string Enables = dr["是否启用"].ToString().Trim().ToUpper();
  5301. if (InvCode == "" || InvCode == null)
  5302. {
  5303. throw new Exception("第 " + index + " 行料品代码不能为空!");
  5304. }
  5305. if (BCGroupCode == "" || BCGroupCode == null)
  5306. {
  5307. throw new Exception("第 " + index + " 行不良代码组代码不能为空!");
  5308. }
  5309. if (BRGroupCode == "" || BRGroupCode == null)
  5310. {
  5311. throw new Exception("第 " + index + " 行不良原因组代码不能为空!");
  5312. }
  5313. if (Enables == "" || Enables == null)
  5314. {
  5315. throw new Exception("第 " + index + " 行是否启用不能为空!");
  5316. }
  5317. string sqlWH = @"select ID from dbo.ICSInventory where InvCode='{0}' and WorkPoint='{1}'";
  5318. sqlWH += @" select ID from ICSBadCodeGroup where BCGCode='{2}' and WorkPoint='{1}'";
  5319. sqlWH += @" select ID from ICSBadReasonGroup where BRGCode='{3}' and WorkPoint='{1}'";
  5320. sqlWH += @" select a.ID from ICSInventoryBadGroup a
  5321. inner join ICSBadCodeGroup b on a.BCGroupID=b.ID and a.WorkPoint=b.WorkPoint
  5322. inner join ICSBadReasonGroup c on a.BRGroupID=c.ID and a.WorkPoint=b.WorkPoint
  5323. where a.InvCode='{0}' and b.BCGCode='{2}'and c.BRGCode='{3}' and a.WorkPoint='{1}'";
  5324. sqlWH = string.Format(sqlWH, InvCode, WorkPoint, BCGroupCode, BRGroupCode);
  5325. DataSet ds = SqlHelper.GetDataSetBySql(sqlWH);
  5326. if (ds.Tables[0] == null || ds.Tables[0].Rows.Count <= 0)
  5327. {
  5328. throw new Exception("料品代码: " + InvCode + " 不存在!");
  5329. }
  5330. if (ds.Tables[1] == null || ds.Tables[1].Rows.Count <= 0)
  5331. {
  5332. throw new Exception("不良代码组代码: " + BCGroupCode + " 不存在!");
  5333. }
  5334. if (ds.Tables[2] == null || ds.Tables[2].Rows.Count <= 0)
  5335. {
  5336. throw new Exception("不良原因组代码: " + BRGroupCode + " 不存在!");
  5337. }
  5338. if (ds.Tables[3].Rows.Count > 0)
  5339. {
  5340. throw new Exception("第 " + index + " 行,料品: " + InvCode + " 已绑定相同不良信息!");
  5341. }
  5342. if (Enables == "是")
  5343. {
  5344. Enable = "1";
  5345. }
  5346. else
  5347. {
  5348. Enable = "0";
  5349. }
  5350. sql += @"INSERT INTO dbo.ICSInventoryBadGroup
  5351. ( ID,InvCode,BCGroupID,BRGroupID,Enable,MUSER,MUSERName,MTIME,WorkPoint)
  5352. Values(NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')";
  5353. sql = string.Format(sql, InvCode, ds.Tables[1].Rows[0]["ID"].ToString(), ds.Tables[2].Rows[0]["ID"].ToString(), Enable, MUSER, MUSERNAME, MTIME, WorkPoint);
  5354. }
  5355. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  5356. if (count > 0)
  5357. {
  5358. msg = "导入成功";
  5359. }
  5360. else
  5361. {
  5362. return "无有效的导入数据。";
  5363. }
  5364. return msg;
  5365. }
  5366. catch (Exception ex)
  5367. {
  5368. return ex.Message;
  5369. }
  5370. }
  5371. /// <summary>
  5372. /// 根据ID获取其他站点
  5373. /// </summary>
  5374. /// <returns></returns>
  5375. public DataTable GetWorkPointNotInID(string WorkPointCode)
  5376. {
  5377. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5378. string sql = @"select '' as WorkPointCode,'' as WorkPointName union all
  5379. SELECT WorkPointCode,WorkPointName FROM dbo.Sys_WorkPoint WITH (NOLOCK) WHERE WorkPointCode <>'{0}'
  5380. ";
  5381. sql = string.Format(sql, WorkPointCode.TrimEnd(','));
  5382. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  5383. return dt;
  5384. }
  5385. public string CloneWorkPointByCode(string WorkPoint, string WorkPointCode)
  5386. {
  5387. string msg = "";
  5388. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5389. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  5390. string MUSERName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  5391. string sql = string.Empty;
  5392. var ID = Guid.NewGuid();
  5393. //克隆参数配置表
  5394. sql += @"INSERT INTO ICSConfiguration(ID, Code, Name, Enable, Figure, MTIME, MUSER, MUSERName, WorkPoint)
  5395. SELECT newid(),Code,Name,Enable,Figure,getdate(),'{0}','{1}','{2}'
  5396. FROM ICSConfiguration
  5397. where WorkPoint='{3}'
  5398. ";
  5399. //克隆列类型
  5400. sql += @"INSERT INTO ICSType(ID, TableCode, ColumnCode, Code, Name, Enable, MTIME, MUSER, MUSERName, WorkPoint)
  5401. SELECT newid(),TableCode,ColumnCode,Code,Name,Enable,getdate(),'{0}','{1}','{2}'
  5402. FROM ICSType
  5403. where WorkPoint='{3}'
  5404. ";
  5405. //克隆自由项控制
  5406. sql += @" INSERT INTO IcsExtensionEnable(ID, ColCode, ColName, Enable, MTIME, MUSER, MUSERName, WorkPoint,EATTRIBUTE1)
  5407. SELECT newid(),ColCode,ColName,Enable,getdate(),'{0}','{1}','{2}',EATTRIBUTE1
  5408. FROM IcsExtensionEnable
  5409. where WorkPoint='{3}'
  5410. ";
  5411. //克隆admin
  5412. // sql += @"INSERT INTO Sys_SRM_User( F_Id, F_Account, F_RealName,F_NickName,F_HeadIcon,F_Gender,F_Birthday,F_MobilePhone,F_Email,F_WeChat,F_ManagerId,F_SecurityLevel,F_Signature,F_OrganizeId,F_DepartmentId,F_RoleId,F_DutyId,F_IsAdministrator,F_SortCode,F_DeleteMark,F_EnabledMark,F_Description,F_CreatorTime,F_CreatorUserId,F_LastModifyTime,F_LastModifyUserId,F_DeleteTime,F_DeleteUserId,F_Location,F_VenCode)
  5413. // SELECT '{4}',F_Account,F_RealName,F_NickName,F_HeadIcon,F_Gender,F_Birthday,F_MobilePhone,F_Email,F_WeChat,F_ManagerId,F_SecurityLevel,F_Signature,F_OrganizeId,F_DepartmentId,F_RoleId,F_DutyId,F_IsAdministrator,F_SortCode,F_DeleteMark,F_EnabledMark,F_Description,getdate(),F_CreatorUserId,F_LastModifyTime,F_LastModifyUserId,F_DeleteTime,F_DeleteUserId,'{2}',F_VenCode
  5414. // FROM Sys_SRM_User
  5415. // where F_Location='{3}' and F_Account='admin'
  5416. //";
  5417. //克隆admin登陆
  5418. // sql += @"INSERT INTO Sys_SRM_UserLogOn( F_Id, F_UserId, F_UserPassword, F_UserSecretkey, F_AllowStartTime, F_AllowEndTime, F_LockStartDate, F_LockEndDate, F_FirstVisitTime, F_PreviousVisitTime, F_LastVisitTime, F_ChangePasswordDate, F_MultiUserLogin, F_LogOnCount, F_UserOnLine, F_Question, F_AnswerQuestion, F_CheckIPAddress, F_Language, F_Theme)
  5419. // SELECT '{4}','{4}',F_UserPassword,F_UserSecretkey,F_AllowStartTime,F_AllowEndTime,F_LockStartDate,F_LockEndDate,F_FirstVisitTime,F_PreviousVisitTime,F_LastVisitTime,F_ChangePasswordDate,F_MultiUserLogin,F_LogOnCount,F_UserOnLine,F_Question,F_AnswerQuestion,F_CheckIPAddress,F_Language,F_Theme
  5420. // from dbo.Sys_SRM_UserLogOn a
  5421. // left join dbo.Sys_SRM_User b on a.F_UserId=b.F_Id
  5422. // where b.F_Account='admin' and b.F_Location='{3}'
  5423. //";
  5424. sql = string.Format(sql, MUSER, MUSERName, WorkPointCode, WorkPoint, ID);
  5425. try
  5426. {
  5427. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  5428. {
  5429. }
  5430. else
  5431. {
  5432. msg = "克隆失败";
  5433. }
  5434. }
  5435. catch (Exception ex)
  5436. {
  5437. throw new Exception(ex.Message);
  5438. }
  5439. return msg;
  5440. }
  5441. public string DeleteTableByCode(string TableCode)
  5442. {
  5443. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  5444. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  5445. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5446. string msg = "";
  5447. string sql = string.Empty;
  5448. JArray res = (JArray)JsonConvert.DeserializeObject(TableCode);
  5449. foreach (var item in res)
  5450. {
  5451. JObject jo = (JObject)item;
  5452. sql += @" delete " + jo["Code"].ToString() + " where WorkPoint='" + WorkPoint + "' ";
  5453. }
  5454. try
  5455. {
  5456. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  5457. {
  5458. }
  5459. else
  5460. {
  5461. msg = "清除失败";
  5462. }
  5463. }
  5464. catch (Exception ex)
  5465. {
  5466. //throw new Exception(ex.Message);
  5467. msg = ex.Message;
  5468. }
  5469. return msg;
  5470. }
  5471. #region 获取抽检规则下拉框信息
  5472. /// <summary>
  5473. /// 获取抽检规则下拉框信息
  5474. /// </summary>
  5475. /// <param name="type"></param>
  5476. /// <returns></returns>
  5477. public DataTable GetICSType(string type, string tableCode)
  5478. {
  5479. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  5480. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  5481. string sql = string.Empty;
  5482. sql = $@" select '' as Code,'' as Name
  5483. union all
  5484. SELECT a.Code,a.Name FROM dbo.ICSType a
  5485. WHERE TableCode='{tableCode}' and ColumnCode='{type}' and Workpoint='{WorkPoint}'";
  5486. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  5487. return dt;
  5488. }
  5489. #endregion
  5490. #region 获取自定义档案中检验项目的配置
  5491. /// <summary>
  5492. /// 获取自定义档案中检验项目的配置
  5493. /// </summary>
  5494. /// <param name="type"></param>
  5495. /// <returns></returns>
  5496. public DataTable GetInspectListCode()
  5497. {
  5498. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  5499. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  5500. string sql = string.Empty;
  5501. sql = $@" select '' as Code,'' as Name
  5502. union all
  5503. select A.F_ItemCode as Code,A.F_ItemCode+';'+A.F_ItemName AS Name from Sys_SRM_ItemsDetail A
  5504. LEFT JOIN Sys_SRM_Items B ON B.F_Id=A.F_ItemId
  5505. WHERE B.F_EnCode='InspectListCodeConfig'
  5506. order by Code";
  5507. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  5508. return dt;
  5509. }
  5510. #endregion
  5511. #region 获取自定义档案中检验单位的配置
  5512. /// <summary>
  5513. /// 获取自定义档案中检验项目的配置
  5514. /// </summary>
  5515. /// <param name="type"></param>
  5516. /// <returns></returns>
  5517. public DataTable GetUom()
  5518. {
  5519. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  5520. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  5521. string sql = string.Empty;
  5522. sql = $@" select '' as Code,'' AS Name
  5523. union all
  5524. select A.F_ItemCode as Code,A.F_ItemName AS Name from Sys_SRM_ItemsDetail A
  5525. LEFT JOIN Sys_SRM_Items B ON B.F_Id=A.F_ItemId
  5526. WHERE B.F_EnCode='InspectUomConfig' ";
  5527. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  5528. return dt;
  5529. }
  5530. #endregion
  5531. #region 获取自定义档案中检验仪器的配置
  5532. /// <summary>
  5533. /// 获取自定义档案中检验项目的配置
  5534. /// </summary>
  5535. /// <param name="type"></param>
  5536. /// <returns></returns>
  5537. public DataTable GetDevice()
  5538. {
  5539. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  5540. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  5541. string sql = string.Empty;
  5542. sql = $@" select '' as Code,'' AS Name
  5543. union all
  5544. select A.F_ItemCode as Code,A.F_ItemName AS Name from Sys_SRM_ItemsDetail A
  5545. LEFT JOIN Sys_SRM_Items B ON B.F_Id=A.F_ItemId
  5546. WHERE B.F_EnCode='InspectDeviceConfig' ";
  5547. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  5548. return dt;
  5549. }
  5550. #endregion
  5551. #region 获取自定义档案中检验项目的配置
  5552. /// <summary>
  5553. /// 获取自定义档案中检验项目的配置
  5554. /// </summary>
  5555. /// <param name="type"></param>
  5556. /// <returns></returns>
  5557. public DataTable GetListName(string ListCode)
  5558. {
  5559. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  5560. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  5561. string sql = string.Empty;
  5562. sql = $@" select F_ItemName AS ListName from Sys_SRM_ItemsDetail A
  5563. LEFT JOIN Sys_SRM_Items B ON B.F_Id=A.F_ItemId
  5564. WHERE F_ItemCode='{ListCode}' AND B.F_EnCode='InspectListCodeConfig' ";
  5565. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  5566. return dt;
  5567. }
  5568. #endregion
  5569. /// <summary>
  5570. /// 检查项目组新增
  5571. /// </summary>
  5572. /// <param name="main"></param>
  5573. /// <param name="BRGCode"></param>
  5574. /// <param name="BRGDesc"></param>
  5575. public void ICSInspectionRulesGroupAdd(ICSInspectionList main, string RulesCode, string RulesName, string Enable, string RulesDesc, string Type)
  5576. {
  5577. string sql = string.Empty;
  5578. string sqls = string.Empty;
  5579. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  5580. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  5581. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5582. string ID = Guid.NewGuid().ToString();
  5583. List<ICSInspectionList> list_Item1 = new List<ICSInspectionList>();
  5584. if (main.arrayShellFabricItem != null)
  5585. {
  5586. list_Item1 = JsonConvert.DeserializeObject<List<ICSInspectionList>>(main.arrayShellFabricItem);
  5587. }
  5588. string connString = SqlHelper.DataCenterConnString;
  5589. SqlConnection conn = new SqlConnection(connString);
  5590. conn.Open();
  5591. SqlTransaction sqlTran = conn.BeginTransaction();
  5592. SqlCommand cmd = new SqlCommand();
  5593. cmd.Transaction = sqlTran;
  5594. cmd.Connection = conn;
  5595. sql = @"
  5596. IF EXISTS(select RulesCode from ICSInspectionRulesGroup where RulesCode='{0}')
  5597. BEGIN
  5598. RAISERROR('',16,1);
  5599. RETURN
  5600. end
  5601. INSERT INTO dbo.ICSInspectionRulesGroup
  5602. ( ID ,RulesCode ,RulesName,RulesDesc,Type,Enable, MTIME,MUSER ,MUSERName ,WorkPoint )
  5603. Values('{8}','{0}','{1}','{2}','{3}','{4}',GETDATE(),'{5}','{6}','{7}')";
  5604. sql = string.Format(sql, RulesCode, RulesName, RulesDesc, Type, Enable, MUSER, MUSERNAME, WorkPoint, ID);
  5605. try
  5606. {
  5607. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  5608. {
  5609. foreach (ICSInspectionList Item in list_Item1)
  5610. {
  5611. sqls = @"
  5612. IF EXISTS(select RulesCode from ICSInspectionRulesGroup a
  5613. LEFT JOIN ICSInspectionRulesList b ON a.ID=b.RulesID AND a.WorkPoint=b.WorkPoint
  5614. WHERE RulesCode='" + RulesCode + @"' AND b.SetValueMin='" + Item.SetValueMin + @"' AND b.SetValueMax='" + Item.SetValueMax + @"' )
  5615. BEGIN
  5616. RAISERROR('线线',16,1);
  5617. RETURN
  5618. end
  5619. INSERT INTO dbo.ICSInspectionRulesList
  5620. ( ID ,RulesID , SampleQuantity,SetValueMax ,SetValueMin,Enable,MTIME,MUSER ,MUSERName ,WorkPoint )
  5621. Values(@ID,'{0}',@SampleQuantity,@SetValueMax,@SetValueMin,@Enable,getdate(),'{1}','{2}','{3}')";
  5622. sqls = string.Format(sqls, ID, MUSER, MUSERNAME, WorkPoint);
  5623. SqlParameter[] sp_Item = {
  5624. new SqlParameter("@ID",DbType.String){ Value= Item.ID},//主表ID
  5625. new SqlParameter("@SampleQuantity",DbType.Decimal){ Value= Item.SampleQuantity},//抽样数量
  5626. new SqlParameter("@SetValueMax",DbType.String){ Value= Item.SetValueMax},//标准上限
  5627. new SqlParameter("@SetValueMin",DbType.String){ Value= Item.SetValueMin},//标准下限
  5628. new SqlParameter("@Enable",DbType.String){ Value= Item.Enable},//是否启用
  5629. };
  5630. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  5631. }
  5632. cmd.Transaction.Commit();
  5633. }
  5634. }
  5635. catch (Exception ex)
  5636. {
  5637. cmd.Transaction.Rollback();
  5638. throw new Exception(ex.Message);
  5639. }
  5640. finally
  5641. {
  5642. if (conn.State == ConnectionState.Open)
  5643. {
  5644. conn.Close();
  5645. }
  5646. conn.Dispose();
  5647. }
  5648. }
  5649. /// <summary>
  5650. /// 抽检规则组修改
  5651. /// </summary>
  5652. /// <param name="main"></param>
  5653. /// <param name="BID"></param>
  5654. /// <param name="GroupCode"></param>
  5655. /// <param name="GroupName"></param>
  5656. /// <param name="Enable"></param>
  5657. public void UpdateICSInspectionRulesList(ICSInspectionList main, string BID, string RulesCode, string RulesName, string Enable, string RulesDesc, string Type)
  5658. {
  5659. string sql = string.Empty;
  5660. string sqls = string.Empty;
  5661. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  5662. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  5663. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5664. List<ICSInspectionList> list_Item1 = new List<ICSInspectionList>();
  5665. if (main.arrayShellFabricItem != null)
  5666. {
  5667. list_Item1 = JsonConvert.DeserializeObject<List<ICSInspectionList>>(main.arrayShellFabricItem);
  5668. }
  5669. string connString = SqlHelper.DataCenterConnString;
  5670. SqlConnection conn = new SqlConnection(connString);
  5671. conn.Open();
  5672. SqlTransaction sqlTran = conn.BeginTransaction();
  5673. SqlCommand cmd = new SqlCommand();
  5674. cmd.Transaction = sqlTran;
  5675. cmd.Connection = conn;
  5676. sql = @"UPDATE dbo.ICSInspectionRulesGroup set RulesCode='{0}',RulesName='{1}',Enable='{2}',MTIME=GETDATE(),MUSER='{3}',MUSERName='{4}',WorkPoint='{5}',RulesDesc='{7}',Type='{8}' WHERE ID='{6}'";
  5677. sql = string.Format(sql, RulesCode, RulesName, Enable, MUSER, MUSERNAME, WorkPoint, BID, RulesDesc, Type);
  5678. try
  5679. {
  5680. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  5681. {
  5682. foreach (ICSInspectionList Item in list_Item1)
  5683. {
  5684. sqls = @" IF NOT EXISTS(SELECT * FROM ICSInspectionRulesList WHERE ID=@ID)
  5685. BEGIN
  5686. INSERT INTO ICSInspectionRulesList( ID,RulesID,SampleQuantity,SetValueMax,SetValueMin,Enable,MTIME,MUSER,MUSERName,WorkPoint)
  5687. VALUES (@ID,'{0}',@SampleQuantity,@SetValueMax,@SetValueMin,@Enable,getdate(),'{1}','{2}','{3}')
  5688. END
  5689. ELSE
  5690. BEGIN
  5691. UPDATE dbo.ICSInspectionRulesList set RulesID='{0}',SampleQuantity=@SampleQuantity,SetValueMax=@SetValueMax,SetValueMin=@SetValueMin,Enable=@Enable,MTIME=GETDATE(),MUSER='{1}',MUSERName='{2}',WorkPoint='{3}' WHERE ID=@ID
  5692. end
  5693. ";
  5694. sqls = string.Format(sqls, BID, MUSER, MUSERNAME, WorkPoint);
  5695. SqlParameter[] sp_Item = {
  5696. new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  5697. new SqlParameter("@SampleQuantity",DbType.String){ Value= Item.SampleQuantity},
  5698. new SqlParameter("@SetValueMax",DbType.String){ Value= Item.SetValueMax},
  5699. new SqlParameter("@SetValueMin",DbType.String){ Value= Item.SetValueMin},
  5700. new SqlParameter("@Enable",DbType.String){ Value= Item.Enable},
  5701. };
  5702. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  5703. }
  5704. cmd.Transaction.Commit();
  5705. }
  5706. }
  5707. catch (Exception ex)
  5708. {
  5709. cmd.Transaction.Rollback();
  5710. throw new Exception(ex.Message);
  5711. }
  5712. finally
  5713. {
  5714. if (conn.State == ConnectionState.Open)
  5715. {
  5716. conn.Close();
  5717. }
  5718. conn.Dispose();
  5719. }
  5720. }
  5721. /// <summary>
  5722. /// 抽检规则表查询
  5723. /// </summary>
  5724. /// <param name="queryJson"></param>
  5725. /// <param name="jqgridparam"></param>
  5726. /// <returns></returns>
  5727. public DataTable GetICSInspectionRulesList(string GroupCode, ref Pagination jqgridparam)
  5728. {
  5729. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5730. DataTable dt = new DataTable();
  5731. //var queryParam = queryJson.ToJObject();
  5732. List<DbParameter> parameter = new List<DbParameter>();
  5733. string sql = @"select RulesID,SampleQuantity,SetValueMax,SetValueMin,Enable,MUSERName,MTIME,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,
  5734. EATTRIBUTE9,EATTRIBUTE10
  5735. from ICSInspectionRulesList
  5736. WHERE RulesID='" + GroupCode + "' ";
  5737. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  5738. }
  5739. /// <summary>
  5740. /// 动态子表修改加载页面
  5741. /// </summary>
  5742. /// <param name="GroupCode"></param>
  5743. /// <returns></returns>
  5744. public DataTable GetICSInspectionRulesList2(string RulesCode)
  5745. {
  5746. string sql = string.Empty;
  5747. DataTable dt = null;
  5748. sql = string.Format(@"SELECT b.ID,RulesID,SampleQuantity,SetValueMax,SetValueMin,
  5749. case when b.Enable='1' then '是' else '否' end as Enable,
  5750. b.MUSER,b.MUSERName,b.MTIME,b.WorkPoint,b.EATTRIBUTE1
  5751. FROM ICSInspectionRulesGroup a
  5752. LEFT JOIN dbo.ICSInspectionRulesList b ON a.id=b.RulesID AND a.WorkPoint=b.WorkPoint
  5753. where RulesCode='{0}'", RulesCode);
  5754. dt = SqlHelper.GetDataTableBySql(sql);
  5755. return dt;
  5756. }
  5757. /// <summary>
  5758. /// 初次加载查询抽检规则
  5759. /// </summary>
  5760. /// <param name="jqgridparam"></param>
  5761. /// <returns></returns>
  5762. public DataTable GetICSInspectionRulesGroup(ref Pagination jqgridparam, string queryJson)
  5763. {
  5764. DataTable dt = new DataTable();
  5765. var queryParam = queryJson.ToJObject();
  5766. List<DbParameter> parameter = new List<DbParameter>();
  5767. string sql = @"select a.ID,RulesCode,RulesName,a.Enable,a.MUSER,a.MUSERName,a.MTIME,RulesDesc,b.Name Type
  5768. from ICSInspectionRulesGroup a
  5769. LEFT JOIN dbo.ICSType b ON a.Type=b.Code AND a.WorkPoint=b.WorkPoint ";
  5770. sql += " WHERE 1=1";
  5771. if (!string.IsNullOrWhiteSpace(queryJson))
  5772. {
  5773. if (!string.IsNullOrWhiteSpace(queryParam["RulesCode"].ToString()))
  5774. {
  5775. sql += " and RulesCode like '%" + queryParam["RulesCode"].ToString() + "%' ";
  5776. }
  5777. if (!string.IsNullOrWhiteSpace(queryParam["RulesName"].ToString()))
  5778. {
  5779. sql += " and RulesName like '%" + queryParam["RulesName"].ToString() + "%' ";
  5780. }
  5781. }
  5782. sql = string.Format(sql);
  5783. DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  5784. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  5785. }
  5786. /// <summary>
  5787. /// 删除抽检规则
  5788. /// </summary>
  5789. /// <param name="keyValue">传入ID</param>
  5790. /// <returns></returns>
  5791. public string DeleteICSInspectionRulesGroup(string keyValue)
  5792. {
  5793. //站点信息
  5794. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5795. string msg = "";
  5796. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  5797. string sql = string.Empty;
  5798. try
  5799. {
  5800. sql = string.Format(@"SELECT rulescode FROM dbo.ICSInventoryInspectionRulesGroup
  5801. WHERE rulescode IN (({0}))", keyValue.TrimEnd(','));
  5802. DataTable dtASN = SqlHelper.GetDataTableBySql(sql);
  5803. if (dtASN != null && dtASN.Rows.Count > 0)
  5804. {
  5805. throw new Exception("所删除规则,已被物料绑定!");
  5806. }
  5807. sql = string.Format(@"DELETE a FROM dbo.ICSInspectionRulesList a
  5808. LEFT JOIN ICSInspectionRulesGroup b ON a.RulesID=b.ID AND a.WorkPoint=b.WorkPoint
  5809. WHERE RulesCode IN ({0}) and a.WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  5810. sql += string.Format(@"DELETE FROM dbo.ICSInspectionRulesGroup
  5811. WHERE RulesCode IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  5812. //if (SqlHelper.ExecuteNonQuery(sql) > 0)
  5813. //{
  5814. SqlHelper.ExecuteNonQuery(sql);
  5815. //}
  5816. }
  5817. catch (Exception ex)
  5818. {
  5819. msg = ex.Message;
  5820. }
  5821. return msg;
  5822. }
  5823. /// <summary>
  5824. /// 抽检规则表查询
  5825. /// </summary>
  5826. /// <param name="queryJson"></param>
  5827. /// <param name="jqgridparam"></param>
  5828. /// <returns></returns>
  5829. public DataTable GetICSInspectionRulesListBYCode(string RulesCode, ref Pagination jqgridparam)
  5830. {
  5831. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5832. DataTable dt = new DataTable();
  5833. //var queryParam = queryJson.ToJObject();
  5834. List<DbParameter> parameter = new List<DbParameter>();
  5835. string sql = @"select RulesID,SampleQuantity,SetValueMax,SetValueMin,a.Enable,a.MUSERName,a.MTIME,a.EATTRIBUTE1,a.EATTRIBUTE2,a.EATTRIBUTE3,a.EATTRIBUTE4,a.EATTRIBUTE5,a.EATTRIBUTE6,a.EATTRIBUTE7,a.EATTRIBUTE8,
  5836. a.EATTRIBUTE9,a.EATTRIBUTE10
  5837. from ICSInspectionRulesList a
  5838. LEFT JOIN ICSInspectionRulesGroup b ON a.RulesID=b.ID AND a.WorkPoint=b.WorkPoint
  5839. WHERE b.RulesCode='" + RulesCode + "' ";
  5840. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  5841. }
  5842. //抽检规则导入
  5843. public string UploadFileInspectionRulesList(String savePath)
  5844. {
  5845. //数据获取
  5846. try
  5847. {
  5848. int index = 1;
  5849. string msg = "";
  5850. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  5851. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  5852. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5853. string MTIME = DateTime.Now.ToString();
  5854. SqlConnection conn = SqlHelper.GetDataCenterConn();
  5855. string sql = "";
  5856. int count = 0;
  5857. DataTable data = FileToExcel.ExcelToTable(savePath);
  5858. var parent = data.DefaultView.ToTable(true, "抽检规则代码", "抽检规则名称", "抽检规则描述", "是否启用", "抽检类型");
  5859. parent.PrimaryKey = new DataColumn[] { parent.Columns["column1"], parent.Columns["column2"], parent.Columns["column3"], parent.Columns["column4"], parent.Columns["column5"] };
  5860. DataTable distinctTable = parent.DefaultView.ToTable(true);
  5861. foreach (DataRow distinctds in distinctTable.Rows)
  5862. {
  5863. string ID = Guid.NewGuid().ToString();
  5864. index++;
  5865. var Enable = "";
  5866. string RulesCode = distinctds["抽检规则代码"].ToString().Trim();
  5867. string RulesName = distinctds["抽检规则名称"].ToString().Trim();
  5868. string RulesDesc = distinctds["抽检规则描述"].ToString().Trim();
  5869. string Enables = distinctds["是否启用"].ToString().Trim();
  5870. string Type = distinctds["抽检类型"].ToString().Trim();
  5871. string SetValueMin = distinctds["批量下限"].ToString().Trim();
  5872. string SetValueMax = distinctds["批量上限"].ToString().Trim();
  5873. string SampleQuantity = distinctds["取样数量"].ToString().Trim();
  5874. #region 判断必填项
  5875. if (RulesCode == "" || RulesCode == null)
  5876. {
  5877. throw new Exception("第 " + index + " 行抽检规则代码不能为空!");
  5878. }
  5879. if (RulesName == "" || RulesName == null)
  5880. {
  5881. throw new Exception("第 " + index + " 行抽检规则名称不能为空!");
  5882. }
  5883. if (RulesDesc == "" || RulesDesc == null)
  5884. {
  5885. throw new Exception("第 " + index + " 行不抽检规则描述不能为空!");
  5886. }
  5887. if (Enables == "" || Enables == null)
  5888. {
  5889. throw new Exception("第 " + index + " 行是否启用不能为空!");
  5890. }
  5891. if (Type == "" || Type == null)
  5892. {
  5893. throw new Exception("第 " + index + " 行抽检类型不能为空!");
  5894. }
  5895. if (SetValueMin == "" || SetValueMin == null)
  5896. {
  5897. throw new Exception("第 " + index + " 行批量下限不能为空!");
  5898. }
  5899. if (SetValueMax == "" || SetValueMax == null)
  5900. {
  5901. throw new Exception("第 " + index + " 行批量上限不能为空!");
  5902. }
  5903. if (SampleQuantity == "" || SampleQuantity == null)
  5904. {
  5905. throw new Exception("第 " + index + " 行取样数量不能为空!");
  5906. }
  5907. #endregion
  5908. if (Enables == "是")
  5909. {
  5910. Enable = "1";
  5911. }
  5912. else
  5913. {
  5914. Enable = "0";
  5915. }
  5916. sql += @"INSERT INTO dbo.ICSInspectionRulesGroup
  5917. ( ID,RulesCode,RulesName,RulesDesc,Enable,MUSER,MUSERName,MTIME,WorkPoint,Type)
  5918. Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{9}')";
  5919. DataRow[] dss = data.Select("抽检规则代码='" + distinctds["抽检规则代码"].ToString().Trim().ToUpper() + "'");
  5920. foreach (var item in dss)
  5921. {
  5922. var SetValueMinVal = item["批量下限"].ToString();
  5923. var SetValueMaxVal = item["批量上限"].ToString();
  5924. var SampleQuantityVal = item["取样数量"].ToString();
  5925. sql += @"INSERT INTO dbo.ICSInspectionRulesList
  5926. ( ID,RulesID,SetValueMin,SetValueMax,SampleQuantity,Enable,MUSER,MUSERName,MTIME,WorkPoint,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3)
  5927. Values(NEWID(),'{0}','{10}','{11}','{12}','{4}','{5}','{6}','{7}','{8}')";
  5928. sql = string.Format(sql, ID, RulesCode, RulesName, RulesDesc, Enable, MUSER, MUSERNAME, MTIME, WorkPoint, Type, SetValueMinVal, SetValueMaxVal, SampleQuantityVal);
  5929. }
  5930. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  5931. if (count > 0)
  5932. {
  5933. msg = "导入成功";
  5934. }
  5935. else
  5936. {
  5937. return "无有效的导入数据。";
  5938. }
  5939. }
  5940. return msg;
  5941. }
  5942. catch (Exception ex)
  5943. {
  5944. return ex.Message;
  5945. }
  5946. }
  5947. //检验项目组导入
  5948. public string UploadFileInspectionGoup(String savePath)
  5949. {
  5950. //数据获取
  5951. try
  5952. {
  5953. int index = 1;
  5954. string msg = "";
  5955. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  5956. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  5957. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  5958. string MTIME = DateTime.Now.ToString();
  5959. SqlConnection conn = SqlHelper.GetDataCenterConn();
  5960. string sql = "";
  5961. int count = 0;
  5962. DataTable data = FileToExcel.ExcelToTable(savePath);
  5963. //var parent = data.DefaultView.ToTable(true, "抽检规则代码", "抽检规则名称", "抽检规则描述", "是否启用", "抽检类型");
  5964. //parent.PrimaryKey = new DataColumn[] { parent.Columns["column1"], parent.Columns["column2"], parent.Columns["column3"], parent.Columns["column4"], parent.Columns["column5"] };
  5965. //DataTable distinctTable = parent.DefaultView.ToTable(true);
  5966. if (data != null && data.Rows.Count > 0)
  5967. {
  5968. var checkItmes = new List<string> {
  5969. "检验项目组代码",
  5970. "检验项目组名称",
  5971. "检验项目代码",
  5972. "检验项目名称" };
  5973. sql = "DECLARE @ID nvarchar(50); ";
  5974. foreach (DataRow distinctds in data.Rows)
  5975. {
  5976. string ID = Guid.NewGuid().ToString();
  5977. index++;
  5978. for (int idx = 0; idx < checkItmes.Count; idx++)
  5979. {
  5980. var tmp = distinctds[checkItmes[idx]].ToString();
  5981. if (string.IsNullOrWhiteSpace(tmp))
  5982. throw new Exception($"第 {index} 行{checkItmes[idx]}不能为空!");
  5983. }
  5984. string GroupCode = distinctds["检验项目组代码"].ToString().Trim();
  5985. string GroupName = distinctds["检验项目组名称"].ToString().Trim();
  5986. string Code = distinctds["检验项目代码"].ToString().Trim();
  5987. string Name = distinctds["检验项目名称"].ToString().Trim();
  5988. string Unit = distinctds["单位"].ToString().Trim();
  5989. string Min = distinctds["标准下限"].ToString().Trim().IsEmpty() ? "null" : distinctds["标准下限"].ToString();
  5990. string Max = distinctds["标准上限"].ToString().Trim().IsEmpty() ? "null" : distinctds["标准上限"].ToString();
  5991. string Enable = distinctds["是否启用"].ToString().Trim().ToUpper().Equals("是") ? "1" : "0";
  5992. string InspectionEnable = distinctds["抽检实际值是否必填"].ToString().Trim().ToUpper().Equals("是") ? "1" : "0";
  5993. string InspectionType = distinctds["检验类型"].ToString().Trim().ToUpper().Contains("尺寸") ? "1" : "2";
  5994. string EATTRIBUTE1 = distinctds["检验标准"].ToString().Trim();
  5995. string EATTRIBUTE2 = distinctds["抽样水准"].ToString().Trim();
  5996. string EATTRIBUTE3 = distinctds["允收标准"].ToString().Trim();
  5997. sql += $@" SET @ID=(select ID from ICSInspectionGroup where GroupCode='{GroupCode}');
  5998. IF @ID IS NOT NULL
  5999. BEGIN
  6000. IF EXISTS(select ListCode from ICSInspectionList where ListCode='{Code}' and GroupID=@ID and WorkPoint='{WorkPoint}')
  6001. BEGIN
  6002. RAISERROR('',16,1);
  6003. RETURN
  6004. end
  6005. INSERT INTO dbo.ICSInspectionList
  6006. ( ID ,GroupID,ListCode ,ListName, Unit,SetValueMax ,SetValueMin,Enable,MTIME,MUSER ,MUSERName ,WorkPoint,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3 )
  6007. Values(NEWID(),@ID,'{Code}','{Name}','{Unit}',{Max},{Min},'{Enable}',getdate(),'{MUSER}','{MUSERNAME}','{WorkPoint}','{EATTRIBUTE1}','{EATTRIBUTE2}','{EATTRIBUTE3}')
  6008. END
  6009. ELSE
  6010. BEGIN
  6011. INSERT INTO dbo.ICSInspectionGroup
  6012. ( ID ,GroupCode ,GroupName,Enable, MTIME,MUSER ,MUSERName ,WorkPoint,EATTRIBUTE1,EATTRIBUTE2 )
  6013. Values('{ID}','{GroupCode}','{GroupName}','{Enable}',GETDATE(),'{MUSER}','{MUSERNAME}','{WorkPoint}','{InspectionType}','{InspectionEnable}');
  6014. IF EXISTS(select ListCode from ICSInspectionList where ListCode='{Code}' and GroupID=@ID and WorkPoint='{WorkPoint}')
  6015. BEGIN
  6016. RAISERROR('',16,1);
  6017. RETURN
  6018. end
  6019. INSERT INTO dbo.ICSInspectionList
  6020. ( ID ,GroupID,ListCode ,ListName, Unit,SetValueMax ,SetValueMin,Enable,MTIME,MUSER ,MUSERName ,WorkPoint,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3 )
  6021. Values(NEWID(),'{ID}','{Code}','{Name}','{Unit}',{Max},{Min},'{Enable}',getdate(),'{MUSER}','{MUSERNAME}','{WorkPoint}','{EATTRIBUTE1}','{EATTRIBUTE2}','{EATTRIBUTE3}')
  6022. END
  6023. SET @ID= NULL;";
  6024. }
  6025. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  6026. if (count > 0)
  6027. {
  6028. msg = "导入成功";
  6029. }
  6030. else
  6031. {
  6032. return "无有效的导入数据。";
  6033. }
  6034. }
  6035. return msg;
  6036. }
  6037. catch (Exception ex)
  6038. {
  6039. return ex.Message;
  6040. }
  6041. }
  6042. /// <summary>
  6043. /// 不良代码组导入
  6044. /// </summary>
  6045. /// <param name="savePath"></param>
  6046. /// <returns></returns>
  6047. public string UploadFileBadCode(String savePath)
  6048. {
  6049. //数据获取
  6050. try
  6051. {
  6052. int index = 1;
  6053. string msg = "";
  6054. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  6055. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  6056. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6057. string MTIME = DateTime.Now.ToString();
  6058. SqlConnection conn = SqlHelper.GetDataCenterConn();
  6059. string sql = "";
  6060. int count = 0;
  6061. DataTable data = FileToExcel.ExcelToTable(savePath);
  6062. //添加配置项,验证不良代码描述是否可以重复
  6063. string checkSql = @"SELECT F_Id from Sys_SRM_ItemsDetail WHERE F_ItemCode='BadCode' AND F_EnabledMark='1'";
  6064. bool check = false;
  6065. var dt = SqlHelper.CmdExecuteDataTable(checkSql);
  6066. if (dt.Rows.Count > 0)
  6067. {
  6068. check = true;
  6069. }
  6070. if (data != null && data.Rows.Count > 0)
  6071. {
  6072. var checkItmes = new List<string> {
  6073. "不良代码组编码",
  6074. "不良代码组描述",
  6075. "不良代码编码",
  6076. "不良代码描述"
  6077. };
  6078. sql = "DECLARE @ID nvarchar(50); ";
  6079. foreach (DataRow distinctds in data.Rows)
  6080. {
  6081. string ID = Guid.NewGuid().ToString();
  6082. index++;
  6083. for (int idx = 0; idx < checkItmes.Count; idx++)
  6084. {
  6085. var tmp = distinctds[checkItmes[idx]].ToString();
  6086. if (string.IsNullOrWhiteSpace(tmp))
  6087. throw new Exception($"第 {index} 行{checkItmes[idx]}不能为空!");
  6088. }
  6089. string GroupCode = distinctds["不良代码组编码"].ToString().Trim();
  6090. string GroupDes = distinctds["不良代码组描述"].ToString().Trim();
  6091. string Code = distinctds["不良代码编码"].ToString().Trim();
  6092. string Desc = distinctds["不良代码描述"].ToString().Trim();
  6093. if (check)
  6094. {
  6095. sql += $@" SET @ID=(select ID from ICSBadCodeGroup where BCGCode='{GroupCode}');
  6096. IF @ID IS NOT NULL
  6097. BEGIN
  6098. IF EXISTS( select BadCode from ICSBadCode where BadCode='{Code}' and BCGroupID= @ID and WorkPoint='{WorkPoint}')
  6099. BEGIN
  6100. RAISERROR('{GroupCode},:{Code}',16,1);
  6101. RETURN
  6102. END
  6103. IF EXISTS(SELECT * FROM ICSBadCode WHERE BadDesc='{Desc}' and WorkPoint='{WorkPoint}')
  6104. BEGIN
  6105. RAISERROR('{Desc}', 16, 1);
  6106. RETURN
  6107. END
  6108. INSERT INTO dbo.ICSBadCode
  6109. ( ID ,BCGroupID,BadCode ,BadDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6110. Values(NewId(),@ID,'{Code}','{Desc}',GETDATE(),'{MUSER}','{MUSERNAME}','{WorkPoint}')
  6111. END
  6112. ELSE
  6113. BEGIN
  6114. IF EXISTS(SELECT * FROM ICSBadCode WHERE BadDesc='{Desc}' and WorkPoint='{WorkPoint}')
  6115. BEGIN
  6116. RAISERROR('{Desc}', 16, 1);
  6117. RETURN
  6118. END
  6119. INSERT INTO dbo.ICSBadCodeGroup
  6120. ( ID ,BCGCode ,BCGDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6121. Values('{ID}','{GroupCode}','{GroupDes}',GETDATE(),'{MUSER}','{MUSERNAME}','{WorkPoint}');
  6122. INSERT INTO dbo.ICSBadCode
  6123. ( ID ,BCGroupID,BadCode ,BadDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6124. Values(NewId(),'{ID}','{Code}','{Desc}',GETDATE(),'{MUSER}','{MUSERNAME}','{WorkPoint}')
  6125. END
  6126. SET @ID= NULL;";
  6127. }
  6128. else
  6129. {
  6130. sql += $@" SET @ID=(select ID from ICSBadCodeGroup where BCGCode='{GroupCode}');
  6131. IF @ID IS NOT NULL
  6132. BEGIN
  6133. IF EXISTS( select BadCode from ICSBadCode where BadCode='{Code}' and BCGroupID= @ID and WorkPoint='{WorkPoint}')
  6134. BEGIN
  6135. RAISERROR('{GroupCode},:{Code}',16,1);
  6136. RETURN
  6137. END
  6138. INSERT INTO dbo.ICSBadCode
  6139. ( ID ,BCGroupID,BadCode ,BadDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6140. Values(NewId(),@ID,'{Code}','{Desc}',GETDATE(),'{MUSER}','{MUSERNAME}','{WorkPoint}')
  6141. END
  6142. ELSE
  6143. BEGIN
  6144. INSERT INTO dbo.ICSBadCodeGroup
  6145. ( ID ,BCGCode ,BCGDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6146. Values('{ID}','{GroupCode}','{GroupDes}',GETDATE(),'{MUSER}','{MUSERNAME}','{WorkPoint}');
  6147. INSERT INTO dbo.ICSBadCode
  6148. ( ID ,BCGroupID,BadCode ,BadDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6149. Values(NewId(),'{ID}','{Code}','{Desc}',GETDATE(),'{MUSER}','{MUSERNAME}','{WorkPoint}')
  6150. END
  6151. SET @ID= NULL;";
  6152. }
  6153. }
  6154. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  6155. if (count > 0)
  6156. {
  6157. msg = "导入成功";
  6158. }
  6159. else
  6160. {
  6161. return "无有效的导入数据。";
  6162. }
  6163. }
  6164. return msg;
  6165. }
  6166. catch (Exception ex)
  6167. {
  6168. return ex.Message;
  6169. }
  6170. }
  6171. /// <summary>
  6172. /// 不良原因组导入
  6173. /// </summary>
  6174. /// <param name="savePath"></param>
  6175. /// <returns></returns>
  6176. public string UploadFileBadReasonGroup(String savePath)
  6177. {
  6178. //数据获取
  6179. try
  6180. {
  6181. int index = 1;
  6182. string msg = "";
  6183. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  6184. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  6185. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6186. string MTIME = DateTime.Now.ToString();
  6187. SqlConnection conn = SqlHelper.GetDataCenterConn();
  6188. string sql = "";
  6189. int count = 0;
  6190. //添加配置项,验证不良代码描述是否可以重复
  6191. string checkSql = @"SELECT F_Id from Sys_SRM_ItemsDetail WHERE F_ItemCode='BadCauses' AND F_EnabledMark='1'";
  6192. bool check = false;
  6193. var dt = SqlHelper.CmdExecuteDataTable(checkSql);
  6194. if (dt.Rows.Count > 0)
  6195. {
  6196. check = true;
  6197. }
  6198. DataTable data = FileToExcel.ExcelToTable(savePath);
  6199. if (data != null && data.Rows.Count > 0)
  6200. {
  6201. var checkItmes = new List<string> {
  6202. "不良原因组编码",
  6203. "不良原因组描述",
  6204. "不良原因编码",
  6205. "不良原因描述"
  6206. };
  6207. sql = "DECLARE @ID nvarchar(50); ";
  6208. foreach (DataRow distinctds in data.Rows)
  6209. {
  6210. string ID = Guid.NewGuid().ToString();
  6211. index++;
  6212. for (int idx = 0; idx < checkItmes.Count; idx++)
  6213. {
  6214. var tmp = distinctds[checkItmes[idx]].ToString();
  6215. if (string.IsNullOrWhiteSpace(tmp))
  6216. throw new Exception($"第 {index} 行{checkItmes[idx]}不能为空!");
  6217. }
  6218. string GroupCode = distinctds["不良原因组编码"].ToString().Trim();
  6219. string GroupDes = distinctds["不良原因组描述"].ToString().Trim();
  6220. string Code = distinctds["不良原因编码"].ToString().Trim();
  6221. string Desc = distinctds["不良原因描述"].ToString().Trim();
  6222. if (check)
  6223. {
  6224. sql += $@" SET @ID=(select ID from ICSBadReasonGroup where BRGCode='{GroupCode}');
  6225. IF @ID IS NOT NULL
  6226. BEGIN
  6227. IF EXISTS(select BadReasonCode from ICSBadReason where BadReasonCode='{Code}' and WorkPoint='{WorkPoint}' and BRGroupID=@ID )
  6228. BEGIN
  6229. RAISERROR(':{GroupCode}:{Code}',16,1);
  6230. RETURN
  6231. end
  6232. IF EXISTS(SELECT * FROM ICSBadReason WHERE BadReasonDesc='{Desc}' and WorkPoint='{WorkPoint}')
  6233. BEGIN
  6234. RAISERROR('{Desc}', 16, 1);
  6235. RETURN
  6236. END
  6237. INSERT INTO dbo.ICSBadReason
  6238. (ID ,BRGroupID,BadReasonCode ,BadReasonDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6239. Values(NEWID() ,@ID,'{Code}' ,'{Desc}', GETDATE(),'{MUSER}' ,'{MUSERNAME}' ,'{WorkPoint}')
  6240. END
  6241. ELSE
  6242. BEGIN
  6243. IF EXISTS(SELECT * FROM ICSBadReason WHERE BadReasonDesc='{Desc}' and WorkPoint='{WorkPoint}')
  6244. BEGIN
  6245. RAISERROR('{Desc}', 16, 1);
  6246. RETURN
  6247. END
  6248. INSERT INTO dbo.ICSBadReasonGroup
  6249. ( ID ,BRGCode ,BRGDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6250. Values('{ID}','{GroupCode}','{GroupDes}',GETDATE(),'{MUSER}','{MUSERNAME}','{WorkPoint}');
  6251. INSERT INTO dbo.ICSBadReason
  6252. (ID ,BRGroupID,BadReasonCode ,BadReasonDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6253. Values(NEWID() ,'{ID}','{Code}' ,'{Desc}', GETDATE(),'{MUSER}' ,'{MUSERNAME}' ,'{WorkPoint}')
  6254. END
  6255. SET @ID= NULL;";
  6256. }
  6257. else
  6258. {
  6259. sql += $@" SET @ID=(select ID from ICSBadReasonGroup where BRGCode='{GroupCode}');
  6260. IF @ID IS NOT NULL
  6261. BEGIN
  6262. IF EXISTS(select BadReasonCode from ICSBadReason where BadReasonCode='{Code}' and WorkPoint='{WorkPoint}' and BRGroupID=@ID )
  6263. BEGIN
  6264. RAISERROR(':{GroupCode}:{Code}',16,1);
  6265. RETURN
  6266. end
  6267. INSERT INTO dbo.ICSBadReason
  6268. (ID ,BRGroupID,BadReasonCode ,BadReasonDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6269. Values(NEWID() ,@ID,'{Code}' ,'{Desc}', GETDATE(),'{MUSER}' ,'{MUSERNAME}' ,'{WorkPoint}')
  6270. END
  6271. ELSE
  6272. BEGIN
  6273. INSERT INTO dbo.ICSBadReasonGroup
  6274. ( ID ,BRGCode ,BRGDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6275. Values('{ID}','{GroupCode}','{GroupDes}',GETDATE(),'{MUSER}','{MUSERNAME}','{WorkPoint}');
  6276. INSERT INTO dbo.ICSBadReason
  6277. (ID ,BRGroupID,BadReasonCode ,BadReasonDesc, MTIME,MUSER ,MUSERName ,WorkPoint )
  6278. Values(NEWID() ,'{ID}','{Code}' ,'{Desc}', GETDATE(),'{MUSER}' ,'{MUSERNAME}' ,'{WorkPoint}')
  6279. END
  6280. SET @ID= NULL;";
  6281. }
  6282. }
  6283. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  6284. if (count > 0)
  6285. {
  6286. msg = "导入成功";
  6287. }
  6288. else
  6289. {
  6290. return "无有效的导入数据。";
  6291. }
  6292. }
  6293. return msg;
  6294. }
  6295. catch (Exception ex)
  6296. {
  6297. return ex.Message;
  6298. }
  6299. }
  6300. /// <summary>
  6301. /// 物料抽检规则绑定导入
  6302. /// </summary>
  6303. /// <param name="savePath"></param>
  6304. /// <returns></returns>
  6305. public string UploadFileInvInspectionRulesGroup(String savePath)
  6306. {
  6307. //数据获取
  6308. try
  6309. {
  6310. int index = 1;
  6311. string msg = "";
  6312. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  6313. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  6314. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6315. string MTIME = DateTime.Now.ToString();
  6316. SqlConnection conn = SqlHelper.GetDataCenterConn();
  6317. string sql = "";
  6318. int count = 0;
  6319. DataTable data = FileToExcel.ExcelToTable(savePath);
  6320. if (data != null && data.Rows.Count > 0)
  6321. {
  6322. var checkItmes = new List<string> {
  6323. "料品编码",
  6324. "检验项目组",
  6325. "是否可编辑"
  6326. };
  6327. foreach (DataRow distinctds in data.Rows)
  6328. {
  6329. string ID = Guid.NewGuid().ToString();
  6330. index++;
  6331. for (int idx = 0; idx < checkItmes.Count; idx++)
  6332. {
  6333. var tmp = distinctds[checkItmes[idx]].ToString();
  6334. if (string.IsNullOrWhiteSpace(tmp))
  6335. throw new Exception($"第 {index} 行{checkItmes[idx]}不能为空!");
  6336. }
  6337. string Inventory = distinctds["料品编码"].ToString().Trim();
  6338. string GroupCode = distinctds["检验项目组"].ToString().Trim();
  6339. string IsWrite = distinctds["是否可编辑"].ToString().Trim().Equals("是") ? "1" : "0";
  6340. sql += $@" IF NOT EXISTS(select ID from ICSInventory where InvCode='{Inventory}' AND WorkPoint='{WorkPoint}')
  6341. BEGIN
  6342. RAISERROR(':{Inventory},',16,1);
  6343. RETURN
  6344. end
  6345. IF NOT EXISTS(select ID from ICSInspectionRulesGroup where RulesCode='{GroupCode}' AND WorkPoint='{WorkPoint}')
  6346. BEGIN
  6347. RAISERROR(':{GroupCode},',16,1);
  6348. RETURN
  6349. end
  6350. INSERT INTO dbo.ICSInventoryInspectionRulesGroup
  6351. ( ID ,InvCode ,RulesCode ,RulesName ,
  6352. Enable ,Type,MUSER ,MUSERName ,MTIME ,WorkPoint,Editable )
  6353. SELECT '{ID}','{Inventory}',RulesCode,RulesName,Enable,Type,'{MUSER}','{MUSERNAME}',getdate(),'{WorkPoint}',{IsWrite}
  6354. FROM dbo.ICSInspectionRulesGroup
  6355. WHERE RulesCode='{GroupCode}';
  6356. INSERT INTO dbo.ICSInventoryInspectionRulesList
  6357. (ID ,InvRulesID,SetValueMax,SetValueMin,Enable , MTIME,MUSER ,MUSERName ,WorkPoint,SampleQuantity)
  6358. SELECT newid(),'{ID}',SetValueMax,SetValueMin,Enable,getdate(),'{MUSER}','{MUSERNAME}','{WorkPoint}',SampleQuantity FROM ICSInspectionRulesList WHERE RulesID = (select ID from ICSInspectionRulesGroup where RulesCode='{GroupCode}' AND WorkPoint='{WorkPoint}'); ";
  6359. }
  6360. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  6361. if (count > 0)
  6362. {
  6363. msg = "导入成功";
  6364. }
  6365. else
  6366. {
  6367. return "无有效的导入数据。";
  6368. }
  6369. }
  6370. return msg;
  6371. }
  6372. catch (Exception ex)
  6373. {
  6374. return ex.Message;
  6375. }
  6376. }
  6377. public DataTable GetICSInventoryInspectionRulesGroup(ref Pagination jqgridparam, string queryJson)
  6378. {
  6379. DataTable dt = new DataTable();
  6380. var queryParam = queryJson.ToJObject();
  6381. List<DbParameter> parameter = new List<DbParameter>();
  6382. string sql = @" select ID,InvCode,RulesCode,RulesName,RulesDesc,
  6383. case when Enable='1' then '是' else '否' end as Enable,
  6384. EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,
  6385. EATTRIBUTE9,EATTRIBUTE10
  6386. MUSER,MUSERName,MTIME,WorkPoint from ICSInventoryInspectionRulesGroup ";
  6387. sql += " WHERE 1=1";
  6388. if (!string.IsNullOrWhiteSpace(queryJson))
  6389. {
  6390. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  6391. {
  6392. sql += " and InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  6393. }
  6394. if (!string.IsNullOrWhiteSpace(queryParam["RulesCode"].ToString()))
  6395. {
  6396. sql += " and RulesCode like '%" + queryParam["RulesCode"].ToString() + "%' ";
  6397. }
  6398. if (!string.IsNullOrWhiteSpace(queryParam["RulesName"].ToString()))
  6399. {
  6400. sql += " and RulesName like '%" + queryParam["RulesName"].ToString() + "%' ";
  6401. }
  6402. }
  6403. sql = string.Format(sql);
  6404. DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  6405. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  6406. }
  6407. public DataTable ICSInventoryInspectionRulesList(string ID, ref Pagination jqgridparam)
  6408. {
  6409. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6410. DataTable dt = new DataTable();
  6411. //var queryParam = queryJson.ToJObject();
  6412. List<DbParameter> parameter = new List<DbParameter>();
  6413. string sql = @"select ID,InvRulesID,SetValueMax, SetValueMin,
  6414. CASE WHEN Enable=0 THEN '否' else '是' END Enable,
  6415. MUSERName,MTIME,WorkPoint from ICSInventoryInspectionRulesList
  6416. WHERE InvRulesID='" + ID + "'";
  6417. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  6418. }
  6419. public string DeleteICSInventoryInspectionRulesGroup(string keyValue)
  6420. {
  6421. //站点信息
  6422. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6423. string msg = "";
  6424. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  6425. string sql = string.Empty;
  6426. sql += string.Format(@"DELETE FROM dbo.ICSInventoryInspectionRulesGroup WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  6427. sql += string.Format(@"DELETE FROM dbo.ICSInventoryInspectionRulesList WHERE InvRulesID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  6428. try
  6429. {
  6430. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  6431. {
  6432. }
  6433. }
  6434. catch (Exception ex)
  6435. {
  6436. throw new Exception(ex.Message);
  6437. }
  6438. return msg;
  6439. }
  6440. public DataTable GetRulesName()
  6441. {
  6442. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6443. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  6444. string sql = @"select '' as ID,'' as RulesName
  6445. union all
  6446. SELECT distinct ID,RulesName FROM ICSInspectionRulesGroup where WorkPoint='{0}'";
  6447. sql = string.Format(sql, WorkPoint);
  6448. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  6449. return dt;
  6450. }
  6451. public DataTable GetInspectionListInfoByRules(string ID)
  6452. {
  6453. DataTable dt = new DataTable();
  6454. //var queryParam = queryJson.ToJObject();
  6455. List<DbParameter> parameter = new List<DbParameter>();
  6456. string sql = @"
  6457. select ID,SetValueMax,SetValueMin, CASE WHEN Enable=0 THEN '否' else '是' END Enable,SampleQuantity
  6458. from ICSInspectionRulesList where RulesID='{0}'";
  6459. sql = string.Format(sql, ID);
  6460. return Repository().FindTableBySql(sql.ToString());
  6461. }
  6462. /// <summary>
  6463. /// 初次加载进来
  6464. /// </summary>
  6465. /// <param name="ListCode"></param>
  6466. /// <param name="jqgridparam"></param>
  6467. /// <returns></returns>
  6468. public DataTable GetICSInventoryInspectionRulesList(string ListCode, ref Pagination jqgridparam)
  6469. {
  6470. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6471. DataTable dt = new DataTable();
  6472. //var queryParam = queryJson.ToJObject();
  6473. List<DbParameter> parameter = new List<DbParameter>();
  6474. string sql = @"select ID,SetValueMax,SetValueMin,Enable,MUSERName,MTIME
  6475. from ICSInventoryInspectionRulesList
  6476. WHERE ListCode='" + ListCode + "' ";
  6477. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  6478. }
  6479. /// <summary>
  6480. /// 通过ID获取列表信息
  6481. /// </summary>
  6482. /// <param name="BID"></param>
  6483. /// <param name="jqgridparam"></param>
  6484. /// <returns></returns>
  6485. public DataTable GetICSInventoryInspectionRulesList2(string BID, ref Pagination jqgridparam)
  6486. {
  6487. string sql = string.Empty;
  6488. List<DbParameter> parameter = new List<DbParameter>();
  6489. DataTable dt = null;
  6490. sql = string.Format(@" select ID,SetValueMax,SetValueMin,SampleQuantity, CASE WHEN Enable='1' THEN '是' else '否' END Enable from ICSInventoryInspectionRulesList where InvRulesID='{0}'", BID);
  6491. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  6492. }
  6493. //新增
  6494. public void SubICSInventoryInspectionRulesGroupAdd(ICSInventoryInspectionGroup main, string ID, string InvCode, string Editable)
  6495. {
  6496. string sql = string.Empty;
  6497. string sqls = string.Empty;
  6498. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  6499. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  6500. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6501. string NewID = Common.GuId();
  6502. List<ICSInventoryInspectionGroup> list_Item1 = new List<ICSInventoryInspectionGroup>();
  6503. if (main.arrayShellFabricItem != null)
  6504. {
  6505. list_Item1 = JsonConvert.DeserializeObject<List<ICSInventoryInspectionGroup>>(main.arrayShellFabricItem);
  6506. }
  6507. string connString = SqlHelper.DataCenterConnString;
  6508. SqlConnection conn = new SqlConnection(connString);
  6509. conn.Open();
  6510. SqlTransaction sqlTran = conn.BeginTransaction();
  6511. SqlCommand cmd = new SqlCommand();
  6512. cmd.Transaction = sqlTran;
  6513. cmd.Connection = conn;
  6514. sql = @"
  6515. INSERT INTO dbo.ICSInventoryInspectionRulesGroup
  6516. ( ID ,InvCode ,RulesCode ,RulesName ,
  6517. Enable ,Type,MUSER ,MUSERName ,MTIME ,WorkPoint,Editable )
  6518. SELECT '{0}','{1}',RulesCode,RulesName,Enable,Type,'{2}','{3}',getdate(),'{4}',{6}
  6519. FROM dbo.ICSInspectionRulesGroup
  6520. WHERE ID='{5}'";
  6521. sql = string.Format(sql, NewID, InvCode, MUSER, MUSERNAME, WorkPoint, ID, Editable);
  6522. try
  6523. {
  6524. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  6525. {
  6526. foreach (ICSInventoryInspectionGroup Item in list_Item1)
  6527. {
  6528. sqls = @"
  6529. INSERT INTO dbo.ICSInventoryInspectionRulesList
  6530. ( ID ,InvRulesID,SetValueMax,SetValueMin,Enable , MTIME,MUSER ,MUSERName ,WorkPoint,SampleQuantity )
  6531. Values(newid(),'{0}',@SetValueMax,@SetValueMin,@Enable,GETDATE(),'{1}','{2}','{3}',@SampleQuantity)";
  6532. sqls = string.Format(sqls, NewID, MUSER, MUSERNAME, WorkPoint);
  6533. SqlParameter[] sp_Item = {
  6534. new SqlParameter("@SampleQuantity",DbType.Decimal){ Value= Item.SampleQuantity},//抽样数量
  6535. new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  6536. new SqlParameter("@SetValueMax",DbType.String){ Value= Item.SetValueMax},
  6537. new SqlParameter("@SetValueMin",DbType.String){ Value= Item.SetValueMin},
  6538. new SqlParameter("@Enable",DbType.String){ Value= Item.Enable},
  6539. };
  6540. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  6541. }
  6542. cmd.Transaction.Commit();
  6543. }
  6544. }
  6545. catch (Exception ex)
  6546. {
  6547. cmd.Transaction.Rollback();
  6548. throw new Exception(ex.Message);
  6549. }
  6550. finally
  6551. {
  6552. if (conn.State == ConnectionState.Open)
  6553. {
  6554. conn.Close();
  6555. }
  6556. conn.Dispose();
  6557. }
  6558. }
  6559. //修改
  6560. public void UpdateICSInventoryInspectionRulesGroup(ICSInventoryInspectionGroup main, string BID, string ID, string InvCode, string Editable)
  6561. {
  6562. string sql = string.Empty;
  6563. string sqls = string.Empty;
  6564. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  6565. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  6566. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6567. List<ICSInventoryInspectionGroup> list_Item1 = new List<ICSInventoryInspectionGroup>();
  6568. if (main.arrayShellFabricItem != null)
  6569. {
  6570. list_Item1 = JsonConvert.DeserializeObject<List<ICSInventoryInspectionGroup>>(main.arrayShellFabricItem);
  6571. }
  6572. string connString = SqlHelper.DataCenterConnString;
  6573. SqlConnection conn = new SqlConnection(connString);
  6574. conn.Open();
  6575. SqlTransaction sqlTran = conn.BeginTransaction();
  6576. SqlCommand cmd = new SqlCommand();
  6577. cmd.Transaction = sqlTran;
  6578. cmd.Connection = conn;
  6579. sql = @"update b set b.InvCode='{0}',b.RulesCode=a.RulesCode,b.RulesName=a.RulesName,b.Enable=a.Enable,b.MTIME=GETDATE(),b.MUSER='{1}',b.MUSERName='{2}',b.WorkPoint='{3}',b.Editable={6}
  6580. from ICSInspectionRulesGroup a ,
  6581. ICSInventoryInspectionRulesGroup b where a.ID='{4}' and b.ID='{5}'";
  6582. sql = string.Format(sql, InvCode, MUSER, MUSERNAME, WorkPoint, ID, BID, Editable);
  6583. try
  6584. {
  6585. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  6586. {
  6587. foreach (ICSInventoryInspectionGroup Item in list_Item1)
  6588. {
  6589. sqls = @" IF NOT EXISTS(SELECT * FROM ICSInventoryInspectionRulesList WHERE ID=@ID)
  6590. BEGIN
  6591. INSERT INTO dbo.ICSInventoryInspectionRulesList
  6592. ( ID ,InvRulesID,SetValueMax,SetValueMin,Enable , MTIME,MUSER ,MUSERName ,WorkPoint,SampleQuantity )
  6593. Values(@ID,'{0}',@SetValueMax,@SetValueMin,@Enable,GETDATE(),'{1}','{2}','{3}',@SampleQuantity)
  6594. END
  6595. ELSE
  6596. BEGIN
  6597. UPDATE dbo.ICSInventoryInspectionRulesList set InvRulesID='{0}',SetValueMax=@SetValueMax,SetValueMin=@SetValueMin,Enable=@Enable,MTIME=GETDATE(),MUSER='{1}',MUSERName='{2}',WorkPoint='{3}',SampleQuantity=@SampleQuantity WHERE ID=@ID
  6598. end
  6599. ";
  6600. sqls = string.Format(sqls, BID, MUSER, MUSERNAME, WorkPoint);
  6601. SqlParameter[] sp_Item = {
  6602. new SqlParameter("@ID",DbType.String){ Value= Item.ID},
  6603. new SqlParameter("@SampleQuantity",DbType.Decimal){ Value= Item.SampleQuantity},//抽样数量
  6604. new SqlParameter("@SetValueMax",DbType.String){ Value= Item.SetValueMax},
  6605. new SqlParameter("@SetValueMin",DbType.String){ Value= Item.SetValueMin},
  6606. new SqlParameter("@Enable",DbType.String){ Value= Item.Enable},
  6607. };
  6608. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Item, cmd);
  6609. }
  6610. cmd.Transaction.Commit();
  6611. }
  6612. }
  6613. catch (Exception ex)
  6614. {
  6615. cmd.Transaction.Rollback();
  6616. throw new Exception(ex.Message);
  6617. }
  6618. finally
  6619. {
  6620. if (conn.State == ConnectionState.Open)
  6621. {
  6622. conn.Close();
  6623. }
  6624. conn.Dispose();
  6625. }
  6626. }
  6627. /// <summary>
  6628. /// 删除供应商
  6629. /// </summary>
  6630. /// <param name="keyValue">传入ID</param>
  6631. /// <returns></returns>
  6632. public string DeleteICSVender(string keyValue)
  6633. {
  6634. //站点信息
  6635. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6636. string msg = "";
  6637. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  6638. string sql = string.Empty;
  6639. sql = string.Format(@"DELETE FROM dbo.ICSVendor WHERE ID IN ({0}) and WorkPoint ='{1}'"
  6640. , keyValue.TrimEnd(','), WorkPoint);
  6641. try
  6642. {
  6643. SqlHelper.ExecuteNonQuery(sql);
  6644. }
  6645. catch (Exception ex)
  6646. {
  6647. throw new Exception(ex.Message);
  6648. }
  6649. return msg;
  6650. }
  6651. /// <summary>
  6652. /// 获取供应商修改文本框值
  6653. /// </summary>
  6654. public DataTable GetVenderInputValue(string ID, string WorkPoint)
  6655. {
  6656. try
  6657. {
  6658. DataTable dt = new DataTable();
  6659. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6660. //var queryParam = queryJson.ToJObject();
  6661. List<DbParameter> parameter = new List<DbParameter>();
  6662. string sql = @" select ID,VenCode,VenName,VenAbbName,VCCode,VCName,VenAddress
  6663. ,VenRegCode,VenBank,VenAccount,VenDevDate,VenLPerson
  6664. ,VenPhone,VenEmail,VenPerson,VenHand,VenDisRate,VenCreLine
  6665. ,VenCreDate,VenPayCond,PayName,VenExch_name from ICSVendor
  6666. where ID='{0}' and WorkPoint='{1}' ";
  6667. sql = string.Format(sql, ID, WorkPoint);
  6668. return Repository().FindTableBySql(sql.ToString());
  6669. }
  6670. catch (Exception ex)
  6671. {
  6672. throw new Exception(ex.Message.ToString());
  6673. }
  6674. }
  6675. /// <summary>
  6676. /// 新增供应商
  6677. /// </summary>
  6678. /// <param name="queryJson"></param>
  6679. /// <returns></returns>
  6680. public string InsertICSVender(string keyValue)
  6681. {
  6682. var queryParam = keyValue.ToJObject();
  6683. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  6684. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  6685. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6686. string msg = "";
  6687. string sql = string.Empty;
  6688. sql = @"IF EXISTS (SELECT VenCode FROM ICSVendor WHERE VenCode='{0}' AND WorkPoint='{5}')
  6689. BEGIN
  6690. RAISERROR('', 16, 1);
  6691. END
  6692. ELSE
  6693. BEGIN
  6694. insert into ICSVendor
  6695. (ID,VenCode,VenName,VenAbbName,VCCode,VCName,VenAddress,VenRegCode,VenBank,VenAccount,VenDevDate
  6696. ,VenLPerson,VenPhone,VenEmail,VenPerson,VenHand,VenDisRate,VenCreLine,VenCreDate,VenPayCond,PayName
  6697. ,VenExch_name,MUSER,MUSERNAME,WorkPoint,MTIME)
  6698. values
  6699. (NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}'
  6700. ,'{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}',GETDATE())
  6701. END";
  6702. sql = string.Format(sql,
  6703. queryParam["VenCode"].ToString(),
  6704. queryParam["VenName"].ToString(),
  6705. queryParam["VenAbbName"].ToString(),
  6706. queryParam["VCCode"].ToString(),
  6707. queryParam["VCName"].ToString(),
  6708. queryParam["VenAddress"].ToString(),
  6709. queryParam["VenRegCode"].ToString(),
  6710. queryParam["VenBank"].ToString(),
  6711. queryParam["VenAccount"].ToString(),
  6712. queryParam["VenDevDate"].ToString(),
  6713. queryParam["VenLPerson"].ToString(),
  6714. queryParam["VenPhone"].ToString(),
  6715. queryParam["VenEmail"].ToString(),
  6716. queryParam["VenPerson"].ToString(),
  6717. queryParam["VenHand"].ToString(),
  6718. queryParam["VenDisRate"].ToString(),
  6719. queryParam["VenCreLine"].ToString(),
  6720. queryParam["VenCreDate"].ToString(),
  6721. queryParam["VenPayCond"].ToString(),
  6722. queryParam["PayName"].ToString(),
  6723. queryParam["VenExch_name"].ToString(),
  6724. MUSER, MUSERNAME, WorkPoint);
  6725. try
  6726. {
  6727. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  6728. {
  6729. }
  6730. else
  6731. {
  6732. msg = "新增失败";
  6733. }
  6734. }
  6735. catch (Exception ex)
  6736. {
  6737. throw new Exception(ex.Message);
  6738. }
  6739. return msg;
  6740. }
  6741. /// <summary>
  6742. /// 修改供应商
  6743. /// </summary>
  6744. /// <param name="queryJson"></param>
  6745. /// <returns></returns>
  6746. public string UpdateICSVender(string keyValue, string WorkPoint)
  6747. {
  6748. var queryParam = keyValue.ToJObject();
  6749. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  6750. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  6751. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6752. string msg = "";
  6753. string sql = string.Empty;
  6754. sql = @"update ICSVendor set VenName='{2}',VenAbbName='{3}',VCCode='{4}',VCName='{5}',VenAddress='{6}'
  6755. ,VenRegCode='{7}',VenBank='{8}',VenAccount='{9}',VenDevDate='{10}',VenLPerson='{11}'
  6756. ,VenPhone='{12}',VenEmail='{13}',VenPerson='{14}',VenHand='{15}',VenDisRate='{16}',VenCreLine='{17}'
  6757. ,VenCreDate='{18}',VenPayCond='{19}',PayName='{20}',VenExch_name='{21}',MUSER='{22}',MUSERNAME='{23}',MTIME=GETDATE()
  6758. where 1=1 and VenCode='{0}' and WorkPoint='{1}'";
  6759. sql = string.Format(sql,
  6760. queryParam["VenCode"].ToString(),
  6761. WorkPoint,
  6762. queryParam["VenName"].ToString(),
  6763. queryParam["VenAbbName"].ToString(),
  6764. queryParam["VCCode"].ToString(),
  6765. queryParam["VCName"].ToString(),
  6766. queryParam["VenAddress"].ToString(),
  6767. queryParam["VenRegCode"].ToString(),
  6768. queryParam["VenBank"].ToString(),
  6769. queryParam["VenAccount"].ToString(),
  6770. queryParam["VenDevDate"].ToString(),
  6771. queryParam["VenLPerson"].ToString(),
  6772. queryParam["VenPhone"].ToString(),
  6773. queryParam["VenEmail"].ToString(),
  6774. queryParam["VenPerson"].ToString(),
  6775. queryParam["VenHand"].ToString(),
  6776. queryParam["VenDisRate"].ToString(),
  6777. queryParam["VenCreLine"].ToString(),
  6778. queryParam["VenCreDate"].ToString(),
  6779. queryParam["VenPayCond"].ToString(),
  6780. queryParam["PayName"].ToString(),
  6781. queryParam["VenExch_name"].ToString(),
  6782. MUSER, MUSERNAME);
  6783. try
  6784. {
  6785. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  6786. {
  6787. }
  6788. else
  6789. {
  6790. msg = "修改失败";
  6791. }
  6792. }
  6793. catch (Exception ex)
  6794. {
  6795. throw new Exception(ex.Message);
  6796. }
  6797. return msg;
  6798. }
  6799. /// <summary>
  6800. /// 获取仓库修改文本框值
  6801. /// </summary>
  6802. public DataTable GetWareHouseInputValue(string ID)
  6803. {
  6804. try
  6805. {
  6806. DataTable dt = new DataTable();
  6807. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6808. //var queryParam = queryJson.ToJObject();
  6809. List<DbParameter> parameter = new List<DbParameter>();
  6810. string sql = @" select ID,WarehouseCode,WarehouseName,Enable
  6811. ,BatchEnable,Asset,Proxy,InCost from ICSWarehouse
  6812. where ID='{0}' and WorkPoint='{1}' ";
  6813. sql = string.Format(sql, ID, WorkPoint);
  6814. return Repository().FindTableBySql(sql.ToString());
  6815. }
  6816. catch (Exception ex)
  6817. {
  6818. throw new Exception(ex.Message.ToString());
  6819. }
  6820. }
  6821. /// <summary>
  6822. /// 新增仓库
  6823. /// </summary>
  6824. /// <param name="queryJson"></param>
  6825. /// <returns></returns>
  6826. public string InsertICSWareHouse(string keyValue)
  6827. {
  6828. var queryParam = keyValue.ToJObject();
  6829. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  6830. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  6831. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6832. string msg = "";
  6833. string sql = string.Empty;
  6834. sql = @"IF EXISTS (SELECT WarehouseCode FROM ICSWarehouse WHERE WarehouseCode='{0}' AND WorkPoint='{5}')
  6835. BEGIN
  6836. RAISERROR('', 16, 1);
  6837. END
  6838. ELSE
  6839. BEGIN
  6840. insert into ICSWarehouse
  6841. (ID,WarehouseCode,WarehouseName,Enable,BatchEnable,Asset,Proxy,InCost,MUSER,MUSERName,MTIME,WorkPoint)
  6842. values
  6843. (NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}',GETDATE(),'{9}')
  6844. END";
  6845. sql = string.Format(sql,
  6846. queryParam["WarehouseCode"].ToString(),
  6847. queryParam["WarehouseName"].ToString(),
  6848. queryParam["Enable"].ToString(),
  6849. queryParam["BatchEnable"].ToString(),
  6850. queryParam["Asset"].ToString(),
  6851. queryParam["Proxy"].ToString(),
  6852. queryParam["InCost"].ToString(),
  6853. MUSER, MUSERNAME, WorkPoint);
  6854. try
  6855. {
  6856. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  6857. {
  6858. }
  6859. else
  6860. {
  6861. msg = "新增失败";
  6862. }
  6863. }
  6864. catch (Exception ex)
  6865. {
  6866. throw new Exception(ex.Message);
  6867. }
  6868. return msg;
  6869. }
  6870. /// <summary>
  6871. /// 修改仓库
  6872. /// </summary>
  6873. /// <param name="queryJson"></param>
  6874. /// <returns></returns>
  6875. public string UpdateICSWareHouse(string keyValue)
  6876. {
  6877. var queryParam = keyValue.ToJObject();
  6878. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  6879. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  6880. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6881. string msg = "";
  6882. string sql = string.Empty;
  6883. sql = @"update ICSWarehouse set WarehouseName='{2}',Enable='{3}',BatchEnable='{4}',Asset='{5}',Proxy='{6}',InCost='{7}'
  6884. ,MUSER='{8}',MUSERName='{9}'
  6885. where WarehouseCode='{0}' and WorkPoint='{1}'";
  6886. sql = string.Format(sql,
  6887. queryParam["WarehouseCode"].ToString(),
  6888. WorkPoint,
  6889. queryParam["WarehouseName"].ToString(),
  6890. queryParam["Enable"].ToString(),
  6891. queryParam["BatchEnable"].ToString(),
  6892. queryParam["Asset"].ToString(),
  6893. queryParam["Proxy"].ToString(),
  6894. queryParam["InCost"].ToString(),
  6895. MUSER, MUSERNAME);
  6896. try
  6897. {
  6898. if (SqlHelper.ExecuteNonQuery(sql) > 0)
  6899. {
  6900. }
  6901. else
  6902. {
  6903. msg = "修改失败";
  6904. }
  6905. }
  6906. catch (Exception ex)
  6907. {
  6908. throw new Exception(ex.Message);
  6909. }
  6910. return msg;
  6911. }
  6912. /// <summary>
  6913. /// 删除仓库
  6914. /// </summary>
  6915. /// <param name="keyValue">传入ID</param>
  6916. /// <returns></returns>
  6917. public string DeleteICSWareHouse(string keyValue)
  6918. {
  6919. //站点信息
  6920. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  6921. string msg = "";
  6922. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  6923. string sql = string.Empty;
  6924. sql = string.Format(@"IF EXISTS(select A.LocationCode from ICSLocation A
  6925. INNER JOIN ICSWarehouse B ON B.ID=A.WHID AND B.WorkPoint=A.WorkPoint
  6926. where B.ID IN ({0}) and b.WorkPoint='{1}')
  6927. BEGIN
  6928. RAISERROR('',16,1);
  6929. RETURN
  6930. end
  6931. DELETE FROM dbo.ICSWarehouse WHERE ID IN ({0}) and WorkPoint ='{1}'"
  6932. , keyValue.TrimEnd(','), WorkPoint);
  6933. try
  6934. {
  6935. SqlHelper.ExecuteNonQuery(sql);
  6936. }
  6937. catch (Exception ex)
  6938. {
  6939. throw new Exception(ex.Message);
  6940. }
  6941. return msg;
  6942. }
  6943. public DataTable SelectICSColumnEnableForTypeEnable()
  6944. {
  6945. string WorkPoints = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  6946. string sql = @" select ColumnCode from ICSColumnEnable
  6947. where Enable='0' and TableCode='ICSType' and WorkPoint='" + WorkPoints + "' order by cast(Code as int)";
  6948. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  6949. return dt;
  6950. }
  6951. public DataTable GetLoadShowForColumn()
  6952. {
  6953. string WorkPoints = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  6954. string sql = @"
  6955. select * from ICSColumnEnable where TableCode='ICSType' and WorkPoint='" + WorkPoints + "' order by cast(code as int) ";
  6956. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  6957. return dt;
  6958. }
  6959. #region 查询开启的自定义项
  6960. public DataTable SelectICSColumnEnableForEnablePulic(string TabName)
  6961. {
  6962. string WorkPoints = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  6963. string sql = @" select ColumnCode,Name from ICSColumnEnable
  6964. where Enable='1' and TableCode='" + TabName + "' and WorkPoint='" + WorkPoints + "' order by cast(Code as int)";
  6965. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  6966. return dt;
  6967. }
  6968. #endregion
  6969. public static string HttpPost(string url, string body)
  6970. {
  6971. try
  6972. {
  6973. Encoding encoding = Encoding.UTF8;
  6974. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  6975. request.Method = "POST";
  6976. request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
  6977. request.ContentType = "application/json; charset=utf-8";
  6978. byte[] buffer = encoding.GetBytes(body);
  6979. request.ContentLength = buffer.Length;
  6980. request.GetRequestStream().Write(buffer, 0, buffer.Length);
  6981. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  6982. using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
  6983. {
  6984. return reader.ReadToEnd();
  6985. }
  6986. }
  6987. catch (WebException ex)
  6988. {
  6989. throw new Exception(ex.Message);
  6990. }
  6991. }
  6992. /// <summary>
  6993. /// 一键设置物料免检
  6994. /// </summary>
  6995. /// <param name="keyValue">传入ID</param>
  6996. /// <returns></returns>
  6997. public string SetIQCICSInventory(string keyValue)
  6998. {
  6999. //站点信息
  7000. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  7001. string msg = "";
  7002. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  7003. string sql = string.Empty;
  7004. sql = string.Format(@"update dbo.ICSInventory set InvIQC=0 WHERE ID IN ({0}) and WorkPoint ='{1}'"
  7005. , keyValue.TrimEnd(','), WorkPoint);
  7006. try
  7007. {
  7008. SqlHelper.CmdExecuteNonQueryLi(sql);
  7009. }
  7010. catch (Exception ex)
  7011. {
  7012. throw new Exception(ex.Message);
  7013. }
  7014. return msg;
  7015. }
  7016. /// <summary>
  7017. /// 一键取消物料免检
  7018. /// </summary>
  7019. /// <param name="keyValue">传入ID</param>
  7020. /// <returns></returns>
  7021. public string CancelIQCICSInventory(string keyValue)
  7022. {
  7023. //站点信息
  7024. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  7025. string msg = "";
  7026. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  7027. string sql = string.Empty;
  7028. sql = string.Format(@"update dbo.ICSInventory set InvIQC=1 WHERE ID IN ({0}) and WorkPoint ='{1}'"
  7029. , keyValue.TrimEnd(','), WorkPoint);
  7030. try
  7031. {
  7032. SqlHelper.CmdExecuteNonQueryLi(sql);
  7033. }
  7034. catch (Exception ex)
  7035. {
  7036. throw new Exception(ex.Message);
  7037. }
  7038. return msg;
  7039. }
  7040. public class ICSMOReceiveUntieModel
  7041. {
  7042. /// <summary>
  7043. /// 站点
  7044. /// </summary>
  7045. public string WorkPoint { get; set; }
  7046. /// <summary>
  7047. /// 容器编号
  7048. /// </summary>
  7049. public string ContainerCode { get; set; }
  7050. /// <summary>
  7051. /// 用户
  7052. /// </summary>
  7053. public string User { get; set; }
  7054. /// <summary>
  7055. /// 操作类型(1:BS容器绑定,2:PDA容器绑定,3:BS条码绑定,4:PDA条码绑定,5:BS容器解绑,6:PDA容器解绑,7:BS条码解绑,8:PDA条码解绑)
  7056. /// </summary>
  7057. public string Type { get; set; }
  7058. public string LotNo { get; set; }
  7059. public List<ICSMOReceiveUntieModelDetail> detail { get; set; }
  7060. }
  7061. public class ICSMOReceiveUntieModelDetail
  7062. {
  7063. /// <summary>
  7064. /// 条码
  7065. /// </summary>
  7066. public string LotNo { get; set; }
  7067. }
  7068. public class ICSContainerModel
  7069. {
  7070. /// <summary>
  7071. /// 站点
  7072. /// </summary>
  7073. public string WorkPoint { get; set; }
  7074. /// <summary>
  7075. /// 容器编号
  7076. /// </summary>
  7077. public string ContainerCode { get; set; }
  7078. /// <summary>
  7079. /// 用户
  7080. /// </summary>
  7081. public string User { get; set; }
  7082. /// <summary>
  7083. /// 操作类型(1:BS容器绑定,2:PDA容器绑定,3:BS条码绑定,4:PDA条码绑定,5:BS容器解绑,6:PDA容器解绑,7:BS条码解绑,8:PDA条码解绑)
  7084. /// </summary>
  7085. public string Type { get; set; }
  7086. public string LotNo { get; set; }
  7087. }
  7088. }
  7089. }