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.

4824 lines
268 KiB

3 weeks ago
  1. using Newtonsoft.Json;
  2. using Newtonsoft.Json.Linq;
  3. using NFine.Code;
  4. using NFine.Data.Extensions;
  5. using NFine.Domain._03_Entity.SRM;
  6. using NFine.Repository;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Data;
  10. using System.Data.Common;
  11. using System.Linq;
  12. namespace NFine.Application.HGWMS
  13. {
  14. public class PickMaterialApp : RepositoryFactory<ICSVendor>
  15. {
  16. public static DataTable Invmes = new DataTable();
  17. //工单备料(工单子件)
  18. public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam)
  19. {
  20. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  21. DataTable dt = new DataTable();
  22. var queryParam = queryJson.ToJObject();
  23. List<DbParameter> parameter = new List<DbParameter>();
  24. string sql = "";
  25. #region [SQL]
  26. // sql = @"select distinct a.MOCode as Code
  27. // ,a.EATTRIBUTE5 AS ParentMOCode
  28. // ,inv.InvStd
  29. // ,a.CreateDateTime as MTIME
  30. // ,a.createperson as MUSER
  31. // ,d.MergeID AS IsNew,
  32. // case when k.TransCode is null then '未占料' else '已占料' end as IsOccupy
  33. //from ICSMO a
  34. //inner join ICSMOPick b on b.MODetailID=a.MODetailID and b.WorkPoint=a.WorkPoint
  35. //left join ICSMOPickMerge d on d.SourceID=b.ID and d.WorkPoint=b.WorkPoint
  36. // left join (select distinct TransCode
  37. // ,TransType
  38. // ,WorkPoint
  39. // from dbo.ICSWareHouseLotInfoLog
  40. // ) k on a.MOCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  41. // left join (SELECT a.MOCode
  42. // ,case when sum(b.Quantity) <=sum(IssueQuantity) then '已发料' else '未发料' end as Status
  43. // from ICSMO a
  44. // inner join ICSMOPick b on b.MODetailID=a.MODetailID and b.WorkPoint=a.WorkPoint
  45. // WHERE a.WorkPoint='{0}' group by a.MOCode) g on a.MOCode = g.MOCode
  46. // inner JOIN dbo.ICSInventory inv ON a.InvCode = inv.InvCode AND a.WorkPoint=inv.WorkPoint
  47. // LEFT JOIN ICSDepartment dep ON a.DepCode=dep.DepCode AND a.WorkPoint=dep.WorkPoint
  48. //where a.MOStatus<>'3' and a.WorkPoint='{0}' and a.ERPStatus<>'3' AND b.SupplyType='3' ";
  49. sql = @"select distinct a.MOCode as Code
  50. ,a.EATTRIBUTE5 AS ParentMOCode
  51. ,inv.InvStd
  52. ,a.CreateDateTime as MTIME
  53. ,a.createperson as MUSER
  54. ,d.MergeID AS IsNew,
  55. case when k.TransCode is null then '' else '' end as IsOccupy,isnull(LT.PrintCount,0) PrintCount
  56. from ICSMO a
  57. inner join ICSMOPick b on b.MODetailID=a.MODetailID and b.WorkPoint=a.WorkPoint
  58. left join ICSMOPickMerge d on d.SourceID=b.ID and d.WorkPoint=b.WorkPoint
  59. left join (select distinct TransCode
  60. ,TransType
  61. ,WorkPoint
  62. from dbo.ICSWareHouseLotInfoLog
  63. ) k on a.MOCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  64. left join (SELECT a.MOCode
  65. ,case when sum(b.Quantity) <=sum(IssueQuantity) then '' else '' end as Status
  66. from ICSMO a
  67. inner join ICSMOPick b on b.MODetailID=a.MODetailID and b.WorkPoint=a.WorkPoint
  68. WHERE a.WorkPoint='{0}' group by a.MOCode) g on a.MOCode = g.MOCode
  69. inner JOIN dbo.ICSInventory inv ON a.InvCode = inv.InvCode AND a.WorkPoint=inv.WorkPoint
  70. LEFT JOIN ICSDepartment dep ON a.DepCode=dep.DepCode AND a.WorkPoint=dep.WorkPoint
  71. left join ( select ValueParameters,WorkPoint,count(ValueParameters) as PrintCount from Sys_LableTask group by ValueParameters,WorkPoint) LT on a.MOCode=LT.ValueParameters and a.WorkPoint=lt.WorkPoint
  72. where a.MOStatus<>'3' and a.WorkPoint='{0}' and a.ERPStatus<>'3' AND b.SupplyType='3'";
  73. sql = string.Format(sql, WorkPoint);
  74. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  75. #endregion
  76. if (!string.IsNullOrWhiteSpace(queryJson))
  77. {
  78. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  79. {
  80. sql += " and a.MOCode like '%" + queryParam["POCode"].ToString() + "%' ";
  81. }
  82. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  83. {
  84. sql += " and b.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  85. }
  86. if (!string.IsNullOrWhiteSpace(queryParam["Invstd"].ToString()))
  87. {
  88. sql += " and inv.Invstd like '%" + queryParam["Invstd"].ToString() + "%' ";
  89. }
  90. if (!string.IsNullOrWhiteSpace(queryParam["Dept"].ToString()))
  91. {
  92. string dept = "";
  93. if (queryParam["Dept"].ToString() == "2")
  94. {
  95. dept = "电控柜";
  96. }
  97. else if (queryParam["Dept"].ToString() == "3")
  98. {
  99. dept = "高压线束";
  100. }
  101. else if (queryParam["Dept"].ToString() == "4")
  102. {
  103. dept = "低压线束";
  104. }
  105. if (dept != "")
  106. {
  107. sql += " and dep.DepName like '%" + dept + "%' ";
  108. }
  109. }
  110. if (queryParam["Status"].ToString() == "1")
  111. {
  112. sql += " AND g.Status='已发料' ";
  113. }
  114. else if (queryParam["Status"].ToString() == "2")
  115. {
  116. sql += " AND g.Status='未发料'";
  117. }
  118. if (queryParam["PrintSel"].ToString() == "1")
  119. {
  120. sql += " AND isnull(LT.PrintCount,0)>0";
  121. }
  122. else if (queryParam["PrintSel"].ToString() == "2")
  123. {
  124. sql += " AND isnull(LT.PrintCount,0)<=0";
  125. }
  126. if (!string.IsNullOrWhiteSpace(queryParam["ParentMoCode"].ToString()))
  127. {
  128. sql += " AND a.EATTRIBUTE5 like '%" + queryParam["ParentMoCode"].ToString() + "%'";
  129. }
  130. }
  131. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  132. }
  133. //工单备料(工单子件)子表查询
  134. public DataTable GetSubGridJson1(string Code, string Mechanism, string InvCode, ref Pagination jqgridparam)
  135. {
  136. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  137. DataTable dt = new DataTable();
  138. //var queryParam = queryJson.ToJObject();
  139. List<DbParameter> parameter = new List<DbParameter>();
  140. string sql = @" select a.ID,b.MOCode as Code,a.Sequence+'-'+b.Sequence AS Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,c.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  141. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  142. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  143. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  144. from ICSMOPick a
  145. left join ICSMO b on a.MODetailID=b.MODetailID and a.WorkPoint=b.WorkPoint and b.MOStatus<>'3'
  146. left join ICSWarehouse c on a.WHCode=c.WarehouseCode and a.WorkPoint=c.WorkPoint
  147. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  148. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  149. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  150. where b.MOCode='{0}' and a.WorkPoint='{1}' and ISnull(a.EATTRIBUTE1,'')<>'1' ";
  151. if (!string.IsNullOrWhiteSpace(Mechanism))
  152. {
  153. sql += " and a.EATTRIBUTE2 = '" + Mechanism + "' ";
  154. }
  155. if (!string.IsNullOrWhiteSpace(InvCode))
  156. {
  157. sql += " and a.InvCode = '" + InvCode + "' ";
  158. }
  159. sql = string.Format(sql, Code, WorkPoint);
  160. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  161. }
  162. //工单领料(发料申请)
  163. public DataTable GetGridJson2(string queryJson, ref Pagination jqgridparam)
  164. {
  165. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  166. DataTable dt = new DataTable();
  167. var queryParam = queryJson.ToJObject();
  168. List<DbParameter> parameter = new List<DbParameter>();
  169. string sql = "";
  170. #region [SQL]
  171. // select a.ID,a.ApplyCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName ,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  172. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  173. // from ICSMOApply a
  174. // left join ICSWarehouse b on a.WHCode = b.WarehouseCode and a.WorkPoint = b.WorkPoint
  175. // left join ICSInventory d on a.InvCode = d.InvCode and a.WorkPoint = d.WorkPoint
  176. // left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  177. sql = @"select distinct a.ApplyCode as Code
  178. ,a.CreateDateTime as MTIME
  179. ,a.createperson as MUSER
  180. ,e.MergeID AS IsNew
  181. ,case when k.TransCode is null then '' else '' end as IsOccupy
  182. from ICSMOApply a
  183. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  184. left join (select distinct TransCode
  185. ,TransType
  186. ,WorkPoint
  187. from dbo.ICSWareHouseLotInfoLog
  188. ) k on a.ApplyCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  189. left join (SELECT ApplyCode,case when sum(Quantity) <=sum(IssueQuantity) then ''else '' end as Status
  190. from ICSMOApply
  191. where WorkPoint='{0}' group by ApplyCode,MUSERName
  192. ) g on a.ApplyCode = g.ApplyCode
  193. where a.WorkPoint='{0}' and a.Status!=3 ";
  194. sql = string.Format(sql, WorkPoint);
  195. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  196. #endregion
  197. if (!string.IsNullOrWhiteSpace(queryJson))
  198. {
  199. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  200. {
  201. sql += " and a.ApplyCode like '%" + queryParam["POCode"].ToString() + "%' ";
  202. }
  203. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  204. {
  205. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  206. }
  207. if (queryParam["Status"].ToString() == "1")
  208. {
  209. sql += " AND g.Status='已发料' ";
  210. }
  211. else if (queryParam["Status"].ToString() == "2")
  212. {
  213. sql += " AND g.Status='未发料'";
  214. }
  215. }
  216. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  217. }
  218. //工单领料(发料申请)子表查询
  219. public DataTable GetSubGridJson2(string Code, string InvCode, ref Pagination jqgridparam)
  220. {
  221. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  222. DataTable dt = new DataTable();
  223. //var queryParam = queryJson.ToJObject();
  224. List<DbParameter> parameter = new List<DbParameter>();
  225. string sql = @"select a.ID,a.ApplyCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName ,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  226. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  227. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  228. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  229. from ICSMOApply a
  230. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  231. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  232. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  233. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  234. where a.ApplyCode='{0}' and a.WorkPoint='{1}'";
  235. if (!string.IsNullOrWhiteSpace(InvCode))
  236. {
  237. sql += " and a.InvCode = '" + InvCode + "' ";
  238. }
  239. sql = string.Format(sql, Code, WorkPoint);
  240. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  241. }
  242. //工单材料出库(材料出库)
  243. public DataTable GetGridJson3(string queryJson, ref Pagination jqgridparam)
  244. {
  245. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  246. DataTable dt = new DataTable();
  247. var queryParam = queryJson.ToJObject();
  248. List<DbParameter> parameter = new List<DbParameter>();
  249. string sql = "";
  250. #region [SQL]
  251. // sql = @"select a.ID,a.IssueCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode ,b.WarehouseName ,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  252. // case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  253. // from ICSMOIssue a
  254. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  255. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  256. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint ";
  257. // sql += " WHERE 1=1 and e.ID is null";
  258. sql = @"select distinct a.IssueCode as Code
  259. ,a.CreateDateTime as MTIME
  260. ,a.createperson as MUSER
  261. ,e.MergeID AS IsNew
  262. ,case when k.TransCode is null then '' else '' end as IsOccupy
  263. from ICSMOIssue a
  264. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  265. left join (select distinct TransCode
  266. ,TransType
  267. ,WorkPoint
  268. from dbo.ICSWareHouseLotInfoLog
  269. ) k on a.IssueCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  270. left join (SELECT IssueCode,case when sum(Quantity) <=sum(IssueQuantity) then ''else '' end as Status
  271. from ICSMOIssue
  272. where WorkPoint='{0}' group by IssueCode,MUSERName
  273. ) g on a.IssueCode = g.IssueCode
  274. where a.WorkPoint='{0}' AND a.Status=1";
  275. sql = string.Format(sql, WorkPoint);
  276. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  277. #endregion
  278. if (!string.IsNullOrWhiteSpace(queryJson))
  279. {
  280. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  281. {
  282. sql += " and a.IssueCode like '%" + queryParam["POCode"].ToString() + "%' ";
  283. }
  284. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  285. {
  286. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  287. }
  288. if (queryParam["Status"].ToString() == "1")
  289. {
  290. sql += " AND g.Status='已发料' ";
  291. }
  292. else if (queryParam["Status"].ToString() == "2")
  293. {
  294. sql += " AND g.Status='未发料'";
  295. }
  296. }
  297. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  298. {
  299. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  300. }
  301. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  302. }
  303. //工单材料出库(材料出库)子表查询
  304. public DataTable GetSubGridJson3(string Code, string InvCode, ref Pagination jqgridparam)
  305. {
  306. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  307. DataTable dt = new DataTable();
  308. //var queryParam = queryJson.ToJObject();
  309. List<DbParameter> parameter = new List<DbParameter>();
  310. string sql = @"select a.ID,a.IssueCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode ,b.WarehouseName ,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  311. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  312. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  313. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  314. from ICSMOIssue a
  315. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  316. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  317. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  318. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  319. where a.IssueCode='{0}' and a.WorkPoint='{1}'";
  320. if (!string.IsNullOrWhiteSpace(InvCode))
  321. {
  322. sql += " and a.InvCode = '" + InvCode + "' ";
  323. }
  324. sql = string.Format(sql, Code, WorkPoint);
  325. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  326. }
  327. //委外备料(委外备料)
  328. public DataTable GetGridJson4(string queryJson, ref Pagination jqgridparam)
  329. {
  330. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  331. DataTable dt = new DataTable();
  332. var queryParam = queryJson.ToJObject();
  333. List<DbParameter> parameter = new List<DbParameter>();
  334. string sql = "";
  335. #region [SQL]
  336. sql = @"select distinct b.OOCode as Code
  337. ,b.CreateDateTime as MTIME
  338. ,b.CreatePerson as MUSER
  339. ,e.MergeID AS IsNew
  340. ,case when k.TransCode is null then '' else '' end as IsOccupy
  341. from ICSOOPick a
  342. inner join ICSOutsourcingOrder b on a.OODetailID=b.OODetailID and a.WorkPoint=b.WorkPoint
  343. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  344. left join (select distinct TransCode
  345. ,TransType
  346. ,WorkPoint
  347. from dbo.ICSWareHouseLotInfoLog
  348. ) k on b.OOCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  349. left join (SELECT b.OOCode,case when sum(a.Quantity) <=sum(a.IssueQuantity) then ''else '' end as Status
  350. from ICSOOPick a
  351. inner join ICSOutsourcingOrder b on a.OODetailID=b.OODetailID and a.WorkPoint=b.WorkPoint
  352. where a.WorkPoint='{0}' group by OOCode
  353. ) g on b.OOCode = g.OOCode
  354. WHERE b.WorkPoint='{0}'";
  355. sql = string.Format(sql, WorkPoint);
  356. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  357. #endregion
  358. if (!string.IsNullOrWhiteSpace(queryJson))
  359. {
  360. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  361. {
  362. sql += " and a.OOCode like '%" + queryParam["POCode"].ToString() + "%' ";
  363. }
  364. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  365. {
  366. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  367. }
  368. if (queryParam["Status"].ToString() == "1")
  369. {
  370. sql += " AND g.Status='已发料' ";
  371. }
  372. else if (queryParam["Status"].ToString() == "2")
  373. {
  374. sql += " AND g.Status='未发料'";
  375. }
  376. }
  377. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  378. {
  379. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  380. }
  381. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  382. }
  383. //委外备料(委外备料)子表查询
  384. public DataTable GetSubGridJson4(string Code, string InvCode, ref Pagination jqgridparam)
  385. {
  386. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  387. DataTable dt = new DataTable();
  388. //var queryParam = queryJson.ToJObject();
  389. List<DbParameter> parameter = new List<DbParameter>();
  390. string sql = @"select a.ID,b.OOCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,c.WarehouseName ,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  391. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  392. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  393. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  394. from ICSOOPick a
  395. left join ICSOutsourcingOrder b on a.OODetailID=b.OODetailID and a.WorkPoint=b.WorkPoint
  396. left join ICSWarehouse c on a.WHCode=c.WarehouseCode and a.WorkPoint=c.WorkPoint
  397. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  398. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  399. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  400. where b.OOCode='{0}' and b.WorkPoint='{1}'";
  401. if (!string.IsNullOrWhiteSpace(InvCode))
  402. {
  403. sql += " and a.InvCode = '" + InvCode + "' ";
  404. }
  405. sql = string.Format(sql, Code, WorkPoint);
  406. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  407. }
  408. //委外领料(委外发料申请)
  409. public DataTable GetGridJson5(string queryJson, ref Pagination jqgridparam)
  410. {
  411. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  412. DataTable dt = new DataTable();
  413. var queryParam = queryJson.ToJObject();
  414. List<DbParameter> parameter = new List<DbParameter>();
  415. string sql = "";
  416. #region [SQL]
  417. // sql = @"select a.ID,a.ApplyCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  418. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  419. // from ICSOApply a
  420. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  421. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  422. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  423. // sql += " WHERE 1=1 and e.ID is null";
  424. sql = @"select distinct a.ApplyCode as Code
  425. , a.CreateDateTime as MTIME
  426. ,a.CreatePerson as MUSER
  427. ,e.MergeID AS IsNew
  428. ,case when k.TransCode is null then '' else '' end as IsOccupy
  429. from ICSOApply a
  430. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  431. left join (select distinct TransCode
  432. ,TransType
  433. ,WorkPoint
  434. from dbo.ICSWareHouseLotInfoLog
  435. ) k on a.ApplyCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  436. left join (SELECT ApplyCode,case when sum(Quantity) <=sum(IssueQuantity) then ''else '' end as Status
  437. from ICSOApply
  438. where WorkPoint='{0}' group by ApplyCode
  439. ) g on a.ApplyCode = g.ApplyCode
  440. where a.WorkPoint='{0}'";
  441. sql = string.Format(sql, WorkPoint);
  442. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  443. #endregion
  444. if (!string.IsNullOrWhiteSpace(queryJson))
  445. {
  446. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  447. {
  448. sql += " and a.ApplyCode like '%" + queryParam["POCode"].ToString() + "%' ";
  449. }
  450. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  451. {
  452. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  453. }
  454. if (queryParam["Status"].ToString() == "1")
  455. {
  456. sql += " AND g.Status='已发料' ";
  457. }
  458. else if (queryParam["Status"].ToString() == "2")
  459. {
  460. sql += " AND g.Status='未发料'";
  461. }
  462. }
  463. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  464. {
  465. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  466. }
  467. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  468. }
  469. //委外领料(委外发料申请)子表查询
  470. public DataTable GetSubGridJson5(string Code, string InvCode, ref Pagination jqgridparam)
  471. {
  472. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  473. DataTable dt = new DataTable();
  474. //var queryParam = queryJson.ToJObject();
  475. List<DbParameter> parameter = new List<DbParameter>();
  476. string sql = @"select a.ID,a.ApplyCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  477. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  478. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  479. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  480. from ICSOApply a
  481. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  482. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  483. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  484. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  485. where a.ApplyCode='{0}' and a.WorkPoint='{1}'";
  486. if (!string.IsNullOrWhiteSpace(InvCode))
  487. {
  488. sql += " and a.InvCode = '" + InvCode + "' ";
  489. }
  490. sql = string.Format(sql, Code, WorkPoint);
  491. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  492. }
  493. //委外材料出库(委外发料申请)
  494. public DataTable GetGridJson6(string queryJson, ref Pagination jqgridparam)
  495. {
  496. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  497. DataTable dt = new DataTable();
  498. var queryParam = queryJson.ToJObject();
  499. List<DbParameter> parameter = new List<DbParameter>();
  500. string sql = "";
  501. #region [SQL]
  502. // sql = @"select a.ID,a.IssueCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseCode,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  503. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  504. // from ICSOIssue a
  505. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  506. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  507. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  508. // sql += " WHERE 1=1 and e.ID is null";
  509. sql = @"select distinct a.IssueCode as Code
  510. , a.CreateDateTime as MTIME
  511. ,a.CreatePerson as MUSER
  512. ,e.MergeID AS IsNew
  513. ,case when k.TransCode is null then '' else '' end as IsOccupy
  514. from ICSOIssue a
  515. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  516. left join (select distinct TransCode
  517. ,TransType
  518. ,WorkPoint
  519. from dbo.ICSWareHouseLotInfoLog
  520. ) k on a.IssueCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  521. left join (SELECT IssueCode,case when sum(Quantity) =sum(IssueQuantity) then ''else '' end as Status
  522. from ICSOIssue
  523. where WorkPoint='{0}' group by IssueCode,MUSERName
  524. ) g on a.IssueCode = g.IssueCode
  525. where a.WorkPoint='{0}'
  526. ";
  527. sql = string.Format(sql, WorkPoint);
  528. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  529. #endregion
  530. if (!string.IsNullOrWhiteSpace(queryJson))
  531. {
  532. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  533. {
  534. sql += " and a.IssueCode like '%" + queryParam["POCode"].ToString() + "%' ";
  535. }
  536. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  537. {
  538. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  539. }
  540. if (queryParam["Status"].ToString() == "1")
  541. {
  542. sql += " AND g.Status='已发料' ";
  543. }
  544. else if (queryParam["Status"].ToString() == "2")
  545. {
  546. sql += " AND g.Status='未发料'";
  547. }
  548. }
  549. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  550. {
  551. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  552. }
  553. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  554. }
  555. //委外材料出库(委外发料申请)子表查询
  556. public DataTable GetSubGridJson6(string Code, string InvCode, ref Pagination jqgridparam)
  557. {
  558. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  559. DataTable dt = new DataTable();
  560. //var queryParam = queryJson.ToJObject();
  561. List<DbParameter> parameter = new List<DbParameter>();
  562. string sql = @"select a.ID,a.IssueCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseCode,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  563. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  564. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  565. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  566. from ICSOIssue a
  567. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  568. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  569. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  570. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  571. where a.IssueCode='{0}' and b.WorkPoint='{1}'";
  572. if (!string.IsNullOrWhiteSpace(InvCode))
  573. {
  574. sql += " and a.InvCode = '" + InvCode + "' ";
  575. }
  576. sql = string.Format(sql, Code, WorkPoint);
  577. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  578. }
  579. //销售发货(销售发货)
  580. public DataTable GetGridJson7(string queryJson, ref Pagination jqgridparam)
  581. {
  582. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  583. DataTable dt = new DataTable();
  584. var queryParam = queryJson.ToJObject();
  585. List<DbParameter> parameter = new List<DbParameter>();
  586. string sql = "";
  587. #region [SQL]
  588. // sql = @"select a.ID,a.SDNCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  589. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  590. // from ICSSDN a
  591. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  592. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  593. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  594. // sql += " WHERE 1=1 and a.Type='1' and e.ID is null";
  595. sql = @"select distinct a.SDNCode as Code
  596. ,a.CreateDateTime as MTIME
  597. ,a.CreatePerson as MUSER
  598. ,e.MergeID AS IsNew
  599. ,case when k.TransCode is null then '' else '' end as IsOccupy
  600. from ICSSDN a
  601. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  602. left join (select distinct TransCode
  603. ,TransType
  604. ,WorkPoint
  605. from dbo.ICSWareHouseLotInfoLog
  606. ) k on a.SDNCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  607. left join (SELECT SDNCode,case when sum(Quantity) <=sum(SDNQuantity) then ''else '' end as Status
  608. from ICSSDN
  609. where WorkPoint='{0}' group by SDNCode
  610. ) g on a.SDNCode = g.SDNCode
  611. where a.WorkPoint='{0}' and a.Type='1'";
  612. sql = string.Format(sql, WorkPoint);
  613. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  614. #endregion
  615. if (!string.IsNullOrWhiteSpace(queryJson))
  616. {
  617. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  618. {
  619. sql += " and a.SDNCode like '%" + queryParam["POCode"].ToString() + "%' ";
  620. }
  621. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  622. {
  623. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  624. }
  625. if (queryParam["Status"].ToString() == "1")
  626. {
  627. sql += " AND g.Status='已发料' ";
  628. }
  629. else if (queryParam["Status"].ToString() == "2")
  630. {
  631. sql += " AND g.Status='未发料'";
  632. }
  633. }
  634. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  635. {
  636. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  637. }
  638. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  639. }
  640. //销售发货(销售发货)子表查询
  641. public DataTable GetSubGridJson7(string Code, string InvCode, ref Pagination jqgridparam)
  642. {
  643. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  644. DataTable dt = new DataTable();
  645. //var queryParam = queryJson.ToJObject();
  646. List<DbParameter> parameter = new List<DbParameter>();
  647. string sql = @"select a.ID,a.SDNCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  648. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  649. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  650. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.SDNQuantity as IssueQuantity
  651. from ICSSDN a
  652. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  653. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  654. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  655. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  656. where a.SDNCode='{0}' and a.WorkPoint='{1}'";
  657. if (!string.IsNullOrWhiteSpace(InvCode))
  658. {
  659. sql += " and a.InvCode = '" + InvCode + "' ";
  660. }
  661. sql = string.Format(sql, Code, WorkPoint);
  662. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  663. }
  664. //其它出库(其它出库)
  665. public DataTable GetGridJson8(string queryJson, ref Pagination jqgridparam)
  666. {
  667. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  668. DataTable dt = new DataTable();
  669. var queryParam = queryJson.ToJObject();
  670. List<DbParameter> parameter = new List<DbParameter>();
  671. string sql = "";
  672. #region [SQL]
  673. // sql = @"select a.ID,a.OutCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  674. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  675. //from ICSOtherOut a
  676. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  677. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  678. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  679. // sql += " WHERE 1=1 and e.ID is null ";
  680. sql = @"select distinct a.OutCode as Code
  681. , a.CreateDateTime as MTIME
  682. ,a.CreatePerson as MUSER
  683. ,e.MergeID AS IsNew
  684. ,case when k.TransCode is null then '' else '' end as IsOccupy
  685. from ICSOtherOut a
  686. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  687. left join (select distinct TransCode
  688. ,TransType
  689. ,WorkPoint
  690. from dbo.ICSWareHouseLotInfoLog
  691. ) k on a.OutCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  692. left join (SELECT OutCode,case when sum(Quantity) <=sum(OutQuantity) then ''else '' end as Status
  693. from ICSOtherOut
  694. where WorkPoint='{0}' group by OutCode,MUSERName
  695. ) g on a.OutCode = g.OutCode
  696. where a.WorkPoint='{0}'";
  697. sql = string.Format(sql, WorkPoint);
  698. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  699. #endregion
  700. if (!string.IsNullOrWhiteSpace(queryJson))
  701. {
  702. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  703. {
  704. sql += " and a.OutCode like '%" + queryParam["POCode"].ToString() + "%' ";
  705. }
  706. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  707. {
  708. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  709. }
  710. if (queryParam["Status"].ToString() == "1")
  711. {
  712. sql += " AND g.Status='已发料' ";
  713. }
  714. else if (queryParam["Status"].ToString() == "2")
  715. {
  716. sql += " AND g.Status='未发料'";
  717. }
  718. }
  719. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  720. {
  721. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  722. }
  723. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  724. }
  725. //其它出库(其它出库)子表查询
  726. public DataTable GetSubGridJson8(string Code, string InvCode, ref Pagination jqgridparam)
  727. {
  728. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  729. DataTable dt = new DataTable();
  730. //var queryParam = queryJson.ToJObject();
  731. List<DbParameter> parameter = new List<DbParameter>();
  732. string sql = @"select a.ID,a.OutCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  733. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  734. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  735. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.OutQuantity as IssueQuantity
  736. from ICSOtherOut a
  737. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  738. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  739. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  740. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  741. where a.OutCode='{0}' and b.WorkPoint='{1}'";
  742. if (!string.IsNullOrWhiteSpace(InvCode))
  743. {
  744. sql += " and a.InvCode = '" + InvCode + "' ";
  745. }
  746. sql = string.Format(sql, Code, WorkPoint);
  747. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  748. }
  749. //借用(借用)
  750. public DataTable GetGridJson9(string queryJson, ref Pagination jqgridparam)
  751. {
  752. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  753. DataTable dt = new DataTable();
  754. var queryParam = queryJson.ToJObject();
  755. List<DbParameter> parameter = new List<DbParameter>();
  756. string sql = "";
  757. #region [SQL]
  758. // sql = @"
  759. //select a.ID,a.BrrowCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  760. // case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  761. // from ICSBrrow a
  762. // left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  763. // left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  764. // left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  765. // sql += " WHERE 1=1 and e.ID is null ";
  766. sql = @"select distinct a.BrrowCode as Code
  767. , a.CreateDateTime as MTIME
  768. ,a.CreatePerson as MUSER
  769. ,e.MergeID AS IsNew
  770. ,case when k.TransCode is null then '' else '' end as IsOccupy
  771. from ICSBrrow a
  772. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  773. left join (select distinct TransCode
  774. ,TransType
  775. ,WorkPoint
  776. from dbo.ICSWareHouseLotInfoLog
  777. ) k on a.BrrowCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  778. left join (SELECT BrrowCode,case when sum(Quantity) <=sum(BrrowQuantity) then ''else '' end as Status
  779. from ICSBrrow
  780. where WorkPoint='{0}' group by BrrowCode,MUSERName
  781. ) g on a.BrrowCode = g.BrrowCode
  782. where a.WorkPoint='{0}'";
  783. sql = string.Format(sql, WorkPoint);
  784. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  785. #endregion
  786. if (!string.IsNullOrWhiteSpace(queryJson))
  787. {
  788. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  789. {
  790. sql += " and a.BrrowCode like '%" + queryParam["POCode"].ToString() + "%' ";
  791. }
  792. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  793. {
  794. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  795. }
  796. if (queryParam["Status"].ToString() == "1")
  797. {
  798. sql += " AND g.Status='已发料' ";
  799. }
  800. else if (queryParam["Status"].ToString() == "2")
  801. {
  802. sql += " AND g.Status='未发料'";
  803. }
  804. }
  805. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  806. {
  807. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  808. }
  809. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  810. }
  811. //借用(借用)子表查询
  812. public DataTable GetSubGridJson9(string Code, string InvCode, ref Pagination jqgridparam)
  813. {
  814. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  815. DataTable dt = new DataTable();
  816. //var queryParam = queryJson.ToJObject();
  817. List<DbParameter> parameter = new List<DbParameter>();
  818. string sql = @"select a.ID,a.BrrowCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  819. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  820. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  821. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.BrrowQuantity as IssueQuantity
  822. from ICSBrrow a
  823. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  824. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  825. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  826. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  827. where a.OutCode='{0}' and b.WorkPoint='{1}'";
  828. if (!string.IsNullOrWhiteSpace(InvCode))
  829. {
  830. sql += " and a.InvCode = '" + InvCode + "' ";
  831. }
  832. sql = string.Format(sql, Code, WorkPoint);
  833. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  834. }
  835. //物料调拨
  836. public DataTable GetGridJson10(string queryJson, ref Pagination jqgridparam)
  837. {
  838. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  839. DataTable dt = new DataTable();
  840. var queryParam = queryJson.ToJObject();
  841. List<DbParameter> parameter = new List<DbParameter>();
  842. string sql = "";
  843. #region [SQL]
  844. // sql = @"
  845. //select a.ID,a.BrrowCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  846. // case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  847. // from ICSBrrow a
  848. // left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  849. // left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  850. // left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  851. // sql += " WHERE 1=1 and e.ID is null ";
  852. sql = @"select distinct a.TransferNO as Code
  853. , a.CreateDateTime as MTIME
  854. ,a.CreatePerson as MUSER
  855. ,e.MergeID AS IsNew
  856. ,case when k.TransCode is null then '' else '' end as IsOccupy
  857. from ICSTransfer a
  858. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  859. left join (select distinct TransCode
  860. ,TransType
  861. ,WorkPoint
  862. from dbo.ICSWareHouseLotInfoLog
  863. ) k on a.TransferNO=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  864. left join (SELECT TransferNO,case when sum(Quantity) <=sum(TransferQuantity) then ''else '' end as Status
  865. from ICSTransfer
  866. where WorkPoint='{0}' group by TransferNO,MUSERName
  867. ) g on a.TransferNO = g.TransferNO
  868. where a.WorkPoint='{0}' and a.Status='1'";
  869. sql = string.Format(sql, WorkPoint);
  870. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  871. #endregion
  872. if (!string.IsNullOrWhiteSpace(queryJson))
  873. {
  874. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  875. {
  876. sql += " and a.TransferNO like '%" + queryParam["POCode"].ToString() + "%' ";
  877. }
  878. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  879. {
  880. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  881. }
  882. if (queryParam["Status"].ToString() == "1")
  883. {
  884. sql += " AND g.Status='已发料' ";
  885. }
  886. else if (queryParam["Status"].ToString() == "2")
  887. {
  888. sql += " AND g.Status='未发料'";
  889. }
  890. }
  891. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  892. {
  893. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  894. }
  895. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  896. }
  897. //物料调拨子表查询
  898. public DataTable GetSubGridJson10(string Code, string InvCode, ref Pagination jqgridparam)
  899. {
  900. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  901. DataTable dt = new DataTable();
  902. //var queryParam = queryJson.ToJObject();
  903. List<DbParameter> parameter = new List<DbParameter>();
  904. string sql = @"select a.ID,a.TransferNO as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.FromWarehouseCode as WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  905. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  906. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  907. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.TransferQuantity as IssueQuantity
  908. from ICSTransfer a
  909. left join ICSWarehouse b on a.FromWarehouseCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  910. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  911. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  912. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  913. where a.TransferNO='{0}' and b.WorkPoint='{1}'";
  914. if (!string.IsNullOrWhiteSpace(InvCode))
  915. {
  916. sql += " and a.InvCode = '" + InvCode + "' ";
  917. }
  918. sql = string.Format(sql, Code, WorkPoint);
  919. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  920. }
  921. //两步调拨
  922. public DataTable GetGridJson11(string queryJson, ref Pagination jqgridparam)
  923. {
  924. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  925. DataTable dt = new DataTable();
  926. var queryParam = queryJson.ToJObject();
  927. List<DbParameter> parameter = new List<DbParameter>();
  928. string sql = "";
  929. #region [SQL]
  930. // sql = @"
  931. //select a.ID,a.BrrowCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  932. // case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  933. // from ICSBrrow a
  934. // left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  935. // left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  936. // left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  937. // sql += " WHERE 1=1 and e.ID is null ";
  938. sql = @"select distinct a.OutCode as Code
  939. , a.CreateDateTime as MTIME
  940. ,a.CreatePerson as MUSER
  941. ,e.MergeID AS IsNew
  942. ,case when k.TransCode is null then '' else '' end as IsOccupy
  943. FROM ICSOtherOut a
  944. INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  945. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  946. left join (select distinct TransCode
  947. ,TransType
  948. ,WorkPoint
  949. from dbo.ICSWareHouseLotInfoLog
  950. ) k on a.OutCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  951. left join (SELECT OutCode,case when sum(Quantity) <=sum(OutQuantity) then ''else '' end as Status
  952. from ICSOtherOut
  953. where WorkPoint='{0}' group by OutCode,MUSERName
  954. ) g on a.OutCode = g.OutCode
  955. where a.WorkPoint='{0}' and a.Status='2'";
  956. sql = string.Format(sql, WorkPoint);
  957. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  958. #endregion
  959. if (!string.IsNullOrWhiteSpace(queryJson))
  960. {
  961. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  962. {
  963. sql += " and a.BrrowCode like '%" + queryParam["POCode"].ToString() + "%' ";
  964. }
  965. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  966. {
  967. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  968. }
  969. }
  970. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  971. {
  972. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  973. }
  974. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  975. }
  976. //两步调拨子表查询
  977. public DataTable GetSubGridJson11(string Code, string InvCode, ref Pagination jqgridparam)
  978. {
  979. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  980. DataTable dt = new DataTable();
  981. //var queryParam = queryJson.ToJObject();
  982. List<DbParameter> parameter = new List<DbParameter>();
  983. string sql = @" select a.ID,a.OutCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode ,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  984. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  985. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  986. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.OutQuantity as IssueQuantity
  987. FROM ICSOtherOut a
  988. INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  989. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  990. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  991. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  992. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  993. where a.OutCode='{0}' and b.WorkPoint='{1}'";
  994. if (!string.IsNullOrWhiteSpace(InvCode))
  995. {
  996. sql += " and a.InvCode = '" + InvCode + "' ";
  997. }
  998. sql = string.Format(sql, Code, WorkPoint);
  999. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1000. }
  1001. //采购退货
  1002. public DataTable GetGridJson13(string queryJson, ref Pagination jqgridparam)
  1003. {
  1004. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1005. DataTable dt = new DataTable();
  1006. var queryParam = queryJson.ToJObject();
  1007. List<DbParameter> parameter = new List<DbParameter>();
  1008. string sql = "";
  1009. #region [SQL]
  1010. sql = @"select distinct a.DNCode as Code
  1011. , a.CreateDateTime as MTIME
  1012. ,a.CreatePerson as MUSER
  1013. ,e.MergeID AS IsNew
  1014. ,case when k.TransCode is null then '' else '' end as IsOccupy
  1015. from ICSDeliveryNotice a
  1016. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  1017. left join (select distinct TransCode
  1018. ,TransType
  1019. ,WorkPoint
  1020. from dbo.ICSWareHouseLotInfoLog
  1021. ) k on a.DNCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  1022. left join (SELECT DNCode,case when sum(Quantity) <=sum(RCVQuantity) then ''else '' end as Status
  1023. from ICSDeliveryNotice
  1024. where WorkPoint='{0}' AND DNType='2' group by DNCode,MUSERName
  1025. ) g on a.DNCode = g.DNCode
  1026. where a.WorkPoint='{0}' AND a.DNType='2'";
  1027. sql = string.Format(sql, WorkPoint);
  1028. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  1029. #endregion
  1030. if (!string.IsNullOrWhiteSpace(queryJson))
  1031. {
  1032. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  1033. {
  1034. sql += " and a.DNCode like '%" + queryParam["POCode"].ToString() + "%' ";
  1035. }
  1036. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  1037. {
  1038. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  1039. }
  1040. if (queryParam["Status"].ToString() == "1")
  1041. {
  1042. sql += " AND g.Status='已发料' ";
  1043. }
  1044. else if (queryParam["Status"].ToString() == "2")
  1045. {
  1046. sql += " AND g.Status='未发料'";
  1047. }
  1048. }
  1049. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  1050. {
  1051. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  1052. }
  1053. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1054. }
  1055. //采购退货子表查询
  1056. public DataTable GetSubGridJson13(string Code, string InvCode, ref Pagination jqgridparam)
  1057. {
  1058. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1059. DataTable dt = new DataTable();
  1060. //var queryParam = queryJson.ToJObject();
  1061. List<DbParameter> parameter = new List<DbParameter>();
  1062. string sql = @" select a.ID,a.DNCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  1063. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  1064. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  1065. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.RCVQuantity as IssueQuantity
  1066. from ICSDeliveryNotice a
  1067. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  1068. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  1069. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  1070. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  1071. where a.DNCode='{0}' and b.WorkPoint='{1}' ";
  1072. if (!string.IsNullOrWhiteSpace(InvCode))
  1073. {
  1074. sql += " and a.InvCode = '" + InvCode + "' ";
  1075. }
  1076. sql = string.Format(sql, Code, WorkPoint);
  1077. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1078. }
  1079. //采购退货---红字入库单
  1080. public DataTable GetGridJson14(string queryJson, ref Pagination jqgridparam)
  1081. {
  1082. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1083. DataTable dt = new DataTable();
  1084. var queryParam = queryJson.ToJObject();
  1085. List<DbParameter> parameter = new List<DbParameter>();
  1086. string sql = "";
  1087. #region [SQL]
  1088. sql = @"select distinct a.RCVCode as Code
  1089. , a.CreateDateTime as MTIME
  1090. ,a.CreatePerson as MUSER
  1091. ,e.MergeID AS IsNew
  1092. ,case when k.TransCode is null then '' else '' end as IsOccupy
  1093. from ICSPurchaseReceive a
  1094. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  1095. left join (select distinct TransCode
  1096. ,TransType
  1097. ,WorkPoint
  1098. from dbo.ICSWareHouseLotInfoLog
  1099. ) k on a.RCVCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  1100. left join (SELECT RCVCode,case when sum(Quantity) <=sum(RCVQuantity) then ''else '' end as Status
  1101. from ICSPurchaseReceive
  1102. where WorkPoint='{0}' AND Type='2' group by RCVCode,MUSERName
  1103. ) g on a.RCVCode = g.RCVCode
  1104. where a.WorkPoint='{0}' AND a.Type='2'";
  1105. sql = string.Format(sql, WorkPoint);
  1106. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  1107. #endregion
  1108. if (!string.IsNullOrWhiteSpace(queryJson))
  1109. {
  1110. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  1111. {
  1112. sql += " and a.RCVCode like '%" + queryParam["POCode"].ToString() + "%' ";
  1113. }
  1114. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  1115. {
  1116. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  1117. }
  1118. if (queryParam["Status"].ToString() == "1")
  1119. {
  1120. sql += " AND g.Status='已发料' ";
  1121. }
  1122. else if (queryParam["Status"].ToString() == "2")
  1123. {
  1124. sql += " AND g.Status='未发料'";
  1125. }
  1126. }
  1127. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  1128. {
  1129. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  1130. }
  1131. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1132. }
  1133. //采购退货---红字入库单子表查询
  1134. public DataTable GetSubGridJson14(string Code, string InvCode, ref Pagination jqgridparam)
  1135. {
  1136. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1137. DataTable dt = new DataTable();
  1138. //var queryParam = queryJson.ToJObject();
  1139. List<DbParameter> parameter = new List<DbParameter>();
  1140. string sql = @" select a.ID,a.RCVCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  1141. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  1142. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  1143. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.RCVQuantity as IssueQuantity
  1144. from ICSPurchaseReceive a
  1145. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  1146. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  1147. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  1148. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  1149. where a.RCVCode='{0}' and b.WorkPoint='{1}' ";
  1150. if (!string.IsNullOrWhiteSpace(InvCode))
  1151. {
  1152. sql += " and a.InvCode = '" + InvCode + "' ";
  1153. }
  1154. sql = string.Format(sql, Code, WorkPoint);
  1155. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1156. }
  1157. //红字其他入库
  1158. public DataTable GetGridJson15(string queryJson, ref Pagination jqgridparam)
  1159. {
  1160. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1161. DataTable dt = new DataTable();
  1162. var queryParam = queryJson.ToJObject();
  1163. List<DbParameter> parameter = new List<DbParameter>();
  1164. string sql = "";
  1165. #region [SQL]
  1166. sql = @"select distinct a.InCode as Code
  1167. , a.CreateDateTime as MTIME
  1168. ,a.CreatePerson as MUSER
  1169. ,e.MergeID AS IsNew
  1170. ,case when k.TransCode is null then '' else '' end as IsOccupy
  1171. FROM ICSOtherIn a
  1172. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  1173. left join (select distinct TransCode
  1174. ,TransType
  1175. ,WorkPoint
  1176. from dbo.ICSWareHouseLotInfoLog
  1177. ) k on a.InCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  1178. left join (SELECT InCode,case when sum(Quantity) <=sum(InQuantity) then ''else '' end as Status
  1179. from ICSOtherIn
  1180. where WorkPoint='{0}' group by InCode,MUSERName
  1181. ) g on a.InCode = g.InCode
  1182. where a.WorkPoint='{0}' and a.Status='1' and a.EATTRIBUTE2='2'";
  1183. sql = string.Format(sql, WorkPoint);
  1184. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  1185. #endregion
  1186. if (!string.IsNullOrWhiteSpace(queryJson))
  1187. {
  1188. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  1189. {
  1190. sql += " and a.BrrowCode like '%" + queryParam["POCode"].ToString() + "%' ";
  1191. }
  1192. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  1193. {
  1194. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  1195. }
  1196. }
  1197. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  1198. {
  1199. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  1200. }
  1201. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1202. }
  1203. //红字其他入库子表
  1204. public DataTable GetSubGridJson15(string Code, string InvCode, ref Pagination jqgridparam)
  1205. {
  1206. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1207. DataTable dt = new DataTable();
  1208. //var queryParam = queryJson.ToJObject();
  1209. List<DbParameter> parameter = new List<DbParameter>();
  1210. string sql = @" select a.ID,a.InCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode ,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  1211. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  1212. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  1213. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.InQuantity as IssueQuantity
  1214. FROM ICSOtherIn a
  1215. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  1216. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  1217. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  1218. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  1219. where a.InCode='{0}' and b.WorkPoint='{1}' and a.EATTRIBUTE2='2'";
  1220. if (!string.IsNullOrWhiteSpace(InvCode))
  1221. {
  1222. sql += " and a.InvCode = '" + InvCode + "' ";
  1223. }
  1224. sql = string.Format(sql, Code, WorkPoint);
  1225. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1226. }
  1227. //销售出库单
  1228. public DataTable GetGridJson16(string queryJson, ref Pagination jqgridparam)
  1229. {
  1230. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1231. DataTable dt = new DataTable();
  1232. var queryParam = queryJson.ToJObject();
  1233. List<DbParameter> parameter = new List<DbParameter>();
  1234. string sql = "";
  1235. #region [SQL]
  1236. sql = @"select distinct a.SSDCode as Code
  1237. , a.CreateDateTime as MTIME
  1238. ,a.CreatePerson as MUSER
  1239. ,e.MergeID AS IsNew
  1240. ,case when k.TransCode is null then '' else '' end as IsOccupy
  1241. FROM ICSSSD a
  1242. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  1243. left join (select distinct TransCode
  1244. ,TransType
  1245. ,WorkPoint
  1246. from dbo.ICSWareHouseLotInfoLog
  1247. ) k on a.SSDCode = k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  1248. left join (SELECT SSDCode,case when sum(Quantity) <=sum(SSDQuantity) then ''else '' end as Status
  1249. from ICSSSD
  1250. where WorkPoint='{0}' and Type = '1' group by SSDCode,MUSERName
  1251. ) g on a.SSDCode = g.SSDCode
  1252. where a.WorkPoint='{0}' and a.Status='1' and a.Type = '1'";
  1253. sql = string.Format(sql, WorkPoint);
  1254. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  1255. #endregion
  1256. if (!string.IsNullOrWhiteSpace(queryJson))
  1257. {
  1258. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  1259. {
  1260. sql += " and a.SSDCode like '%" + queryParam["POCode"].ToString() + "%' ";
  1261. }
  1262. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  1263. {
  1264. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  1265. }
  1266. }
  1267. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  1268. {
  1269. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  1270. }
  1271. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1272. }
  1273. //销售出库单子表
  1274. public DataTable GetSubGridJson16(string Code, string InvCode, ref Pagination jqgridparam)
  1275. {
  1276. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1277. DataTable dt = new DataTable();
  1278. //var queryParam = queryJson.ToJObject();
  1279. List<DbParameter> parameter = new List<DbParameter>();
  1280. string sql = @" select a.ID,a.SSDCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode ,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  1281. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  1282. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  1283. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.SSDQuantity as IssueQuantity
  1284. FROM ICSSSD a
  1285. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  1286. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  1287. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  1288. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  1289. where a.SSDCode='{0}' and b.WorkPoint='{1}' and a.Type = '1' ";
  1290. if (!string.IsNullOrWhiteSpace(InvCode))
  1291. {
  1292. sql += " and a.InvCode = '" + InvCode + "' ";
  1293. }
  1294. sql = string.Format(sql, Code, WorkPoint);
  1295. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1296. }
  1297. #region 拣料旧逻辑
  1298. // public DataTable GetICSMOPickMergeTemp(string ID, string Type)
  1299. // {
  1300. // string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1301. // #region sql
  1302. // string sql = @"SELECT row_number() over (order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
  1303. // c.Code,
  1304. // c.InvCode,
  1305. // c.InvName,
  1306. // c.InvStd,
  1307. //c.InvUnit,
  1308. // FLOOR(c.iQuantity) AS iQuantity,
  1309. // d.WarehouseCode,
  1310. // d.LocationCode,
  1311. // d.LotNO,
  1312. // FLOOR(ISNULL(d.Quantity, 0)) AS QTY,
  1313. // CONVERT(varchar(100),d.MTIME, 23) MTIME,
  1314. // FLOOR(f.QTYTotal) QTYTotal INTO #temp
  1315. // FROM
  1316. // ({0}) c
  1317. // LEFT JOIN ICSWareHouseLotInfo d ON c.InvCode=d.INVCode AND ((LEN(ISNULL(c.WHCode,''))<=0) OR (LEN(ISNULL(c.WHCode,''))>0) AND c.WhCode=d.WarehouseCode) AND d.WorkPoint='{1}' AND d.Quantity>0
  1318. // left join ICSInventoryLot m on d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint and c.ExtensionID=m.ExtensionID
  1319. // LEFT JOIN (SELECT INVCode,WarehouseCode,SUM(Quantity) AS QTYTotal FROM ICSWareHouseLotInfo WHERE WorkPoint='{1}' GROUP BY INVCode,WarehouseCode) f ON c.InvCode=f.INVCode AND c.WhCode=f.WarehouseCode
  1320. //DECLARE @ItemCode VARCHAR(50),
  1321. // @QTY DECIMAL(18,3),
  1322. // @ItemCodeCurrent VARCHAR(50),
  1323. // @QTYCurrent DECIMAL(18,3),
  1324. // @iQuantityCurrent DECIMAL(18,3),
  1325. // @CanDelete BIT,
  1326. // @Row INT,
  1327. // @rowCurrent INT
  1328. //SET @Row = @@rowcount
  1329. //SET @rowCurrent=1
  1330. //SET @CanDelete=0
  1331. //SET @ItemCode=''
  1332. //WHILE @rowCurrent<=@Row
  1333. // BEGIN
  1334. // SELECT @ItemCodeCurrent=InvCode,@QTYCurrent=QTY,@iQuantityCurrent=iQuantity FROM #temp WHERE rowNo=@rowCurrent
  1335. //PRINT(@rowCurrent)
  1336. // IF @ItemCode<>@ItemCodeCurrent
  1337. // BEGIN
  1338. // SET @ItemCode=@ItemCodeCurrent
  1339. // SET @QTY=0
  1340. // SET @CanDelete=0
  1341. // END
  1342. // IF @CanDelete=1
  1343. // BEGIN
  1344. // DELETE FROM #temp WHERE rowNo=@rowCurrent
  1345. // SET @rowCurrent += 1
  1346. // CONTINUE
  1347. // END
  1348. // SET @QTY += @QTYCurrent
  1349. // IF @QTY>=@iQuantityCurrent
  1350. // BEGIN
  1351. // SET @CanDelete=1
  1352. // END
  1353. // SET @rowCurrent += 1
  1354. // END
  1355. //SELECT * FROM #temp
  1356. //DROP TABLE #temp
  1357. //";
  1358. // #endregion
  1359. // string sqls = "";
  1360. // if (Type == "1")
  1361. // {
  1362. // #region 工单备料sql
  1363. // sqls = @" SELECT
  1364. // c.MOCode as Code,
  1365. // a.InvCode,
  1366. // b.InvName,
  1367. // b.InvStd,
  1368. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1369. // a.WhCode,
  1370. //b.InvUnit,
  1371. // a.ExtensionID
  1372. // FROM
  1373. // ICSMOPick a
  1374. // inner join ICSMO c on a.MODetailID=c.MODetailID and a.WorkPoint=c.WorkPoint
  1375. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1376. // WHERE c.MOCode in ({0}) AND a.WorkPoint = '{1}'
  1377. // GROUP BY c.MOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1378. // #endregion
  1379. // }
  1380. // if (Type == "2")
  1381. // {
  1382. // #region 工单领料SQL
  1383. // sqls = @" select
  1384. // a.ApplyCode as Code,
  1385. // a.InvCode,
  1386. // b.InvName,
  1387. // b.InvStd,
  1388. //b.InvUnit,
  1389. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1390. // a.WhCode,
  1391. // a.ExtensionID
  1392. // FROM
  1393. // ICSMOApply a
  1394. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1395. // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
  1396. // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1397. // #endregion
  1398. // }
  1399. // if (Type == "3")
  1400. // {
  1401. // #region 工单材料出库SQL
  1402. // sqls = @" select
  1403. // a.IssueCode as Code,
  1404. // a.InvCode,
  1405. // b.InvName,
  1406. // b.InvStd,
  1407. //b.InvUnit,
  1408. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1409. // a.WhCode,
  1410. // a.ExtensionID
  1411. // FROM
  1412. // ICSMOIssue a
  1413. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1414. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  1415. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1416. // #endregion
  1417. // }
  1418. // if (Type == "4")
  1419. // {
  1420. // #region 委外备料SQL
  1421. // sqls = @" select
  1422. // c.OOCode as Code,
  1423. // a.InvCode,
  1424. // b.InvName,
  1425. // b.InvStd,
  1426. //b.InvUnit,
  1427. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1428. // a.WhCode,
  1429. // a.ExtensionID
  1430. // FROM
  1431. // ICSOOPick a
  1432. // left join ICSOutsourcingOrder c on a.OODetailID=c.OODetailID and a.WorkPoint=c.WorkPoint
  1433. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1434. // WHERE c.OOCode in ({0}) AND a.WorkPoint = '{1}'
  1435. // GROUP BY c.OOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode, a.ExtensionID";
  1436. // #endregion
  1437. // }
  1438. // if (Type == "5")
  1439. // {
  1440. // #region 委外领料SQL
  1441. // sqls = @" select
  1442. // a.ApplyCode as Code,
  1443. // a.InvCode,
  1444. // b.InvName,
  1445. // b.InvStd,
  1446. //b.InvUnit,
  1447. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1448. // a.WhCode,
  1449. // a.ExtensionID
  1450. // FROM
  1451. // ICSOApply a
  1452. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1453. // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
  1454. // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1455. // #endregion
  1456. // }
  1457. // if (Type == "6")
  1458. // {
  1459. // #region 委外材料出库SQL
  1460. // sqls = @" select
  1461. // a.IssueCode as Code,
  1462. // a.InvCode,
  1463. // b.InvName,
  1464. // b.InvStd,
  1465. //b.InvUnit,
  1466. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1467. // a.WhCode,
  1468. //a.ExtensionID
  1469. // FROM
  1470. // ICSOIssue a
  1471. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1472. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  1473. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1474. // #endregion
  1475. // }
  1476. // if (Type == "7")
  1477. // {
  1478. // #region 销售发货SQL
  1479. // sqls = @" select
  1480. // a.SDNCode as Code,
  1481. // a.InvCode,
  1482. // b.InvName,
  1483. // b.InvStd,
  1484. //b.InvUnit,
  1485. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1486. // a.WhCode,
  1487. //a.ExtensionID
  1488. // FROM
  1489. // ICSSDN a
  1490. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1491. // WHERE a.SDNCode in ({0}) AND a.WorkPoint = '{1}'
  1492. // GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1493. // #endregion
  1494. // }
  1495. // if (Type == "8")
  1496. // {
  1497. // #region 其它出库SQL
  1498. // sqls = @" select
  1499. // a.OutCode as Code,
  1500. // a.InvCode,
  1501. // b.InvName,
  1502. // b.InvStd,
  1503. //b.InvUnit,
  1504. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1505. // a.WhCode,
  1506. //a.ExtensionID
  1507. // FROM
  1508. // ICSOtherOut a
  1509. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1510. // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1511. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1512. // #endregion
  1513. // }
  1514. // if (Type == "9")
  1515. // {
  1516. // #region 借用SQL
  1517. // sqls = @"select
  1518. // a.BrrowCode as Code,
  1519. // a.InvCode,
  1520. // b.InvName,
  1521. // b.InvStd,
  1522. //b.InvUnit,
  1523. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1524. // a.WhCode,
  1525. //a.ExtensionID
  1526. // FROM
  1527. // ICSBrrow a
  1528. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1529. // WHERE a.BrrowCode in ({0}) AND a.WorkPoint = '{1}'
  1530. // GROUP BY a.BrrowCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1531. // #endregion
  1532. // }
  1533. // if (Type == "10")
  1534. // {
  1535. // #region 物料调拨
  1536. // sqls = @" select
  1537. // a.TransferNO as Code,
  1538. // a.InvCode,
  1539. // b.InvName,
  1540. // b.InvStd,
  1541. //b.InvUnit,
  1542. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1543. // a.FromWarehouseCode as WhCode,
  1544. //a.ExtensionID
  1545. // FROM
  1546. // ICSTransfer a
  1547. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1548. // WHERE a.TransferNO in ({0}) AND a.WorkPoint = '{1}'
  1549. // GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID";
  1550. // #endregion
  1551. // }
  1552. // if (Type == "11")
  1553. // {
  1554. // #region 两步调出
  1555. // sqls = @"select
  1556. // a.OutCode as Code,
  1557. // a.InvCode,
  1558. // b.InvName,
  1559. // b.InvStd,
  1560. //b.InvUnit,
  1561. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1562. // a.WHCode ,
  1563. //a.ExtensionID
  1564. // from ICSOtherOut a
  1565. // INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  1566. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1567. // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1568. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WHCode,a.ExtensionID";
  1569. // #endregion
  1570. // }
  1571. // sqls = string.Format(sqls, string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(','), WorkPoint);
  1572. // sql = string.Format(sql, sqls, WorkPoint);
  1573. // DataTable table = Repository().FindDataSetBySql(sql).Tables[0];
  1574. // DataTable dtCloned = table.Clone();
  1575. // foreach (DataColumn col in dtCloned.Columns)
  1576. // {
  1577. // col.DataType = typeof(string);
  1578. // }
  1579. // foreach (DataRow row in table.Rows)
  1580. // {
  1581. // DataRow newrow = dtCloned.NewRow();
  1582. // foreach (DataColumn column in dtCloned.Columns)
  1583. // {
  1584. // newrow[column.ColumnName] = row[column.ColumnName].ToString();
  1585. // }
  1586. // dtCloned.Rows.Add(newrow);
  1587. // }
  1588. // if (Invmes.Rows.Count > 0)
  1589. // {
  1590. // dtCloned.Merge(Invmes, false);
  1591. // }
  1592. // return dtCloned;
  1593. // }
  1594. #endregion
  1595. public DataTable GetICSMOPickMergeTemp(string ID, string Type, string Mechanism, string InvCode)
  1596. {
  1597. try
  1598. {
  1599. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1600. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  1601. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1602. if (ID == "")
  1603. {
  1604. DataTable dt = new DataTable();
  1605. return dt;
  1606. }
  1607. ID = ID.Replace("'", "''");
  1608. ID = string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(',');
  1609. string Code = SqlHelper.GetItemsDetailEnabledMark("MtimeControl");
  1610. string sql = "";
  1611. if (Type == "1" || Type == "1-1")
  1612. {
  1613. sql = @"EXEC ICSPickingGDLL '{0}','{1}','0','{2}'";
  1614. }
  1615. else
  1616. {
  1617. sql = @"EXEC ICSPicking '{0}','{1}','0','{2}'";
  1618. }
  1619. sql = string.Format(sql, ID, Type, WorkPoint);
  1620. var dataset = Repository().FindDataSetBySql(sql);
  1621. if (dataset.Tables[0].Rows.Count == 0)
  1622. return null;
  1623. DataTable table = dataset.Tables[0];
  1624. try
  1625. {
  1626. var result = ConvertCellToString(table);
  1627. if (Invmes.Rows.Count > 0)
  1628. {
  1629. result.Merge(Invmes, false);
  1630. }
  1631. return result;
  1632. }
  1633. catch (Exception ex)
  1634. {
  1635. throw new Exception(ex.Message);
  1636. }
  1637. }
  1638. catch (Exception ex)
  1639. {
  1640. throw new Exception(ex.Message);
  1641. }
  1642. }
  1643. public DataTable ConvertCellToString(DataTable data)
  1644. {
  1645. DataTable dtCloned = data.Clone();
  1646. foreach (DataColumn col in dtCloned.Columns)
  1647. {
  1648. col.DataType = typeof(string);
  1649. }
  1650. foreach (DataRow row in data.Rows)
  1651. {
  1652. DataRow newrow = dtCloned.NewRow();
  1653. foreach (DataColumn column in dtCloned.Columns)
  1654. {
  1655. newrow[column.ColumnName] = row[column.ColumnName].ToString();
  1656. }
  1657. dtCloned.Rows.Add(newrow);
  1658. }
  1659. return dtCloned;
  1660. }
  1661. #region 合并拣料旧
  1662. // public DataTable GetICSMOPickMergeTemp2(string ID, string Type)
  1663. // {
  1664. // string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1665. // #region sql
  1666. // string sql = @"SELECT row_number() over (order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
  1667. // c.MergeID,
  1668. // c.Code,
  1669. // c.InvCode,
  1670. // c.InvName,
  1671. // c.InvStd,
  1672. //c.InvUnit,
  1673. // FLOOR(c.iQuantity) AS iQuantity,
  1674. // d.WarehouseCode,
  1675. // d.LocationCode,
  1676. // d.LotNO,
  1677. // FLOOR(ISNULL(d.Quantity, 0)) AS QTY,
  1678. // CONVERT(varchar(100),d.MTIME, 23) MTIME,
  1679. // FLOOR(f.QTYTotal) QTYTotal INTO #temp
  1680. // FROM
  1681. // ({0}) c
  1682. // LEFT JOIN ICSWareHouseLotInfo d ON c.InvCode=d.INVCode AND ((LEN(ISNULL(c.WHCode,''))<=0) OR (LEN(ISNULL(c.WHCode,''))>0)) AND c.WhCode=d.WarehouseCode AND d.WorkPoint='{1}' AND d.Quantity>0
  1683. // left join ICSInventoryLot m on d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint and c.ExtensionID=m.ExtensionID
  1684. // LEFT JOIN (SELECT INVCode,WarehouseCode,SUM(Quantity) AS QTYTotal FROM ICSWareHouseLotInfo WHERE WorkPoint='{1}' GROUP BY INVCode,WarehouseCode) f ON c.InvCode=f.INVCode AND c.WhCode=f.WarehouseCode
  1685. //DECLARE @ItemCode VARCHAR(50),
  1686. // @QTY DECIMAL(18,3),
  1687. // @ItemCodeCurrent VARCHAR(50),
  1688. // @QTYCurrent DECIMAL(18,3),
  1689. // @iQuantityCurrent DECIMAL(18,3),
  1690. // @CanDelete BIT,
  1691. // @Row INT,
  1692. // @rowCurrent INT
  1693. //SET @Row = @@rowcount
  1694. //SET @rowCurrent=1
  1695. //SET @CanDelete=0
  1696. //SET @ItemCode=''
  1697. //WHILE @rowCurrent<=@Row
  1698. // BEGIN
  1699. // SELECT @ItemCodeCurrent=InvCode,@QTYCurrent=QTY,@iQuantityCurrent=iQuantity FROM #temp WHERE rowNo=@rowCurrent
  1700. //PRINT(@rowCurrent)
  1701. // IF @ItemCode<>@ItemCodeCurrent
  1702. // BEGIN
  1703. // SET @ItemCode=@ItemCodeCurrent
  1704. // SET @QTY=0
  1705. // SET @CanDelete=0
  1706. // END
  1707. // IF @CanDelete=1
  1708. // BEGIN
  1709. // DELETE FROM #temp WHERE rowNo=@rowCurrent
  1710. // SET @rowCurrent += 1
  1711. // CONTINUE
  1712. // END
  1713. // SET @QTY += @QTYCurrent
  1714. // IF @QTY>=@iQuantityCurrent
  1715. // BEGIN
  1716. // SET @CanDelete=1
  1717. // END
  1718. // SET @rowCurrent += 1
  1719. // END
  1720. //SELECT * FROM #temp
  1721. //DROP TABLE #temp
  1722. //";
  1723. // #endregion
  1724. // string sqls = "";
  1725. // if (Type == "1")
  1726. // {
  1727. // #region 工单备料sql
  1728. // sqls = @" select
  1729. // x.MergeID,
  1730. // c.MOCode as Code,
  1731. // a.InvCode,
  1732. // b.InvName,
  1733. // b.InvStd,
  1734. //b.InvUnit,
  1735. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1736. // a.WhCode,
  1737. //a.ExtensionID
  1738. // FROM
  1739. // ICSMOPick a
  1740. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1741. // inner join ICSMO c on a.MODetailID=c.MODetailID and a.WorkPoint=c.WorkPoint
  1742. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1743. // WHERE c.MOCode in ({0}) AND a.WorkPoint = '{1}'
  1744. // GROUP BY c.MOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,x.MergeID,a.ExtensionID";
  1745. // #endregion
  1746. // }
  1747. // if (Type == "2")
  1748. // {
  1749. // #region 工单领料SQL
  1750. // sqls = @" select
  1751. // x.MergeID,
  1752. // a.ApplyCode as Code,
  1753. // a.InvCode,
  1754. // b.InvName,
  1755. // b.InvStd,
  1756. //b.InvUnit,
  1757. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1758. // a.WhCode,
  1759. // a.ExtensionID
  1760. // FROM
  1761. // ICSMOApply a
  1762. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1763. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1764. // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
  1765. // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,x.MergeID,a.ExtensionID";
  1766. // #endregion
  1767. // }
  1768. // if (Type == "3")
  1769. // {
  1770. // #region 工单材料出库SQL
  1771. // sqls = @" select
  1772. // x.MergeID,
  1773. // a.IssueCode as Code,
  1774. // a.InvCode,
  1775. // b.InvName,
  1776. // b.InvStd,
  1777. //b.InvUnit,
  1778. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1779. // a.WhCode,
  1780. //a.ExtensionID
  1781. // FROM
  1782. // ICSMOIssue a
  1783. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1784. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1785. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  1786. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1787. // #endregion
  1788. // }
  1789. // if (Type == "4")
  1790. // {
  1791. // #region 委外备料SQL
  1792. // sqls = @" select
  1793. // x.MergeID,
  1794. // c.OOCode as Code,
  1795. // a.InvCode,
  1796. // b.InvName,
  1797. // b.InvStd,
  1798. //b.InvUnit,
  1799. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1800. // a.WhCode,
  1801. //a.ExtensionID
  1802. // FROM
  1803. // ICSOOPick a
  1804. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1805. // left join ICSOutsourcingOrder c on a.OODetailID=c.OODetailID and a.WorkPoint=c.WorkPoint
  1806. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1807. // WHERE c.OOCode in ({0}) AND a.WorkPoint = '{1}'
  1808. // GROUP BY c.OOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID, x.MergeID";
  1809. // #endregion
  1810. // }
  1811. // if (Type == "5")
  1812. // {
  1813. // #region 委外领料SQL
  1814. // sqls = @" select
  1815. // x.MergeID,
  1816. // a.ApplyCode as Code,
  1817. // a.InvCode,
  1818. // b.InvName,
  1819. // b.InvStd,
  1820. //b.InvUnit,
  1821. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1822. // a.WhCode,
  1823. //a.ExtensionID
  1824. // FROM
  1825. // ICSOApply a
  1826. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1827. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1828. // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
  1829. // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1830. // #endregion
  1831. // }
  1832. // if (Type == "6")
  1833. // {
  1834. // #region 委外材料出库SQL
  1835. // sqls = @" select
  1836. // x.MergeID,
  1837. // a.IssueCode as Code,
  1838. // a.InvCode,
  1839. // b.InvName,
  1840. // b.InvStd,
  1841. //b.InvUnit,
  1842. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1843. // a.WhCode,
  1844. //a.ExtensionID
  1845. // FROM
  1846. // ICSOIssue a
  1847. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1848. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1849. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  1850. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1851. // #endregion
  1852. // }
  1853. // if (Type == "7")
  1854. // {
  1855. // #region 销售发货SQL
  1856. // sqls = @" select
  1857. // x.MergeID,
  1858. // a.SDNCode as Code,
  1859. // a.InvCode,
  1860. // b.InvName,
  1861. // b.InvStd,
  1862. //b.InvUnit,
  1863. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1864. // a.WhCode,
  1865. //a.ExtensionID
  1866. // FROM
  1867. // ICSSDN a
  1868. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1869. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1870. // WHERE a.SDNCode in ({0}) AND a.WorkPoint = '{1}'
  1871. // GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1872. // #endregion
  1873. // }
  1874. // if (Type == "8")
  1875. // {
  1876. // #region 其它出库SQL
  1877. // sqls = @" select
  1878. // x.MergeID,
  1879. // a.OutCode as Code,
  1880. // a.InvCode,
  1881. // b.InvName,
  1882. // b.InvStd,
  1883. //b.InvUnit,
  1884. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1885. // a.WhCode,
  1886. //a.ExtensionID
  1887. // FROM
  1888. // ICSOtherOut a
  1889. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1890. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1891. // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1892. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1893. // #endregion
  1894. // }
  1895. // if (Type == "9")
  1896. // {
  1897. // #region 借用SQL
  1898. // sqls = @" select
  1899. // x.MergeID,
  1900. // a.BrrowCode as Code,
  1901. // a.InvCode,
  1902. // b.InvName,
  1903. // b.InvStd,
  1904. //b.InvUnit,
  1905. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1906. // a.WhCode,
  1907. //a.ExtensionID
  1908. // FROM
  1909. // ICSBrrow a
  1910. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1911. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1912. // WHERE a.BrrowCode in ({0}) AND a.WorkPoint = '{1}'
  1913. // GROUP BY a.BrrowCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1914. // #endregion
  1915. // }
  1916. // if (Type == "10")
  1917. // {
  1918. // #region 物料调拨
  1919. // sqls = @" select
  1920. // x.MergeID,
  1921. // a.TransferNO as Code,
  1922. // a.InvCode,
  1923. // b.InvName,
  1924. // b.InvStd,
  1925. //b.InvUnit,
  1926. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1927. // a.FromWarehouseCode as WhCode,
  1928. //a.ExtensionID
  1929. // FROM
  1930. // ICSTransfer a
  1931. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1932. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1933. // WHERE a.TransferNO in ({0}) AND a.WorkPoint = '{1}'
  1934. // GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID,x.MergeID";
  1935. // #endregion
  1936. // }
  1937. // if (Type == "10")
  1938. // {
  1939. // #region 两步调出
  1940. // sqls = @"select
  1941. // x.MergeID,
  1942. // a.OutCode as Code,
  1943. // a.InvCode,
  1944. // b.InvName,
  1945. // b.InvStd,
  1946. //b.InvUnit,
  1947. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1948. // a.WHCode as WhCode,
  1949. //a.ExtensionID
  1950. // FROM
  1951. // ICSOtherOut a
  1952. // INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  1953. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1954. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1955. //WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1956. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WHCode,a.ExtensionID,x.MergeID";
  1957. // #endregion
  1958. // }
  1959. // sqls = string.Format(sqls, string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(','), WorkPoint);
  1960. // sql = string.Format(sql, sqls, WorkPoint);
  1961. // DataTable table = Repository().FindDataSetBySql(sql).Tables[0];
  1962. // DataTable dtCloned = table.Clone();
  1963. // foreach (DataColumn col in dtCloned.Columns)
  1964. // {
  1965. // col.DataType = typeof(string);
  1966. // }
  1967. // foreach (DataRow row in table.Rows)
  1968. // {
  1969. // DataRow newrow = dtCloned.NewRow();
  1970. // foreach (DataColumn column in dtCloned.Columns)
  1971. // {
  1972. // newrow[column.ColumnName] = row[column.ColumnName].ToString();
  1973. // }
  1974. // dtCloned.Rows.Add(newrow);
  1975. // }
  1976. // if (Invmes.Rows.Count > 0)
  1977. // {
  1978. // dtCloned.Merge(Invmes, false);
  1979. // }
  1980. // return dtCloned;
  1981. // }
  1982. #endregion
  1983. public DataTable GetICSMOPickMergeTemp2(string ID, string Type, string Mechanism, string InvCode)
  1984. {
  1985. try
  1986. {
  1987. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1988. string sqlCheck = string.Empty;
  1989. ID = ID.TrimEnd(',');
  1990. if (Type == "1")//工单备料
  1991. {
  1992. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT a.ID FROM ICSMOPick a INNER JOIN ICSMO b ON a.MODetailID=b.MODetailID AND a.WorkPoint=b.WorkPoint where MOCode in ({ID}));";
  1993. }
  1994. if (Type == "2")//工单发料
  1995. {
  1996. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSMOApply where ApplyCode in ({ID}));";
  1997. }
  1998. if (Type == "3")//材料出库
  1999. {
  2000. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSMOIssue where IssueCode in ({ID}));";
  2001. }
  2002. if (Type == "4")//委外备料
  2003. {
  2004. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOutsourcingOrder where OOCode in ({ID}));";
  2005. }
  2006. if (Type == "5")//委外领料
  2007. {
  2008. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOApply where ApplyCode in ({ID}));";
  2009. }
  2010. if (Type == "6")//委外材料出库
  2011. {
  2012. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOIssue where IssueCode in ({ID});";
  2013. }
  2014. if (Type == "7")//销售发货
  2015. {
  2016. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSSDN where SDNCode in ({ID}));";
  2017. }
  2018. if (Type == "8")//其它出库
  2019. {
  2020. sqlCheck = $@"SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOtherOut where OutCode in ({ID});";
  2021. }
  2022. if (Type == "9")//借用单
  2023. {
  2024. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOtherOut where OutCode in ({ID}));";
  2025. }
  2026. if (Type == "10")//物料调拨
  2027. {
  2028. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSTransfer where TransferNO in ({ID});";
  2029. }
  2030. if (Type == "11")//两步调出
  2031. {
  2032. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOtherOut where OutCode in ({ID}));";
  2033. }
  2034. if (Type == "12")//补料
  2035. {
  2036. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSMOReplenishment where ReplenishmentCode in ({ID}));";
  2037. }
  2038. if (Type == "16")//销售出库单
  2039. {
  2040. sqlCheck = $@"SELECT DISTINCT MergeID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSSSD where Type = '1' and SSDCode in ({ID}));";
  2041. }
  2042. var dt = Repository().FindDataSetBySql(sqlCheck);
  2043. if (dt.Tables[0].Rows.Count == 0)
  2044. throw new Exception("该单据没有合并");
  2045. // //查询合并领料单
  2046. // ID = ID.Replace("'", "''");
  2047. //ID = string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(',');
  2048. //执行存储过程需要传合并ID
  2049. string sql = "";
  2050. if (Type == "1")
  2051. {
  2052. sql = @"EXEC ICSPickingGDLL '''{0}''','{1}','1','{2}'";
  2053. }
  2054. else
  2055. {
  2056. sql = @"EXEC ICSPicking '''{0}''','{1}','1','{2}'";
  2057. }
  2058. sql = string.Format(sql, dt.Tables[0].Rows[0]["MergeID"].ToString(), Type, WorkPoint);
  2059. var dataset = Repository().FindDataSetBySql(sql);
  2060. if (dataset.Tables[0].Rows.Count == 0)
  2061. return null;
  2062. DataTable table = dataset.Tables[0];
  2063. #region 旧卡控
  2064. //string chksql = "";
  2065. //if (Type == "2" || Type == "12")
  2066. //{
  2067. // chksql = @" select InvCode,WHCode,SUM(Quantity) as Quantity from ICSMOApply
  2068. // where ApplyCode in ({0}) and WorkPoint='{1}'
  2069. // GROUP BY InvCode,WHCode";
  2070. //}
  2071. //if (Type == "5")
  2072. //{
  2073. // #region 委外领料SQL
  2074. // chksql = @" select InvCode,WHCode,SUM(Quantity) as Quantity from ICSOApply
  2075. // where ApplyCode in ({0}) and WorkPoint='{1}'
  2076. // GROUP BY InvCode,WHCode";
  2077. // #endregion
  2078. //}
  2079. //if (Type == "7")
  2080. //{
  2081. // #region 销售发货SQL
  2082. // chksql = @" select InvCode,WHCode,SUM(Quantity) as Quantity from ICSSDN
  2083. // where SDNCode in ({0}) and WorkPoint='{1}'
  2084. // GROUP BY InvCode,WHCode";
  2085. // #endregion
  2086. //}
  2087. //if (Type == "8")
  2088. //{
  2089. // #region 其它出库SQL
  2090. // chksql = @" select InvCode,WHCode,SUM(Quantity) as Quantity from ICSOtherOut
  2091. // where OutCode in ({0}) and WorkPoint='{1}'
  2092. // GROUP BY InvCode,WHCode";
  2093. // #endregion
  2094. //}
  2095. //if (Type == "10")
  2096. //{
  2097. // #region 物料调拨
  2098. // chksql = @" select InvCode,FromWarehouseCode AS WHCode,SUM(Quantity) as Quantity from ICSTransfer
  2099. // where TransferNO in ({0}) and WorkPoint='{1}'
  2100. // GROUP BY InvCode,FromWarehouseCode";
  2101. // #endregion
  2102. //}
  2103. //chksql = string.Format(chksql, ID.TrimEnd(','), WorkPoint);
  2104. //var chkdata = Repository().FindDataSetBySql(chksql);
  2105. //DataTable chktable = chkdata.Tables[0];
  2106. //foreach (DataRow chkdr in chktable.Rows)
  2107. //{
  2108. // decimal ZLQty = 0;
  2109. // for (int i = 0; i < table.Rows.Count; i++)
  2110. // {
  2111. // if (table.Rows[i]["WarehouseCode"].ToString() == chkdr["WHCode"].ToString()
  2112. // && table.Rows[i]["InvCode"].ToString() == chkdr["InvCode"].ToString())
  2113. // {
  2114. // ZLQty += Convert.ToDecimal(table.Rows[i]["SendQTY"].ToString());
  2115. // }
  2116. // }
  2117. // if (Convert.ToDecimal(chkdr["Quantity"]) < ZLQty)
  2118. // {
  2119. // throw new Exception("物料:" + chkdr["InvCode"].ToString() + "实际拣料数量大于单据需求数量,请尝试重新拣料。");
  2120. // }
  2121. //}
  2122. #endregion
  2123. //DataRow[] dss = table.Select("LotNO=''");
  2124. //foreach (var item in dss)
  2125. //{
  2126. // DataRow[] dsss = table.Select("Code='" + item["Code"].ToString() + "' and Sequence='" + item["Sequence"].ToString() + "' and LotNO <> '' ");
  2127. // if (dsss != null && dsss.Length > 0)
  2128. // {
  2129. // table.Rows.Remove(item);
  2130. // }
  2131. //}
  2132. var result = ConvertCellToString(table);
  2133. if (Invmes.Rows.Count > 0)
  2134. {
  2135. result.Merge(Invmes, false);
  2136. }
  2137. return result;
  2138. }
  2139. catch (Exception ex)
  2140. {
  2141. throw new Exception(ex.Message);
  2142. }
  2143. }
  2144. public string BackMergeMaterial(string keyValues, string Type)
  2145. {
  2146. JArray res = (JArray)JsonConvert.DeserializeObject(keyValues);
  2147. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2148. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2149. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2150. string msg = "";
  2151. string sql = string.Empty;
  2152. string keyValue = "";
  2153. foreach (var item in res)
  2154. {
  2155. JObject jo = (JObject)item;
  2156. if (Type == "1")//工单备料
  2157. {
  2158. sql += @"IF EXISTS(SELECT * FROM ICSMO b
  2159. INNER join ICSMOPick c on c.MODetailID=b.MODetailID and c.WorkPoint=b.WorkPoint
  2160. where b.MOCode = '{0}' and c.IssueQuantity>0)
  2161. BEGIN
  2162. RAISERROR('{0}!',16,1);
  2163. RETURN
  2164. END
  2165. delete ICSMOPickMerge from ICSMOPickMerge a
  2166. INNER join ICSMOPick c on a.SourceID=c.id and a.WorkPoint=c.WorkPoint
  2167. LEFT JOIN ICSMO b on c.MODetailID=b.MODetailID and c.WorkPoint=b.WorkPoint and b.MOStatus<>'3'
  2168. where b.MOCode = '{0}'";
  2169. }
  2170. if (Type == "2")//工单发料
  2171. {
  2172. sql += @"IF EXISTS(SELECT * FROM ICSMOApply b
  2173. where b.ApplyCode = '{0}' and b.IssueQuantity>0)
  2174. BEGIN
  2175. RAISERROR('{0}!',16,1);
  2176. RETURN
  2177. END
  2178. delete ICSMOPickMerge from ICSMOPickMerge a
  2179. LEFT JOIN ICSMOApply b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2180. where b.ApplyCode = '{0}'";
  2181. }
  2182. if (Type == "3")//材料出库
  2183. {
  2184. sql += @"IF EXISTS(SELECT * FROM ICSMOIssue b
  2185. where b.IssueCode = '{0}' and b.IssueQuantity>0)
  2186. BEGIN
  2187. RAISERROR('{0}!',16,1);
  2188. RETURN
  2189. END
  2190. delete ICSMOPickMerge from ICSMOPickMerge a
  2191. LEFT JOIN ICSMOIssue b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2192. where b.IssueCode = '{0}' ";
  2193. }
  2194. if (Type == "4")//委外备料
  2195. {
  2196. sql += @"IF EXISTS(SELECT * FROM ICSOutsourcingOrder b
  2197. INNER join ICSOOPick c on c.OODetailID=b.OODetailID and c.WorkPoint=b.WorkPoint
  2198. where b.OOCode = '{0}' and c.IssueQuantity>0)
  2199. BEGIN
  2200. RAISERROR('{0}!',16,1);
  2201. RETURN
  2202. END
  2203. delete ICSMOPickMerge from ICSMOPickMerge a
  2204. INNER join ICSOOPick c on a.SourceID=c.id and a.WorkPoint=c.WorkPoint
  2205. LEFT JOIN ICSOutsourcingOrder b on c.OODetailID=b.OODetailID and c.WorkPoint=b.WorkPoint
  2206. where b.OOCode = '{0}'";
  2207. }
  2208. if (Type == "5")//委外领料
  2209. {
  2210. sql += @"IF EXISTS(SELECT * FROM ICSOApply b
  2211. where b.ApplyCode = '{0}' and b.IssueQuantity>0)
  2212. BEGIN
  2213. RAISERROR('{0}!',16,1);
  2214. RETURN
  2215. END
  2216. delete ICSMOPickMerge from ICSMOPickMerge a
  2217. LEFT JOIN ICSOApply b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2218. where b.ApplyCode = '{0}'";
  2219. }
  2220. if (Type == "6")//委外材料出库
  2221. {
  2222. sql += @"IF EXISTS(SELECT * FROM ICSOIssue b
  2223. where b.IssueCode = '{0}' and b.IssueQuantity>0)
  2224. BEGIN
  2225. RAISERROR('{0}!',16,1);
  2226. RETURN
  2227. END
  2228. delete ICSMOPickMerge from ICSMOPickMerge a
  2229. LEFT JOIN ICSOIssue b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2230. where b.IssueCode = '{0}'";
  2231. }
  2232. if (Type == "7")//销售发货
  2233. {
  2234. sql += @"IF EXISTS(SELECT * FROM ICSSDN b
  2235. where b.SDNCode = '{0}' and b.SDNQuantity>0)
  2236. BEGIN
  2237. RAISERROR('{0}!',16,1);
  2238. RETURN
  2239. END
  2240. delete ICSMOPickMerge from ICSMOPickMerge a
  2241. LEFT JOIN ICSSDN b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2242. where b.SDNCode = '{0}'";
  2243. }
  2244. if (Type == "8")//其它出库
  2245. {
  2246. sql += @"IF EXISTS(SELECT * FROM ICSOtherOut b
  2247. where b.OutCode = '{0}' and b.OutQuantity>0)
  2248. BEGIN
  2249. RAISERROR('{0}!',16,1);
  2250. RETURN
  2251. END
  2252. delete ICSMOPickMerge from ICSMOPickMerge a
  2253. LEFT JOIN ICSOtherOut b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2254. where b.OutCode = '{0}'";
  2255. }
  2256. if (Type == "9")//借用单
  2257. {
  2258. sql += @"IF EXISTS(SELECT * FROM ICSOtherOut b
  2259. where b.OutCode = '{0}' and b.OutQuantity>0)
  2260. BEGIN
  2261. RAISERROR('{0}!',16,1);
  2262. RETURN
  2263. END
  2264. delete ICSMOPickMerge from ICSMOPickMerge a
  2265. LEFT JOIN ICSOtherOut b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2266. where b.OutCode = '{0}'";
  2267. }
  2268. if (Type == "10")//物料调拨
  2269. {
  2270. sql += @"IF EXISTS(SELECT * FROM ICSTransfer b
  2271. where b.TransferNO = '{0}' and b.TransferQuantity>0)
  2272. BEGIN
  2273. RAISERROR('{0}!',16,1);
  2274. RETURN
  2275. END
  2276. delete ICSMOPickMerge from ICSMOPickMerge a
  2277. LEFT JOIN ICSTransfer b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2278. where b.TransferNO = '{0}'";
  2279. }
  2280. if (Type == "11")//两步调出
  2281. {
  2282. sql += @"IF EXISTS(SELECT * FROM ICSOtherOut b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2283. INNER JOIN ICSTransfer tra ON b.TransferDetailID=tra.TransferDetailID AND b.WorkPoint=tra.WorkPoint
  2284. where b.OutCode = '{0}' and b.OutQuantity>0)
  2285. BEGIN
  2286. RAISERROR('{0}!',16,1);
  2287. RETURN
  2288. END
  2289. delete ICSMOPickMerge from ICSMOPickMerge a
  2290. LEFT JOIN ICSOtherOut b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2291. INNER JOIN ICSTransfer tra ON b.TransferDetailID=tra.TransferDetailID AND b.WorkPoint=tra.WorkPoint
  2292. where b.OutCode = '{0}'";
  2293. }
  2294. if (Type == "12")//补料
  2295. {
  2296. sql += @"IF EXISTS(SELECT * FROM ICSMOReplenishment b
  2297. where b.ReplenishmentCode = '{0}' and b.IssueQuantity>0)
  2298. BEGIN
  2299. RAISERROR('{0}!',16,1);
  2300. RETURN
  2301. END
  2302. delete ICSMOPickMerge from ICSMOPickMerge a
  2303. LEFT JOIN ICSMOReplenishment b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2304. where b.ReplenishmentCode = '{0}'";
  2305. }
  2306. if (Type == "15")//红字其他入库
  2307. {
  2308. sql += @"IF EXISTS(SELECT * FROM ICSOtherIn b
  2309. where b.InCode = '{0}' and b.InQuantity>0)
  2310. BEGIN
  2311. RAISERROR('{0}!',16,1);
  2312. RETURN
  2313. END
  2314. delete ICSMOPickMerge from ICSMOPickMerge a
  2315. LEFT JOIN ICSOtherIn b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2316. where b.InCode = '{0}' and a.EATTRIBUTE2='2'";
  2317. }
  2318. if (Type == "16")//销售出库单
  2319. {
  2320. sql += @"IF EXISTS(SELECT * FROM ICSSSD b
  2321. where b.Type = '1' and b.SSDCode = '{0}' and b.SSDQuantity>0)
  2322. BEGIN
  2323. RAISERROR('{0}!',16,1);
  2324. RETURN
  2325. END
  2326. delete ICSMOPickMerge from ICSMOPickMerge a
  2327. LEFT JOIN ICSSSD b on a.SourceID=b.id and a.WorkPoint=b.WorkPoint
  2328. where b.SSDCode = '{0}' and a.EATTRIBUTE2='2' and b.Type = '1' ";
  2329. }
  2330. try
  2331. {
  2332. sql = string.Format(sql, jo["Code"].ToString());
  2333. SqlHelper.ExecuteNonQuery(sql);
  2334. }
  2335. catch (Exception ex)
  2336. {
  2337. msg = ex.Message;
  2338. //throw new Exception(ex.Message);
  2339. }
  2340. }
  2341. return msg;
  2342. }
  2343. public string MergeMaterial(string keyValues, string Type)
  2344. {
  2345. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2346. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2347. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2348. string msg = "";
  2349. string sql = string.Empty;
  2350. string sqlCheck = string.Empty;
  2351. string keyValue = "";
  2352. //keyValue = keyValue.TrimEnd(',');
  2353. string[] keyvaluelist = keyValues.Split(',');
  2354. if (keyvaluelist.Count() > 1)
  2355. {
  2356. for (int i = 0; i < keyvaluelist.Count() - 1; i++)
  2357. {
  2358. if (keyValue == "")
  2359. {
  2360. keyValue += "'" + keyvaluelist[i] + "'";
  2361. }
  2362. else
  2363. {
  2364. keyValue += ",'" + keyvaluelist[i] + "'";
  2365. }
  2366. }
  2367. }
  2368. else
  2369. keyValue = keyValues.TrimEnd(',');
  2370. DateTime time = DateTime.Now;
  2371. string Tday = time.ToString("yyyyMMdd");
  2372. string sqls = string.Format(@"SELECT MAX(A.MergeID) AS MergeID FROM ICSMOPickMerge A WHERE A.MergeID LIKE '{0}%' AND LEN(a.MergeID) = 13", Tday);
  2373. DataSet ds = SqlHelper.GetDataSetBySql(sqls);
  2374. string MergeID = "";
  2375. Int64 Merge_ID = 0;
  2376. DataTable dts = ds.Tables[0];
  2377. if (dts != null && dts.Rows.Count > 0)
  2378. {
  2379. string lot = dts.Rows[0]["MergeID"].ToString();
  2380. if (!string.IsNullOrWhiteSpace(lot))
  2381. Merge_ID = Convert.ToInt64(lot.Substring(lot.Length - 5));
  2382. }
  2383. MergeID = Tday + (Merge_ID + 1).ToString().PadLeft(5, '0');
  2384. if (Type == "1")//工单备料
  2385. {
  2386. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSMO WHERE MOCode in ({keyValue});";
  2387. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT a.ID FROM ICSMOPick a INNER JOIN ICSMO b ON a.MODetailID=b.MODetailID AND a.WorkPoint=b.WorkPoint where MOCode in ({5}) ))
  2388. BEGIN
  2389. RAISERROR('',16,1);
  2390. RETURN
  2391. END;
  2392. INSERT INTO dbo.ICSMOPickMerge
  2393. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2394. select NEWID(),'{0}',b.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2395. from ICSMO a inner join ICSMOPick b on b.MODetailID=a.MODetailID and b.WorkPoint=a.WorkPoint
  2396. where a.MOStatus<>'3' and a.MOCode in ({5})
  2397. ";
  2398. }
  2399. if (Type == "2")//工单发料
  2400. {
  2401. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSMOApply WHERE ApplyCode in ({keyValue});";
  2402. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSMOApply where ApplyCode in ({5}) ))
  2403. BEGIN
  2404. RAISERROR('',16,1);
  2405. RETURN
  2406. END;
  2407. INSERT INTO dbo.ICSMOPickMerge
  2408. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2409. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2410. from ICSMOApply a
  2411. where a.ApplyCode in ({5})";
  2412. }
  2413. if (Type == "3")//材料出库
  2414. {
  2415. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSMOIssue WHERE IssueCode in ({keyValue});";
  2416. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSMOIssue where IssueCode in ({5}) ))
  2417. BEGIN
  2418. RAISERROR('',16,1);
  2419. RETURN
  2420. END;
  2421. INSERT INTO dbo.ICSMOPickMerge
  2422. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2423. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2424. from ICSMOIssue a
  2425. where a.IssueCode in ({5}) ";
  2426. }
  2427. if (Type == "4")//委外备料
  2428. {
  2429. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSOutsourcingOrder WHERE OOCode in ({keyValue});";
  2430. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOutsourcingOrder where OOCode in ({5}) ))
  2431. BEGIN
  2432. RAISERROR('',16,1);
  2433. RETURN
  2434. END;
  2435. INSERT INTO dbo.ICSMOPickMerge
  2436. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2437. select NEWID(),'{0}',b.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2438. from ICSOutsourcingOrder a inner join ICSOOPick b on a.OODetailID=b.OODetailID and b.WorkPoint=a.WorkPoint
  2439. where a.OOCode in ({5})";
  2440. }
  2441. if (Type == "5")//委外领料
  2442. {
  2443. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSOApply WHERE ApplyCode in ({keyValue});";
  2444. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOApply where ApplyCode in ({5}) ))
  2445. BEGIN
  2446. RAISERROR('',16,1);
  2447. RETURN
  2448. END;
  2449. INSERT INTO dbo.ICSMOPickMerge
  2450. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2451. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2452. from ICSOApply a
  2453. where a.ApplyCode in ({5})";
  2454. }
  2455. if (Type == "6")//委外材料出库
  2456. {
  2457. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSOIssue WHERE IssueCode in ({keyValue});";
  2458. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOIssue where IssueCode in ({5}) ))
  2459. BEGIN
  2460. RAISERROR('',16,1);
  2461. RETURN
  2462. END;
  2463. INSERT INTO dbo.ICSMOPickMerge
  2464. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2465. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2466. from ICSOIssue a
  2467. where a.IssueCode in ('{5}')";
  2468. }
  2469. if (Type == "7")//销售发货
  2470. {
  2471. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSSDN WHERE SDNCode in ({keyValue});";
  2472. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSSDN where SDNCode in ({5}) ))
  2473. BEGIN
  2474. RAISERROR('',16,1);
  2475. RETURN
  2476. END;
  2477. INSERT INTO dbo.ICSMOPickMerge
  2478. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2479. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2480. from ICSSDN a
  2481. where a.SDNCode in ({5})";
  2482. }
  2483. if (Type == "8")//其它出库
  2484. {
  2485. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSOtherOut WHERE OutCode in ({keyValue});";
  2486. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOtherOut where OutCode in ({5}) ))
  2487. BEGIN
  2488. RAISERROR('',16,1);
  2489. RETURN
  2490. END;
  2491. INSERT INTO dbo.ICSMOPickMerge
  2492. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2493. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2494. from ICSOtherOut a
  2495. where a.OutCode in ({5})";
  2496. }
  2497. if (Type == "9")//借用单
  2498. {
  2499. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSOtherOut WHERE OutCode in ({keyValue});";
  2500. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOtherOut where OutCode in ({5}) ))
  2501. BEGIN
  2502. RAISERROR('',16,1);
  2503. RETURN
  2504. END;
  2505. INSERT INTO dbo.ICSMOPickMerge
  2506. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2507. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2508. from ICSOtherOut a
  2509. where a.OutCode in ({5})";
  2510. }
  2511. if (Type == "10")//物料调拨
  2512. {
  2513. sqlCheck = $@"SELECT DISTINCT FromWarehouseCode FROM ICSTransfer WHERE TransferNO in ({keyValue});";
  2514. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSTransfer where TransferNO in ({5}) ))
  2515. BEGIN
  2516. RAISERROR('',16,1);
  2517. RETURN
  2518. END;
  2519. INSERT INTO dbo.ICSMOPickMerge
  2520. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2521. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2522. from ICSTransfer a
  2523. where a.TransferNO in ({5})
  2524. ";
  2525. }
  2526. if (Type == "11")//两步调出
  2527. {
  2528. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSOtherOut WHERE OutCode in ({keyValue});";
  2529. sql += @" IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOtherOut where OutCode in ({5}) ))
  2530. BEGIN
  2531. RAISERROR('',16,1);
  2532. RETURN
  2533. END; INSERT INTO dbo.ICSMOPickMerge
  2534. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2535. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2536. from ICSOtherOut a
  2537. INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  2538. where a.OutCode in ({5})
  2539. ";
  2540. }
  2541. if (Type == "12")//补料
  2542. {
  2543. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSMOReplenishment WHERE ReplenishmentCode in ({keyValue});";
  2544. sql += @"IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSMOReplenishment where ReplenishmentCode in ({5}) ))
  2545. BEGIN
  2546. RAISERROR('',16,1);
  2547. RETURN
  2548. END;
  2549. INSERT INTO dbo.ICSMOPickMerge
  2550. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2551. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2552. from ICSMOReplenishment a
  2553. where a.ReplenishmentCode in ({5})";
  2554. }
  2555. if (Type == "15")//其他红字入库
  2556. {
  2557. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSOtherIn WHERE InCode in ({keyValue});";
  2558. sql += @" IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSOtherIn where InCode in ({5}) ))
  2559. BEGIN
  2560. RAISERROR('',16,1);
  2561. RETURN
  2562. END; INSERT INTO dbo.ICSMOPickMerge
  2563. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2564. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2565. from ICSOtherIn a
  2566. where a.InCode in ({5}) and a.EATTRIBUTE2='2'
  2567. ";
  2568. }
  2569. if (Type == "16")//其他红字入库
  2570. {
  2571. sqlCheck = $@"SELECT DISTINCT WHCode FROM ICSSSD WHERE SSDCode in ({keyValue}) and Type = '1';";
  2572. sql += @" IF EXISTS(SELECT ID FROM ICSMOPickMerge WHERE SourceID IN(SELECT ID FROM ICSSSD where SSDCode in ({5}) ))
  2573. BEGIN
  2574. RAISERROR('',16,1);
  2575. RETURN
  2576. END; INSERT INTO dbo.ICSMOPickMerge
  2577. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  2578. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  2579. from ICSSSD a
  2580. where a.SSDCode in ({5}) and a.Type = '1'
  2581. ";
  2582. }
  2583. sql = string.Format(sql, MergeID, Type, MUSER, MUSERNAME, WorkPoint, keyValue);
  2584. try
  2585. {
  2586. var table = SqlHelper.CmdExecuteDataTable(sqlCheck);
  2587. if (table.Rows.Count != 1)
  2588. {
  2589. msg = "合并拣料的仓库不一致,不能合并拣料!";
  2590. return msg;
  2591. }
  2592. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  2593. {
  2594. }
  2595. else
  2596. {
  2597. msg = "新增失败";
  2598. }
  2599. }
  2600. catch (Exception ex)
  2601. {
  2602. throw new Exception(ex.Message);
  2603. }
  2604. return msg;
  2605. }
  2606. public string CheckQty(string objArr)
  2607. {
  2608. objArr = objArr.TrimEnd(',');
  2609. string sql = @"select * from ICSMOPickMerge a
  2610. left join ICSMOPick b on a.SourceID=b.ID and a.WorkPoint=b.WorkPoint
  2611. left join ICSMO c on b.MODetailID=c.MODetailID and b.WorkPoint=c.WorkPoint and c.MOStatus<>'3'
  2612. where MOCode in ({0})";
  2613. sql = string.Format(sql, objArr);
  2614. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  2615. if (dt != null && dt.Rows.Count > 0)
  2616. {
  2617. return "1";
  2618. }
  2619. return "0";
  2620. }
  2621. public string SaveSeizeMaterial(string ID, string Type, string LotNoInfo, string obj)
  2622. {
  2623. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2624. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2625. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2626. string msg = "";
  2627. string sql = string.Empty;
  2628. string pikTbLogsql = string.Empty;
  2629. ID = string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(',');
  2630. try
  2631. {
  2632. #region 旧逻辑
  2633. // if (Type == "1")
  2634. // {
  2635. // #region 工单备料sql
  2636. // sqls = @" SELECT
  2637. // c.MOCode as Code,
  2638. //c.Sequence+'~'+a.Sequence as Sequence,
  2639. // a.InvCode,
  2640. // b.InvName,
  2641. // b.InvStd,
  2642. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  2643. // a.WhCode,
  2644. // b.InvUnit,
  2645. // a.ExtensionID,
  2646. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2647. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2648. // FROM
  2649. // ICSMOPick a
  2650. // inner join ICSMO c on a.MODetailID=c.MODetailID and a.WorkPoint=c.WorkPoint
  2651. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2652. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2653. // WHERE c.MOCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0) and a.EATTRIBUTE1<>'1'
  2654. // GROUP BY c.MOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,c.Sequence+'~'+a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2655. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2656. // #endregion
  2657. // }
  2658. // if (Type == "2")
  2659. // {
  2660. // #region 工单领料sql
  2661. // sqls = @"select
  2662. // a.ApplyCode as Code,a.Sequence, a.InvCode, b.InvName, b.InvStd, b.InvUnit, (SUM(ISNULL(a.Quantity, 0))-SUM(ISNULL(a.IssueQuantity, 0))) AS iQuantity, a.WhCode,a.ExtensionID,
  2663. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2664. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2665. // FROM
  2666. // ICSMOApply a
  2667. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2668. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2669. // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  2670. // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2671. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2672. // #endregion
  2673. // }
  2674. // if (Type == "3")
  2675. // {
  2676. // #region 工单材料出库SQL
  2677. // sqls = @" select
  2678. // a.IssueCode as Code,
  2679. //a.Sequence,
  2680. // a.InvCode,
  2681. // b.InvName,
  2682. // b.InvStd,
  2683. // b.InvUnit,
  2684. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  2685. // a.WhCode,
  2686. // a.ExtensionID,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2687. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2688. // FROM
  2689. // ICSMOIssue a
  2690. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2691. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2692. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  2693. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2694. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2695. // #endregion
  2696. // }
  2697. // if (Type == "4")
  2698. // {
  2699. // #region 委外备料SQL
  2700. // sqls = @" select
  2701. // c.OOCode as Code,
  2702. //c.Sequence+'~'+a.Sequence as Sequence,
  2703. // a.InvCode,
  2704. // b.InvName,
  2705. // b.InvStd,
  2706. // b.InvUnit,
  2707. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  2708. // a.WhCode,
  2709. // a.ExtensionID, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2710. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2711. // FROM
  2712. // ICSOOPick a
  2713. // left join ICSOutsourcingOrder c on a.OODetailID=c.OODetailID and a.WorkPoint=c.WorkPoint
  2714. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2715. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2716. // WHERE c.OOCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  2717. // GROUP BY c.OOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode, a.ExtensionID,c.Sequence+'~'+a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2718. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2719. // #endregion
  2720. // }
  2721. // if (Type == "5")
  2722. // {
  2723. // #region 委外领料SQL
  2724. // sqls = @"select
  2725. // a.ApplyCode as Code,
  2726. //a.Sequence,
  2727. // a.InvCode,
  2728. // b.InvName,
  2729. // b.InvStd,
  2730. // b.InvUnit,
  2731. // (SUM(ISNULL(a.Quantity, 0))-SUM(ISNULL(a.IssueQuantity,0))) AS iQuantity,
  2732. // a.WhCode,a.ExtensionID,
  2733. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2734. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2735. // FROM
  2736. // ICSOApply a
  2737. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2738. //LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2739. // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  2740. // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2741. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2742. // #endregion
  2743. // }
  2744. // if (Type == "6")
  2745. // {
  2746. // #region 委外材料出库SQL
  2747. // sqls = @" select
  2748. // a.IssueCode as Code,
  2749. //a.Sequence,
  2750. // a.InvCode,
  2751. // b.InvName,
  2752. // b.InvStd,
  2753. // b.InvUnit,
  2754. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  2755. // a.WhCode,
  2756. // a.ExtensionID,
  2757. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2758. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2759. // FROM
  2760. // ICSOIssue a
  2761. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2762. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2763. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  2764. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2765. //,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2766. // #endregion
  2767. // }
  2768. // if (Type == "7")
  2769. // {
  2770. // #region 销售发货SQL
  2771. // sqls = @" select
  2772. // a.SDNCode as Code,
  2773. //a.Sequence,
  2774. // a.InvCode,
  2775. // b.InvName,
  2776. // b.InvStd,
  2777. // b.InvUnit,
  2778. // (SUM(ISNULL(a.Quantity, 0))-SUM(ISNULL(a.SDNQuantity, 0))) AS iQuantity,
  2779. // a.WhCode,
  2780. // a.ExtensionID,
  2781. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2782. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2783. // FROM
  2784. // ICSSDN a
  2785. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2786. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2787. // WHERE a.SDNCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.SDNQuantity, 0)
  2788. // GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,a.Sequence,
  2789. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2790. //,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2791. // #endregion
  2792. // }
  2793. // if (Type == "8")
  2794. // {
  2795. // #region 其它出库SQL
  2796. // sqls = @" select
  2797. // a.OutCode as Code,
  2798. //a.Sequence,
  2799. // a.InvCode,
  2800. // b.InvName,
  2801. // b.InvStd,
  2802. // b.InvUnit,
  2803. // (SUM(ISNULL(a.Quantity, 0))-SUM(ISNULL(a.OutQuantity, 0))) AS iQuantity,
  2804. // a.WhCode,
  2805. // a.ExtensionID,
  2806. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2807. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2808. // FROM
  2809. // ICSOtherOut a
  2810. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2811. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2812. // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.OutQuantity, 0)
  2813. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2814. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2815. // #endregion
  2816. // }
  2817. // if (Type == "9")
  2818. // {
  2819. // #region 借用SQL
  2820. // sqls = @"select
  2821. // a.BrrowCode as Code,
  2822. //a.Sequence,
  2823. // a.InvCode,
  2824. // b.InvName,
  2825. // b.InvStd,
  2826. // b.InvUnit,
  2827. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  2828. // a.WhCode,
  2829. // a.ExtensionID,
  2830. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2831. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2832. // FROM
  2833. // ICSBrrow a
  2834. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2835. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2836. // WHERE a.BrrowCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.BrrowQuantity, 0)
  2837. // GROUP BY a.BrrowCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2838. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2839. // #endregion
  2840. // }
  2841. // if (Type == "10")
  2842. // {
  2843. // #region 物料调拨
  2844. // sqls = @"select
  2845. // a.TransferNO as Code,
  2846. //a.Sequence,
  2847. // a.InvCode,
  2848. // b.InvName,
  2849. // b.InvStd,
  2850. // b.InvUnit,
  2851. // (SUM(ISNULL(a.Quantity, 0))-SUM(ISNULL(a.TransferQuantity, 0))) AS iQuantity,
  2852. // a.FromWarehouseCode as WhCode,
  2853. // a.ExtensionID,
  2854. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2855. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2856. // FROM
  2857. // ICSTransfer a
  2858. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2859. //LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2860. // WHERE a.TransferNO in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.TransferQuantity, 0)
  2861. // GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID,a.Sequence,
  2862. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2863. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2864. // #endregion
  2865. // }
  2866. // if (Type == "11")
  2867. // {
  2868. // #region 两步调出
  2869. // sqls = @"select
  2870. // a.OutCode as Code,
  2871. //a.Sequence,
  2872. // a.InvCode,
  2873. // b.InvName,
  2874. // b.InvStd,
  2875. // b.InvUnit,
  2876. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  2877. // a.WHCode ,
  2878. // a.ExtensionID,
  2879. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2880. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2881. // from ICSOtherOut a
  2882. // INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  2883. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2884. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2885. // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.OutQuantity, 0)
  2886. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WHCode,a.ExtensionID,a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2887. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2888. // #endregion
  2889. // }
  2890. // if (Type == "12")
  2891. // {
  2892. // #region 补料sql
  2893. // sqls = @"select
  2894. // a.ReplenishmentCode as Code,a.Sequence, a.InvCode, b.InvName, b.InvStd, b.InvUnit, (SUM(ISNULL(a.Quantity, 0))-SUM(ISNULL(a.IssueQuantity, 0))) AS iQuantity, a.WhCode,a.ExtensionID, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2895. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2896. // FROM
  2897. // ICSMOReplenishment a
  2898. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  2899. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  2900. // WHERE a.ReplenishmentCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  2901. // GROUP BY a.ReplenishmentCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2902. //,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  2903. // #endregion
  2904. // }
  2905. // sqls = string.Format(sqls, ID, WorkPoint);
  2906. // #region sql结果 处理
  2907. // sql = $@"SELECT row_number() over ( order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
  2908. // c.Code,
  2909. //c.Sequence,
  2910. // c.InvCode,
  2911. // c.InvName,
  2912. // c.InvStd,
  2913. // c.InvUnit,
  2914. // c.iQuantity AS iQuantity,
  2915. // c.WHCode AS WarehouseCode,
  2916. // d.LotNO,
  2917. // ISNULL(d.Quantity, 0) AS QTY,
  2918. // ISNULL(d.Quantity, 0) AS QTYLeft,
  2919. // CONVERT(decimal(18,6),0) AS SendQTY,
  2920. // d.LocationCode AS LocationCode,
  2921. // CONVERT(varchar(100),d.MTIME, 23) MTIME,
  2922. // f.QTYTotal QTYTotal,c.ExtensionID
  2923. // FROM
  2924. // ({sqls}) c
  2925. // left join (select d.WarehouseCode,d.Quantity-d.LockQuantity as Quantity,d.INVCode, m.LotNo, d.MTIME,d.LocationCode,m.ExtensionID ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  2926. //,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  2927. // from ICSWareHouseLotInfo d ,ICSInventoryLot m
  2928. //LEFT JOIN ICSExtension f on m.ExtensionID=f.ID and m.WorkPoint=f.WorkPoint
  2929. // where d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint
  2930. // and d.WorkPoint='{WorkPoint}' AND d.Quantity-d.LockQuantity>0 AND d.Quantity>0
  2931. // ) d
  2932. // on c.InvCode=d.INVCode
  2933. //AND (LEN(ISNULL(c.WHCode,''))<=0 OR (LEN(ISNULL(c.WHCode,''))>0 AND c.WHCode=d.WarehouseCode))
  2934. // AND (LEN(ISNULL(c.ProjectCode,''))<=0 OR (LEN(ISNULL(c.ProjectCode,''))>0 AND c.ProjectCode=d.ProjectCode))
  2935. // AND (LEN(ISNULL(c.BatchCode,''))<=0 OR (LEN(ISNULL(c.BatchCode,''))>0 AND c.BatchCode=d.BatchCode))
  2936. // AND (LEN(ISNULL(c.Version,''))<=0 OR (LEN(ISNULL(c.Version,''))>0 AND c.Version=d.Version))
  2937. // AND (LEN(ISNULL(c.Brand,''))<=0 OR (LEN(ISNULL(c.Brand,''))>0 AND c.Brand=d.Brand))
  2938. // AND (LEN(ISNULL(c.cFree1,''))<=0 OR (LEN(ISNULL(c.cFree1,''))>0 AND c.cFree1=d.cFree1))
  2939. // AND (LEN(ISNULL(c.cFree2,''))<=0 OR (LEN(ISNULL(c.cFree2,''))>0 AND c.cFree2=d.cFree2))
  2940. // AND (LEN(ISNULL(c.cFree3,''))<=0 OR (LEN(ISNULL(c.cFree3,''))>0 AND c.cFree3=d.cFree3))
  2941. // AND (LEN(ISNULL(c.cFree4,''))<=0 OR (LEN(ISNULL(c.cFree4,''))>0 AND c.cFree4=d.cFree4))
  2942. // AND (LEN(ISNULL(c.cFree5,''))<=0 OR (LEN(ISNULL(c.cFree5,''))>0 AND c.cFree5=d.cFree5))
  2943. // AND (LEN(ISNULL(c.cFree6,''))<=0 OR (LEN(ISNULL(c.cFree6,''))>0 AND c.cFree6=d.cFree6))
  2944. // AND (LEN(ISNULL(c.cFree7,''))<=0 OR (LEN(ISNULL(c.cFree7,''))>0 AND c.cFree7=d.cFree7))
  2945. // AND (LEN(ISNULL(c.cFree8,''))<=0 OR (LEN(ISNULL(c.cFree8,''))>0 AND c.cFree8=d.cFree8))
  2946. // AND (LEN(ISNULL(c.cFree9,''))<=0 OR (LEN(ISNULL(c.cFree9,''))>0 AND c.cFree9=d.cFree9))
  2947. // AND (LEN(ISNULL(c.cFree10,''))<=0 OR (LEN(ISNULL(c.cFree10,''))>0 AND c.cFree10=d.cFree10))
  2948. // LEFT JOIN (SELECT INVCode,WarehouseCode,SUM(Quantity-LockQuantity) AS QTYTotal FROM ICSWareHouseLotInfo WHERE WorkPoint='{WorkPoint}' GROUP BY INVCode,WarehouseCode) f ON c.InvCode=f.INVCode AND c.WhCode=f.WarehouseCode
  2949. // order by c.Code,c.Sequence,d.MTIME,d.LotNO ";
  2950. // #endregion
  2951. // var dataset = Repository().FindDataSetBySql(sql);
  2952. // if (dataset.Tables[0].Rows.Count == 0)
  2953. // return null;
  2954. // DataTable table = dataset.Tables[0];
  2955. // decimal qtyCount = 0;
  2956. // bool remove = false;
  2957. // List<int> removeList = new List<int>();
  2958. // for (int i = 0; i < table.Rows.Count; i++)
  2959. // {
  2960. // if (i != 0
  2961. // && (!table.Rows[i]["InvCode"].ToString().Equals(table.Rows[i - 1]["InvCode"].ToString())
  2962. // || !table.Rows[i]["Sequence"].ToString().Equals(table.Rows[i - 1]["Sequence"].ToString())
  2963. // || !table.Rows[i]["Code"].ToString().Equals(table.Rows[i - 1]["Code"].ToString())
  2964. // || !table.Rows[i]["ExtensionID"].ToString().Equals(table.Rows[i - 1]["ExtensionID"].ToString()))
  2965. // )
  2966. // {
  2967. // qtyCount = 0;
  2968. // remove = false;
  2969. // }
  2970. // if (table.Rows[i]["QTYLeft"].ToString().ToDecimal() == 0)
  2971. // {
  2972. // removeList.Add(i);
  2973. // continue;
  2974. // }
  2975. // if (remove)
  2976. // {
  2977. // removeList.Add(i);
  2978. // }
  2979. // else
  2980. // {
  2981. // var lotQty = table.Rows[i]["QTYLeft"].ToString().ToDecimal();
  2982. // var orderQty = table.Rows[i]["iQuantity"].ToString().ToDecimal();
  2983. // qtyCount += lotQty;
  2984. // foreach (DataRow dr in table.Rows)
  2985. // {
  2986. // if (dr["LotNO"].ToString() == table.Rows[i]["LotNO"].ToString())
  2987. // {
  2988. // if (qtyCount > orderQty)
  2989. // {
  2990. // dr["QTYLeft"] = Convert.ToDecimal(qtyCount) - Convert.ToDecimal(orderQty);
  2991. // }
  2992. // else
  2993. // {
  2994. // dr["QTYLeft"] = 0;
  2995. // }
  2996. // }
  2997. // }
  2998. // if (qtyCount >= orderQty)
  2999. // {
  3000. // table.Rows[i]["SendQTY"] = Convert.ToDecimal(lotQty) - (Convert.ToDecimal(qtyCount) - Convert.ToDecimal(orderQty));
  3001. // remove = true;
  3002. // }
  3003. // else
  3004. // {
  3005. // table.Rows[i]["SendQTY"] = lotQty;
  3006. // }
  3007. // }
  3008. // }
  3009. // if (removeList.Count > 0)
  3010. // {
  3011. // removeList.Reverse();
  3012. // foreach (var item in removeList)
  3013. // {
  3014. // table.Rows.RemoveAt(item);
  3015. // }
  3016. // }
  3017. // try
  3018. // {
  3019. // //string[] strArray = LotNoInfo.Split(',');
  3020. // //// 创建一个HashSet集合
  3021. // //HashSet<string> strSet = new HashSet<string>();
  3022. // //// 将切割后的字符串数组添加到集合中
  3023. // //foreach (string elem in strArray)
  3024. // //{
  3025. // // strSet.Add(elem);
  3026. // //}
  3027. // decimal ZLQty = 0;
  3028. // decimal DJQty = 0;
  3029. // for (int i = 0; i < table.Rows.Count; i++)
  3030. // {
  3031. // ZLQty += Convert.ToDecimal(table.Rows[i]["SendQTY"].ToString());
  3032. // DJQty += Convert.ToDecimal(table.Rows[i]["iQuantity"].ToString());
  3033. // }
  3034. // if (ZLQty!= DJQty)
  3035. // {
  3036. // throw new Exception("单据所匹配条码与单据数量不符,无法保存!");
  3037. // }
  3038. #endregion
  3039. var dataSet = JsonConvert.DeserializeObject<DataTable>(obj);
  3040. DataTable table = dataSet;
  3041. table = table.Select("LotNO<>''").CopyToDataTable();//排除空的条码
  3042. if (table.Rows.Count != 0)
  3043. {
  3044. #region 拣料时增加条码出入库记录,修改库存锁定数量,以作占料处理
  3045. string BusinessCode = string.Empty;
  3046. string TransType = string.Empty;
  3047. if (Type == "1") { BusinessCode = "13"; TransType = "生产发料-生产订单备料表"; }
  3048. if (Type == "2") { BusinessCode = "14"; TransType = "生产发料-领料申请单"; }
  3049. if (Type == "3") { BusinessCode = "15"; TransType = "生产发料-材料出库单"; }
  3050. if (Type == "4") { BusinessCode = "5"; TransType = "委外发料-委外订单备料表"; }
  3051. if (Type == "5") { BusinessCode = "6"; TransType = "委外发料-委外领料申请单"; }
  3052. if (Type == "6") { BusinessCode = "7"; TransType = "委外发料-委外材料出库单"; }
  3053. if (Type == "7") { BusinessCode = "19"; TransType = "销售发货-销售发货单"; }
  3054. if (Type == "8") { BusinessCode = "24"; TransType = "杂发"; }
  3055. if (Type == "9") { BusinessCode = "26"; TransType = "借用"; }
  3056. if (Type == "10") { BusinessCode = "46"; TransType = "调拨"; }
  3057. if (Type == "11") { BusinessCode = "22"; TransType = "两步调出"; }
  3058. if (Type == "15") { BusinessCode = "54"; TransType = "红字其他入库"; }
  3059. if (Type == "16") { BusinessCode = "55"; TransType = "销售出库单"; }
  3060. string Identification = Guid.NewGuid().ToString();
  3061. var pikTbLogTime = DateTime.Now;
  3062. List<string> DocNoList = new List<string>();
  3063. pikTbLogsql = @"update b set b.LockQuantity=convert(decimal(18,6),b.LockQuantity)-convert(decimal(18,6),c.Quantity )
  3064. from dbo.ICSWareHouseLotInfo b
  3065. inner join (select sum(Quantity) as Quantity, LotNo from ICSWareHouseLotInfolog
  3066. where TransCode in ({0})and TransType='15' and WorkPoint='{1}' group by LotNo) c
  3067. on c.LotNo =b.LotNo
  3068. delete dbo.ICSWareHouseLotInfoLog where TransCode in({0}) and TransType='15' and WorkPoint='{1}'";
  3069. pikTbLogsql = string.Format(pikTbLogsql, ID, WorkPoint);
  3070. foreach (DataRow PickLog in table.Rows)
  3071. {
  3072. pikTbLogsql += @"
  3073. IF EXISTS(SELECT a.LotNo FROM ICSWareHouseLotInfo a WHERE a.LotNo='{9}' AND a.WorkPoint='{8}' AND Quantity-LockQuantity-" + PickLog["SendQTY"].ToString() + @"<0)
  3074. BEGIN
  3075. RAISERROR(':" + PickLog["LotNO"].ToString() + @"',16,1);
  3076. RETURN
  3077. END
  3078. IF NOT EXISTS(SELECT TransCode FROM ICSWareHouseLotInfoLog WHERE TransCode='{1}' AND TransSequence='{2}' AND LotNo='{9}' AND WorkPoint='{8}' AND TransType='15')
  3079. BEGIN
  3080. INSERT INTO ICSWareHouseLotInfoLog(ID,Identification,TransCode,TransSequence,LotNo,InvCode,
  3081. FromWarehouseCode,FromLocationCode,ToWarehouseCode,ToLocationCode,Quantity,
  3082. Memo,Lock,TransType,BusinessCode,ERPUpload,ERPID,
  3083. ERPDetailID,ERPCode,ERPSequence,MUSER,MUSERName,
  3084. MTIME,WorkPoint,EATTRIBUTE1)
  3085. SELECT NEWID(),'{0}','{1}','{2}',a.LotNo ,a.InvCode ,
  3086. a.WarehouseCode,a.LocationCode,'','','{3}',
  3087. '','1','15','{4}','0','',
  3088. '','','','{5}' ,'{6}' ,
  3089. '{7}' ,'{8}' ,''
  3090. FROM ICSWareHouseLotInfo a
  3091. WHERE a.LotNo='{9}' AND a.WorkPoint='{8}'
  3092. update ICSWareHouseLotInfo set LockQuantity=LockQuantity+'{3}' where LotNo='{9}' AND WorkPoint='{8}'
  3093. END
  3094. UPDATE ICSMOApply SET MUSER='{6}' WHERE ApplyCode='{1}' and Sequence='{2}' ; ";
  3095. pikTbLogsql = string.Format(pikTbLogsql, Identification, PickLog["Code"].ToString(), PickLog["Sequence"].ToString(), PickLog["SendQTY"].ToString()
  3096. , BusinessCode, MUSER, MUSERNAME, pikTbLogTime, WorkPoint, PickLog["LotNO"].ToString());
  3097. }
  3098. #endregion
  3099. }
  3100. if (SqlHelper.CmdExecuteNonQueryLi(pikTbLogsql) > 0)
  3101. {
  3102. }
  3103. else
  3104. {
  3105. msg = "占料信息保存失败";
  3106. }
  3107. }
  3108. catch (Exception ex)
  3109. {
  3110. msg = ex.Message;
  3111. }
  3112. return msg;
  3113. }
  3114. public string SaveSeizeMaterial2(string ID, string Type, string LotNoInfo, string obj)
  3115. {
  3116. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  3117. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  3118. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3119. string msg = "";
  3120. string sql = string.Empty;
  3121. string pikTbLogsql = string.Empty;
  3122. ID = string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(',');
  3123. string sqls = "";
  3124. try
  3125. {
  3126. #region 就逻辑
  3127. // #region 各单据sql
  3128. // if (Type == "1")
  3129. // {
  3130. // #region 工单备料sql
  3131. // sqls = @" select
  3132. // x.MergeID,
  3133. // c.MOCode as Code,
  3134. //c.Sequence+'~'+a.Sequence as Sequence,
  3135. // a.InvCode,
  3136. // b.InvName,
  3137. // b.InvStd,
  3138. // b.InvUnit,
  3139. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3140. // a.WhCode,
  3141. // a.ExtensionID,
  3142. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3143. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3144. // FROM
  3145. // ICSMOPick a
  3146. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3147. // inner join ICSMO c on a.MODetailID=c.MODetailID and a.WorkPoint=c.WorkPoint
  3148. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3149. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3150. // WHERE c.MOCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0) and a.EATTRIBUTE1<>'1'
  3151. // GROUP BY c.MOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,x.MergeID,a.ExtensionID,c.Sequence+'~'+a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3152. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3153. // #endregion
  3154. // }
  3155. // if (Type == "2")
  3156. // {
  3157. // #region 工单领料SQL
  3158. // sqls = @" select
  3159. // x.MergeID,
  3160. // a.ApplyCode as Code,
  3161. //a.Sequence,
  3162. // a.InvCode,
  3163. // b.InvName,
  3164. // b.InvStd,
  3165. //b.InvUnit,
  3166. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3167. // a.WhCode,
  3168. // a.ExtensionID,
  3169. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3170. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3171. // FROM
  3172. // ICSMOApply a
  3173. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3174. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3175. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3176. // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  3177. // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,x.MergeID,a.ExtensionID,a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3178. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3179. // #endregion
  3180. // }
  3181. // if (Type == "3")
  3182. // {
  3183. // #region 工单材料出库SQL
  3184. // sqls = @" select
  3185. // x.MergeID,
  3186. // a.IssueCode as Code,
  3187. //a.Sequence,
  3188. // a.InvCode,
  3189. // b.InvName,
  3190. // b.InvStd,
  3191. // b.InvUnit,
  3192. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3193. // a.WhCode,
  3194. // a.ExtensionID,
  3195. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3196. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3197. // FROM
  3198. // ICSMOIssue a
  3199. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3200. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3201. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3202. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  3203. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3204. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3205. // #endregion
  3206. // }
  3207. // if (Type == "4")
  3208. // {
  3209. // #region 委外备料SQL
  3210. // sqls = @" select
  3211. // x.MergeID,
  3212. // c.OOCode as Code,
  3213. //c.Sequence+'~'+a.Sequence as Sequence,
  3214. // a.InvCode,
  3215. // b.InvName,
  3216. // b.InvStd,
  3217. // b.InvUnit,
  3218. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3219. // a.WhCode,
  3220. // a.ExtensionID,
  3221. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3222. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3223. // FROM
  3224. // ICSOOPick a
  3225. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3226. // left join ICSOutsourcingOrder c on a.OODetailID=c.OODetailID and a.WorkPoint=c.WorkPoint
  3227. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3228. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3229. // WHERE c.OOCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  3230. // GROUP BY c.OOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID, x.MergeID,c.Sequence+'~'+a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3231. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3232. // #endregion
  3233. // }
  3234. // if (Type == "5")
  3235. // {
  3236. // #region 委外领料SQL
  3237. // sqls = @" select
  3238. // x.MergeID,
  3239. // a.ApplyCode as Code,
  3240. //a.Sequence,
  3241. // a.InvCode,
  3242. // b.InvName,
  3243. // b.InvStd,
  3244. // b.InvUnit,
  3245. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3246. // a.WhCode,
  3247. // a.ExtensionID,
  3248. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3249. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3250. // FROM
  3251. // ICSOApply a
  3252. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3253. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3254. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3255. // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  3256. // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID,a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3257. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3258. // #endregion
  3259. // }
  3260. // if (Type == "6")
  3261. // {
  3262. // #region 委外材料出库SQL
  3263. // sqls = @" select
  3264. // x.MergeID,
  3265. // a.IssueCode as Code,
  3266. //a.Sequence,
  3267. // a.InvCode,
  3268. // b.InvName,
  3269. // b.InvStd,
  3270. // b.InvUnit,
  3271. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3272. // a.WhCode,
  3273. // a.ExtensionID,
  3274. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3275. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3276. // FROM
  3277. // ICSOIssue a
  3278. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3279. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3280. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3281. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  3282. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3283. //,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3284. // #endregion
  3285. // }
  3286. // if (Type == "7")
  3287. // {
  3288. // #region 销售发货SQL
  3289. // sqls = @" select
  3290. // x.MergeID,
  3291. // a.SDNCode as Code,
  3292. //a.Sequence,
  3293. // a.InvCode,
  3294. // b.InvName,
  3295. // b.InvStd,
  3296. // b.InvUnit,
  3297. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3298. // a.WhCode,
  3299. // a.ExtensionID,
  3300. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3301. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3302. // FROM
  3303. // ICSSDN a
  3304. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3305. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3306. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3307. // WHERE a.SDNCode in ({0}) AND a.WorkPoint = '{1}' AND a.Type='1' AND ISNULL(a.Quantity, 0)>ISNULL(a.SDNQuantity, 0)
  3308. // GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3309. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3310. // #endregion
  3311. // }
  3312. // if (Type == "8")
  3313. // {
  3314. // #region 其它出库SQL
  3315. // sqls = @" select
  3316. // x.MergeID,
  3317. // a.OutCode as Code,
  3318. //a.Sequence,
  3319. // a.InvCode,
  3320. // b.InvName,
  3321. // b.InvStd,
  3322. // b.InvUnit,
  3323. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3324. // a.WhCode,
  3325. // a.ExtensionID,
  3326. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3327. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3328. // FROM
  3329. // ICSOtherOut a
  3330. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3331. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3332. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3333. // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.OutQuantity, 0)
  3334. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3335. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3336. // #endregion
  3337. // }
  3338. // if (Type == "9")
  3339. // {
  3340. // #region 借用SQL
  3341. // sqls = @" select
  3342. // x.MergeID,
  3343. // a.BrrowCode as Code,
  3344. //a.Sequence,
  3345. // a.InvCode,
  3346. // b.InvName,
  3347. // b.InvStd,
  3348. // b.InvUnit,
  3349. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3350. // a.WhCode,
  3351. // a.ExtensionID,
  3352. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3353. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3354. // FROM
  3355. // ICSBrrow a
  3356. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3357. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3358. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3359. // WHERE a.BrrowCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.BrrowQuantity, 0)
  3360. // GROUP BY a.BrrowCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3361. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3362. // #endregion
  3363. // }
  3364. // if (Type == "10")
  3365. // {
  3366. // #region 物料调拨
  3367. // sqls = @" select
  3368. // x.MergeID,
  3369. // a.TransferNO as Code,
  3370. //a.Sequence,
  3371. // a.InvCode,
  3372. // b.InvName,
  3373. // b.InvStd,
  3374. // b.InvUnit,
  3375. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3376. // a.FromWarehouseCode as WhCode,
  3377. // a.ExtensionID,
  3378. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3379. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3380. // FROM
  3381. // ICSTransfer a
  3382. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3383. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3384. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3385. // WHERE a.TransferNO in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.TransferQuantity, 0)
  3386. // GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID,x.MergeID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3387. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3388. // #endregion
  3389. // }
  3390. // if (Type == "11")
  3391. // {
  3392. // #region 两步调出
  3393. // sqls = @" select
  3394. // x.MergeID,
  3395. // a.OutCode as Code,
  3396. //a.Sequence,
  3397. // a.InvCode,
  3398. // b.InvName,
  3399. // b.InvStd,
  3400. // b.InvUnit,
  3401. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3402. // a.WHCode as WhCode,
  3403. // a.ExtensionID,
  3404. // f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3405. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3406. // FROM
  3407. // ICSOtherOut a
  3408. // INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  3409. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3410. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3411. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3412. // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.OutQuantity, 0)
  3413. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WHCode,a.ExtensionID,x.MergeID,a.Sequence, f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3414. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3415. // #endregion
  3416. // }
  3417. // if (Type == "12")
  3418. // {
  3419. // #region 补料SQL
  3420. // sqls = @" select
  3421. // x.MergeID,
  3422. // a.ReplenishmentCode as Code,
  3423. //a.Sequence,
  3424. // a.InvCode,
  3425. // b.InvName,
  3426. // b.InvStd,
  3427. //b.InvUnit,
  3428. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  3429. // a.WhCode,
  3430. // a.ExtensionID,
  3431. //f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3432. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3433. // FROM
  3434. // ICSMOReplenishment a
  3435. // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  3436. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  3437. // LEFT JOIN ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  3438. // WHERE a.ReplenishmentCode in ({0}) AND a.WorkPoint = '{1}' AND ISNULL(a.Quantity, 0)>ISNULL(a.IssueQuantity, 0)
  3439. // GROUP BY a.ReplenishmentCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,x.MergeID,a.ExtensionID,a.Sequence,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3440. // ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10";
  3441. // #endregion
  3442. // }
  3443. // #endregion
  3444. // sqls = string.Format(sqls, string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(','), WorkPoint);
  3445. // #region sql
  3446. // sql = $@"SELECT row_number() over (order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
  3447. // c.MergeID,
  3448. // c.Code,
  3449. //c.Sequence,
  3450. // c.InvCode,
  3451. // c.InvName,
  3452. // c.InvStd,
  3453. // c.InvUnit,
  3454. // FLOOR(c.iQuantity) AS iQuantity,
  3455. // d.WarehouseCode,
  3456. // d.LocationCode,
  3457. // d.LotNO,
  3458. // ISNULL(d.Quantity, 0) AS QTY,
  3459. // ISNULL(d.Quantity, 0) AS QTYLeft,
  3460. // CONVERT(decimal(18,6),0) AS SendQTY,
  3461. // d.LocationCode AS LocationCode,
  3462. // CONVERT(varchar(100),d.MTIME, 23) MTIME,
  3463. // f.QTYTotal QTYTotal,c.ExtensionID
  3464. // FROM
  3465. // ({sqls}) c
  3466. // inner join (select d.WarehouseCode,d.Quantity,d.INVCode, m.LotNo, d.MTIME,d.LocationCode,m.ExtensionID , f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  3467. //,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  3468. // from ICSWareHouseLotInfo d ,ICSInventoryLot m
  3469. // LEFT JOIN ICSExtension f on m.ExtensionID=f.ID and m.WorkPoint=f.WorkPoint
  3470. // where d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint
  3471. // and d.WorkPoint='{WorkPoint}' AND d.Quantity-d.LockQuantity>0 AND isnull(d.Quantity,0)>0 ) d
  3472. // on c.InvCode=d.INVCode
  3473. // AND (LEN(ISNULL(c.WHCode,''))<=0 OR (LEN(ISNULL(c.WHCode,''))>0 AND c.WHCode=d.WarehouseCode))
  3474. // AND (LEN(ISNULL(c.ProjectCode,''))<=0 OR (LEN(ISNULL(c.ProjectCode,''))>0 AND c.ProjectCode=d.ProjectCode))
  3475. // AND (LEN(ISNULL(c.BatchCode,''))<=0 OR (LEN(ISNULL(c.BatchCode,''))>0 AND c.BatchCode=d.BatchCode))
  3476. // AND (LEN(ISNULL(c.Version,''))<=0 OR (LEN(ISNULL(c.Version,''))>0 AND c.Version=d.Version))
  3477. // AND (LEN(ISNULL(c.Brand,''))<=0 OR (LEN(ISNULL(c.Brand,''))>0 AND c.Brand=d.Brand))
  3478. // AND (LEN(ISNULL(c.cFree1,''))<=0 OR (LEN(ISNULL(c.cFree1,''))>0 AND c.cFree1=d.cFree1))
  3479. // AND (LEN(ISNULL(c.cFree2,''))<=0 OR (LEN(ISNULL(c.cFree2,''))>0 AND c.cFree2=d.cFree2))
  3480. // AND (LEN(ISNULL(c.cFree3,''))<=0 OR (LEN(ISNULL(c.cFree3,''))>0 AND c.cFree3=d.cFree3))
  3481. // AND (LEN(ISNULL(c.cFree4,''))<=0 OR (LEN(ISNULL(c.cFree4,''))>0 AND c.cFree4=d.cFree4))
  3482. // AND (LEN(ISNULL(c.cFree5,''))<=0 OR (LEN(ISNULL(c.cFree5,''))>0 AND c.cFree5=d.cFree5))
  3483. // AND (LEN(ISNULL(c.cFree6,''))<=0 OR (LEN(ISNULL(c.cFree6,''))>0 AND c.cFree6=d.cFree6))
  3484. // AND (LEN(ISNULL(c.cFree7,''))<=0 OR (LEN(ISNULL(c.cFree7,''))>0 AND c.cFree7=d.cFree7))
  3485. // AND (LEN(ISNULL(c.cFree8,''))<=0 OR (LEN(ISNULL(c.cFree8,''))>0 AND c.cFree8=d.cFree8))
  3486. // AND (LEN(ISNULL(c.cFree9,''))<=0 OR (LEN(ISNULL(c.cFree9,''))>0 AND c.cFree9=d.cFree9))
  3487. // AND (LEN(ISNULL(c.cFree10,''))<=0 OR (LEN(ISNULL(c.cFree10,''))>0 AND c.cFree10=d.cFree10))
  3488. // LEFT JOIN (SELECT INVCode,WarehouseCode,SUM(Quantity) AS QTYTotal FROM ICSWareHouseLotInfo WHERE WorkPoint='{WorkPoint}' GROUP BY INVCode,WarehouseCode) f ON c.InvCode=f.INVCode AND c.WhCode=f.WarehouseCode
  3489. // order by c.Code,c.InvCode,c.Sequence,d.MTIME ";
  3490. // #endregion
  3491. // var dataset = Repository().FindDataSetBySql(sql);
  3492. // if (dataset.Tables[0].Rows.Count == 0)
  3493. // return null;
  3494. // DataTable table = dataset.Tables[0];
  3495. // decimal qtyCount = 0;
  3496. // bool remove = false;
  3497. // List<int> removeList = new List<int>();
  3498. // for (int i = 0; i < table.Rows.Count; i++)
  3499. // {
  3500. // if (i != 0
  3501. // && (!table.Rows[i]["InvCode"].ToString().Equals(table.Rows[i - 1]["InvCode"].ToString())
  3502. // || !table.Rows[i]["Sequence"].ToString().Equals(table.Rows[i - 1]["Sequence"].ToString())
  3503. // || !table.Rows[i]["Code"].ToString().Equals(table.Rows[i - 1]["Code"].ToString())
  3504. // || !table.Rows[i]["ExtensionID"].ToString().Equals(table.Rows[i - 1]["ExtensionID"].ToString()))
  3505. // )
  3506. // {
  3507. // qtyCount = 0;
  3508. // remove = false;
  3509. // }
  3510. // if (table.Rows[i]["QTYLeft"].ToString().ToDecimal() == 0)
  3511. // {
  3512. // removeList.Add(i);
  3513. // continue;
  3514. // }
  3515. // if (remove)
  3516. // {
  3517. // removeList.Add(i);
  3518. // }
  3519. // else
  3520. // {
  3521. // var lotQty = table.Rows[i]["QTYLeft"].ToString().ToDecimal();
  3522. // var orderQty = table.Rows[i]["iQuantity"].ToString().ToDecimal();
  3523. // qtyCount += lotQty;
  3524. // foreach (DataRow dr in table.Rows)
  3525. // {
  3526. // if (dr["LotNO"].ToString() == table.Rows[i]["LotNO"].ToString())
  3527. // {
  3528. // if (qtyCount > orderQty)
  3529. // {
  3530. // dr["QTYLeft"] = Convert.ToDecimal(qtyCount) - Convert.ToDecimal(orderQty);
  3531. // }
  3532. // else
  3533. // {
  3534. // dr["QTYLeft"] = 0;
  3535. // }
  3536. // }
  3537. // }
  3538. // if (qtyCount >= orderQty)
  3539. // {
  3540. // table.Rows[i]["SendQTY"] = Convert.ToDecimal(lotQty) - (Convert.ToDecimal(qtyCount) - Convert.ToDecimal(orderQty));
  3541. // remove = true;
  3542. // }
  3543. // else
  3544. // {
  3545. // table.Rows[i]["SendQTY"] = lotQty;
  3546. // }
  3547. // }
  3548. // }
  3549. // if (removeList.Count > 0)
  3550. // {
  3551. // removeList.Reverse();
  3552. // foreach (var item in removeList)
  3553. // {
  3554. // table.Rows.RemoveAt(item);
  3555. // }
  3556. // }
  3557. // try
  3558. // {
  3559. // decimal ZLQty = 0;
  3560. // decimal DJQty = 0;
  3561. // for (int i = 0; i < table.Rows.Count; i++)
  3562. // {
  3563. // ZLQty += Convert.ToDecimal(table.Rows[i]["SendQTY"].ToString());
  3564. // DJQty += Convert.ToDecimal(table.Rows[i]["iQuantity"].ToString());
  3565. // }
  3566. // if (ZLQty != DJQty)
  3567. // {
  3568. // throw new Exception("单据所匹配条码与单据数量不符,无法保存!");
  3569. // }
  3570. #endregion
  3571. var dataSet = JsonConvert.DeserializeObject<DataTable>(obj);
  3572. DataTable table = dataSet;
  3573. table = table.Select("LotNO<>''").CopyToDataTable();//排除空的条码
  3574. if (table.Rows.Count != 0)
  3575. {
  3576. #region 拣料时增加条码出入库记录,修改库存锁定数量,以作占料处理
  3577. string BusinessCode = string.Empty;
  3578. string TransType = string.Empty;
  3579. if (Type == "1") { BusinessCode = "13"; TransType = "生产发料-生产订单备料表"; }
  3580. if (Type == "2") { BusinessCode = "14"; TransType = "生产发料-领料申请单"; }
  3581. if (Type == "3") { BusinessCode = "15"; TransType = "生产发料-材料出库单"; }
  3582. if (Type == "4") { BusinessCode = "5"; TransType = "委外发料-委外订单备料表"; }
  3583. if (Type == "5") { BusinessCode = "6"; TransType = "委外发料-委外领料申请单"; }
  3584. if (Type == "6") { BusinessCode = "7"; TransType = "委外发料-委外材料出库单"; }
  3585. if (Type == "7") { BusinessCode = "19"; TransType = "销售发货-销售发货单"; }
  3586. if (Type == "8") { BusinessCode = "24"; TransType = "杂发"; }
  3587. if (Type == "9") { BusinessCode = "26"; TransType = "借用"; }
  3588. if (Type == "10") { BusinessCode = "46"; TransType = "调拨"; }
  3589. if (Type == "11") { BusinessCode = "22"; TransType = "两步调出"; }
  3590. if (Type == "12") { BusinessCode = "49"; TransType = "补料"; }
  3591. if (Type == "15") { BusinessCode = "54"; TransType = "红字其他入库"; }
  3592. if (Type == "16") { BusinessCode = "55"; TransType = "销售出库单"; }
  3593. string Identification = Guid.NewGuid().ToString();
  3594. var pikTbLogTime = DateTime.Now;
  3595. List<string> DocNoList = new List<string>();
  3596. pikTbLogsql = @"update b set b.LockQuantity=convert(decimal(18,6),b.LockQuantity)-convert(decimal(18,6),c.Quantity )
  3597. from dbo.ICSWareHouseLotInfo b
  3598. inner join (select sum(Quantity) as Quantity, LotNo from ICSWareHouseLotInfolog
  3599. where TransCode in ({0})and TransType='15' and WorkPoint='{1}' group by LotNo) c
  3600. on c.LotNo =b.LotNo
  3601. delete dbo.ICSWareHouseLotInfoLog where TransCode in({0}) and TransType='15' and WorkPoint='{1}'";
  3602. pikTbLogsql = string.Format(pikTbLogsql, ID, WorkPoint);
  3603. foreach (DataRow PickLog in table.Rows)
  3604. {
  3605. pikTbLogsql += @" IF EXISTS(SELECT a.LotNo FROM ICSWareHouseLotInfo a WHERE a.LotNo='{9}' AND a.WorkPoint='{8}' AND Quantity-LockQuantity-" + PickLog["SendQTY"].ToString() + @"<0)
  3606. BEGIN
  3607. RAISERROR(':" + PickLog["LotNO"].ToString() + @"',16,1);
  3608. RETURN
  3609. END
  3610. IF NOT EXISTS(SELECT TransCode FROM ICSWareHouseLotInfoLog WHERE TransCode='{1}' AND TransSequence='{2}' AND LotNo='{9}' AND WorkPoint='{8}' AND TransType='15')
  3611. BEGIN
  3612. INSERT INTO ICSWareHouseLotInfoLog(ID,Identification,TransCode,TransSequence,LotNo,InvCode,
  3613. FromWarehouseCode,FromLocationCode,ToWarehouseCode,ToLocationCode,Quantity,
  3614. Memo,Lock,TransType,BusinessCode,ERPUpload,ERPID,
  3615. ERPDetailID,ERPCode,ERPSequence,MUSER,MUSERName,
  3616. MTIME,WorkPoint,EATTRIBUTE1,MergeID)
  3617. SELECT NEWID(),'{0}','{1}','{2}',a.LotNo ,a.InvCode ,
  3618. a.WarehouseCode,a.LocationCode,'','','{3}',
  3619. '','1','15','{4}','0','',
  3620. '','','','{5}' ,'{6}' ,
  3621. '{7}' ,'{8}' ,'','{10}'
  3622. FROM ICSWareHouseLotInfo a
  3623. WHERE a.LotNo='{9}' AND a.WorkPoint='{8}'
  3624. update ICSWareHouseLotInfo set LockQuantity=LockQuantity+'{3}' where LotNo='{9}' AND WorkPoint='{8}'
  3625. END
  3626. UPDATE ICSMOApply SET MUSER='{6}' WHERE ApplyCode='{1}' and Sequence='{2}' ; ";
  3627. pikTbLogsql = string.Format(pikTbLogsql, Identification, PickLog["Code"].ToString(), PickLog["Sequence"].ToString(), PickLog["SendQTY"].ToString()
  3628. , BusinessCode, MUSER, MUSERNAME, pikTbLogTime, WorkPoint, PickLog["LotNO"].ToString(), PickLog["MergeID"].ToString());
  3629. }
  3630. #endregion
  3631. }
  3632. if (SqlHelper.CmdExecuteNonQueryLi(pikTbLogsql) > 0)
  3633. {
  3634. }
  3635. else
  3636. {
  3637. msg = "占料信息保存失败";
  3638. }
  3639. }
  3640. catch (Exception ex)
  3641. {
  3642. msg = ex.Message;
  3643. }
  3644. return msg;
  3645. }
  3646. public object SeachPickingListType(string Type)
  3647. {
  3648. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3649. string sql = @" select b.F_EnabledMark as flag from Sys_SRM_Items a left join Sys_SRM_ItemsDetail b on a.F_Id=b.F_ItemId
  3650. where a.F_EnCode='PL00001' and b.F_ItemCode='{0}' order by cast(b.F_SortCode as int) asc";
  3651. sql = string.Format(sql, Type);
  3652. object flag = SqlHelper.ExecuteScalar(sql);
  3653. return flag;
  3654. }
  3655. //查询占料(工单备料(工单子件))
  3656. public DataTable GetGridJsonSeizeM(string queryJson, ref Pagination jqgridparam)
  3657. {
  3658. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3659. DataTable dt = new DataTable();
  3660. var queryParam = queryJson.ToJObject();
  3661. List<DbParameter> parameter = new List<DbParameter>();
  3662. string sql = "";
  3663. #region [SQL]
  3664. sql = @"select distinct
  3665. a.MOCode as Code,a.CreateDateTime as MTIME,a.createperson as MUSER,d.MergeID AS IsNew,
  3666. case when k.TransCode is null then '' else '' end as IsOccupy
  3667. from ICSMO a
  3668. inner join ICSMOPick b on b.MODetailID=a.MODetailID and b.WorkPoint=a.WorkPoint
  3669. left join ICSMOPickMerge d on d.SourceID=b.ID and d.WorkPoint=b.WorkPoint
  3670. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.MOCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  3671. where a.MOStatus<>'3' and isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}'
  3672. ";
  3673. sql = string.Format(sql, WorkPoint);
  3674. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  3675. #endregion
  3676. #region 条件
  3677. if (!string.IsNullOrWhiteSpace(queryJson))
  3678. {
  3679. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  3680. {
  3681. sql += " and b.MOCode like '%" + queryParam["POCode"].ToString() + "%' ";
  3682. }
  3683. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  3684. {
  3685. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  3686. }
  3687. }
  3688. #endregion
  3689. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3690. }
  3691. //查询占料(工单备料(工单子件))子表查询
  3692. public DataTable GetSubGridJsonSeizeM1(string Code, ref Pagination jqgridparam)
  3693. {
  3694. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3695. DataTable dt = new DataTable();
  3696. //var queryParam = queryJson.ToJObject();
  3697. List<DbParameter> parameter = new List<DbParameter>();
  3698. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  3699. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  3700. from ICSMO k
  3701. inner join ICSMOPick d on d.MODetailID=k.MODetailID and d.WorkPoint=k.WorkPoint
  3702. left join ICSMOPickMerge e on d.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  3703. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.MOCode and d.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  3704. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  3705. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  3706. where k.MOStatus<>'3' and k.MOCode='{0}' and a.WorkPoint='{1}'";
  3707. sql = string.Format(sql, Code, WorkPoint);
  3708. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3709. }
  3710. //查询占料(工单备料(工单子件))子表查询
  3711. public DataTable GetSubGridJsonSeizeM3(string Code, ref Pagination jqgridparam)
  3712. {
  3713. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3714. DataTable dt = new DataTable();
  3715. //var queryParam = queryJson.ToJObject();
  3716. List<DbParameter> parameter = new List<DbParameter>();
  3717. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  3718. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  3719. from ICSMO k
  3720. inner join ICSMOPick d on d.MODetailID=k.MODetailID and d.WorkPoint=k.WorkPoint
  3721. left join ICSMOPickMerge e on d.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  3722. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.MOCode and d.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  3723. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  3724. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  3725. where k.MOStatus<>'3' and k.MOCode='{0}' and a.WorkPoint='{1}'";
  3726. sql = string.Format(sql, Code, WorkPoint);
  3727. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3728. }
  3729. //查询占料(工单领料(发料申请))
  3730. public DataTable GetGridJsonSeizeM2(string queryJson, ref Pagination jqgridparam)
  3731. {
  3732. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3733. DataTable dt = new DataTable();
  3734. var queryParam = queryJson.ToJObject();
  3735. List<DbParameter> parameter = new List<DbParameter>();
  3736. string sql = "";
  3737. #region [SQL]
  3738. sql = @"
  3739. select distinct a.ApplyCode as Code,a.CreateDateTime as MTIME,a.createperson as MUSER,e.MergeID AS IsNew,
  3740. case when k.TransCode is null then '' else '' end as IsOccupy
  3741. from ICSMOApply a
  3742. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  3743. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.ApplyCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  3744. where isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}'";
  3745. sql = string.Format(sql, WorkPoint);
  3746. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  3747. #endregion
  3748. #region 条件
  3749. if (!string.IsNullOrWhiteSpace(queryJson))
  3750. {
  3751. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  3752. {
  3753. sql += " and a.ApplyCode like '%" + queryParam["POCode"].ToString() + "%' ";
  3754. }
  3755. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  3756. {
  3757. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  3758. }
  3759. }
  3760. #endregion
  3761. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3762. }
  3763. //查询占料(工单领料(发料申请))子表查询
  3764. public DataTable GetSubGridJsonSeizeM2(string Code, ref Pagination jqgridparam)
  3765. {
  3766. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3767. DataTable dt = new DataTable();
  3768. //var queryParam = queryJson.ToJObject();
  3769. List<DbParameter> parameter = new List<DbParameter>();
  3770. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  3771. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  3772. from ICSMOApply k
  3773. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  3774. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.ApplyCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  3775. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  3776. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  3777. where k.ApplyCode='{0}' and a.WorkPoint='{1}'";
  3778. sql = string.Format(sql, Code, WorkPoint);
  3779. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3780. }
  3781. //查询占料(工单材料出库(材料出库))
  3782. public DataTable GetGridJsonSeizeM3(string queryJson, ref Pagination jqgridparam)
  3783. {
  3784. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3785. DataTable dt = new DataTable();
  3786. var queryParam = queryJson.ToJObject();
  3787. List<DbParameter> parameter = new List<DbParameter>();
  3788. string sql = "";
  3789. #region [SQL]
  3790. sql = @"select distinct a.IssueCode as Code,a.CreateDateTime as MTIME,a.createperson as MUSER,e.MergeID AS IsNew,
  3791. case when k.TransCode is null then '' else '' end as IsOccupy
  3792. from ICSMOIssue a
  3793. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  3794. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.IssueCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  3795. where isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}'";
  3796. sql = string.Format(sql, WorkPoint);
  3797. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  3798. #endregion
  3799. #region 条件
  3800. if (!string.IsNullOrWhiteSpace(queryJson))
  3801. {
  3802. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  3803. {
  3804. sql += " and a.IssueCode like '%" + queryParam["POCode"].ToString() + "%' ";
  3805. }
  3806. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  3807. {
  3808. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  3809. }
  3810. }
  3811. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  3812. {
  3813. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  3814. }
  3815. #endregion
  3816. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3817. }
  3818. //查询占料(工单材料出库(材料出库))子表查询
  3819. public DataTable GetSubGridJsonSeizeM3(string Code)
  3820. {
  3821. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3822. DataTable dt = new DataTable();
  3823. //var queryParam = queryJson.ToJObject();
  3824. List<DbParameter> parameter = new List<DbParameter>();
  3825. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  3826. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  3827. from ICSMOApply k
  3828. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  3829. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.ApplyCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  3830. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  3831. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  3832. where k.ApplyCode='{0}' and a.WorkPoint='{1}'";
  3833. sql = string.Format(sql, Code, WorkPoint);
  3834. return Repository().FindTableBySql(sql.ToString());
  3835. }
  3836. //查询占料(委外备料(委外备料))
  3837. public DataTable GetGridJsonSeizeM4(string queryJson, ref Pagination jqgridparam)
  3838. {
  3839. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3840. DataTable dt = new DataTable();
  3841. var queryParam = queryJson.ToJObject();
  3842. List<DbParameter> parameter = new List<DbParameter>();
  3843. string sql = "";
  3844. #region [SQL]
  3845. sql = @"select distinct b.OOCode as Code, b.CreateDateTime as MTIME,b.CreatePerson as MUSER,e.MergeID AS IsNew,
  3846. case when k.TransCode is null then '' else '' end as IsOccupy
  3847. from ICSOOPick a
  3848. inner join ICSOutsourcingOrder b on a.OODetailID=b.OODetailID and a.WorkPoint=b.WorkPoint
  3849. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  3850. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on b.OOCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  3851. WHERE isnull(k.TransCode,'')<>'' and b.WorkPoint='{0}'";
  3852. sql = string.Format(sql, WorkPoint);
  3853. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  3854. #endregion
  3855. #region 条件
  3856. if (!string.IsNullOrWhiteSpace(queryJson))
  3857. {
  3858. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  3859. {
  3860. sql += " and a.OOCode like '%" + queryParam["POCode"].ToString() + "%' ";
  3861. }
  3862. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  3863. {
  3864. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  3865. }
  3866. }
  3867. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  3868. {
  3869. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  3870. }
  3871. #endregion
  3872. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3873. }
  3874. //查询占料(委外备料(委外备料))子表查询
  3875. public DataTable GetSubGridJsonSeizeM4(string Code, ref Pagination jqgridparam)
  3876. {
  3877. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3878. DataTable dt = new DataTable();
  3879. //var queryParam = queryJson.ToJObject();
  3880. List<DbParameter> parameter = new List<DbParameter>();
  3881. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  3882. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  3883. from ICSOOPick k
  3884. inner join ICSOutsourcingOrder d on k.OODetailID=d.OODetailID and k.WorkPoint=d.WorkPoint
  3885. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  3886. inner join ICSWareHouseLotInfoLog a on a.TransCode=d.OOCode and d.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  3887. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  3888. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  3889. where d.OOCode='{0}' and a.WorkPoint='{1}'";
  3890. sql = string.Format(sql, Code, WorkPoint);
  3891. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3892. }
  3893. //查询占料(委外领料(委外发料申请))
  3894. public DataTable GetGridJsonSeizeM5(string queryJson, ref Pagination jqgridparam)
  3895. {
  3896. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3897. DataTable dt = new DataTable();
  3898. var queryParam = queryJson.ToJObject();
  3899. List<DbParameter> parameter = new List<DbParameter>();
  3900. string sql = "";
  3901. #region [SQL]
  3902. sql = @"select distinct a.ApplyCode as Code, a.CreateDateTime as MTIME,a.CreatePerson as MUSER,e.MergeID AS IsNew,
  3903. case when k.TransCode is null then '' else '' end as IsOccupy
  3904. from ICSOApply a
  3905. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  3906. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.ApplyCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  3907. where isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}'";
  3908. sql = string.Format(sql, WorkPoint);
  3909. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  3910. #endregion
  3911. #region 条件
  3912. if (!string.IsNullOrWhiteSpace(queryJson))
  3913. {
  3914. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  3915. {
  3916. sql += " and a.ApplyCode like '%" + queryParam["POCode"].ToString() + "%' ";
  3917. }
  3918. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  3919. {
  3920. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  3921. }
  3922. }
  3923. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  3924. {
  3925. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  3926. }
  3927. #endregion
  3928. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3929. }
  3930. //查询占料(委外领料(委外发料申请))子表查询
  3931. public DataTable GetSubGridJsonSeizeM5(string Code, ref Pagination jqgridparam)
  3932. {
  3933. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3934. DataTable dt = new DataTable();
  3935. //var queryParam = queryJson.ToJObject();
  3936. List<DbParameter> parameter = new List<DbParameter>();
  3937. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  3938. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  3939. from ICSOApply k
  3940. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  3941. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.ApplyCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  3942. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  3943. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  3944. where k.ApplyCode='{0}' and a.WorkPoint='{1}'";
  3945. sql = string.Format(sql, Code, WorkPoint);
  3946. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3947. }
  3948. //查询占料(委外材料出库(委外发料申请))
  3949. public DataTable GetGridJsonSeizeM6(string queryJson, ref Pagination jqgridparam)
  3950. {
  3951. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3952. DataTable dt = new DataTable();
  3953. var queryParam = queryJson.ToJObject();
  3954. List<DbParameter> parameter = new List<DbParameter>();
  3955. string sql = "";
  3956. #region [SQL]
  3957. sql = @"select distinct a.IssueCode as Code, a.CreateDateTime as MTIME,a.CreatePerson as MUSER,e.MergeID AS IsNew,
  3958. case when k.TransCode is null then '' else '' end as IsOccupy
  3959. from ICSOIssue a
  3960. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  3961. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.IssueCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  3962. where isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}'
  3963. ";
  3964. sql = string.Format(sql, WorkPoint);
  3965. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  3966. #endregion
  3967. #region 条件
  3968. if (!string.IsNullOrWhiteSpace(queryJson))
  3969. {
  3970. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  3971. {
  3972. sql += " and a.IssueCode like '%" + queryParam["POCode"].ToString() + "%' ";
  3973. }
  3974. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  3975. {
  3976. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  3977. }
  3978. }
  3979. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  3980. {
  3981. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  3982. }
  3983. #endregion
  3984. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  3985. }
  3986. //查询占料(委外材料出库(委外发料申请))子表查询
  3987. public DataTable GetSubGridJsonSeizeM6(string Code, ref Pagination jqgridparam)
  3988. {
  3989. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  3990. DataTable dt = new DataTable();
  3991. //var queryParam = queryJson.ToJObject();
  3992. List<DbParameter> parameter = new List<DbParameter>();
  3993. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  3994. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  3995. from ICSOIssue k
  3996. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  3997. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.IssueCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  3998. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  3999. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  4000. where k.IssueCode='{0}' and a.WorkPoint='{1}'";
  4001. sql = string.Format(sql, Code, WorkPoint);
  4002. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4003. }
  4004. //查询占料(销售发货(销售发货))
  4005. public DataTable GetGridJsonSeizeM7(string queryJson, ref Pagination jqgridparam)
  4006. {
  4007. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4008. DataTable dt = new DataTable();
  4009. var queryParam = queryJson.ToJObject();
  4010. List<DbParameter> parameter = new List<DbParameter>();
  4011. string sql = "";
  4012. #region [SQL]
  4013. sql = @"select distinct a.SDNCode as Code, a.CreateDateTime as MTIME,a.CreatePerson as MUSER,e.MergeID AS IsNew,
  4014. case when k.TransCode is null then '' else '' end as IsOccupy
  4015. from ICSSDN a
  4016. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  4017. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.SDNCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  4018. where isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}'";
  4019. sql = string.Format(sql, WorkPoint);
  4020. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  4021. #endregion
  4022. #region 条件
  4023. if (!string.IsNullOrWhiteSpace(queryJson))
  4024. {
  4025. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  4026. {
  4027. sql += " and a.SDNCode like '%" + queryParam["POCode"].ToString() + "%' ";
  4028. }
  4029. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  4030. {
  4031. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  4032. }
  4033. }
  4034. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  4035. {
  4036. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  4037. }
  4038. #endregion
  4039. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4040. }
  4041. //查询占料(销售发货(销售发货))子表查询
  4042. public DataTable GetSubGridJsonSeizeM7(string Code, ref Pagination jqgridparam)
  4043. {
  4044. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4045. DataTable dt = new DataTable();
  4046. //var queryParam = queryJson.ToJObject();
  4047. List<DbParameter> parameter = new List<DbParameter>();
  4048. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  4049. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  4050. from ICSSDN k
  4051. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  4052. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.SDNCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  4053. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  4054. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  4055. where k.SDNCode='{0}' and a.WorkPoint='{1}'";
  4056. sql = string.Format(sql, Code, WorkPoint);
  4057. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4058. }
  4059. //查询占料(其它出库(其它出库))
  4060. public DataTable GetGridJsonSeizeM8(string queryJson, ref Pagination jqgridparam)
  4061. {
  4062. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4063. DataTable dt = new DataTable();
  4064. var queryParam = queryJson.ToJObject();
  4065. List<DbParameter> parameter = new List<DbParameter>();
  4066. string sql = "";
  4067. #region [SQL]
  4068. sql = @"select distinct a.OutCode as Code, a.CreateDateTime as MTIME,a.CreatePerson as MUSER,e.MergeID AS IsNew,
  4069. case when k.TransCode is null then '' else '' end as IsOccupy
  4070. from ICSOtherOut a
  4071. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  4072. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.OutCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  4073. where isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}'";
  4074. sql = string.Format(sql, WorkPoint);
  4075. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  4076. #endregion
  4077. #region 条件
  4078. if (!string.IsNullOrWhiteSpace(queryJson))
  4079. {
  4080. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  4081. {
  4082. sql += " and a.OutCode like '%" + queryParam["POCode"].ToString() + "%' ";
  4083. }
  4084. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  4085. {
  4086. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  4087. }
  4088. }
  4089. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  4090. {
  4091. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  4092. }
  4093. #endregion
  4094. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4095. }
  4096. //查询占料(其它出库(其它出库))子表查询
  4097. public DataTable GetSubGridJsonSeizeM8(string Code, ref Pagination jqgridparam)
  4098. {
  4099. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4100. DataTable dt = new DataTable();
  4101. //var queryParam = queryJson.ToJObject();
  4102. List<DbParameter> parameter = new List<DbParameter>();
  4103. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  4104. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  4105. from ICSOtherOut k
  4106. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  4107. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.OutCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  4108. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  4109. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  4110. where k.OutCode='{0}' and a.WorkPoint='{1}'";
  4111. sql = string.Format(sql, Code, WorkPoint);
  4112. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4113. }
  4114. //查询占料(借用(借用))
  4115. public DataTable GetGridJsonSeizeM9(string queryJson, ref Pagination jqgridparam)
  4116. {
  4117. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4118. DataTable dt = new DataTable();
  4119. var queryParam = queryJson.ToJObject();
  4120. List<DbParameter> parameter = new List<DbParameter>();
  4121. string sql = "";
  4122. #region [SQL]
  4123. sql = @"select distinct a.BrrowCode as Code, a.CreateDateTime as MTIME,a.CreatePerson as MUSER,e.MergeID AS IsNew,
  4124. case when k.TransCode is null then '' else '' end as IsOccupy
  4125. from ICSBrrow a
  4126. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  4127. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.BrrowCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  4128. where isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}'";
  4129. sql = string.Format(sql, WorkPoint);
  4130. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  4131. #endregion
  4132. #region 条件
  4133. if (!string.IsNullOrWhiteSpace(queryJson))
  4134. {
  4135. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  4136. {
  4137. sql += " and a.BrrowCode like '%" + queryParam["POCode"].ToString() + "%' ";
  4138. }
  4139. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  4140. {
  4141. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  4142. }
  4143. }
  4144. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  4145. {
  4146. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  4147. }
  4148. #endregion
  4149. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4150. }
  4151. //查询占料(借用(借用))子表查询
  4152. public DataTable GetSubGridJsonSeizeM9(string Code, ref Pagination jqgridparam)
  4153. {
  4154. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4155. DataTable dt = new DataTable();
  4156. //var queryParam = queryJson.ToJObject();
  4157. List<DbParameter> parameter = new List<DbParameter>();
  4158. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  4159. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  4160. from ICSBrrow k
  4161. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  4162. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.BrrowCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  4163. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  4164. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  4165. where k.BrrowCode='{0}' and a.WorkPoint='{1}'";
  4166. sql = string.Format(sql, Code, WorkPoint);
  4167. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4168. }
  4169. //查询占料(物料调拨)
  4170. public DataTable GetGridJsonSeizeM10(string queryJson, ref Pagination jqgridparam)
  4171. {
  4172. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4173. DataTable dt = new DataTable();
  4174. var queryParam = queryJson.ToJObject();
  4175. List<DbParameter> parameter = new List<DbParameter>();
  4176. string sql = "";
  4177. #region [SQL]
  4178. sql = @"select distinct a.TransferNO as Code, a.CreateDateTime as MTIME,a.CreatePerson as MUSER,e.MergeID AS IsNew,
  4179. case when k.TransCode is null then '' else '' end as IsOccupy
  4180. from ICSTransfer a
  4181. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  4182. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.TransferNO=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  4183. where isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}' and a.Status='1'";
  4184. sql = string.Format(sql, WorkPoint);
  4185. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  4186. #endregion
  4187. #region 条件
  4188. if (!string.IsNullOrWhiteSpace(queryJson))
  4189. {
  4190. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  4191. {
  4192. sql += " and a.BrrowCode like '%" + queryParam["POCode"].ToString() + "%' ";
  4193. }
  4194. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  4195. {
  4196. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  4197. }
  4198. }
  4199. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  4200. {
  4201. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  4202. }
  4203. #endregion
  4204. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4205. }
  4206. //查询占料(物料调拨)子表查询
  4207. public DataTable GetSubGridJsonSeizeM10(string Code, ref Pagination jqgridparam)
  4208. {
  4209. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4210. DataTable dt = new DataTable();
  4211. //var queryParam = queryJson.ToJObject();
  4212. List<DbParameter> parameter = new List<DbParameter>();
  4213. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  4214. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  4215. from ICSTransfer k
  4216. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  4217. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.TransferNO and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  4218. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  4219. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  4220. where k.TransferNO='{0}' and a.WorkPoint='{1}'";
  4221. sql = string.Format(sql, Code, WorkPoint);
  4222. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4223. }
  4224. //两步调拨
  4225. public DataTable GetGridJsonSeizeM11(string queryJson, ref Pagination jqgridparam)
  4226. {
  4227. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4228. DataTable dt = new DataTable();
  4229. var queryParam = queryJson.ToJObject();
  4230. List<DbParameter> parameter = new List<DbParameter>();
  4231. string sql = "";
  4232. #region [SQL]
  4233. sql = @"select distinct a.OutCode as Code, a.CreateDateTime as MTIME,a.CreatePerson as MUSER,e.MergeID AS IsNew,
  4234. case when k.TransCode is null then '' else '' end as IsOccupy
  4235. FROM ICSOtherOut a
  4236. INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  4237. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  4238. left join (select distinct TransCode,TransType,WorkPoint from dbo.ICSWareHouseLotInfoLog ) k on a.OutCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='15'
  4239. where isnull(k.TransCode,'')<>'' and a.WorkPoint='{0}' and a.Status='2'";
  4240. sql = string.Format(sql, WorkPoint);
  4241. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  4242. #endregion
  4243. #region 条件
  4244. if (!string.IsNullOrWhiteSpace(queryJson))
  4245. {
  4246. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  4247. {
  4248. sql += " and a.BrrowCode like '%" + queryParam["POCode"].ToString() + "%' ";
  4249. }
  4250. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  4251. {
  4252. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  4253. }
  4254. }
  4255. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  4256. {
  4257. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  4258. }
  4259. #endregion
  4260. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4261. }
  4262. //查询占料(物料调拨)子表查询
  4263. public DataTable GetSubGridJsonSeizeM11(string Code, ref Pagination jqgridparam)
  4264. {
  4265. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4266. DataTable dt = new DataTable();
  4267. //var queryParam = queryJson.ToJObject();
  4268. List<DbParameter> parameter = new List<DbParameter>();
  4269. string sql = @"select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  4270. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  4271. FROM ICSOtherOut k
  4272. INNER JOIN ICSTransfer tra ON k.TransferDetailID=tra.TransferDetailID AND k.WorkPoint=tra.WorkPoint
  4273. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  4274. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.OutCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  4275. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  4276. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  4277. where k.OutCode='{0}' and a.WorkPoint='{1}'";
  4278. sql = string.Format(sql, Code, WorkPoint);
  4279. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4280. }
  4281. //查询占料(红字其他入库)子表查询
  4282. public DataTable GetSubGridJsonSeizeM15(string Code, ref Pagination jqgridparam)
  4283. {
  4284. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4285. DataTable dt = new DataTable();
  4286. List<DbParameter> parameter = new List<DbParameter>();
  4287. string sql = @" select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode, b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  4288. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  4289. FROM ICSOtherIn k
  4290. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  4291. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.InCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  4292. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  4293. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  4294. where k.InCode='{0}' and a.WorkPoint='{1}' and a.EATTRIBUTE2='2'";
  4295. sql = string.Format(sql, Code, WorkPoint);
  4296. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4297. }
  4298. //查询占料(销售出库单)子表查询
  4299. public DataTable GetSubGridJsonSeizeM16(string Code, ref Pagination jqgridparam)
  4300. {
  4301. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4302. DataTable dt = new DataTable();
  4303. List<DbParameter> parameter = new List<DbParameter>();
  4304. string sql = @"
  4305. select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode,
  4306. b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  4307. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  4308. FROM ICSSSD k
  4309. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  4310. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.SSDCode and k.Sequence=a.TransSequence and a.TransType='15' and a.WorkPoint=k.WorkPoint
  4311. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  4312. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  4313. where k.SSDCode='{0}' and a.WorkPoint='{1}' and k.Type = '1'";
  4314. sql = string.Format(sql, Code, WorkPoint);
  4315. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4316. }
  4317. //删除占料
  4318. public string DelPickLog(string objCode)
  4319. {
  4320. //站点信息
  4321. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4322. string msg = "";
  4323. objCode = objCode.Substring(1, objCode.Length - 2);
  4324. string sql = string.Empty;
  4325. sql += string.Format(@" update b set b.LockQuantity=convert(decimal(18,6),b.LockQuantity)-convert(decimal(18,6),c.Quantity )
  4326. from dbo.ICSWareHouseLotInfo b
  4327. inner join (select sum(Quantity) as Quantity, LotNo from ICSWareHouseLotInfolog where TransCode in ({0})and TransType='15' and WorkPoint='{1}' group by LotNo) c
  4328. on c.LotNo =b.LotNo ", objCode.TrimEnd(','), WorkPoint);
  4329. sql += string.Format(@" delete dbo.ICSWareHouseLotInfoLog where TransCode in({0}) and TransType='15' and WorkPoint='{1}'", objCode.TrimEnd(','), WorkPoint);
  4330. try
  4331. {
  4332. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  4333. {
  4334. }
  4335. }
  4336. catch (Exception ex)
  4337. {
  4338. throw new Exception(ex.Message);
  4339. }
  4340. return msg;
  4341. }
  4342. //补料
  4343. public DataTable GetGridJson12(string queryJson, ref Pagination jqgridparam)
  4344. {
  4345. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4346. DataTable dt = new DataTable();
  4347. var queryParam = queryJson.ToJObject();
  4348. List<DbParameter> parameter = new List<DbParameter>();
  4349. string sql = "";
  4350. #region [SQL]
  4351. sql = @"
  4352. select distinct a.ReplenishmentCode as Code
  4353. ,a.CreateDateTime as MTIME
  4354. ,a.createperson as MUSER
  4355. ,e.MergeID AS IsNew
  4356. ,case when k.TransCode is null then '' else '' end as IsOccupy
  4357. from ICSMOReplenishment a
  4358. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  4359. left join (select distinct TransCode
  4360. ,TransType
  4361. ,WorkPoint
  4362. from dbo.ICSWareHouseLotInfoLog
  4363. ) k on a.ReplenishmentCode=k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='3'
  4364. left join (SELECT ReplenishmentCode,case when sum(Quantity) <=sum(IssueQuantity) then ''else '' end as Status
  4365. from ICSMOReplenishment
  4366. where WorkPoint='{0}' group by ReplenishmentCode,MUSERName
  4367. ) g on a.ReplenishmentCode = g.ReplenishmentCode
  4368. where a.WorkPoint='{0}'";
  4369. sql = string.Format(sql, WorkPoint);
  4370. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  4371. #endregion
  4372. if (!string.IsNullOrWhiteSpace(queryJson))
  4373. {
  4374. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  4375. {
  4376. sql += " and a.ApplyCode like '%" + queryParam["POCode"].ToString() + "%' ";
  4377. }
  4378. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  4379. {
  4380. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  4381. }
  4382. if (queryParam["Status"].ToString() == "1")
  4383. {
  4384. sql += " AND g.Status='已发料' ";
  4385. }
  4386. else if (queryParam["Status"].ToString() == "2")
  4387. {
  4388. sql += " AND g.Status='未发料'";
  4389. }
  4390. }
  4391. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4392. }
  4393. //补料子表查询
  4394. public DataTable GetSubGridJson12(string Code, string InvCode, ref Pagination jqgridparam)
  4395. {
  4396. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4397. DataTable dt = new DataTable();
  4398. //var queryParam = queryJson.ToJObject();
  4399. List<DbParameter> parameter = new List<DbParameter>();
  4400. string sql = @" select a.ID,a.ReplenishmentCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,b.WarehouseName ,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  4401. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  4402. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  4403. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  4404. from ICSMOReplenishment a
  4405. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  4406. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  4407. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  4408. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  4409. where a.ReplenishmentCode='{0}' and a.WorkPoint='{1}'";
  4410. if (!string.IsNullOrWhiteSpace(InvCode))
  4411. {
  4412. sql += " and a.InvCode = '" + InvCode + "' ";
  4413. }
  4414. sql = string.Format(sql, Code, WorkPoint);
  4415. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4416. }
  4417. //调拨申请单
  4418. public DataTable GetGridJson17(string queryJson, ref Pagination jqgridparam)
  4419. {
  4420. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4421. DataTable dt = new DataTable();
  4422. var queryParam = queryJson.ToJObject();
  4423. List<DbParameter> parameter = new List<DbParameter>();
  4424. string sql = "";
  4425. #region [SQL]
  4426. sql = @"select distinct a.TransferNO as Code
  4427. , a.CreateDateTime as MTIME
  4428. ,a.CreatePerson as MUSER
  4429. ,e.MergeID AS IsNew
  4430. ,case when k.TransCode is null then '' else '' end as IsOccupy
  4431. FROM ICSTransferApplication a
  4432. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  4433. left join (select distinct TransCode
  4434. ,TransType
  4435. ,WorkPoint
  4436. from dbo.ICSWareHouseLotInfoLog
  4437. ) k on a.TransferNO = k.TransCode and a.WorkPoint=k.WorkPoint and k.TransType='47'
  4438. left join (SELECT TransferNO,case when sum(Quantity) <=sum(TransferQuantity) then ''else '' end as Status
  4439. from ICSTransferApplication
  4440. where WorkPoint='{0}' and Type = '1' group by TransferNO,MUSERName
  4441. ) g on a.TransferNO = g.TransferNO
  4442. where a.WorkPoint='{0}' and a.Status='2' ";
  4443. sql = string.Format(sql, WorkPoint);
  4444. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  4445. #endregion
  4446. if (!string.IsNullOrWhiteSpace(queryJson))
  4447. {
  4448. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  4449. {
  4450. sql += " and a.TransferNO like '%" + queryParam["POCode"].ToString() + "%' ";
  4451. }
  4452. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  4453. {
  4454. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  4455. }
  4456. }
  4457. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  4458. {
  4459. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  4460. }
  4461. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4462. }
  4463. //调拨申请单子表
  4464. public DataTable GetSubGridJson17(string Code, string InvCode, ref Pagination jqgridparam)
  4465. {
  4466. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4467. DataTable dt = new DataTable();
  4468. //var queryParam = queryJson.ToJObject();
  4469. List<DbParameter> parameter = new List<DbParameter>();
  4470. string sql = @" select a.ID,a.TransferNO as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.FromWarehouseCode ,b.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  4471. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  4472. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  4473. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.TransferQuantity as IssueQuantity
  4474. FROM ICSTransferApplication a
  4475. left join ICSWarehouse b on a.FromWarehouseCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  4476. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  4477. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  4478. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  4479. where a.TransferNO='{0}' and b.WorkPoint='{1}' and a.Status='2' ";
  4480. if (!string.IsNullOrWhiteSpace(InvCode))
  4481. {
  4482. sql += " and a.InvCode = '" + InvCode + "' ";
  4483. }
  4484. sql = string.Format(sql, Code, WorkPoint);
  4485. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4486. }
  4487. //查询占料(调拨申请单)子表查询
  4488. public DataTable GetSubGridJsonSeizeM17(string Code, ref Pagination jqgridparam)
  4489. {
  4490. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  4491. DataTable dt = new DataTable();
  4492. List<DbParameter> parameter = new List<DbParameter>();
  4493. string sql = @"
  4494. select isnull(e.MergeID,'') as MergeID,a.TransCode as Code,a.TransSequence as Sequence,a.InvCode as InvCode,
  4495. b.InvName as InvName,b.InvStd as InvStd,b.InvUnit as InvSInvUnittd,a.Quantity as iQuantity,
  4496. a.FromWarehouseCode as WarehouseCode,a.FromLocationCode as LocationCode,a.LotNO,a.MTIME,c.Quantity as QTY
  4497. FROM ICSTransferApplication k
  4498. left join ICSMOPickMerge e on k.ID=e.SourceID and k.WorkPoint=e.WorkPoint
  4499. inner join ICSWareHouseLotInfoLog a on a.TransCode=k.TransferNO and k.Sequence=a.TransSequence and a.TransType='47' and a.WorkPoint=k.WorkPoint
  4500. left join dbo.ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  4501. left join dbo.ICSWareHouseLotInfo c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  4502. where k.TransferNO='{0}' and a.WorkPoint='{1}' and k.Type = '1'";
  4503. sql = string.Format(sql, Code, WorkPoint);
  4504. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  4505. }
  4506. }
  4507. }