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.

517 lines
23 KiB

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