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.

814 lines
45 KiB

11 months ago
1 year ago
11 months ago
1 year ago
1 year ago
  1. using NFine.Data.Extensions;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Text;
  6. using NFine.Code;
  7. using NFine.Repository;
  8. using System.Data.Common;
  9. using NFine.Domain._03_Entity.SRM;
  10. using Newtonsoft.Json;
  11. using System.Configuration;
  12. using System.Net;
  13. using System.IO;
  14. using Newtonsoft.Json.Linq;
  15. namespace NFine.Application.OMAY
  16. {
  17. public class ICSOOCreateLotApp : RepositoryFactory<ICSVendor>
  18. {
  19. //奥美工单生成条码主表查询
  20. public DataTable GetGridJsonChengPing(string queryJson, ref Pagination jqgridparam)
  21. {
  22. DataTable dt = new DataTable();
  23. var queryParam = queryJson.ToJObject();
  24. List<DbParameter> parameter = new List<DbParameter>();
  25. object Figure = GetDecimalDigits();
  26. #region [SQL]
  27. string sql = @" select distinct a.ID, a.OODetailID,a.OOCode,a.Sequence, CAST(a.InQuantity AS DECIMAL(18,{0})) as RCVQuantity ,a.InvCode,b.InvName,b.InvDesc,b.InvStd,b.InvUnit,CAST( a.Quantity AS DECIMAL(18,{0})) as Quantity,CAST( a.Amount as DECIMAL(18,{0})) as Amount
  28. ,a.Status,a.ExtensionID,a.MUSERName,a.MTIME ,CAST(c.LOTQTY AS DECIMAL(18,{0})) as LOTQTY ,CAST( a.Quantity AS DECIMAL(18,{0})) -CAST(a.InQuantity AS DECIMAL(18,{0})) as ERPNum
  29. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  30. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.EATTRIBUTE1,a.EATTRIBUTE2,a.EATTRIBUTE3,a.EATTRIBUTE4,a.EATTRIBUTE5,a.EATTRIBUTE6,a.EATTRIBUTE7,a.EATTRIBUTE8,
  31. a.EATTRIBUTE9,a.EATTRIBUTE10
  32. from ICSOutsourcingOrder a
  33. left join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  34. left join (
  35. select mm.TransCode,mm.TransSequence,sum(isnull(ee.Quantity,0)) LOTQTY,ee.WorkPoint from ICSInventoryLot ee
  36. left join ICSInventoryLotDetail mm on ee.LotNo=mm.LotNo and ee.type='3'
  37. where isnull(ee.EATTRIBUTE1,'')=''
  38. group by mm.TransCode,mm.TransSequence,ee.WorkPoint
  39. )c
  40. on a.OOCode=c.TransCode and a.Sequence=c.TransSequence and a.WorkPoint=c.WorkPoint
  41. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint WHERE 1=1 and a.Status='2'";
  42. sql = string.Format(sql, Figure);
  43. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  44. #endregion
  45. if (!string.IsNullOrWhiteSpace(queryJson))
  46. {
  47. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  48. {
  49. sql += " and a.OOCode like '%" + queryParam["POCode"].ToString() + "%' ";
  50. }
  51. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  52. {
  53. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  54. }
  55. if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString()))
  56. {
  57. sql += " and b.InvName like '%" + queryParam["InvName"].ToString() + "%' ";
  58. }
  59. if (!string.IsNullOrWhiteSpace(queryParam["BatchCode"].ToString()))
  60. {
  61. sql += " and f.BatchCode like '%" + queryParam["BatchCode"].ToString() + "%' ";
  62. }
  63. if (!string.IsNullOrWhiteSpace(queryParam["SelGDLX"].ToString()))
  64. {
  65. sql += " and a.MOType like '%" + queryParam["SelGDLX"].ToString() + "%' ";
  66. }
  67. if (!string.IsNullOrWhiteSpace(queryParam["POStatus"].ToString()))
  68. {
  69. string POStatus = queryParam["POStatus"].ToString();
  70. if (POStatus == "0")
  71. {
  72. //sql += " and a.Quantity=ISNULL(c.LotQty,0)";
  73. }
  74. else if (POStatus == "1")
  75. {
  76. sql += " and ISNULL(c.LOTQTY,0)>=a.Quantity";
  77. }
  78. else
  79. {
  80. sql += " and ISNULL(c.LOTQTY,0)<a.Quantity";
  81. }
  82. }
  83. }
  84. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  85. {
  86. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  87. }
  88. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode == "Vendor")
  89. {
  90. sql += " and a.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
  91. }
  92. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  93. }
  94. //生成条码子表查询
  95. public DataTable GetSubGridJson(string ApplyNegCode, string Sequence, string Type, ref Pagination jqgridparam)
  96. {
  97. DataTable dt = new DataTable();
  98. object Figure = GetDecimalDigits();
  99. List<DbParameter> parameter = new List<DbParameter>();
  100. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  101. string sql = @" select c.TransCode,c.TransSequence ,a.ID,a.LotNo, CAST( a.Quantity AS DECIMAL(18,{0})) as Quantity ,a.MUSERName,a.MTIME
  102. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  103. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,
  104. case when isnull(d.ID,'')='' then '' else '' end as isStorage,
  105. case when g.InvIQC='1'and isnull(e.ID,'')='' then '' else '' end as isInspection,
  106. case when g.InvIQC='1' then '是' else '否' end as isExemption,a.Amount,
  107. convert(varchar(20),a.ProductDate,23) as ProductDate,convert(varchar(20),a.ExpirationDate,23) as ExpirationDate ,g.EffectiveDays
  108. from ICSInventoryLot a
  109. left join (select count(LotNo) LotNoCount,LotNo,WorkPoint from ICSWareHouseLotInfo
  110. group by LotNo,WorkPoint)b on a.LotNo=b.LotNo and a.WorkPoint=b.WorkPoint
  111. left join ICSInventoryLotDetail c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint
  112. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  113. left join dbo.ICSWareHouseLotInfo d on a.LotNo=d.LotNo and a.WorkPoint=d.WorkPoint
  114. left join ICSInspection e on a.LotNo=e.LotNo and e.Enable='1' and a.WorkPoint=e.WorkPoint
  115. left join ICSInventory g on a.InvCode=g.InvCode and a.WorkPoint=g.WorkPoint
  116. WHERE isnull(a.EATTRIBUTE1,'')='' and a.Type='" + Type + "' and c.TransCode='" + ApplyNegCode + "' and c.TransSequence='" + Sequence + "' and a.WorkPoint in ('" + WorkPoint + "')";
  117. sql = string.Format(sql, Figure);
  118. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  119. }
  120. //获取小数点数位
  121. public object GetDecimalDigits()
  122. {
  123. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  124. try
  125. {
  126. string sql = string.Empty;
  127. sql = @"select Figure from ICSConfiguration where Code='Figure001' and Enable='1' and WorkPoint='" + WorkPoint + "'";
  128. object Figure = SqlHelper.ExecuteScalar(sql);
  129. return Figure;
  130. }
  131. catch (Exception ex)
  132. {
  133. throw new Exception(ex.Message.ToString());
  134. }
  135. }
  136. //工单生成条码获取物料数量信息
  137. public DataTable GetSubGridJsonChengPingByCreate(string OOCode, string Sequence, string WorkPoint)
  138. {
  139. DataTable dt = new DataTable();
  140. object Figure = GetDecimalDigits();
  141. List<DbParameter> parameter = new List<DbParameter>();
  142. string sql = @"select d.Enable, a.InvCode,b.ClassCode,b.InvName,b.InvStd,b.InvUnit, CAST( a.Quantity AS DECIMAL(18,{0})) as Quantity,CAST( a.Amount as DECIMAL(18,{0})) as Amount, CAST( isnull(c.LOTQTY,0) as DECIMAL(18,{0})) as CreatedQty,
  143. CAST( (a.Quantity-ISNULL(c.LOTQTY,0)) as DECIMAL(18,{0})) as thisCreateQty,
  144. case when b.AmountEnable='1' then CAST( (a.Quantity-ISNULL(c.LOTQTY,0)) as DECIMAL(18,{0}))/isnull(b.EATTRIBUTE1,1) else CAST( (a.Quantity-ISNULL(c.LOTQTY,0)) as DECIMAL(18,{0})) end as SurplusCreateQty,
  145. isnull(b.EffectiveEnable,0) as EffectiveEnable, CAST( isnull(b.EffectiveDays,0) as DECIMAL(18,{0})) as EffectiveDays
  146. ,e.ProjectCode,e.BatchCode,e.Version,e.Brand,e.cFree1,e.cFree2,e.cFree3,e.cFree4,e.cFree5,e.cFree6,e.cFree7,e.cFree8,e.cFree9,e.cFree10
  147. from ICSOutsourcingOrder a
  148. left join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  149. left join (
  150. select b.TransCode,b.TransSequence,sum(isnull(Quantity,0)) LOTQTY from ICSInventoryLot a
  151. left join ICSInventoryLotDetail b on a.LotNo=b.LotNo and a.Type='3'
  152. where isnull(a.EATTRIBUTE1,'')=''
  153. group by b.TransCode,b.TransSequence
  154. ) c on a.OOCode=c.TransCode and a.Sequence=c.TransSequence
  155. left join ICSConfiguration d on d.Code='CompleteVerification001' and a.WorkPoint =d.WorkPoint
  156. left join ICSExtension e on a.ExtensionID=e.ID and a.WorkPoint=e.WorkPoint
  157. WHERE 1 =1 and a.Status='2'
  158. and a.OOCode='" + OOCode + "' and a.Sequence='" + Sequence + "'";
  159. sql += " and a.WorkPoint='" + WorkPoint + "'";
  160. sql = string.Format(sql, Figure);
  161. return Repository().FindTableBySql(sql.ToString());
  162. }
  163. //查询超生比例
  164. public DataTable GetScale()
  165. {
  166. DataTable dt = new DataTable();
  167. List<DbParameter> parameter = new List<DbParameter>();
  168. string sql = @" SELECT Top 1 a.F_Define1 as Prorate
  169. FROM [dbo].[Sys_SRM_ItemsDetail] a
  170. LEFT JOIN [dbo].[Sys_SRM_Items] b ON a.F_ItemId=b.F_Id AND b.F_EnabledMark='1'
  171. WHERE b.F_EnCode='CS0001' ORDER BY a.F_ItemCode";
  172. return Repository().FindTableBySql(sql.ToString());
  173. }
  174. //调用接口来显示本次可生产数量
  175. public object GetAbsolveQty(string OOCode, string Sequence,string Qty)
  176. {
  177. decimal AvailQty = 0;
  178. decimal AllQty = 0;
  179. string msg = "";
  180. string sql = @"select
  181. a.WorkPoint as WorkPoint,
  182. a.OODetailID as DetailID,
  183. '' as Type,
  184. cast( isnull(c.LOTQTY,0) as DECIMAL(18,4)) as InQty,
  185. " + Qty + @" as Qty,
  186. flag.F_Define1 as Prorate
  187. from ICSOutsourcingOrder a
  188. left join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  189. left join (
  190. select b.TransCode,b.TransSequence,sum(isnull(Quantity,0)) LOTQTY from ICSInventoryLot a
  191. left join ICSInventoryLotDetail b on a.LotNo=b.LotNo and a.Type='3'
  192. where isnull(a.EATTRIBUTE1,'')=''
  193. group by b.TransCode,b.TransSequence
  194. ) c on a.OOCode=c.TransCode and a.Sequence=c.TransSequence
  195. left join (
  196. select b.TransCode,PARSENAME(REPLACE(b.TransSequence, '~', '.'), 2) as TransSequence ,sum(isnull(Quantity,0)) OOPickQTY from ICSInventoryLot a
  197. left join ICSInventoryLotDetail b on a.LotNo=b.LotNo and a.Type='20'
  198. where isnull(a.EATTRIBUTE1,'')=''
  199. group by b.TransCode,PARSENAME(REPLACE(b.TransSequence, '~', '.'), 2)
  200. ) f on a.OOCode=f.TransCode and a.Sequence=f.TransSequence
  201. left join ICSConfiguration d on d.Code='CompleteVerification001' and a.WorkPoint =d.WorkPoint
  202. left join ICSExtension e on a.ExtensionID=e.ID and a.WorkPoint=e.WorkPoint
  203. left join Sys_SRM_ItemsDetail flag on flag.F_ItemCode='GDCS0001'
  204. WHERE 1 =1 and a.Status='2'
  205. and a.OOCode='" + OOCode + "' and a.Sequence='" + Sequence + "'";
  206. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  207. string Inputstr = JsonConvert.SerializeObject(dt);
  208. string APIURL = ConfigurationManager.ConnectionStrings["ERPAPIURL"].ConnectionString + "Completeamnew/Approve";
  209. string result = HttpPost(APIURL, Inputstr);
  210. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
  211. string MessAge = Obj["Message"].ToString();
  212. string Success = Obj["Success"].ToString();
  213. if (Success.ToUpper() == "FALSE")
  214. {
  215. msg = MessAge;
  216. }
  217. else
  218. {
  219. if (msg == "")
  220. {
  221. JObject dataObj = JObject.Parse(Obj["Data"].ToString());
  222. AvailQty = decimal.Parse(dataObj["AvailQty"].ToString());
  223. AllQty = decimal.Parse(dataObj["AllQty"].ToString());
  224. //JArray res = (JArray)JsonConvert.DeserializeObject(Obj["Data"].ToString());
  225. //foreach (var item in res)
  226. //{
  227. // JObject jo = (JObject)item;
  228. // //var aa= jo["min_lotqty"].ToString();
  229. // Num = Convert.ToDecimal(jo["AllQty"].ToString());
  230. //}
  231. }
  232. }
  233. var Header = new
  234. {
  235. msg = msg,
  236. AvailQty = AvailQty,
  237. AllQty= AllQty,
  238. };
  239. return Header;
  240. }
  241. //接口api解析
  242. public static string HttpPost(string url, string body)
  243. {
  244. try
  245. {
  246. Encoding encoding = Encoding.UTF8;
  247. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  248. request.Method = "POST";
  249. request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
  250. request.ContentType = "application/json; charset=utf-8";
  251. byte[] buffer = encoding.GetBytes(body);
  252. request.ContentLength = buffer.Length;
  253. request.GetRequestStream().Write(buffer, 0, buffer.Length);
  254. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  255. using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
  256. {
  257. return reader.ReadToEnd();
  258. }
  259. }
  260. catch (WebException ex)
  261. {
  262. throw new Exception(ex.Message);
  263. }
  264. }
  265. //委外订单生成条码
  266. public int SubmitFormChengPing(string OOCode, string Sequence, string keyValue, string WorkPoint,string AMEnable)
  267. {
  268. var queryParam = keyValue.ToJObject();
  269. string WorkPoints = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  270. int createPageCount = Convert.ToInt32(queryParam["createPageCount"].ToString());
  271. decimal minPackQty = Convert.ToDecimal(queryParam["minPackQty"].ToString());
  272. decimal thisCreateQty = Convert.ToDecimal(queryParam["thisCreateQty"].ToString());
  273. decimal LOTQTY = minPackQty;
  274. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  275. //string VenCode = GetVendorCode(ApplyNegCode, Sequence, WorkPoint);
  276. string Pre = "CP" + OOCode + (Convert.ToInt32(Sequence)).ToString("D4");
  277. string sql = string.Empty;
  278. //string VendorLot = queryParam["VendorLot"].ToString();
  279. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  280. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  281. string PRODUCTDATE = queryParam["PRODUCTDATE"].ToString();
  282. string InvCode = queryParam["ClassCode"].ToString();
  283. string sqls = string.Empty;
  284. string Colspan = "";
  285. string str1 = "";
  286. string LotNo=string.Empty;
  287. List<string> ExtensionIDList = new List<string>();
  288. for (int i = 0; i < createPageCount; i++)
  289. {
  290. if (i + 1 == createPageCount)
  291. {
  292. if (minPackQty * createPageCount > thisCreateQty)
  293. {
  294. LOTQTY = thisCreateQty - (minPackQty * (createPageCount - 1));
  295. }
  296. }
  297. Colspan = queryParam["ProjectCode"].ToString() + "~" + queryParam["BatchCode"].ToString() + "~" + queryParam["Version"].ToString() + "~" + queryParam["Brand"].ToString() + "~" + queryParam["cFree1"].ToString() + "~" + queryParam["cFree2"].ToString() + "~" + queryParam["cFree3"].ToString() + "~" + queryParam["cFree4"].ToString() + "~" + queryParam["cFree5"].ToString() + "~" + queryParam["cFree6"].ToString() + "~" + queryParam["cFree7"].ToString() + "~" + queryParam["cFree8"].ToString() + "~" + queryParam["cFree9"].ToString() + "~" + queryParam["cFree10"].ToString();
  298. sqls = string.Format(@"select ID from ICSExtension where Colspan='{0}' and WorkPoint='{1}'", Colspan, WorkPoint);
  299. object ExtensionID = SqlHelper.ExecuteScalar(sqls);
  300. bool flag = true;
  301. foreach (var item in ExtensionIDList)
  302. {
  303. if (item == Colspan + WorkPoint)
  304. {
  305. flag = false;
  306. }
  307. }
  308. if (ExtensionID == null && flag == true)
  309. {
  310. str1 = Guid.NewGuid().ToString();
  311. sql += string.Format(@"Insert into ICSExtension(ID, Colspan, ProjectCode, BatchCode, Version, Brand, cFree1, cFree2, cFree3, cFree4, cFree5, cFree6, cFree7, cFree8, cFree9, cFree10, MTIME, MUSER, MUSERName, WorkPoint)
  312. Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}',getdate(),'{16}','{17}','{18}' )",
  313. str1, Colspan, queryParam["ProjectCode"].ToString(), queryParam["BatchCode"].ToString(), queryParam["Version"].ToString(), queryParam["Brand"].ToString(), queryParam["cFree1"].ToString(), queryParam["cFree2"].ToString(), queryParam["cFree3"].ToString(), queryParam["cFree4"].ToString(), queryParam["cFree5"].ToString(), queryParam["cFree6"].ToString(), queryParam["cFree7"].ToString(), queryParam["cFree8"].ToString(), queryParam["cFree9"].ToString(), queryParam["cFree10"].ToString(),
  314. MUSER, MUSERNAME, WorkPoints);
  315. }
  316. else if (ExtensionID != null)
  317. {
  318. str1 = ExtensionID.ToString();
  319. }
  320. ExtensionIDList.Add(Colspan + WorkPoint);
  321. //传过来的参数判断是否是奥美的项目奥美项目执行独有生成条码规则
  322. if (AMEnable == "true")
  323. {
  324. LotNo = SqlHelper.GetLOTNumber(InvCode, WorkPoint);
  325. }
  326. else
  327. {
  328. LotNo = GetSerialCode(WorkPoint, "ICSInventoryLot", "LotNO", Pre, 5);
  329. }
  330. sql += string.Format(@"Insert into ICSInventoryLotDetail(LotNo, TransCode,TransSequence,MUSER,MUSERName,MTIME,WorkPoint)
  331. Values('{0}','{1}','{2}','{3}','{4}',getdate(),'{5}' )",
  332. LotNo, OOCode, Sequence, MUSER, MUSERNAME, WorkPoints);
  333. //if (SqlHelper.ExecuteNonQuery(sqls) > 0)
  334. //{
  335. sql += string.Format(@"insert into ICSInventoryLot
  336. (ID,LotNo,InvCode,ProductDate,ExpirationDate,Quantity,ExtensionID,Type,MUSER,MUSERName,MTIME,WorkPoint,Amount
  337. ,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,EATTRIBUTE9,EATTRIBUTE10)
  338. select
  339. newid(),'{0}',InvCode,'{1}','{10}','{2}','{8}','201','{3}','{4}', getdate(),'{5}','{9}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}'
  340. from ICSOutsourcingOrder where OOCode='{6}' and Sequence='{7}' and WorkPoint='{5}' ",
  341. LotNo, PRODUCTDATE, LOTQTY, MUSER, MUSERNAME, WorkPoints, OOCode, Sequence, str1, Convert.ToDecimal(queryParam["Amount"].ToString()) / minPackQty * LOTQTY, queryParam["ExpirationDate"].ToString()
  342. , queryParam["EATTRIBUTE1"].ToString(), queryParam["EATTRIBUTE2"].ToString(), queryParam["EATTRIBUTE3"].ToString(), queryParam["EATTRIBUTE4"].ToString(), queryParam["EATTRIBUTE5"].ToString(),
  343. queryParam["EATTRIBUTE6"].ToString(), queryParam["EATTRIBUTE7"].ToString(), queryParam["EATTRIBUTE8"].ToString(), queryParam["EATTRIBUTE9"].ToString(), queryParam["EATTRIBUTE10"].ToString());
  344. sql += "\r\n";
  345. //}
  346. }
  347. int count = SqlHelper.CmdExecuteNonQueryLi(sql);
  348. return count;
  349. }
  350. public string GetSerialCode(string workPointCode, string tbName, string colName, string Pre, int numLen)
  351. {
  352. string sql = "EXEC Addins_GetSerialCode '{0}','{1}','{2}','{3}',{4}";
  353. sql = string.Format(sql, new object[] { workPointCode, tbName, colName, Pre, numLen });
  354. //return Repository().FindTableBySql(sql.ToString());
  355. return SqlHelper.ExecuteScalar(sql).ToString();
  356. //return DbHelper.ExecuteScalar(CommandType.Text, sql).ToString();
  357. }
  358. //委外子件
  359. public DataTable GetGridJsonOOPick(string queryJson, ref Pagination jqgridparam)
  360. {
  361. DataTable dt = new DataTable();
  362. var queryParam = queryJson.ToJObject();
  363. List<DbParameter> parameter = new List<DbParameter>();
  364. object Figure = GetDecimalDigits();
  365. #region [SQL]
  366. string sql = @"select a.ID,d.OOCode,d.Sequence+'~'+ a.Sequence as Sequence,a.PickID,a.InvCode as ZInvCode,d.InvCode as MInvCode,b.InvName,b.InvDesc,b.InvStd,b.InvUnit,
  367. CAST(a.Quantity AS DECIMAL(18,{0})) as Quantity ,a.OODetailID,
  368. CAST(a.Amount AS DECIMAL(18,{0})) as Amount,CAST(a.IssueQuantity AS DECIMAL(18,{0})) as IssueQuantity ,a.ExtensionID,a.MUSERName,a.MTIME ,CAST(c.LOTQTY AS DECIMAL(18,{0})) as LOTQTY
  369. ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4
  370. ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10,a.EATTRIBUTE1,a.EATTRIBUTE2,a.EATTRIBUTE3,a.EATTRIBUTE4,a.EATTRIBUTE5,a.EATTRIBUTE6,a.EATTRIBUTE7,a.EATTRIBUTE8,
  371. a.EATTRIBUTE9,a.EATTRIBUTE10
  372. from ICSOOPick a
  373. inner join ICSOutsourcingOrder d on a.OODetailID=d.OODetailID and a.WorkPoint=d.WorkPoint and d.Status='2'
  374. inner join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  375. left join (
  376. select mm.TransCode,mm.TransSequence,sum(isnull(ee.Quantity,0)) LOTQTY,ee.WorkPoint from ICSInventoryLot ee
  377. left join ICSInventoryLotDetail mm on ee.LotNo=mm.LotNo and ee.type='20'
  378. where isnull(ee.EATTRIBUTE1,'')=''
  379. group by mm.TransCode,mm.TransSequence,ee.WorkPoint
  380. )c
  381. on d.OOCode=c.TransCode and d.Sequence+'~'+a.Sequence=c.TransSequence and a.WorkPoint=c.WorkPoint
  382. left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint
  383. where a.EATTRIBUTE1='1' ";
  384. sql = string.Format(sql, Figure);
  385. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  386. #endregion
  387. if (!string.IsNullOrWhiteSpace(queryJson))
  388. {
  389. if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
  390. {
  391. sql += " and d.OOCode like '%" + queryParam["POCode"].ToString() + "%' ";
  392. }
  393. if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
  394. {
  395. sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
  396. }
  397. if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString()))
  398. {
  399. sql += " and b.InvName like '%" + queryParam["InvName"].ToString() + "%' ";
  400. }
  401. if (!string.IsNullOrWhiteSpace(queryParam["BatchCode"].ToString()))
  402. {
  403. sql += " and f.BatchCode like '%" + queryParam["BatchCode"].ToString() + "%' ";
  404. }
  405. if (!string.IsNullOrWhiteSpace(queryParam["POStatus"].ToString()))
  406. {
  407. string POStatus = queryParam["POStatus"].ToString();
  408. if (POStatus == "0")
  409. {
  410. //sql += " and a.Quantity=ISNULL(c.LotQty,0)";
  411. }
  412. else if (POStatus == "1")
  413. {
  414. sql += " and ISNULL(c.LOTQTY,0)>=a.Quantity";
  415. }
  416. else
  417. {
  418. sql += " and ISNULL(c.LOTQTY,0)<a.Quantity";
  419. }
  420. }
  421. }
  422. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  423. {
  424. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  425. }
  426. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode == "Vendor")
  427. {
  428. sql += " and a.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
  429. }
  430. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  431. }
  432. //副产品生成条码获取物料数量信息
  433. public DataTable GetSubGridJsonOOPickCreate(string OOPickCode, string Sequence, string WorkPoint)
  434. {
  435. DataTable dt = new DataTable();
  436. object Figure = GetDecimalDigits();
  437. List<DbParameter> parameter = new List<DbParameter>();
  438. string sql = @"
  439. select
  440. a.InvCode,b.InvName,b.ClassCode,b.InvStd,b.InvUnit, a.Quantity as Quantity,
  441. cast( isnull(c.LOTQTY,0)+isnull(f.GDQTY,0) as DECIMAL(18,4)) as CreatedQty,
  442. cast( a.Amount as DECIMAL(18,4)) as Amount,
  443. isnull(b.EffectiveEnable,0) as EffectiveEnable,
  444. cast( isnull(b.EffectiveDays,0) as DECIMAL(18,4)) as EffectiveDays ,
  445. CAST( (a.Quantity-ISNULL(c.LOTQTY,0)-isnull(f.GDQTY,0)) as DECIMAL(18,4)) as thisCreateQty,
  446. case when b.AmountEnable='1' then CAST( (a.Quantity-ISNULL(c.LOTQTY,0)-isnull(f.GDQTY,0)) as DECIMAL(18,4))/isnull(b.EATTRIBUTE1,1) else CAST( (a.Quantity-ISNULL(c.LOTQTY,0)-isnull(f.GDQTY,0)) as DECIMAL(18,4)) end SurplusCreateQty
  447. ,e.ProjectCode,e.BatchCode,e.Version,e.Brand,e.cFree1,e.cFree2,e.cFree3,e.cFree4,e.cFree5,e.cFree6,e.cFree7,e.cFree8,e.cFree9,e.cFree10
  448. from ICSOOPick a
  449. left join ICSOutsourcingOrder d on a.OODetailID=d.OODetailID and a.WorkPoint=d.WorkPoint and d.Status='2'
  450. --
  451. left join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  452. left join (
  453. select b.TransCode,b.TransSequence,sum(isnull(Quantity,0)) LOTQTY from ICSInventoryLot a
  454. left join ICSInventoryLotDetail b on a.LotNo=b.LotNo and a.Type='20'
  455. where isnull(a.EATTRIBUTE1,'')=''
  456. group by b.TransCode,b.TransSequence
  457. ) c on d.OOCode=c.TransCode and d.Sequence+'~'+a.Sequence=c.TransSequence
  458. --
  459. left join (
  460. select b.TransCode,b.TransSequence ,sum(isnull(Quantity,0)) GDQTY from ICSInventoryLot a
  461. left join ICSInventoryLotDetail b on a.LotNo=b.LotNo and a.Type='3'
  462. where isnull(a.EATTRIBUTE1,'')=''
  463. group by b.TransCode,b.TransSequence
  464. ) f on d.OOCode=f.TransCode and d.Sequence=f.TransSequence
  465. left join ICSExtension e on d.ExtensionID=e.ID and a.WorkPoint=e.WorkPoint
  466. WHERE 1=1
  467. and d.OOCode='" + OOPickCode + "' and d.Sequence+'~'+a.Sequence='" + Sequence + "'";
  468. sql += " and a.WorkPoint='" + WorkPoint + "'";
  469. sql = string.Format(sql, Figure);
  470. return Repository().FindTableBySql(sql.ToString());
  471. }
  472. //副产品调用接口获取可生成数量
  473. public object GetOOPickAbsolveQty(string OOCode, string Sequence, string Qty)
  474. {
  475. decimal AvailQty = 0;
  476. decimal AllQty = 0;
  477. string msg = "";
  478. string sql = @"
  479. select
  480. a.WorkPoint as WorkPoint,
  481. a.OODetailID as DetailID,
  482. '' as Type,
  483. cast( isnull(c.LOTQTY,0) as DECIMAL(18,4)) as InQty,
  484. " + Qty + @" as Qty,
  485. flag.F_Define1 as Prorate
  486. from ICSOOPick a
  487. left join ICSOutsourcingOrder d on a.OODetailID=d.OODetailID and a.WorkPoint=d.WorkPoint and d.Status='2'
  488. --
  489. left join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
  490. left join (
  491. select b.TransCode,b.TransSequence,sum(isnull(Quantity,0)) LOTQTY from ICSInventoryLot a
  492. left join ICSInventoryLotDetail b on a.LotNo=b.LotNo and a.Type='20'
  493. where isnull(a.EATTRIBUTE1,'')=''
  494. group by b.TransCode,b.TransSequence
  495. ) c on d.OOCode=c.TransCode and d.Sequence+'~'+a.Sequence=c.TransSequence
  496. --
  497. left join (
  498. select b.TransCode,b.TransSequence ,sum(isnull(Quantity,0)) GDQTY from ICSInventoryLot a
  499. left join ICSInventoryLotDetail b on a.LotNo=b.LotNo and a.Type='3'
  500. where isnull(a.EATTRIBUTE1,'')=''
  501. group by b.TransCode,b.TransSequence
  502. ) f on d.OOCode=f.TransCode and d.Sequence=f.TransSequence
  503. left join ICSExtension e on d.ExtensionID=e.ID and a.WorkPoint=e.WorkPoint
  504. left join Sys_SRM_ItemsDetail flag on flag.F_ItemCode='GDCS0001'
  505. WHERE 1=1
  506. and d.OOCode='" + OOCode + "' and d.Sequence+'~'+a.Sequence='" + Sequence + "'";
  507. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  508. string Inputstr = JsonConvert.SerializeObject(dt);
  509. string APIURL = ConfigurationManager.ConnectionStrings["ERPAPIURL"].ConnectionString + "Completeamnew/Approve";
  510. string result = HttpPost(APIURL, Inputstr);
  511. JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
  512. string MessAge = Obj["Message"].ToString();
  513. string Success = Obj["Success"].ToString();
  514. if (Success.ToUpper() == "FALSE")
  515. {
  516. msg = MessAge;
  517. }
  518. else
  519. {
  520. if (msg == "")
  521. {
  522. JObject dataObj = JObject.Parse(Obj["Data"].ToString());
  523. AvailQty = decimal.Parse(dataObj["AvailQty"].ToString());
  524. AllQty = decimal.Parse(dataObj["AllQty"].ToString());
  525. }
  526. }
  527. var Header = new
  528. {
  529. msg = msg,
  530. AvailQty = AvailQty,
  531. AllQty = AllQty,
  532. };
  533. return Header;
  534. }
  535. //联副产品
  536. public int SubmitFormOOPick(string OOPickCode, string Sequence, string keyValue, string WorkPoint,string AMEnable)
  537. {
  538. var queryParam = keyValue.ToJObject();
  539. string WorkPoints = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  540. int createPageCount = Convert.ToInt32(queryParam["createPageCount"].ToString());
  541. decimal minPackQty = Convert.ToDecimal(queryParam["minPackQty"].ToString());
  542. decimal thisCreateQty = Convert.ToDecimal(queryParam["thisCreateQty"].ToString());
  543. decimal LOTQTY = minPackQty;
  544. string Sequences = Sequence.Replace("~", "");
  545. string Pre = "OOPick" + OOPickCode + (Convert.ToInt32(Sequences)).ToString("D4");
  546. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  547. string sql = string.Empty;
  548. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  549. string PRODUCTDATE = queryParam["PRODUCTDATE"].ToString();
  550. string InvCode = queryParam["ClassCode"].ToString();
  551. string sqls = string.Empty;
  552. string Colspan = "";
  553. string str1 = "";
  554. string LotNo = string.Empty;
  555. List<string> ExtensionIDList = new List<string>();
  556. for (int i = 0; i < createPageCount; i++)
  557. {
  558. if (i + 1 == createPageCount)
  559. {
  560. if (minPackQty * createPageCount > thisCreateQty)
  561. {
  562. LOTQTY = thisCreateQty - (minPackQty * (createPageCount - 1));
  563. }
  564. }
  565. Colspan = queryParam["ProjectCode"].ToString() + "~" + queryParam["BatchCode"].ToString() + "~" + queryParam["Version"].ToString() + "~" + queryParam["Brand"].ToString() + "~" + queryParam["cFree1"].ToString() + "~" + queryParam["cFree2"].ToString() + "~" + queryParam["cFree3"].ToString() + "~" + queryParam["cFree4"].ToString() + "~" + queryParam["cFree5"].ToString() + "~" + queryParam["cFree6"].ToString() + "~" + queryParam["cFree7"].ToString() + "~" + queryParam["cFree8"].ToString() + "~" + queryParam["cFree9"].ToString() + "~" + queryParam["cFree10"].ToString();
  566. sqls = string.Format(@"select ID from ICSExtension where Colspan='{0}' and WorkPoint='{1}'", Colspan, WorkPoint);
  567. object ExtensionID = SqlHelper.ExecuteScalar(sqls);
  568. bool flag = true;
  569. foreach (var item in ExtensionIDList)
  570. {
  571. if (item == Colspan + WorkPoint)
  572. {
  573. flag = false;
  574. }
  575. }
  576. if (ExtensionID == null && flag == true)
  577. {
  578. str1 = Guid.NewGuid().ToString();
  579. sql += string.Format(@"Insert into ICSExtension(ID, Colspan, ProjectCode, BatchCode, Version, Brand, cFree1, cFree2, cFree3, cFree4, cFree5, cFree6, cFree7, cFree8, cFree9, cFree10, MTIME, MUSER, MUSERName, WorkPoint)
  580. Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}',getdate(),'{16}','{17}','{18}' )",
  581. str1, Colspan, queryParam["ProjectCode"].ToString(), queryParam["BatchCode"].ToString(), queryParam["Version"].ToString(), queryParam["Brand"].ToString(), queryParam["cFree1"].ToString(), queryParam["cFree2"].ToString(), queryParam["cFree3"].ToString(), queryParam["cFree4"].ToString(), queryParam["cFree5"].ToString(), queryParam["cFree6"].ToString(), queryParam["cFree7"].ToString(), queryParam["cFree8"].ToString(), queryParam["cFree9"].ToString(), queryParam["cFree10"].ToString(),
  582. MUSER, MUSERNAME, WorkPoints);
  583. }
  584. else if (ExtensionID != null)
  585. {
  586. str1 = ExtensionID.ToString();
  587. }
  588. ExtensionIDList.Add(Colspan + WorkPoint);
  589. //传过来的参数判断是否是奥美的项目奥美项目执行独有生成条码规则
  590. if (AMEnable == "true")
  591. {
  592. LotNo = SqlHelper.GetLOTNumber(InvCode, WorkPoint);
  593. }
  594. else
  595. {
  596. LotNo = GetSerialCode(WorkPoint, "ICSInventoryLot", "LotNO", Pre, 5);
  597. }
  598. sql += string.Format(@"Insert into ICSInventoryLotDetail(LotNo, TransCode,TransSequence,MUSER,MUSERName,MTIME,WorkPoint)
  599. Values('{0}','{1}','{2}','{3}','{4}',getdate(),'{5}' )",
  600. LotNo, OOPickCode, Sequence, MUSER, MUSERNAME, WorkPoints);
  601. sql += string.Format(@"insert into ICSInventoryLot
  602. (ID,LotNo,InvCode,ProductDate,ExpirationDate,Quantity,ExtensionID,Type,MUSER,MUSERName,MTIME,WorkPoint,Amount ,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,EATTRIBUTE9,EATTRIBUTE10)
  603. select
  604. newid(),'{0}',a.InvCode,'{1}','{10}','{2}','{8}','20','{3}','{4}', getdate(),'{5}','{9}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}'
  605. from ICSOOPick a left join ICSOutsourcingOrder d on a.OODetailID=d.OODetailID and a.WorkPoint=d.WorkPoint and d.Status='2' where d.OOCode='{6}' and d.Sequence+'~'+a.Sequence='{7}' and a.WorkPoint='{5}' ",
  606. LotNo, PRODUCTDATE, LOTQTY, MUSER, MUSERNAME, WorkPoints, OOPickCode, Sequence, str1, Convert.ToDecimal(queryParam["Amount"].ToString()) / minPackQty * LOTQTY, queryParam["ExpirationDate"].ToString()
  607. , queryParam["EATTRIBUTE1"].ToString(), queryParam["EATTRIBUTE2"].ToString(), queryParam["EATTRIBUTE3"].ToString(), queryParam["EATTRIBUTE4"].ToString(), queryParam["EATTRIBUTE5"].ToString(),
  608. queryParam["EATTRIBUTE6"].ToString(), queryParam["EATTRIBUTE7"].ToString(), queryParam["EATTRIBUTE8"].ToString(), queryParam["EATTRIBUTE9"].ToString(), queryParam["EATTRIBUTE10"].ToString());
  609. sql += "\r\n";
  610. }
  611. int count = SqlHelper.CmdExecuteNonQueryLi(sql);
  612. return count;
  613. }
  614. public DataTable GetByproductGridJson(string queryJson, ref Pagination jqgridparam)
  615. {
  616. DataTable dt = new DataTable();
  617. var queryParam = queryJson.ToJObject();
  618. List<DbParameter> parameter = new List<DbParameter>();
  619. #region [SQL]
  620. string sql = @" select a.ID,a.LotNo,a.InvCode,c.InvName,c.InvStd,a.Quantity,a.MUSERName,b.MTIME as WMTIME,a.MTIME
  621. from dbo.ICSInventoryLot a
  622. left join dbo.ICSWareHouseLotInfo b on a.LotNo=b.LotNo and a.WorkPoint=b.WorkPoint
  623. inner join dbo.ICSInventory c on a.InvCode=c.InvCode
  624. where a.Type='19'";
  625. // sql += " WHERE 1=1";
  626. sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName());
  627. #endregion
  628. if (!string.IsNullOrWhiteSpace(queryJson))
  629. {
  630. if (!string.IsNullOrWhiteSpace(queryParam["LotNo"].ToString()))
  631. {
  632. sql += " and a.LotNo like '%" + queryParam["LotNo"].ToString() + "%' ";
  633. }
  634. }
  635. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
  636. {
  637. sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'";
  638. }
  639. //if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode == "Vendor")
  640. //{
  641. // sql += " and a.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
  642. //}
  643. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  644. }
  645. public DataTable GetInvCode()
  646. {
  647. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  648. string sql = @"
  649. select '' as Code,'' as InvCode
  650. union all
  651. SELECT InvCode as Code ,InvCode as InvCode FROM dbo.ICSInventory WITH (NOLOCK) WHERE 1=1 and SUBSTRING(ClassCode, 1, 2) IN ('05') ";
  652. sql += " and WorkPoint='" + WorkPoint + "'";
  653. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  654. return dt;
  655. }
  656. public int SubmitFormOOPickNoCode (string keyValue, string WorkPoint, string AMEnable)
  657. {
  658. var queryParam = keyValue.ToJObject();
  659. string WorkPoints = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  660. int createPageCount = Convert.ToInt32(queryParam["createPageCount"].ToString());
  661. decimal minPackQty = Convert.ToDecimal(queryParam["minPackQty"].ToString());
  662. string InvCode = queryParam["InvCode"].ToString();
  663. decimal LOTQTY = minPackQty;
  664. //string Sequences = Sequence.Replace("~", "");
  665. //string Pre = "OOPick" + OOPickOOCode + (Convert.ToInt32(Sequences)).ToString("D4");
  666. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  667. string sql = string.Empty;
  668. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  669. // string PRODUCTDATE = queryParam["PRODUCTDATE"].ToString();
  670. string ClassCode = queryParam["ClassCode"].ToString();
  671. string sqls = string.Empty;
  672. string Colspan = "";
  673. string str1 = "";
  674. string LotNo = string.Empty;
  675. List<string> ExtensionIDList = new List<string>();
  676. for (int i = 0; i < createPageCount; i++)
  677. {
  678. //if (i + 1 == createPageCount)
  679. //{
  680. // if (minPackQty * createPageCount > thisCreateQty)
  681. // {
  682. // LOTQTY = thisCreateQty - (minPackQty * (createPageCount - 1));
  683. // }
  684. //}
  685. Colspan = queryParam["ProjectCode"].ToString() + "~" + queryParam["BatchCode"].ToString() + "~" + queryParam["Version"].ToString() + "~" + queryParam["Brand"].ToString() + "~" + queryParam["cFree1"].ToString() + "~" + queryParam["cFree2"].ToString() + "~" + queryParam["cFree3"].ToString() + "~" + queryParam["cFree4"].ToString() + "~" + queryParam["cFree5"].ToString() + "~" + queryParam["cFree6"].ToString() + "~" + queryParam["cFree7"].ToString() + "~" + queryParam["cFree8"].ToString() + "~" + queryParam["cFree9"].ToString() + "~" + queryParam["cFree10"].ToString();
  686. sqls = string.Format(@"select ID from ICSExtension where Colspan='{0}' and WorkPoint='{1}'", Colspan, WorkPoint);
  687. object ExtensionID = SqlHelper.ExecuteScalar(sqls);
  688. bool flag = true;
  689. foreach (var item in ExtensionIDList)
  690. {
  691. if (item == Colspan + WorkPoint)
  692. {
  693. flag = false;
  694. }
  695. }
  696. if (ExtensionID == null && flag == true)
  697. {
  698. str1 = Guid.NewGuid().ToString();
  699. sql += string.Format(@"Insert into ICSExtension(ID, Colspan, ProjectCode, BatchCode, Version, Brand, cFree1, cFree2, cFree3, cFree4, cFree5, cFree6, cFree7, cFree8, cFree9, cFree10, MTIME, MUSER, MUSERName, WorkPoint)
  700. Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}',getdate(),'{16}','{17}','{18}' )",
  701. str1, Colspan, queryParam["ProjectCode"].ToString(), queryParam["BatchCode"].ToString(), queryParam["Version"].ToString(), queryParam["Brand"].ToString(), queryParam["cFree1"].ToString(), queryParam["cFree2"].ToString(), queryParam["cFree3"].ToString(), queryParam["cFree4"].ToString(), queryParam["cFree5"].ToString(), queryParam["cFree6"].ToString(), queryParam["cFree7"].ToString(), queryParam["cFree8"].ToString(), queryParam["cFree9"].ToString(), queryParam["cFree10"].ToString(),
  702. MUSER, MUSERNAME, WorkPoints);
  703. }
  704. else if (ExtensionID != null)
  705. {
  706. str1 = ExtensionID.ToString();
  707. }
  708. ExtensionIDList.Add(Colspan + WorkPoint);
  709. //传过来的参数判断是否是奥美的项目奥美项目执行独有生成条码规则
  710. if (AMEnable == "true")
  711. {
  712. LotNo = SqlHelper.GetLOTNumber(ClassCode, WorkPoint);
  713. }
  714. sql += string.Format(@"insert into ICSInventoryLot (ID,LotNo,InvCode,ProductDate,ExpirationDate,Quantity,ExtensionID,Type,MUSER,MUSERName,MTIME,WorkPoint,Amount ,EATTRIBUTE1,EATTRIBUTE2,EATTRIBUTE3,EATTRIBUTE4,EATTRIBUTE5,EATTRIBUTE6,EATTRIBUTE7,EATTRIBUTE8,EATTRIBUTE9,EATTRIBUTE10)
  715. values(newid(),'{0}','{1}',getdate(),'{2}','{3}','{4}','19','{5}','{6}',getdate(),'{7}','{8}','','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}')",
  716. LotNo, InvCode, queryParam["ExpirationDate"].ToString(), LOTQTY, str1, MUSER, MUSERNAME, WorkPoints, queryParam["Amount"].ToString(),
  717. queryParam["EATTRIBUTE2"].ToString(), queryParam["EATTRIBUTE3"].ToString(), queryParam["EATTRIBUTE4"].ToString(), queryParam["EATTRIBUTE5"].ToString(),
  718. queryParam["EATTRIBUTE6"].ToString(), queryParam["EATTRIBUTE7"].ToString(), queryParam["EATTRIBUTE8"].ToString(), queryParam["EATTRIBUTE9"].ToString(), queryParam["EATTRIBUTE10"].ToString());
  719. sql += "\r\n";
  720. }
  721. int count = SqlHelper.CmdExecuteNonQueryLi(sql);
  722. return count;
  723. }
  724. }
  725. }