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.

519 lines
24 KiB

1 year ago
1 year ago
1 year ago
11 months ago
1 year ago
11 months ago
11 months ago
11 months ago
1 year ago
  1. using NFine.Data.Extensions;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Text;
  6. using NFine.Code;
  7. using NFine.Repository;
  8. using System.Data.Common;
  9. using NFine.Domain._03_Entity.SRM;
  10. using Newtonsoft.Json;
  11. using System.Configuration;
  12. using System.Net;
  13. using System.IO;
  14. using Newtonsoft.Json.Linq;
  15. using ICS.Data;
  16. using System.Data.SqlClient;
  17. namespace NFine.Application.WMS
  18. {
  19. public class BlitemApp : RepositoryFactory<ICSVendor>
  20. {
  21. public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam)
  22. {
  23. DataTable dt = new DataTable();
  24. var queryParam = queryJson.ToJObject();
  25. List<DbParameter> parameter = new List<DbParameter>();
  26. #region [SQL]
  27. string sql = @"SELECT ID, CheckCode, SelectLevel, Status, Quantity, Amount, MUSER, MUSERName, MTIME, WorkPoint
  28. FROM
  29. dbo.ICSCheck";
  30. sql += " WHERE 1=1";
  31. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  32. #endregion
  33. if (!string.IsNullOrWhiteSpace(queryJson))
  34. {
  35. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  36. {
  37. sql += " and CheckCode like '%" + queryParam["POCode"].ToString() + "%' ";
  38. }
  39. }
  40. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  41. {
  42. sql += " and WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  43. }
  44. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode == "Vendor")
  45. {
  46. sql += " and VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
  47. }
  48. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  49. }
  50. public DataTable GetSubGridJson(string ID, string Sequence, ref Pagination jqgridparam)
  51. {
  52. DataTable dt = new DataTable();
  53. //var queryParam = queryJson.ToJObject();
  54. List<DbParameter> parameter = new List<DbParameter>();
  55. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  56. string sql = @" SELECT distinct a.ID, b.InvCode,
  57. b.InvName ,
  58. b.InvStd ,
  59. a.LotNo,
  60. case when b.AmountEnable='1' then CAST( (a.Quantity/b.EATTRIBUTE1 )AS DECIMAL(18,2)) else a.Quantity end as Quantity,
  61. d.WarehouseCode,
  62. d.LocationCode,
  63. case when b.AmountEnable='1' then CAST( (a.PrimaryQuantity/b.EATTRIBUTE1 )AS DECIMAL(18,2)) else a.PrimaryQuantity end as PrimaryQuantity,
  64. a.PrimaryAmount,
  65. case when b.AmountEnable='1' then CAST( (a.ReplayQuantity/b.EATTRIBUTE1 )AS DECIMAL(18,2)) else a.ReplayQuantity end as ReplayQuantity,
  66. a.ReplayAmount,
  67. case when b.AmountEnable='1' then CAST( (a.CheckQuantity/b.EATTRIBUTE1 )AS DECIMAL(18,2)) else a.CheckQuantity end as CheckQuantity,
  68. a.CheckAmount,
  69. e.Status,
  70. a.MUSER,a.MTIME
  71. FROM ICSCheckDetail a
  72. left join ICSCheck e on a.CheckID=e.ID and a.WorkPoint=e.WorkPoint
  73. left join ICSInventoryLot c on a.LotNo=c.LotNO and a.WorkPoint=c.WorkPoint
  74. left join ICSInventory b on c.InvCode=b.InvCode AND c.WorkPoint=b.WorkPoint
  75. left join ICSWareHouseLotInfo d on c.LotNO=d.LotNO AND c.WorkPoint=d.WorkPoint
  76. WHERE a.CheckID='" + ID + "' and a.WorkPoint in ('" + WorkPoint + "') ";
  77. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  78. }
  79. public string DeleteICSCheckDetail(string ID,string LotNo)
  80. {
  81. //站点信息
  82. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  83. string msg = "";
  84. string sql = string.Empty;
  85. try
  86. {
  87. sql += string.Format(@"DELETE FROM ICSCheckDetail WHERE ID ='{0}' and WorkPoint ='{1}'", ID, WorkPoint);
  88. sql+= string.Format(@"update dbo.ICSWareHouseLotInfo set LockQuantity=0 where LotNo='{0}' and WorkPoint='{1}'", LotNo, WorkPoint);
  89. SqlHelper.ExecuteNonQuery(sql);
  90. }
  91. catch (Exception ex)
  92. {
  93. throw new Exception(ex.Message);
  94. }
  95. return msg;
  96. }
  97. /// <summary>
  98. /// 获取仓库
  99. /// </summary>
  100. /// <returns></returns>
  101. public DataTable GetWHCode()
  102. {
  103. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  104. string sql = @" select '' as ID,'' as WarehouseName union all
  105. SELECT ID+'|'+WarehouseCode,WarehouseName FROM ICSWarehouse WITH (NOLOCK) WHERE WorkPoint = '{0}' ";
  106. sql = string.Format(sql, WorkPoint);
  107. //string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  108. //if (role != "admin")
  109. //{
  110. // sql += " and b.WorkPoint='" + WorkPoint + "'";
  111. //}
  112. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  113. return dt;
  114. }
  115. public DataTable GetQU(string WHCodeID)
  116. {
  117. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  118. string sql = @" select '' as QUValue,'' as QUName union all
  119. SELECT Region as QUValue,Region+'区' as QUName FROM ICSLocation WITH (NOLOCK) WHERE WHID = '{0}' AND WorkPoint='{1}'
  120. ";
  121. sql = string.Format(sql, WHCodeID, WorkPoint);
  122. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  123. return dt;
  124. }
  125. //public DataTable GetQU(string WHCodeID)
  126. //{
  127. // string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  128. // string sql = @"SELECT Region as QUValue,Region+'区' as QUName FROM ICSLocation WHERE WHID = '{0}' AND WorkPoint='{1}'";
  129. // sql = string.Format(sql, WHCodeID, WorkPoint);
  130. // DataTable dt = Repository().FindTableBySql(sql);
  131. // return dt;
  132. //}
  133. public DataTable GetPai(string WHCodeID, string Qu)
  134. {
  135. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  136. string sql = @" select '' as PaiValue,'' as PaiName union all
  137. SELECT Row as PaiValue,Row+'排' as PaiName FROM ICSLocation WITH (NOLOCK) WHERE WHID = '{0}' AND WorkPoint='{1}' and Region='{2}'
  138. ";
  139. sql = string.Format(sql, WHCodeID, WorkPoint, Qu);
  140. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  141. return dt;
  142. }
  143. public DataTable GetHuoJia(string WHCodeID, string Qu, string Pai)
  144. {
  145. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  146. string sql = @" select '' as HuoJiaValue,'' as HuoJiaName union all
  147. SELECT GoodsShelf as HuoJiaValue,GoodsShelf +'' as HuoJiaName FROM ICSLocation WITH (NOLOCK) WHERE WHID = '{0}' AND WorkPoint='{1}' and Region='{2}' and Row='{3}'
  148. ";
  149. sql = string.Format(sql, WHCodeID, WorkPoint, Qu, Pai);
  150. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  151. return dt;
  152. }
  153. public DataTable GetCeng(string WHCodeID, string Qu, string Pai, string HuoJia)
  154. {
  155. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  156. string sql = @" select '' as CengValue,'' as CengName union all
  157. SELECT Tier as CengValue,Tier +'层' as CengName FROM ICSLocation WITH (NOLOCK) WHERE WHID = '{0}' AND WorkPoint='{1}' and Region='{2}' and Row='{3}' and GoodsShelf ='{4}'
  158. ";
  159. sql = string.Format(sql, WHCodeID, WorkPoint, Qu, Pai, HuoJia);
  160. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  161. return dt;
  162. }
  163. public DataTable GetGe(string WHCodeID, string Qu, string Pai, string HuoJia, string Ceng)
  164. {
  165. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  166. string sql = @" select '' as GeValue,'' as GeName union all
  167. SELECT Grid as GeValue,Grid +'格' as GeName FROM ICSLocation WITH (NOLOCK) WHERE WHID = '{0}' AND WorkPoint='{1}' and Region='{2}' and Row='{3}' and GoodsShelf ='{4}' and Tier='{5}'
  168. ";
  169. sql = string.Format(sql, WHCodeID, WorkPoint, Qu, Pai, HuoJia, Ceng);
  170. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  171. return dt;
  172. }
  173. public string AddICSCheck(string Parameter)
  174. {
  175. string msg = "";
  176. string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "Check/Create";
  177. string result = HttpPost(APIURL, Parameter);
  178. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
  179. string MessAge = Obj["Message"].ToString();
  180. string Success = Obj["Success"].ToString();
  181. if (Success.ToUpper() == "FALSE")
  182. {
  183. msg = MessAge;
  184. }
  185. return msg;
  186. }
  187. //接口api解析
  188. public static string HttpPost(string url, string body)
  189. {
  190. try
  191. {
  192. Encoding encoding = Encoding.UTF8;
  193. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  194. request.Method = "POST";
  195. request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
  196. request.ContentType = "application/json; charset=utf-8";
  197. byte[] buffer = encoding.GetBytes(body);
  198. request.ContentLength = buffer.Length;
  199. request.GetRequestStream().Write(buffer, 0, buffer.Length);
  200. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  201. using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
  202. {
  203. return reader.ReadToEnd();
  204. }
  205. }
  206. catch (WebException ex)
  207. {
  208. throw new Exception(ex.Message);
  209. }
  210. }
  211. public string DeleteICSCheck(string keyValue)
  212. {
  213. //站点信息
  214. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  215. string msg = "";
  216. keyValue = keyValue.Substring(1, keyValue.Length - 2);
  217. string sql = string.Empty;
  218. try
  219. {
  220. sql += string.Format(@" IF EXISTS(SELECT CheckID FROM ICSCheckDetail WHERE CheckID in ({0}) )
  221. BEGIN
  222. RAISERROR(',',16,1);
  223. RETURN
  224. END
  225. DELETE FROM dbo.ICSCheck WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  226. sql += string.Format(@"DELETE FROM dbo.ICSCheckDetail WHERE CheckID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
  227. SqlHelper.ExecuteNonQuery(sql);
  228. }
  229. catch (Exception ex)
  230. {
  231. msg = ex.Message;
  232. }
  233. return msg;
  234. }
  235. public DataTable GetGridJsonWarehouse(string queryJson, ref Pagination jqgridparam)
  236. {
  237. DataTable dt = new DataTable();
  238. var queryParam = queryJson.ToJObject();
  239. List<DbParameter> parameter = new List<DbParameter>();
  240. #region [SQL]
  241. string sql = @"select distinct ID, WarehouseCode as SelectLevel ,WarehouseCode,WarehouseName from ICSWarehouse";
  242. sql += " WHERE 1=1";
  243. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  244. #endregion
  245. if (!string.IsNullOrWhiteSpace(queryJson))
  246. {
  247. if (!string.IsNullOrWhiteSpace(queryParam["WarehouseCode"].ToString()))
  248. {
  249. sql += " and WarehouseCode like '%" + queryParam["WarehouseCode"].ToString() + "%' ";
  250. }
  251. }
  252. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  253. {
  254. sql += " and WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  255. }
  256. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode == "Vendor")
  257. {
  258. sql += " and VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
  259. }
  260. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  261. }
  262. public DataTable GetSubGridJsonRegion(string ID, ref Pagination jqgridparam)
  263. {
  264. DataTable dt = new DataTable();
  265. //var queryParam = queryJson.ToJObject();
  266. List<DbParameter> parameter = new List<DbParameter>();
  267. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  268. string sql = @" select distinct b.WarehouseCode+'-'+a.Region as SelectLevel, a.WHID, b.WarehouseCode,a.Region from ICSLocation a left join ICSWarehouse b on a.WHID=b.ID and a.WorkPoint=b.WorkPoint
  269. WHERE a.WHID='" + ID + "' and a.WorkPoint in ('" + WorkPoint + "')";
  270. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  271. }
  272. public DataTable GetSubGridJsonRow(string WHID, string Region, ref Pagination jqgridparam)
  273. {
  274. DataTable dt = new DataTable();
  275. //var queryParam = queryJson.ToJObject();
  276. List<DbParameter> parameter = new List<DbParameter>();
  277. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  278. string sql = @" select distinct isnull(b.WarehouseCode,'')+'-'+isnull(a.Region,'')+'-'+isnull(a.Row,'') as SelectLevel, a.WHID, b.WarehouseCode,a.Region ,a.Row
  279. from ICSLocation a left join ICSWarehouse b on a.WHID=b.ID and a.WorkPoint=b.WorkPoint
  280. WHERE a.WHID='" + WHID + "' and a.Region='" + Region + "' and isnull(a.Row,'') !='' and a.WorkPoint in ('" + WorkPoint + "')";
  281. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  282. }
  283. public DataTable GetSubGridJsonGoodsShelf(string WHID, string Region, string Row, ref Pagination jqgridparam)
  284. {
  285. DataTable dt = new DataTable();
  286. //var queryParam = queryJson.ToJObject();
  287. List<DbParameter> parameter = new List<DbParameter>();
  288. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  289. string sql = @" select distinct isnull(b.WarehouseCode,'')+'-'+isnull(a.Region,'')+'-'+isnull(a.Row,'')+'-'+isnull(a.GoodsShelf,'') as SelectLevel, a.WHID, b.WarehouseCode,a.Region ,a.Row,a.GoodsShelf
  290. from ICSLocation a left join ICSWarehouse b on a.WHID=b.ID and a.WorkPoint=b.WorkPoint
  291. WHERE a.WHID='" + WHID + "' and a.Region='" + Region + "' and a.Row='" + Row + "' and isnull(a.GoodsShelf,'') !='' and a.WorkPoint in ('" + WorkPoint + "')";
  292. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  293. }
  294. public DataTable GetSubGridJsonTier(string WHID, string Region, string Row, string GoodsShelf, ref Pagination jqgridparam)
  295. {
  296. DataTable dt = new DataTable();
  297. //var queryParam = queryJson.ToJObject();
  298. List<DbParameter> parameter = new List<DbParameter>();
  299. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  300. string sql = @" select distinct isnull(b.WarehouseCode,'')+'-'+isnull(a.Region,'')+'-'+isnull(a.Row,'')+'-'+isnull(a.GoodsShelf,'') +'-'+isnull(a.Tier,'') as SelectLevel, a.WHID, b.WarehouseCode,a.Region ,a.Row,a.GoodsShelf ,a.Tier
  301. from ICSLocation a left join ICSWarehouse b on a.WHID=b.ID and a.WorkPoint=b.WorkPoint
  302. WHERE a.WHID='" + WHID + "' and a.Region='" + Region + "' and a.Row='" + Row + "' and a.GoodsShelf='" + GoodsShelf + "' and isnull(a.Tier,'') !='' and a.WorkPoint in ('" + WorkPoint + "')";
  303. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  304. }
  305. public DataTable GetSubGridJsonGrid(string WHID, string Region, string Row, string GoodsShelf, string Tier, ref Pagination jqgridparam)
  306. {
  307. DataTable dt = new DataTable();
  308. //var queryParam = queryJson.ToJObject();
  309. List<DbParameter> parameter = new List<DbParameter>();
  310. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  311. string sql = @" select distinct isnull(b.WarehouseCode,'')+'-'+isnull(a.Region,'')+'-'+isnull(a.Row,'')+'-'+isnull(a.GoodsShelf,'') +'-'+isnull(a.Tier,'') as SelectLevel, a.WHID, b.WarehouseCode,a.Region ,a.Row ,a.GoodsShelf ,a.Tier,a.Grid
  312. from ICSLocation a left join ICSWarehouse b on a.WHID=b.ID and a.WorkPoint=b.WorkPoint
  313. WHERE a.WHID='" + WHID + "' and a.Region='" + Region + "' and a.Row='" + Row + "' and a.Tier='" + Tier + "' and a.GoodsShelf='" + GoodsShelf + "' and isnull(a.Grid,'') !='' and a.WorkPoint in ('" + WorkPoint + "')";
  314. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  315. }
  316. public DataTable StatementExportAll(string ID)
  317. {
  318. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  319. string sql = string.Empty;
  320. object Figure = GetDecimalDigits();
  321. string TableCode = string.Empty;
  322. #region sql语句
  323. sql = @"SELECT distinct e.CheckCode as 盘点单号, a.LotNo as 条码, b.InvCode as 料品代码,
  324. b.InvName as ,
  325. b.InvStd as ,
  326. CAST(a.Quantity AS DECIMAL(18,{0})) as ,
  327. d.WarehouseCode as ,
  328. d.LocationCode as ,
  329. CAST(a.PrimaryQuantity AS DECIMAL(18,{0})) as ,
  330. CAST(a.PrimaryAmount AS DECIMAL(18,{0})) as ,
  331. CAST(a.ReplayQuantity as DECIMAL(18,{0})) as ,
  332. CAST(a.ReplayAmount as DECIMAL(18,{0})) as ,
  333. CAST(a.CheckQuantity as DECIMAL(18,{0})) as ,
  334. CAST(a.CheckAmount as DECIMAL(18,{0})) as ,
  335. a.EATTRIBUTE1,a.EATTRIBUTE2,a.EATTRIBUTE3,a.EATTRIBUTE4,a.EATTRIBUTE5,a.EATTRIBUTE6,a.EATTRIBUTE7,a.EATTRIBUTE8,
  336. a.EATTRIBUTE9,a.EATTRIBUTE10
  337. FROM ICSCheck e
  338. left join dbo.ICSCheckDetail a on a.CheckID=e.ID and a.WorkPoint=e.WorkPoint
  339. left join ICSInventoryLot c on a.LotNo=c.LotNO and a.WorkPoint=c.WorkPoint
  340. left join ICSInventory b on c.InvCode=b.InvCode AND c.WorkPoint=b.WorkPoint
  341. left join ICSWareHouseLotInfo d on c.LotNO=d.LotNO AND c.WorkPoint=d.WorkPoint
  342. WHERE 1=1 and e.CheckCode in (" + ID.TrimEnd(',') + ") ";
  343. TableCode = "ICSCheckDetail";
  344. #endregion
  345. sql = sql + " and a.WorkPoint='{1}'";
  346. sql = string.Format(sql, Figure, WorkPoint);
  347. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  348. DataTable dtColumn = ColumnEnable(TableCode);
  349. foreach (DataRow drC in dtColumn.Rows)
  350. {
  351. if (dt.Columns.Contains(drC["ColumnCode"].ToString()))
  352. {
  353. if (!Convert.ToBoolean(drC["Enable"]))
  354. {
  355. dt.Columns.Remove(drC["ColumnCode"].ToString());
  356. }
  357. else if (Convert.ToBoolean(drC["Enable"]))
  358. {
  359. dt.Columns[drC["ColumnCode"].ToString()].ColumnName = drC["Name"].ToString();
  360. }
  361. }
  362. }
  363. return dt;
  364. }
  365. public DataTable ColumnEnable(string TableCode)
  366. {
  367. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  368. string sql = string.Empty;
  369. sql = @"select ColumnCode,Name,Enable from ICSColumnEnable where TableCode='{0}' and WorkPoint='{1}'";
  370. sql = string.Format(sql, TableCode, WorkPoint);
  371. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  372. return dt;
  373. }
  374. public object GetDecimalDigits()
  375. {
  376. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  377. try
  378. {
  379. string sql = string.Empty;
  380. sql = @"select Figure from ICSConfiguration where Code='Figure001' and Enable='1' and WorkPoint='" + WorkPoint + "'";
  381. object Figure = SqlHelper.ExecuteScalar(sql);
  382. return Figure;
  383. }
  384. catch (Exception ex)
  385. {
  386. throw new Exception(ex.Message.ToString());
  387. }
  388. }
  389. public string AuditICSCheck(string Code)
  390. {
  391. string connString = SqlHelper.DataCenterConnString;
  392. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  393. conn.Open();
  394. SqlTransaction sqlTran = conn.BeginTransaction();
  395. SqlCommand cmd = new SqlCommand();
  396. cmd.Transaction = sqlTran;
  397. cmd.Connection = conn;
  398. string User = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  399. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  400. string sqlSeach = @"
  401. select
  402. a.CheckCode as Costre,
  403. '{2}' as [User],
  404. '{1}' as WorkPoint,
  405. '' as CheckKind,
  406. 'false' as UpdateWHLI,
  407. a.CheckCode,
  408. getdate() as MTime,
  409. b.LotNo,
  410. case when b.EATTRIBUTE1='1' then b.PrimaryQuantity when b.EATTRIBUTE1='2' then ReplayQuantity when b.EATTRIBUTE1='3' then CheckQuantity else '0' end as ActualQuantity
  411. INTO #TempERP
  412. from ICSCheck a
  413. left join ICSCheckDetail b on a.ID=b.CheckID and a.WorkPoint=b.WorkPoint
  414. where a.CheckCode='{0}' and a.WorkPoint='{1}'
  415. select distinct Costre, [User],WorkPoint,CheckKind,UpdateWHLI,CheckCode,MTime FROM #TempERP
  416. select Costre, LotNo,ActualQuantity FROM #TempERP
  417. DROP TABLE #TempERP";
  418. sqlSeach = string.Format(sqlSeach, Code, WorkPoint, User);
  419. DataSet DSet = SqlCommandHelper.SQlReturnDataSet(sqlSeach, cmd);
  420. string Inputstr = SqlHelper.DataSetToJson(DSet, "Detail", "Costre");
  421. string msg = "";
  422. string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "CheckAppove/Get";
  423. string result = HttpPost(APIURL, Inputstr);
  424. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
  425. string MessAge = Obj["Message"].ToString();
  426. string Success = Obj["Success"].ToString();
  427. if (Success.ToUpper() == "FALSE")
  428. {
  429. msg = MessAge;
  430. }
  431. return msg;
  432. }
  433. }
  434. }