纽威
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.

2134 lines
106 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. using NFine.Data.Extensions;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using NFine.Code;
  9. using NFine.Repository;
  10. using System.Data.Common;
  11. using NFine.Domain._03_Entity.SRM;
  12. using ICS.Application.Entity;
  13. using Newtonsoft.Json;
  14. using System.Configuration;
  15. using System.Data.SqlClient;
  16. using ICS.Data;
  17. namespace NFine.Application.WMS
  18. {
  19. public class PickMaterialApp : RepositoryFactory<ICSVendor>
  20. {
  21. public static DataTable Invmes = new DataTable();
  22. //工单备料(工单子件)
  23. public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam)
  24. {
  25. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  26. DataTable dt = new DataTable();
  27. var queryParam = queryJson.ToJObject();
  28. List<DbParameter> parameter = new List<DbParameter>();
  29. StringBuilder sqlstring = new StringBuilder();
  30. #region [SQL]
  31. // sql = @"select a.ID,b.MOCode as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.WHCode,c.WarehouseName,a.InvCode,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  32. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  33. //from ICSMOPick a
  34. //left join ICSMO b on a.MODetailID=b.MODetailID and a.WorkPoint=b.WorkPoint
  35. //left join ICSWarehouse c on a.WHCode=c.WarehouseCode and a.WorkPoint=c.WorkPoint
  36. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  37. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  38. // sql += " WHERE 1=1 and e.ID is null";
  39. sqlstring.Append($@"select a.MOCode as Code,a.CreateDateTime as MTIME,a.createperson as MUSER,
  40. case when max(d.SourceID) is null then '' else '' end as IsNew,
  41. f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,
  42. f.cFree2 ,f.cFree3 ,f.cFree4 ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  43. from ICSMO a
  44. inner join ICSMOPick b on b.MODetailID=a.MODetailID and b.WorkPoint=a.WorkPoint
  45. left join ICSMOPickMerge d on d.SourceID=b.ID and d.WorkPoint=b.WorkPoint
  46. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  47. where a.WorkPoint='{WorkPoint}' ");
  48. if (!string.IsNullOrWhiteSpace(queryJson))
  49. {
  50. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  51. {
  52. sqlstring.Append($" and a.MOCode like '%{queryParam["POCode"]}%' ");
  53. }
  54. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  55. {
  56. sqlstring.Append($" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  57. }
  58. }
  59. sqlstring.Append(@" group by a.MOCode, a.WorkPoint,a.CreateDateTime,a.createperson,f.Colspan,f.ProjectCode,
  60. f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4,
  61. f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10");
  62. #endregion
  63. return Repository().FindTablePageBySql(sqlstring.ToString(), parameter.ToArray(), ref jqgridparam);
  64. }
  65. //工单备料(工单子件)子表查询
  66. public DataTable GetSubGridJson1(string Code)
  67. {
  68. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  69. DataTable dt = new DataTable();
  70. //var queryParam = queryJson.ToJObject();
  71. List<DbParameter> parameter = new List<DbParameter>();
  72. 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,
  73. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  74. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  75. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  76. from ICSMOPick a
  77. left join ICSMO b on a.MODetailID=b.MODetailID and a.WorkPoint=b.WorkPoint
  78. left join ICSWarehouse c on a.WHCode=c.WarehouseCode and a.WorkPoint=c.WorkPoint
  79. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  80. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  81. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  82. where b.MOCode='{0}' and a.WorkPoint='{1}'";
  83. sql = string.Format(sql, Code, WorkPoint);
  84. return Repository().FindTableBySql(sql.ToString());
  85. }
  86. //工单领料(发料申请)
  87. public DataTable GetGridJson2(string queryJson, ref Pagination jqgridparam)
  88. {
  89. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  90. DataTable dt = new DataTable();
  91. var queryParam = queryJson.ToJObject();
  92. List<DbParameter> parameter = new List<DbParameter>();
  93. StringBuilder sqlString=new StringBuilder();
  94. #region [SQL]
  95. // 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,
  96. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  97. // from ICSMOApply a
  98. // left join ICSWarehouse b on a.WHCode = b.WarehouseCode and a.WorkPoint = b.WorkPoint
  99. // left join ICSInventory d on a.InvCode = d.InvCode and a.WorkPoint = d.WorkPoint
  100. // left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  101. sqlString.Append($@"
  102. SELECT * from (select row_number() over(partition by a.ApplyCode ORDER BY a.ApplyCode) as row,
  103. a.ApplyCode as Code,a.CreateDateTime as MTIME,a.createperson as MUSER,a.WHCode,b.EATTRIBUTE1 AS Area,
  104. case when max(e.SourceID) is null then '' else '' end as IsNew,f.Colspan ,
  105. f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,
  106. f.cFree4 ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10
  107. from ICSMOApply a
  108. left JOIN ICSInventory b ON b.InvCode=a.InvCode
  109. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  110. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  111. where a.WorkPoint='{WorkPoint}' ");
  112. if (!string.IsNullOrWhiteSpace(queryJson))
  113. {
  114. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  115. {
  116. sqlString.Append($@" and a.ApplyCode like '%{queryParam["POCode"]}%' ");
  117. }
  118. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  119. {
  120. sqlString.Append($@" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  121. }
  122. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  123. {
  124. sqlString.Append($@" and a.WHCode like '%{queryParam["WHCode"]}%' ");
  125. }
  126. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  127. {
  128. sqlString.Append($@" and b.EATTRIBUTE1 like '%{queryParam["Area"]}%' ");
  129. }
  130. }
  131. sqlString.Append(@" group by a.ApplyCode, a.WorkPoint,a.CreateDateTime,a.createperson,
  132. f.Colspan,f.ProjectCode,f.BatchCode,f.Version,f.Brand,f.cFree1,f.cFree2,
  133. f.cFree3,f.cFree4,f.cFree5,f.cFree6,f.cFree7,f.cFree8,f.cFree9,f.cFree10,a.WHCode,b.EATTRIBUTE1) as t where t.row=1");
  134. #endregion
  135. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  136. }
  137. //工单领料(发料申请)子表查询
  138. public DataTable GetSubGridJson2(string queryJson, string Code)
  139. {
  140. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  141. DataTable dt = new DataTable();
  142. var queryParam = queryJson.ToJObject();
  143. List<DbParameter> parameter = new List<DbParameter>();
  144. string sql = @"SELECT * FROM (select row_number() over(partition by a.ApplyCode,a.InvCode,a.Sequence ORDER BY a.ApplyCode) as row,
  145. 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,d.EATTRIBUTE1 AS Area,
  146. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  147. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  148. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  149. from ICSMOApply a
  150. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  151. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  152. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  153. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  154. where a.ApplyCode='{0}' and a.WorkPoint='{1}'";
  155. if (!string.IsNullOrWhiteSpace(queryJson))
  156. {
  157. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  158. {
  159. sql += " and a.WHCode like '%" + queryParam["WHCode"].ToString() + "%' ";
  160. }
  161. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  162. {
  163. sql += " and d.EATTRIBUTE1 like '%" + queryParam["Area"].ToString() + "%' ";
  164. }
  165. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  166. {
  167. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  168. }
  169. }
  170. sql += " ) c WHERE c.row=1 ";
  171. sql = string.Format(sql, Code, WorkPoint);
  172. return Repository().FindTableBySql(sql.ToString());
  173. }
  174. //工单材料出库(材料出库)
  175. public DataTable GetGridJson3(string queryJson, ref Pagination jqgridparam)
  176. {
  177. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  178. DataTable dt = new DataTable();
  179. var queryParam = queryJson.ToJObject();
  180. List<DbParameter> parameter = new List<DbParameter>();
  181. StringBuilder sqlString = new StringBuilder();
  182. #region [SQL]
  183. // 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,
  184. // case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  185. // from ICSMOIssue a
  186. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  187. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  188. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint ";
  189. // sql += " WHERE 1=1 and e.ID is null";
  190. sqlString.Append($@"SELECT * FROM(SELECT row_number ( ) OVER ( partition BY a.IssueCode ORDER BY a.IssueCode ) AS row,
  191. a.IssueCode as Code,a.CreateDateTime as MTIME,a.createperson as MUSER,
  192. case when max(e.SourceID) is null then '' else ''
  193. end as IsNew,f.Colspan,f.ProjectCode,f.BatchCode,f.Version,f.Brand,f.cFree1,f.cFree2,
  194. f.cFree3,f.cFree4,f.cFree5,f.cFree6,f.cFree7,f.cFree8,f.cFree9,f.cFree10
  195. from ICSMOIssue a
  196. left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  197. left join ICSExtension f on a.ExtensionID = f.ID and a.WorkPoint = f.WorkPoint
  198. where a.WorkPoint = '{WorkPoint}' ");
  199. if (!string.IsNullOrWhiteSpace(queryJson))
  200. {
  201. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  202. {
  203. sqlString.Append($@" and a.IssueCode like '%{queryParam["POCode"]}%' ");
  204. }
  205. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  206. {
  207. sqlString.Append($@" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  208. }
  209. }
  210. sqlString.Append(@"group by a.IssueCode,a.CreateDateTime,a.createperson,f.Colspan,f.ProjectCode,f.BatchCode,
  211. f.Version,f.Brand,f.cFree1,f.cFree2,f.cFree3,f.cFree4,f.cFree5,f.cFree6,f.cFree7,
  212. f.cFree8, f.cFree9, f.cFree10 ) AS t WHERE t.row= 1 ");
  213. #endregion
  214. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  215. }
  216. //工单材料出库(材料出库)子表查询
  217. public DataTable GetSubGridJson3(string Code)
  218. {
  219. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  220. DataTable dt = new DataTable();
  221. //var queryParam = queryJson.ToJObject();
  222. List<DbParameter> parameter = new List<DbParameter>();
  223. 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,
  224. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  225. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  226. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  227. from ICSMOIssue a
  228. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  229. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  230. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  231. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  232. where a.IssueCode='{0}' and a.WorkPoint='{1}'";
  233. sql = string.Format(sql, Code, WorkPoint);
  234. return Repository().FindTableBySql(sql.ToString());
  235. }
  236. //委外备料(委外备料)
  237. public DataTable GetGridJson4(string queryJson, ref Pagination jqgridparam)
  238. {
  239. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  240. DataTable dt = new DataTable();
  241. var queryParam = queryJson.ToJObject();
  242. List<DbParameter> parameter = new List<DbParameter>();
  243. StringBuilder sqlString = new StringBuilder();
  244. #region [SQL]
  245. sqlString.Append($@"select * from (select row_number() over(partition by b.OOCode order by b.OOCode) row, b.OOCode as Code,
  246. b.CreateDateTime as MTIME,
  247. b.CreatePerson as MUSER,
  248. case
  249. when max(e.SourceID) is null then ''
  250. else ''
  251. end as IsNew,
  252. f.Colspan,f.ProjectCode,f.BatchCode,f.Version,f.Brand,f.cFree1,f.cFree2,
  253. f.cFree3,f.cFree4,f.cFree5,f.cFree6,f.cFree7,f.cFree8,f.cFree9,f.cFree10
  254. from ICSOOPick a
  255. inner join ICSOutsourcingOrder b on a.OODetailID = b.OODetailID and a.WorkPoint = b.WorkPoint
  256. left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  257. left join ICSExtension f on a.ExtensionID = f.ID and a.WorkPoint = f.WorkPoint
  258. WHERE b.WorkPoint = '{WorkPoint}' ");
  259. if (!string.IsNullOrWhiteSpace(queryJson))
  260. {
  261. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  262. {
  263. sqlString.Append($@" and a.OOCode like '%{queryParam["POCode"]}%' ");
  264. }
  265. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  266. {
  267. sqlString.Append($@" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  268. }
  269. }
  270. sqlString.Append(@" group by b.OOCode,b.CreateDateTime,b.CreatePerson,f.Colspan ,f.ProjectCode ,
  271. f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4,
  272. f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10) t where t.row=1");
  273. #endregion
  274. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  275. }
  276. //委外备料(委外备料)子表查询
  277. public DataTable GetSubGridJson4(string Code)
  278. {
  279. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  280. DataTable dt = new DataTable();
  281. //var queryParam = queryJson.ToJObject();
  282. List<DbParameter> parameter = new List<DbParameter>();
  283. 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,
  284. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  285. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  286. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  287. from ICSOOPick a
  288. left join ICSOutsourcingOrder b on a.OODetailID=b.OODetailID and a.WorkPoint=b.WorkPoint
  289. left join ICSWarehouse c on a.WHCode=c.WarehouseCode and a.WorkPoint=c.WorkPoint
  290. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  291. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  292. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  293. where b.OOCode='{0}' and b.WorkPoint='{1}'";
  294. sql = string.Format(sql, Code, WorkPoint);
  295. return Repository().FindTableBySql(sql.ToString());
  296. }
  297. //委外领料(委外发料申请)
  298. public DataTable GetGridJson5(string queryJson, ref Pagination jqgridparam)
  299. {
  300. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  301. DataTable dt = new DataTable();
  302. var queryParam = queryJson.ToJObject();
  303. List<DbParameter> parameter = new List<DbParameter>();
  304. StringBuilder sqlString=new StringBuilder();
  305. #region [SQL]
  306. // 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,
  307. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  308. // from ICSOApply a
  309. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  310. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  311. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  312. // sql += " WHERE 1=1 and e.ID is null";
  313. sqlString.Append($@"select * from (select row_number() over (partition by a.ApplyCode order by a.ApplyCode ) row, a.ApplyCode as Code,a.CreateDateTime as MTIME,a.CreatePerson as MUSER,
  314. case when max(e.SourceID) is null then ''
  315. else ''
  316. end as IsNew,f.Colspan,f.ProjectCode,f.BatchCode,f.Version,f.Brand,f.cFree1,
  317. f.cFree2,f.cFree3,f.cFree4,f.cFree5,f.cFree6,f.cFree7,f.cFree8,f.cFree9,f.cFree10
  318. from ICSOApply a
  319. left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  320. left join ICSExtension f on a.ExtensionID = f.ID and a.WorkPoint = f.WorkPoint
  321. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  322. where a.WorkPoint = '{WorkPoint}'");
  323. if (!string.IsNullOrWhiteSpace(queryJson))
  324. {
  325. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  326. {
  327. sqlString.Append($@" and a.ApplyCode like '%{queryParam["POCode"]}%' ");
  328. }
  329. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  330. {
  331. sqlString.Append($@" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  332. }
  333. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  334. {
  335. sqlString.Append($@" and a.WHCode like '%{queryParam["WHCode"]}%' ");
  336. }
  337. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  338. {
  339. sqlString.Append($@" and d.EATTRIBUTE1 like '%{queryParam["Area"]}%' ");
  340. }
  341. }
  342. sqlString.Append(@"group by a.ApplyCode,a.CreateDateTime,a.CreatePerson,f.Colspan,f.ProjectCode,
  343. f.BatchCode,f.Version,f.Brand,f.cFree1,f.cFree2,f.cFree3,f.cFree4,f.cFree5,
  344. f.cFree6,f.cFree7,f.cFree8,f.cFree9,f.cFree10 ) t where row=1");
  345. #endregion
  346. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  347. }
  348. //委外领料(委外发料申请)子表查询
  349. public DataTable GetSubGridJson5(string Code,string queryJson)
  350. {
  351. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  352. DataTable dt = new DataTable();
  353. var queryParam = queryJson.ToJObject();
  354. List<DbParameter> parameter = new List<DbParameter>();
  355. 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,
  356. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity,d.EATTRIBUTE1 AS Area,
  357. f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  358. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  359. from ICSOApply a
  360. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  361. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  362. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  363. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  364. where a.ApplyCode='{0}' and a.WorkPoint='{1}'";
  365. if (!string.IsNullOrWhiteSpace(queryJson))
  366. {
  367. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  368. {
  369. sql += " and a.WHCode like '%" + queryParam["WHCode"].ToString() + "%' ";
  370. }
  371. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  372. {
  373. sql += " and d.EATTRIBUTE1 like '%" + queryParam["Area"].ToString() + "%' ";
  374. }
  375. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  376. {
  377. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  378. }
  379. }
  380. sql = string.Format(sql, Code, WorkPoint);
  381. return Repository().FindTableBySql(sql.ToString());
  382. }
  383. //委外材料出库(委外发料申请)
  384. public DataTable GetGridJson6(string queryJson, 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. StringBuilder sqlString=new StringBuilder();
  391. #region [SQL]
  392. // 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,
  393. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  394. // from ICSOIssue a
  395. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  396. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  397. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  398. // sql += " WHERE 1=1 and e.ID is null";
  399. sqlString.Append($@"select * from(select row_number() over(partition by a.IssueCode order by a.IssueCode) row, a.IssueCode as Code,
  400. a.CreateDateTime as MTIME,
  401. a.CreatePerson as MUSER,
  402. case
  403. when max(e.SourceID) is null then ''
  404. else ''
  405. end as IsNew,f.Colspan,f.ProjectCode,f.BatchCode,f.Version,f.Brand,
  406. f.cFree1,f.cFree2,f.cFree3,f.cFree4,f.cFree5,f.cFree6,f.cFree7,
  407. f.cFree8,f.cFree9,f.cFree10
  408. from ICSOIssue a
  409. left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  410. left join ICSExtension f on a.ExtensionID = f.ID and a.WorkPoint = f.WorkPoint
  411. where a.WorkPoint = '{WorkPoint}'");
  412. if (!string.IsNullOrWhiteSpace(queryJson))
  413. {
  414. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  415. {
  416. sqlString.Append($@" and a.IssueCode like '%{queryParam["POCode"]}%' ");
  417. }
  418. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  419. {
  420. sqlString.Append($@" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  421. }
  422. }
  423. sqlString.Append(@"group by a.IssueCode,a.CreateDateTime,a.CreatePerson,f.Colspan,f.ProjectCode,
  424. f.BatchCode,f.Version,f.Brand,f.cFree1,f.cFree2,f.cFree3,f.cFree4,f.cFree5,
  425. f.cFree6,f.cFree7,f.cFree8,f.cFree9,f.cFree10) t where t.row=1");
  426. #endregion
  427. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  428. }
  429. //委外材料出库(委外发料申请)子表查询
  430. public DataTable GetSubGridJson6(string Code)
  431. {
  432. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  433. DataTable dt = new DataTable();
  434. //var queryParam = queryJson.ToJObject();
  435. List<DbParameter> parameter = new List<DbParameter>();
  436. 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,
  437. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  438. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  439. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.IssueQuantity as IssueQuantity
  440. from ICSOIssue a
  441. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  442. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  443. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  444. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  445. where a.IssueCode='{0}' and a.WorkPoint='{1}'";
  446. sql = string.Format(sql, Code, WorkPoint);
  447. return Repository().FindTableBySql(sql.ToString());
  448. }
  449. //销售发货(销售发货)
  450. public DataTable GetGridJson7(string queryJson, ref Pagination jqgridparam)
  451. {
  452. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  453. DataTable dt = new DataTable();
  454. var queryParam = queryJson.ToJObject();
  455. List<DbParameter> parameter = new List<DbParameter>();
  456. StringBuilder sqlString = new StringBuilder();
  457. #region [SQL]
  458. // 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,
  459. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  460. // from ICSSDN a
  461. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  462. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  463. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  464. // sql += " WHERE 1=1 and a.Type='1' and e.ID is null";
  465. sqlString.Append($@"SELECT * from (SELECT Row_Number() over(partition by a.SDNCode Order by a.SDNCode) as r, a.SDNCode AS Code,
  466. a.CreateDateTime AS MTIME,
  467. a.CreatePerson AS MUSER,
  468. (CASE WHEN max(e.SourceID) IS NULL THEN '' ELSE '' END) AS IsNew,
  469. f.Colspan, f.ProjectCode, f.BatchCode, f.Version, f.Brand,
  470. f.cFree1, f.cFree2, f.cFree3, f.cFree4, f.cFree5, f.cFree6, f.cFree7, f.cFree8, f.cFree9, f.cFree10
  471. FROM ICSSDN a
  472. LEFT JOIN ICSMOPickMerge e ON a.ID = e.SourceID AND a.WorkPoint = e.WorkPoint
  473. LEFT JOIN ICSExtension f ON a.ExtensionID = f.ID AND a.WorkPoint = f.WorkPoint
  474. LEFT JOIN ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  475. WHERE a.WorkPoint = '{WorkPoint}' ");
  476. if (!string.IsNullOrWhiteSpace(queryJson))
  477. {
  478. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  479. {
  480. sqlString.Append($" and a.SDNCode like '%{queryParam["POCode"]}%' ");
  481. }
  482. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  483. {
  484. sqlString.Append($" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  485. }
  486. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  487. {
  488. sqlString.Append($@" and a.WHCode like '%{queryParam["WHCode"]}%' ");
  489. }
  490. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  491. {
  492. sqlString.Append($@" and d.EATTRIBUTE1 like '%{queryParam["Area"]}%' ");
  493. }
  494. }
  495. sqlString.Append(@"GROUP BY a.SDNCode, a.CreateDateTime, a.CreatePerson, f.Colspan, f.ProjectCode, f.BatchCode, f.Version, f.Brand,
  496. f.cFree1, f.cFree2, f.cFree3, f.cFree4, f.cFree5, f.cFree6, f.cFree7, f.cFree8, f.cFree9, f.cFree10) t WHERE t.r=1");
  497. #endregion
  498. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  499. }
  500. //销售发货(销售发货)子表查询
  501. public DataTable GetSubGridJson7(string Code,string queryJson)
  502. {
  503. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  504. DataTable dt = new DataTable();
  505. var queryParam = queryJson.ToJObject();
  506. List<DbParameter> parameter = new List<DbParameter>();
  507. 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,
  508. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity,d.EATTRIBUTE1 AS Area
  509. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  510. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.SDNQuantity as IssueQuantity
  511. from ICSSDN a
  512. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  513. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  514. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  515. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  516. where a.SDNCode='{0}' and a.WorkPoint='{1}'";
  517. if (!string.IsNullOrWhiteSpace(queryJson))
  518. {
  519. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  520. {
  521. sql += " and a.WHCode like '%" + queryParam["WHCode"].ToString() + "%' ";
  522. }
  523. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  524. {
  525. sql += " and d.EATTRIBUTE1 like '%" + queryParam["Area"].ToString() + "%' ";
  526. }
  527. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  528. {
  529. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  530. }
  531. }
  532. sql = string.Format(sql, Code, WorkPoint);
  533. return Repository().FindTableBySql(sql.ToString());
  534. }
  535. //其它出库(其它出库)
  536. public DataTable GetGridJson8(string queryJson, ref Pagination jqgridparam)
  537. {
  538. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  539. DataTable dt = new DataTable();
  540. var queryParam = queryJson.ToJObject();
  541. List<DbParameter> parameter = new List<DbParameter>();
  542. StringBuilder sqlString = new StringBuilder();
  543. #region [SQL]
  544. // 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,
  545. //case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  546. //from ICSOtherOut a
  547. //left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  548. //left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  549. //left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  550. // sql += " WHERE 1=1 and e.ID is null ";
  551. sqlString.Append($@"select * from(select row_number() over(partition by a.OutCode order by a.OutCode) row, a.OutCode as Code,
  552. a.CreateDateTime as MTIME,
  553. a.CreatePerson as MUSER,
  554. case
  555. when max(e.SourceID) is null then ''
  556. else ''
  557. end as IsNew,f.Colspan,f.ProjectCode,f.BatchCode,f.Version,f.Brand,f.cFree1,
  558. f.cFree2,f.cFree3,f.cFree4,f.cFree5,f.cFree6,f.cFree7,f.cFree8,f.cFree9,f.cFree10
  559. from ICSOtherOut a
  560. left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  561. left join ICSExtension f on a.ExtensionID = f.ID and a.WorkPoint = f.WorkPoint
  562. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  563. where a.WorkPoint = '{WorkPoint}'");
  564. #endregion
  565. if (!string.IsNullOrWhiteSpace(queryJson))
  566. {
  567. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  568. {
  569. sqlString.Append($@" and a.OutCode like '%{queryParam["POCode"]}%' ");
  570. }
  571. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  572. {
  573. sqlString.Append($@" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  574. }
  575. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  576. {
  577. sqlString.Append($@" and a.WHCode like '%{queryParam["WHCode"]}%' ");
  578. }
  579. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  580. {
  581. sqlString.Append($@" and d.EATTRIBUTE1 like '%{queryParam["Area"]}%' ");
  582. }
  583. }
  584. sqlString.Append(@" group by a.OutCode,a.CreateDateTime,a.CreatePerson,f.Colspan,f.ProjectCode,f.BatchCode,
  585. f.Version,f.Brand,f.cFree1,f.cFree2,f.cFree3,f.cFree4,f.cFree5,f.cFree6,
  586. f.cFree7,f.cFree8,f.cFree9,f.cFree10) t where t.row=1");
  587. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  588. }
  589. //其它出库(其它出库)子表查询
  590. public DataTable GetSubGridJson8(string Code, string queryJson)
  591. {
  592. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  593. DataTable dt = new DataTable();
  594. var queryParam = queryJson.ToJObject();
  595. List<DbParameter> parameter = new List<DbParameter>();
  596. 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,
  597. case when e.SourceID is null then '' else '' end as IsNew,d.EATTRIBUTE1 AS Area,a.Quantity
  598. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  599. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.OutQuantity as IssueQuantity
  600. from ICSOtherOut a
  601. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  602. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  603. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  604. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  605. where a.OutCode='{0}' and a.WorkPoint='{1}'";
  606. if (!string.IsNullOrWhiteSpace(queryJson))
  607. {
  608. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  609. {
  610. sql += " and a.WHCode like '%" + queryParam["WHCode"].ToString() + "%' ";
  611. }
  612. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  613. {
  614. sql += " and d.EATTRIBUTE1 like '%" + queryParam["Area"].ToString() + "%' ";
  615. }
  616. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  617. {
  618. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  619. }
  620. }
  621. sql = string.Format(sql, Code, WorkPoint);
  622. return Repository().FindTableBySql(sql.ToString());
  623. }
  624. //借用(借用)
  625. public DataTable GetGridJson9(string queryJson, ref Pagination jqgridparam)
  626. {
  627. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  628. DataTable dt = new DataTable();
  629. var queryParam = queryJson.ToJObject();
  630. List<DbParameter> parameter = new List<DbParameter>();
  631. StringBuilder sqlString=new StringBuilder();
  632. #region [SQL]
  633. // sql = @"
  634. //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,
  635. // case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  636. // from ICSBrrow a
  637. // left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  638. // left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  639. // left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  640. // sql += " WHERE 1=1 and e.ID is null ";
  641. sqlString.Append($@"select * from(select row_number() over(partition by a.BrrowCode order by a.BrrowCode) row, a.BrrowCode as Code,
  642. a.CreateDateTime as MTIME,
  643. a.CreatePerson as MUSER,
  644. case
  645. when max(e.SourceID) is null then ''
  646. else ''
  647. end as IsNew,f.Colspan,f.ProjectCode,f.BatchCode,f.Version,f.Brand,
  648. f.cFree1,f.cFree2,f.cFree3,f.cFree4,f.cFree5,f.cFree6,f.cFree7,
  649. f.cFree8,f.cFree9,f.cFree10
  650. from ICSBrrow a
  651. left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  652. left join ICSExtension f on a.ExtensionID = f.ID and a.WorkPoint = f.WorkPoint
  653. where a.WorkPoint = '{WorkPoint}'");
  654. if (!string.IsNullOrWhiteSpace(queryJson))
  655. {
  656. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  657. {
  658. sqlString.Append($@" and a.BrrowCode like '%{queryParam["POCode"]}%' ");
  659. }
  660. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  661. {
  662. sqlString.Append($@" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  663. }
  664. }
  665. sqlString.Append(@"group by a.BrrowCode,a.CreateDateTime,a.CreatePerson,f.Colspan,f.ProjectCode,
  666. f.BatchCode,f.Version,f.Brand,f.cFree1,f.cFree2,f.cFree3,f.cFree4,
  667. f.cFree5,f.cFree6,f.cFree7,f.cFree8,f.cFree9,
  668. f.cFree10) t where t.row=1");
  669. #endregion
  670. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  671. }
  672. //借用(借用)子表查询
  673. public DataTable GetSubGridJson9(string Code)
  674. {
  675. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  676. DataTable dt = new DataTable();
  677. //var queryParam = queryJson.ToJObject();
  678. List<DbParameter> parameter = new List<DbParameter>();
  679. 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,
  680. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  681. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  682. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.BrrowQuantity as IssueQuantity
  683. from ICSBrrow a
  684. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  685. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  686. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  687. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  688. where a.BrrowCode='{0}' and a.WorkPoint='{1}'";
  689. sql = string.Format(sql, Code, WorkPoint);
  690. return Repository().FindTableBySql(sql.ToString());
  691. }
  692. //物料调拨
  693. public DataTable GetGridJson10(string queryJson, ref Pagination jqgridparam)
  694. {
  695. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  696. DataTable dt = new DataTable();
  697. var queryParam = queryJson.ToJObject();
  698. List<DbParameter> parameter = new List<DbParameter>();
  699. StringBuilder sqlString=new StringBuilder();
  700. #region [SQL]
  701. // sql = @"
  702. //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,
  703. // case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  704. // from ICSBrrow a
  705. // left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  706. // left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  707. // left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  708. // sql += " WHERE 1=1 and e.ID is null ";
  709. sqlString.Append($@"select * from (select row_number() over(partition by a.TransferNO order by a.TransferNO) row,
  710. a.TransferNO as Code,a.CreateDateTime as MTIME,a.CreatePerson as MUSER,
  711. case
  712. when max(e.SourceID) is null then ''
  713. else ''
  714. end as IsNew,f.Colspan,f.ProjectCode,f.BatchCode,f.Version,f.Brand,f.cFree1,
  715. f.cFree2,f.cFree3,f.cFree4,f.cFree5,f.cFree6,f.cFree7,f.cFree8,f.cFree9,f.cFree10
  716. from ICSTransfer a
  717. left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  718. left join ICSExtension f on a.ExtensionID = f.ID and a.WorkPoint = f.WorkPoint
  719. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  720. where a.WorkPoint = '{WorkPoint}' and a.Status = '2'");
  721. if (!string.IsNullOrWhiteSpace(queryJson))
  722. {
  723. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  724. {
  725. sqlString.Append($@" and a.TransferNO like '%{queryParam["POCode"]}%' ");
  726. }
  727. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  728. {
  729. sqlString.Append($@" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  730. }
  731. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  732. {
  733. sqlString.Append($@" and a.ToWarehouseCode like '%{queryParam["WHCode"]}%' ");
  734. }
  735. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  736. {
  737. sqlString.Append($@" and d.EATTRIBUTE1 like '%{queryParam["Area"]}%' ");
  738. }
  739. }
  740. sqlString.Append(@"group by a.TransferNO,a.CreateDateTime,a.CreatePerson,f.Colspan,f.ProjectCode,
  741. f.BatchCode,f.Version,f.Brand,f.cFree1,f.cFree2,f.cFree3,f.cFree4,
  742. f.cFree5,f.cFree6,f.cFree7,f.cFree8,f.cFree9,f.cFree10) t where t.row=1");
  743. #endregion
  744. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  745. }
  746. //物料调拨子表查询
  747. public DataTable GetSubGridJson10(string Code, string queryJson)
  748. {
  749. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  750. DataTable dt = new DataTable();
  751. var queryParam = queryJson.ToJObject();
  752. List<DbParameter> parameter = new List<DbParameter>();
  753. string sql = @"SELECT * from (select row_number() over(partition by a.TransferNO,a.InvCode,a.Sequence ORDER BY a.TransferNO) as row, a.ID,a.TransferNO as Code,a.Sequence,a.MTIME,a.MUSERName,a.MUSER,a.FromWarehouseCode as WHCode,b.WarehouseName,d.EATTRIBUTE1 AS Area,
  754. a.InvCode,a.ToWarehouseCode,a.EATTRIBUTE1 AS ReceiveWork,d.InvName,d.InvDesc,d.InvStd,d.InvUnit,
  755. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  756. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  757. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.TransferQuantity as IssueQuantity
  758. from ICSTransfer a
  759. left join ICSWarehouse b on a.FromWarehouseCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  760. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  761. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  762. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  763. where a.TransferNO='{0}' and b.WorkPoint='{1}'";
  764. if (!string.IsNullOrWhiteSpace(queryJson))
  765. {
  766. if (!string.IsNullOrWhiteSpace(queryParam["WHCode"].ToString()))
  767. {
  768. sql += " and a.ToWarehouseCode like '%" + queryParam["WHCode"].ToString() + "%' ";
  769. }
  770. if (!string.IsNullOrWhiteSpace(queryParam["Area"].ToString()))
  771. {
  772. sql += " and d.EATTRIBUTE1 like '%" + queryParam["Area"].ToString() + "%' ";
  773. }
  774. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  775. {
  776. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  777. }
  778. }
  779. sql += " ) as t where t.row=1";
  780. sql = string.Format(sql, Code, WorkPoint);
  781. return Repository().FindTableBySql(sql.ToString());
  782. }
  783. //两步调拨
  784. public DataTable GetGridJson11(string queryJson, ref Pagination jqgridparam)
  785. {
  786. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  787. DataTable dt = new DataTable();
  788. var queryParam = queryJson.ToJObject();
  789. List<DbParameter> parameter = new List<DbParameter>();
  790. StringBuilder sqlString=new StringBuilder();
  791. #region [SQL]
  792. // sql = @"
  793. //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,
  794. // case when e.SourceID is null then '未合并' else '已合并' end as IsNew,a.Quantity
  795. // from ICSBrrow a
  796. // left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  797. // left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  798. // left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint";
  799. // sql += " WHERE 1=1 and e.ID is null ";
  800. sqlString.Append($@"select * from (select row_number() over(partition by a.OutCode order by a.OutCode)row, a.OutCode as Code, a.CreateDateTime as MTIME, a.CreatePerson as MUSER,
  801. case when max(e.SourceID) is null then '' else '' end as IsNew,a.EATTRIBUTE1 AS ReceiveWork,tra.ToWarehouseCode,
  802. f.Colspan, f.ProjectCode, f.BatchCode, f.Version, f.Brand,
  803. f.cFree1, f.cFree2, f.cFree3, f.cFree4, f.cFree5, f.cFree6, f.cFree7, f.cFree8, f.cFree9, f.cFree10
  804. FROM ICSOtherOut a
  805. INNER JOIN ICSTransfer tra ON a.TransferDetailID = tra.TransferDetailID AND a.WorkPoint = tra.WorkPoint
  806. left join ICSMOPickMerge e on a.ID = e.SourceID and a.WorkPoint = e.WorkPoint
  807. left join ICSExtension f on a.ExtensionID = f.ID and a.WorkPoint = f.WorkPoint
  808. where a.WorkPoint = '{WorkPoint}'
  809. and a.Status = '2' ");
  810. if (!string.IsNullOrWhiteSpace(queryJson))
  811. {
  812. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  813. {
  814. sqlString.Append($@" and a.OutCode like '%{queryParam["POCode"]}%' ");
  815. }
  816. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  817. {
  818. sqlString.Append($@" and a.InvCode like '%{queryParam["InvCode"]}%' ");
  819. }
  820. }
  821. sqlString.Append(@" group by a.OutCode, a.CreateDateTime, a.CreatePerson,a.EATTRIBUTE1 ,tra.ToWarehouseCode, f.Colspan ,f.ProjectCode ,
  822. f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4 ,
  823. f.cFree5, f.cFree6, f.cFree7, f.cFree8, f.cFree9, f.cFree10) t where t.row=1");
  824. #endregion
  825. return Repository().FindTablePageBySql(sqlString.ToString(), parameter.ToArray(), ref jqgridparam);
  826. }
  827. //两步调拨子表查询
  828. public DataTable GetSubGridJson11(string Code)
  829. {
  830. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  831. DataTable dt = new DataTable();
  832. //var queryParam = queryJson.ToJObject();
  833. List<DbParameter> parameter = new List<DbParameter>();
  834. 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,
  835. case when e.SourceID is null then '' else '' end as IsNew,a.Quantity
  836. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  837. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.OutQuantity as IssueQuantity
  838. FROM ICSOtherOut a
  839. INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  840. left join ICSWarehouse b on a.WHCode=b.WarehouseCode and a.WorkPoint=b.WorkPoint
  841. left join ICSInventory d on a.InvCode=d.InvCode and a.WorkPoint=d.WorkPoint
  842. left join ICSMOPickMerge e on a.ID=e.SourceID and a.WorkPoint=e.WorkPoint
  843. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  844. where a.OutCode='{0}' and a.WorkPoint='{1}'";
  845. sql = string.Format(sql, Code, WorkPoint);
  846. return Repository().FindTableBySql(sql.ToString());
  847. }
  848. // public DataTable GetICSMOPickMergeTemp(string ID,string Type)
  849. // {
  850. // string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  851. // ID = string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(',');
  852. // #region sql
  853. // string sql = @"SELECT row_number() over (order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
  854. // c.Code,
  855. // c.InvCode,
  856. // c.InvName,
  857. // c.InvStd,
  858. // c.InvUnit,
  859. // FLOOR(c.iQuantity) AS iQuantity,
  860. // d.WarehouseCode,
  861. // m.LotNO,
  862. // (case when m.LotNo is null then 0 else FLOOR(ISNULL(d.Quantity, 0)) end) AS QTY,
  863. // (case when m.LotNo is null then null else d.LocationCode end) AS LocationCode,
  864. // CONVERT(varchar(100),d.MTIME, 23) MTIME,
  865. // FLOOR(f.QTYTotal) QTYTotal INTO #temp
  866. // FROM
  867. // ({0}) c
  868. // LEFT JOIN ICSWareHouseLotInfo d ON c.InvCode=d.INVCode AND c.WhCode=d.WarehouseCode AND d.WorkPoint='{1}' AND d.Quantity>0
  869. // left join ICSInventoryLot m on d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint and c.ExtensionID=m.ExtensionID
  870. // 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
  871. //DECLARE @ItemCode VARCHAR(50),
  872. // @QTY DECIMAL(18,3),
  873. // @ItemCodeCurrent VARCHAR(50),
  874. // @Lotno VARCHAR(50),
  875. // @QTYCurrent DECIMAL(18,3),
  876. // @iQuantityCurrent DECIMAL(18,3),
  877. // @CanDelete BIT,
  878. // @Row INT,
  879. // @rowCurrent INT
  880. //SET @Row = @@rowcount
  881. //SET @rowCurrent=1
  882. //SET @CanDelete=0
  883. //SET @ItemCode=''
  884. //SET @Lotno = ''
  885. //WHILE @rowCurrent<=@Row
  886. // BEGIN
  887. // SELECT @ItemCodeCurrent=InvCode,@QTYCurrent=QTY,@iQuantityCurrent=iQuantity,@Lotno = Lotno FROM #temp WHERE rowNo=@rowCurrent
  888. //PRINT(@rowCurrent)
  889. // IF @ItemCode<>@ItemCodeCurrent
  890. // BEGIN
  891. // SET @ItemCode=@ItemCodeCurrent
  892. // SET @QTY=0
  893. // SET @CanDelete=0
  894. // END
  895. // IF @CanDelete=1
  896. // BEGIN
  897. // DELETE FROM #temp WHERE rowNo=@rowCurrent
  898. // SET @rowCurrent += 1
  899. // CONTINUE
  900. // END
  901. // SET @QTY += @QTYCurrent
  902. // IF @LotNo is null or @QTY>=@iQuantityCurrent
  903. // BEGIN
  904. // SET @CanDelete=1
  905. // END
  906. // SET @rowCurrent += 1
  907. // END
  908. //SELECT * FROM #temp
  909. //DROP TABLE #temp
  910. //";
  911. // #endregion
  912. // string sqls = "";
  913. // if (Type=="1")
  914. // {
  915. // #region 工单备料sql
  916. // sqls = @" SELECT
  917. // c.MOCode as Code,
  918. // a.InvCode,
  919. // b.InvName,
  920. // b.InvStd,
  921. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  922. // a.WhCode,
  923. // b.InvUnit,
  924. // a.ExtensionID
  925. // FROM
  926. // ICSMOPick a
  927. // inner join ICSMO c on a.MODetailID=c.MODetailID and a.WorkPoint=c.WorkPoint
  928. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  929. // WHERE c.MOCode in ({0}) AND a.WorkPoint = '{1}'
  930. // GROUP BY c.MOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  931. // #endregion
  932. // }
  933. // if (Type == "2")
  934. // {
  935. // return GetICSMOPickMergeByWorkorder(ID, WorkPoint);
  936. // }
  937. // if (Type=="3")
  938. // {
  939. // #region 工单材料出库SQL
  940. // sqls = @" select
  941. // a.IssueCode as Code,
  942. // a.InvCode,
  943. // b.InvName,
  944. // b.InvStd,
  945. // b.InvUnit,
  946. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  947. // a.WhCode,
  948. // a.ExtensionID
  949. // FROM
  950. // ICSMOIssue a
  951. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  952. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  953. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  954. // #endregion
  955. // }
  956. // if (Type=="4")
  957. // {
  958. // #region 委外备料SQL
  959. // sqls = @" select
  960. // c.OOCode as Code,
  961. // a.InvCode,
  962. // b.InvName,
  963. // b.InvStd,
  964. // b.InvUnit,
  965. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  966. // a.WhCode,
  967. // a.ExtensionID
  968. // FROM
  969. // ICSOOPick a
  970. // left join ICSOutsourcingOrder c on a.OODetailID=c.OODetailID and a.WorkPoint=c.WorkPoint
  971. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  972. // WHERE c.OOCode in ({0}) AND a.WorkPoint = '{1}'
  973. // GROUP BY c.OOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode, a.ExtensionID";
  974. // #endregion
  975. // }
  976. // if (Type=="5")
  977. // {
  978. // #region 委外领料SQL
  979. // sqls = @" select
  980. // a.ApplyCode as Code,
  981. // a.InvCode,
  982. // b.InvName,
  983. // b.InvStd,
  984. //b.InvUnit,
  985. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  986. // a.WhCode,
  987. // a.ExtensionID
  988. // FROM
  989. // ICSOApply a
  990. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  991. // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
  992. // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  993. // #endregion
  994. // }
  995. // if (Type=="6")
  996. // {
  997. // #region 委外材料出库SQL
  998. // sqls = @" select
  999. // a.IssueCode as Code,
  1000. // a.InvCode,
  1001. // b.InvName,
  1002. // b.InvStd,
  1003. //b.InvUnit,
  1004. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1005. // a.WhCode,
  1006. //a.ExtensionID
  1007. // FROM
  1008. // ICSOIssue a
  1009. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1010. // WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  1011. // GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1012. // #endregion
  1013. // }
  1014. // if (Type=="7")
  1015. // {
  1016. // #region 销售发货SQL
  1017. // sqls = @" select
  1018. // a.SDNCode as Code,
  1019. // a.InvCode,
  1020. // b.InvName,
  1021. // b.InvStd,
  1022. //b.InvUnit,
  1023. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1024. // a.WhCode,
  1025. //a.ExtensionID
  1026. // FROM
  1027. // ICSSDN a
  1028. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1029. // WHERE a.SDNCode in ({0}) AND a.WorkPoint = '{1}'
  1030. // GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1031. // #endregion
  1032. // }
  1033. // if (Type=="8")
  1034. // {
  1035. // #region 其它出库SQL
  1036. // sqls = @" select
  1037. // a.OutCode as Code,
  1038. // a.InvCode,
  1039. // b.InvName,
  1040. // b.InvStd,
  1041. // b.InvUnit,
  1042. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1043. // a.WhCode,
  1044. // a.ExtensionID
  1045. // FROM
  1046. // ICSOtherOut a
  1047. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1048. // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1049. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1050. // #endregion
  1051. // }
  1052. // if (Type == "9")
  1053. // {
  1054. // #region 借用SQL
  1055. // sqls = @"select
  1056. // a.BrrowCode as Code,
  1057. // a.InvCode,
  1058. // b.InvName,
  1059. // b.InvStd,
  1060. //b.InvUnit,
  1061. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1062. // a.WhCode,
  1063. //a.ExtensionID
  1064. // FROM
  1065. // ICSBrrow a
  1066. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1067. // WHERE a.BrrowCode in ({0}) AND a.WorkPoint = '{1}'
  1068. // GROUP BY a.BrrowCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1069. // #endregion
  1070. // }
  1071. // if (Type == "10")
  1072. // {
  1073. // #region 物料调拨
  1074. // sqls = @" select
  1075. // a.TransferNO as Code,
  1076. // a.InvCode,
  1077. // b.InvName,
  1078. // b.InvStd,
  1079. //b.InvUnit,
  1080. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1081. // a.FromWarehouseCode as WhCode,
  1082. //a.ExtensionID
  1083. // FROM
  1084. // ICSTransfer a
  1085. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1086. // WHERE a.TransferNO in ({0}) AND a.WorkPoint = '{1}'
  1087. // GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID";
  1088. // #endregion
  1089. // }
  1090. // if (Type == "11")
  1091. // {
  1092. // #region 两步调出
  1093. // sqls = @"select
  1094. // a.OutCode as Code,
  1095. // a.InvCode,
  1096. // b.InvName,
  1097. // b.InvStd,
  1098. //b.InvUnit,
  1099. // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1100. // a.WHCode ,
  1101. //a.ExtensionID
  1102. // from ICSOtherOut a
  1103. // INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  1104. // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1105. // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1106. // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WHCode,a.ExtensionID";
  1107. // #endregion
  1108. // }
  1109. // sqls = string.Format(sqls, ID,WorkPoint);
  1110. // sql = string.Format(sql, sqls, WorkPoint);
  1111. // DataTable table = Repository().FindDataSetBySql(sql).Tables[0];
  1112. // DataTable dtCloned = table.Clone();
  1113. // foreach (DataColumn col in dtCloned.Columns)
  1114. // {
  1115. // col.DataType = typeof(string);
  1116. // }
  1117. // foreach (DataRow row in table.Rows)
  1118. // {
  1119. // DataRow newrow = dtCloned.NewRow();
  1120. // foreach (DataColumn column in dtCloned.Columns)
  1121. // {
  1122. // newrow[column.ColumnName] = row[column.ColumnName].ToString();
  1123. // }
  1124. // dtCloned.Rows.Add(newrow);
  1125. // }
  1126. // if (Invmes.Rows.Count > 0)
  1127. // {
  1128. // dtCloned.Merge(Invmes, false);
  1129. // }
  1130. // return dtCloned;
  1131. // }
  1132. public DataTable GetICSMOPickMergeTemp(string ID, string Type)
  1133. {
  1134. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1135. ID = string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(',');
  1136. #region sql
  1137. #endregion
  1138. string sqls = "";
  1139. if (Type == "1")
  1140. {
  1141. #region 工单备料sql
  1142. sqls = @" SELECT
  1143. c.MOCode as Code,
  1144. a.InvCode,
  1145. b.InvName,
  1146. b.InvStd,
  1147. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1148. a.WhCode,
  1149. b.InvUnit,
  1150. a.ExtensionID
  1151. FROM
  1152. ICSMOPick a
  1153. inner join ICSMO c on a.MODetailID=c.MODetailID and a.WorkPoint=c.WorkPoint
  1154. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1155. WHERE c.MOCode in ({0}) AND a.WorkPoint = '{1}'
  1156. GROUP BY c.MOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1157. #endregion
  1158. }
  1159. if (Type == "2")
  1160. {
  1161. sqls = @"select
  1162. a.ApplyCode as Code, a.InvCode, b.InvName, b.InvStd, b.InvUnit, SUM(ISNULL(a.Quantity, 0)) AS iQuantity, a.WhCode,a.ExtensionID
  1163. FROM
  1164. ICSMOApply a
  1165. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1166. WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
  1167. GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1168. }
  1169. if (Type == "3")
  1170. {
  1171. #region 工单材料出库SQL
  1172. sqls = @" select
  1173. a.IssueCode as Code,
  1174. a.InvCode,
  1175. b.InvName,
  1176. b.InvStd,
  1177. b.InvUnit,
  1178. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1179. a.WhCode,
  1180. a.ExtensionID
  1181. FROM
  1182. ICSMOIssue a
  1183. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1184. WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  1185. GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1186. #endregion
  1187. }
  1188. if (Type == "4")
  1189. {
  1190. #region 委外备料SQL
  1191. sqls = @" select
  1192. c.OOCode as Code,
  1193. a.InvCode,
  1194. b.InvName,
  1195. b.InvStd,
  1196. b.InvUnit,
  1197. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1198. a.WhCode,
  1199. a.ExtensionID
  1200. FROM
  1201. ICSOOPick a
  1202. left join ICSOutsourcingOrder c on a.OODetailID=c.OODetailID and a.WorkPoint=c.WorkPoint
  1203. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1204. WHERE c.OOCode in ({0}) AND a.WorkPoint = '{1}'
  1205. GROUP BY c.OOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode, a.ExtensionID";
  1206. #endregion
  1207. }
  1208. if (Type == "5")
  1209. {
  1210. #region 委外领料SQL
  1211. sqls = @"select
  1212. a.ApplyCode as Code,
  1213. a.InvCode,
  1214. b.InvName,
  1215. b.InvStd,
  1216. b.InvUnit,
  1217. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1218. a.WhCode,a.ExtensionID
  1219. FROM
  1220. ICSOApply a
  1221. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1222. WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
  1223. GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1224. #endregion
  1225. }
  1226. if (Type == "6")
  1227. {
  1228. #region 委外材料出库SQL
  1229. sqls = @" select
  1230. a.IssueCode as Code,
  1231. a.InvCode,
  1232. b.InvName,
  1233. b.InvStd,
  1234. b.InvUnit,
  1235. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1236. a.WhCode,
  1237. a.ExtensionID
  1238. FROM
  1239. ICSOIssue a
  1240. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1241. WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  1242. GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1243. #endregion
  1244. }
  1245. if (Type == "7")
  1246. {
  1247. #region 销售发货SQL
  1248. sqls = @" select
  1249. a.SDNCode as Code,
  1250. a.InvCode,
  1251. b.InvName,
  1252. b.InvStd,
  1253. b.InvUnit,
  1254. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1255. a.WhCode,
  1256. a.ExtensionID
  1257. FROM
  1258. ICSSDN a
  1259. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1260. WHERE a.SDNCode in ({0}) AND a.WorkPoint = '{1}'
  1261. GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1262. #endregion
  1263. }
  1264. if (Type == "8")
  1265. {
  1266. #region 其它出库SQL
  1267. sqls = @" select
  1268. a.OutCode as Code,
  1269. a.InvCode,
  1270. b.InvName,
  1271. b.InvStd,
  1272. b.InvUnit,
  1273. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1274. a.WhCode,
  1275. a.ExtensionID
  1276. FROM
  1277. ICSOtherOut a
  1278. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1279. WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1280. GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1281. #endregion
  1282. }
  1283. if (Type == "9")
  1284. {
  1285. #region 借用SQL
  1286. sqls = @"select
  1287. a.BrrowCode as Code,
  1288. a.InvCode,
  1289. b.InvName,
  1290. b.InvStd,
  1291. b.InvUnit,
  1292. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1293. a.WhCode,
  1294. a.ExtensionID
  1295. FROM
  1296. ICSBrrow a
  1297. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1298. WHERE a.BrrowCode in ({0}) AND a.WorkPoint = '{1}'
  1299. GROUP BY a.BrrowCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID";
  1300. #endregion
  1301. }
  1302. if (Type == "10")
  1303. {
  1304. #region 物料调拨
  1305. sqls = @"select
  1306. a.TransferNO as Code,
  1307. a.InvCode,
  1308. b.InvName,
  1309. b.InvStd,
  1310. b.InvUnit,
  1311. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1312. a.FromWarehouseCode as WhCode,
  1313. a.ExtensionID
  1314. FROM
  1315. ICSTransfer a
  1316. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1317. WHERE a.TransferNO in ({0}) AND a.WorkPoint = '{1}'
  1318. GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID";
  1319. #endregion
  1320. }
  1321. if (Type == "11")
  1322. {
  1323. #region 两步调出
  1324. sqls = @"select
  1325. a.OutCode as Code,
  1326. a.InvCode,
  1327. b.InvName,
  1328. b.InvStd,
  1329. b.InvUnit,
  1330. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1331. a.WHCode ,
  1332. a.ExtensionID
  1333. from ICSOtherOut a
  1334. INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  1335. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1336. WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1337. GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WHCode,a.ExtensionID";
  1338. #endregion
  1339. }
  1340. sqls = string.Format(sqls, ID, WorkPoint);
  1341. string sql = $@"SELECT row_number() over ( order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
  1342. c.Code,
  1343. c.InvCode,
  1344. c.InvName,
  1345. c.InvStd,
  1346. c.InvUnit,
  1347. FLOOR(c.iQuantity) AS iQuantity,
  1348. c.WHCode AS WarehouseCode,
  1349. d.LotNO,
  1350. FLOOR(ISNULL(d.Quantity, 0)) AS QTY,
  1351. d.LocationCode AS LocationCode,
  1352. CONVERT(varchar(100),d.MTIME, 23) MTIME,
  1353. FLOOR(f.QTYTotal) QTYTotal
  1354. FROM
  1355. ({sqls}) c
  1356. left join (select d.WarehouseCode,d.Quantity,d.INVCode, m.LotNo, d.MTIME,d.LocationCode,m.ExtensionID
  1357. from ICSWareHouseLotInfo d ,ICSInventoryLot m
  1358. where d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint
  1359. and d.WorkPoint='{WorkPoint}' AND d.Quantity>0 ) d
  1360. on c.InvCode=d.INVCode AND c.WhCode=d.WarehouseCode and d.ExtensionID=c.ExtensionID
  1361. 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
  1362. order by c.Code,c.InvCode,d.MTIME ";
  1363. var dataset = Repository().FindDataSetBySql(sql);
  1364. if (dataset.Tables.Count == 0)
  1365. return null;
  1366. DataTable table = dataset.Tables[0];
  1367. decimal qtyCount = 0;
  1368. bool remove = false;
  1369. List<int> removeList = new List<int>();
  1370. for (int i = 0; i < table.Rows.Count; i++)
  1371. {
  1372. if (i != 0
  1373. && (!table.Rows[i]["InvCode"].ToString().Equals(table.Rows[i - 1]["InvCode"].ToString())
  1374. || !table.Rows[i]["Code"].ToString().Equals(table.Rows[i - 1]["Code"].ToString()))
  1375. )
  1376. {
  1377. qtyCount = 0;
  1378. remove = false;
  1379. }
  1380. if (remove)
  1381. {
  1382. removeList.Add(i);
  1383. }
  1384. else
  1385. {
  1386. var lotQty = table.Rows[i]["QTY"].ToString().ToDecimal();
  1387. var orderQty = table.Rows[i]["iQuantity"].ToString().ToDecimal();
  1388. qtyCount += lotQty;
  1389. if (qtyCount >= orderQty)
  1390. {
  1391. remove = true;
  1392. }
  1393. }
  1394. }
  1395. if (removeList.Count > 0)
  1396. {
  1397. removeList.Reverse();
  1398. foreach (var item in removeList)
  1399. {
  1400. table.Rows.RemoveAt(item);
  1401. }
  1402. }
  1403. var result = ConvertCellToString(table);
  1404. if (Invmes.Rows.Count > 0)
  1405. {
  1406. result.Merge(Invmes, false);
  1407. }
  1408. return result;
  1409. }
  1410. /// <summary>
  1411. /// 工单领料推荐
  1412. /// </summary>
  1413. /// <param name="Id"></param>
  1414. /// <param name="workPoint"></param>
  1415. /// <returns></returns>
  1416. public DataTable GetICSMOPickMergeByWorkorder(string Id,string workPoint)
  1417. {
  1418. string sql = $@"SELECT row_number() over (partition by c.Code,c.InvCode order by c.Code,c.InvCode,d.MTIME) AS rowNo,
  1419. c.Code,
  1420. c.InvCode,
  1421. c.InvName,
  1422. c.InvStd,
  1423. c.InvUnit,
  1424. FLOOR(c.iQuantity) AS iQuantity,
  1425. d.WarehouseCode,
  1426. d.LotNO,
  1427. FLOOR(ISNULL(d.Quantity, 0)) AS QTY,
  1428. d.LocationCode LocationCode,
  1429. CONVERT(varchar(100),d.MTIME, 23) MTIME,
  1430. FLOOR(f.QTYTotal) QTYTotal
  1431. FROM
  1432. (select
  1433. a.ApplyCode as Code, a.InvCode, b.InvName, b.InvStd, b.InvUnit, SUM(ISNULL(a.Quantity, 0)) AS iQuantity, a.WhCode,a.ExtensionID
  1434. FROM
  1435. ICSMOApply a
  1436. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1437. WHERE a.ApplyCode in ({Id}) AND a.WorkPoint = '{workPoint}'
  1438. GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID) c
  1439. left join (select d.WarehouseCode,d.Quantity,d.INVCode, m.LotNo, d.MTIME,d.LocationCode,m.ExtensionID from ICSWareHouseLotInfo d ,ICSInventoryLot m
  1440. where d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint
  1441. and d.WorkPoint='{workPoint}' AND d.Quantity>0 ) d on c.InvCode=d.INVCode AND c.WhCode=d.WarehouseCode and d.ExtensionID=c.ExtensionID
  1442. LEFT JOIN (SELECT INVCode,WarehouseCode,SUM(Quantity) AS QTYTotal FROM ICSWareHouseLotInfo WHERE WorkPoint='1701' GROUP BY INVCode,WarehouseCode) f ON c.InvCode=f.INVCode AND c.WhCode=f.WarehouseCode
  1443. order by c.Code,c.InvCode,d.MTIME";
  1444. var dataset = Repository().FindDataSetBySql(sql);
  1445. if (dataset.Tables.Count == 0)
  1446. return null;
  1447. DataTable table = dataset.Tables[0];
  1448. decimal qtyCount = 0;
  1449. bool remove = false;
  1450. List<int> removeList = new List<int>();
  1451. for (int i = 0; i < table.Rows.Count; i++)
  1452. {
  1453. if(i != 0
  1454. && !table.Rows[i]["InvCode"].ToString().Equals(table.Rows[i-1]["InvCode"].ToString()))
  1455. {
  1456. qtyCount = 0;
  1457. remove = false;
  1458. }
  1459. if (remove)
  1460. {
  1461. removeList.Add(i);
  1462. }
  1463. else
  1464. {
  1465. var lotQty = table.Rows[i]["QTY"].ToString().ToDecimal();
  1466. var orderQty = table.Rows[i]["iQuantity"].ToString().ToDecimal();
  1467. qtyCount += lotQty;
  1468. if (qtyCount >= orderQty)
  1469. {
  1470. remove = true;
  1471. }
  1472. }
  1473. }
  1474. if(removeList.Count > 0)
  1475. {
  1476. removeList.Reverse();
  1477. foreach (var item in removeList)
  1478. {
  1479. table.Rows.RemoveAt(item);
  1480. }
  1481. }
  1482. var result = ConvertCellToString(table);
  1483. if (Invmes.Rows.Count > 0)
  1484. {
  1485. result.Merge(Invmes, false);
  1486. }
  1487. return result;
  1488. }
  1489. public DataTable ConvertCellToString(DataTable data)
  1490. {
  1491. DataTable dtCloned = data.Clone();
  1492. foreach (DataColumn col in dtCloned.Columns)
  1493. {
  1494. col.DataType = typeof(string);
  1495. }
  1496. foreach (DataRow row in data.Rows)
  1497. {
  1498. DataRow newrow = dtCloned.NewRow();
  1499. foreach (DataColumn column in dtCloned.Columns)
  1500. {
  1501. newrow[column.ColumnName] = row[column.ColumnName].ToString();
  1502. }
  1503. dtCloned.Rows.Add(newrow);
  1504. }
  1505. return dtCloned;
  1506. }
  1507. public DataTable GetICSMOPickMergeTemp2(string ID, string Type)
  1508. {
  1509. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1510. #region sql
  1511. string sql = @"SELECT row_number() over (order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
  1512. c.MergeID,
  1513. c.Code,
  1514. c.InvCode,
  1515. c.InvName,
  1516. c.InvStd,
  1517. c.InvUnit,
  1518. FLOOR(c.iQuantity) AS iQuantity,
  1519. d.WarehouseCode,
  1520. d.LocationCode,
  1521. d.LotNO,
  1522. FLOOR(ISNULL(d.Quantity, 0)) AS QTY,
  1523. CONVERT(varchar(100),d.MTIME, 23) MTIME,
  1524. FLOOR(f.QTYTotal) QTYTotal INTO #temp
  1525. FROM
  1526. ({0}) c
  1527. LEFT JOIN ICSWareHouseLotInfo d ON c.InvCode=d.INVCode AND c.WhCode=d.WarehouseCode AND d.WorkPoint='{1}' AND d.Quantity>0
  1528. left join ICSInventoryLot m on d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint and c.ExtensionID=m.ExtensionID
  1529. 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
  1530. DECLARE @ItemCode VARCHAR(50),
  1531. @QTY DECIMAL(18,3),
  1532. @ItemCodeCurrent VARCHAR(50),
  1533. @QTYCurrent DECIMAL(18,3),
  1534. @iQuantityCurrent DECIMAL(18,3),
  1535. @CanDelete BIT,
  1536. @Row INT,
  1537. @rowCurrent INT
  1538. SET @Row = @@rowcount
  1539. SET @rowCurrent=1
  1540. SET @CanDelete=0
  1541. SET @ItemCode=''
  1542. WHILE @rowCurrent<=@Row
  1543. BEGIN
  1544. SELECT @ItemCodeCurrent=InvCode,@QTYCurrent=QTY,@iQuantityCurrent=iQuantity FROM #temp WHERE rowNo=@rowCurrent
  1545. PRINT(@rowCurrent)
  1546. IF @ItemCode<>@ItemCodeCurrent
  1547. BEGIN
  1548. SET @ItemCode=@ItemCodeCurrent
  1549. SET @QTY=0
  1550. SET @CanDelete=0
  1551. END
  1552. IF @CanDelete=1
  1553. BEGIN
  1554. DELETE FROM #temp WHERE rowNo=@rowCurrent
  1555. SET @rowCurrent += 1
  1556. CONTINUE
  1557. END
  1558. SET @QTY += @QTYCurrent
  1559. IF @QTY>=@iQuantityCurrent
  1560. BEGIN
  1561. SET @CanDelete=1
  1562. END
  1563. SET @rowCurrent += 1
  1564. END
  1565. SELECT * FROM #temp
  1566. DROP TABLE #temp
  1567. ";
  1568. #endregion
  1569. string sqls = "";
  1570. if (Type == "1")
  1571. {
  1572. #region 工单备料sql
  1573. sqls = @" select
  1574. x.MergeID,
  1575. c.MOCode as Code,
  1576. a.InvCode,
  1577. b.InvName,
  1578. b.InvStd,
  1579. b.InvUnit,
  1580. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1581. a.WhCode,
  1582. a.ExtensionID
  1583. FROM
  1584. ICSMOPick a
  1585. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1586. inner join ICSMO c on a.MODetailID=c.MODetailID and a.WorkPoint=c.WorkPoint
  1587. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1588. WHERE c.MOCode in ({0}) AND a.WorkPoint = '{1}'
  1589. GROUP BY c.MOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,x.MergeID,a.ExtensionID";
  1590. #endregion
  1591. }
  1592. if (Type == "2")
  1593. {
  1594. #region 工单领料SQL
  1595. sqls = @" select
  1596. x.MergeID,
  1597. a.ApplyCode as Code,
  1598. a.InvCode,
  1599. b.InvName,
  1600. b.InvStd,
  1601. b.InvUnit,
  1602. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1603. a.WhCode,
  1604. a.ExtensionID
  1605. FROM
  1606. ICSMOApply a
  1607. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1608. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1609. WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
  1610. GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,x.MergeID,a.ExtensionID";
  1611. #endregion
  1612. }
  1613. if (Type == "3")
  1614. {
  1615. #region 工单材料出库SQL
  1616. sqls = @" select
  1617. x.MergeID,
  1618. a.IssueCode as Code,
  1619. a.InvCode,
  1620. b.InvName,
  1621. b.InvStd,
  1622. b.InvUnit,
  1623. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1624. a.WhCode,
  1625. a.ExtensionID
  1626. FROM
  1627. ICSMOIssue a
  1628. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1629. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1630. WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  1631. GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1632. #endregion
  1633. }
  1634. if (Type == "4")
  1635. {
  1636. #region 委外备料SQL
  1637. sqls = @" select
  1638. x.MergeID,
  1639. c.OOCode as Code,
  1640. a.InvCode,
  1641. b.InvName,
  1642. b.InvStd,
  1643. b.InvUnit,
  1644. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1645. a.WhCode,
  1646. a.ExtensionID
  1647. FROM
  1648. ICSOOPick a
  1649. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1650. left join ICSOutsourcingOrder c on a.OODetailID=c.OODetailID and a.WorkPoint=c.WorkPoint
  1651. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1652. WHERE c.OOCode in ({0}) AND a.WorkPoint = '{1}'
  1653. GROUP BY c.OOCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID, x.MergeID";
  1654. #endregion
  1655. }
  1656. if (Type == "5")
  1657. {
  1658. #region 委外领料SQL
  1659. sqls = @" select
  1660. x.MergeID,
  1661. a.ApplyCode as Code,
  1662. a.InvCode,
  1663. b.InvName,
  1664. b.InvStd,
  1665. b.InvUnit,
  1666. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1667. a.WhCode,
  1668. a.ExtensionID
  1669. FROM
  1670. ICSOApply a
  1671. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1672. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1673. WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
  1674. GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1675. #endregion
  1676. }
  1677. if (Type == "6")
  1678. {
  1679. #region 委外材料出库SQL
  1680. sqls = @" select
  1681. x.MergeID,
  1682. a.IssueCode as Code,
  1683. a.InvCode,
  1684. b.InvName,
  1685. b.InvStd,
  1686. b.InvUnit,
  1687. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1688. a.WhCode,
  1689. a.ExtensionID
  1690. FROM
  1691. ICSOIssue a
  1692. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1693. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1694. WHERE a.IssueCode in ({0}) AND a.WorkPoint = '{1}'
  1695. GROUP BY a.IssueCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1696. #endregion
  1697. }
  1698. if (Type == "7")
  1699. {
  1700. #region 销售发货SQL
  1701. sqls = @" select
  1702. x.MergeID,
  1703. a.SDNCode as Code,
  1704. a.InvCode,
  1705. b.InvName,
  1706. b.InvStd,
  1707. b.InvUnit,
  1708. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1709. a.WhCode,
  1710. a.ExtensionID
  1711. FROM
  1712. ICSSDN a
  1713. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1714. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1715. WHERE a.SDNCode in ({0}) AND a.WorkPoint = '{1}'
  1716. GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1717. #endregion
  1718. }
  1719. if (Type == "8")
  1720. {
  1721. #region 其它出库SQL
  1722. sqls = @" select
  1723. x.MergeID,
  1724. a.OutCode as Code,
  1725. a.InvCode,
  1726. b.InvName,
  1727. b.InvStd,
  1728. b.InvUnit,
  1729. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1730. a.WhCode,
  1731. a.ExtensionID
  1732. FROM
  1733. ICSOtherOut a
  1734. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1735. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1736. WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1737. GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1738. #endregion
  1739. }
  1740. if (Type == "9")
  1741. {
  1742. #region 借用SQL
  1743. sqls = @" select
  1744. x.MergeID,
  1745. a.BrrowCode as Code,
  1746. a.InvCode,
  1747. b.InvName,
  1748. b.InvStd,
  1749. b.InvUnit,
  1750. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1751. a.WhCode,
  1752. a.ExtensionID
  1753. FROM
  1754. ICSBrrow a
  1755. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1756. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1757. WHERE a.BrrowCode in ({0}) AND a.WorkPoint = '{1}'
  1758. GROUP BY a.BrrowCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
  1759. #endregion
  1760. }
  1761. if (Type == "10")
  1762. {
  1763. #region 物料调拨
  1764. sqls = @" select
  1765. x.MergeID,
  1766. a.TransferNO as Code,
  1767. a.InvCode,
  1768. b.InvName,
  1769. b.InvStd,
  1770. b.InvUnit,
  1771. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1772. a.FromWarehouseCode as WhCode,
  1773. a.ExtensionID
  1774. FROM
  1775. ICSTransfer a
  1776. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1777. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1778. WHERE a.TransferNO in ({0}) AND a.WorkPoint = '{1}'
  1779. GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID,x.MergeID";
  1780. #endregion
  1781. }
  1782. if (Type == "11")
  1783. {
  1784. #region 两步调出
  1785. sqls = @"select
  1786. x.MergeID,
  1787. a.OutCode as Code,
  1788. a.InvCode,
  1789. b.InvName,
  1790. b.InvStd,
  1791. b.InvUnit,
  1792. SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
  1793. a.WHCode as WhCode,
  1794. a.ExtensionID
  1795. FROM
  1796. ICSOtherOut a
  1797. INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  1798. inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
  1799. LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
  1800. WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
  1801. GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WHCode,a.ExtensionID,x.MergeID";
  1802. #endregion
  1803. }
  1804. sqls = string.Format(sqls, string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(','), WorkPoint);
  1805. sql = string.Format(sql, sqls, WorkPoint);
  1806. DataTable table = Repository().FindDataSetBySql(sql).Tables[0];
  1807. DataTable dtCloned = table.Clone();
  1808. foreach (DataColumn col in dtCloned.Columns)
  1809. {
  1810. col.DataType = typeof(string);
  1811. }
  1812. foreach (DataRow row in table.Rows)
  1813. {
  1814. DataRow newrow = dtCloned.NewRow();
  1815. foreach (DataColumn column in dtCloned.Columns)
  1816. {
  1817. newrow[column.ColumnName] = row[column.ColumnName].ToString();
  1818. }
  1819. dtCloned.Rows.Add(newrow);
  1820. }
  1821. if (Invmes.Rows.Count > 0)
  1822. {
  1823. dtCloned.Merge(Invmes, false);
  1824. }
  1825. return dtCloned;
  1826. }
  1827. public string MergeMaterial(string keyValue,string Type)
  1828. {
  1829. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1830. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  1831. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1832. string msg = "";
  1833. string sql = string.Empty;
  1834. keyValue = keyValue.TrimEnd(',');
  1835. List<string> arry = keyValue.Split(',').ToList();
  1836. string dataList=string.Empty;
  1837. if (arry.Count > 0)
  1838. {
  1839. foreach (var i in arry)
  1840. {
  1841. dataList += $@"'{i}',";
  1842. }
  1843. if (dataList.Any())
  1844. {
  1845. dataList = dataList.TrimEnd(',');
  1846. }
  1847. }
  1848. DateTime time = DateTime.Now;
  1849. string Tday = time.ToString("yyyyMMdd");
  1850. string sqls = string.Format(@"SELECT MAX(A.MergeID) AS SourceID FROM ICSMOPickMerge A WHERE A.MergeID LIKE '{0}%' AND LEN(a.MergeID) = 13", Tday);
  1851. DataSet ds = SqlHelper.GetDataSetBySql(sqls);
  1852. string MergeID = "";
  1853. Int64 Merge_ID = 0;
  1854. DataTable dts = ds.Tables[0];
  1855. if (dts != null && dts.Rows.Count > 0)
  1856. {
  1857. string lot = dts.Rows[0]["SourceID"].ToString();
  1858. if (!string.IsNullOrWhiteSpace(lot))
  1859. Merge_ID = Convert.ToInt64(lot.Substring(lot.Length - 5));
  1860. }
  1861. MergeID = Tday + (Merge_ID + 1).ToString().PadLeft(5, '0');
  1862. if (Type == "1")//工单备料
  1863. {
  1864. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1865. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1866. select NEWID(),'{0}',b.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1867. from ICSMO a inner join ICSMOPick b on b.MODetailID=a.MODetailID and b.WorkPoint=a.WorkPoint
  1868. where a.MOCode in ({5})
  1869. ";
  1870. }
  1871. if (Type == "2")//工单发料
  1872. {
  1873. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1874. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1875. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1876. from ICSMOApply a
  1877. where a.ApplyCode in ({5})";
  1878. }
  1879. if (Type == "3")//材料出库
  1880. {
  1881. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1882. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1883. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1884. from ICSMOIssue a
  1885. where a.IssueCode in ({5}) ";
  1886. }
  1887. if (Type == "4")//委外备料
  1888. {
  1889. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1890. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1891. select NEWID(),'{0}',b.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1892. from ICSOutsourcingOrder a inner join ICSOOPick b on a.OODetailID=b.OODetailID and b.WorkPoint=a.WorkPoint
  1893. where a.OOCode in ({5})";
  1894. }
  1895. if (Type == "5")//委外领料
  1896. {
  1897. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1898. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1899. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1900. from ICSOApply a
  1901. where a.ApplyCode in ({5})";
  1902. }
  1903. if (Type == "6")//委外材料出库
  1904. {
  1905. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1906. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1907. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1908. from ICSOIssue a
  1909. where a.IssueCode in ({5})";
  1910. }
  1911. if (Type == "7")//销售发货
  1912. {
  1913. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1914. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1915. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1916. from ICSSDN a
  1917. where a.SDNCode in ({5}) AND a.Type='1' ";
  1918. }
  1919. if (Type == "8")//其它出库
  1920. {
  1921. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1922. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1923. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1924. from ICSOtherOut a
  1925. where a.OutCode in ({5})";
  1926. }
  1927. if (Type == "9")//借用单
  1928. {
  1929. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1930. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1931. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1932. from ICSBrrow a
  1933. where a.BrrowCode in ({5})";
  1934. }
  1935. if (Type == "10")//物料调拨
  1936. {
  1937. sql += @"INSERT INTO dbo.ICSMOPickMerge
  1938. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1939. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1940. from ICSTransfer a
  1941. where a.TransferNO in ({5})
  1942. ";
  1943. }
  1944. if (Type == "11")//两步调出
  1945. {
  1946. sql += @" INSERT INTO dbo.ICSMOPickMerge
  1947. ( ID ,MergeID ,SourceID ,Type,MUSER, MUSERName,MTIME,WorkPoint)
  1948. select NEWID(),'{0}',a.ID ,'{1}','{2}','{3}',GETDATE(),'{4}'
  1949. from ICSOtherOut a
  1950. INNER JOIN ICSTransfer tra ON a.TransferDetailID=tra.TransferDetailID AND a.WorkPoint=tra.WorkPoint
  1951. where a.OutCode in ({5})
  1952. ";
  1953. }
  1954. sql = string.Format(sql, MergeID, Type, MUSER, MUSERNAME, WorkPoint, dataList);
  1955. try
  1956. {
  1957. if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
  1958. {
  1959. }
  1960. else
  1961. {
  1962. msg = "新增失败";
  1963. }
  1964. }
  1965. catch (Exception ex)
  1966. {
  1967. throw new Exception(ex.Message);
  1968. }
  1969. return msg;
  1970. }
  1971. public string CheckQty(string objArr)
  1972. {
  1973. objArr= objArr.TrimEnd(',');
  1974. string sql = @"select * from ICSMOPickMerge a
  1975. left join ICSMOPick b on a.SourceID=b.ID and a.WorkPoint=b.WorkPoint
  1976. left join ICSMO c on b.MODetailID=c.MODetailID and b.WorkPoint=c.WorkPoint
  1977. where MOCode in ({0})";
  1978. sql = string.Format(sql, objArr);
  1979. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  1980. if (dt != null&&dt.Rows.Count>0)
  1981. {
  1982. return "1";
  1983. }
  1984. return "0";
  1985. }
  1986. }
  1987. }