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.

179 lines
6.5 KiB

3 weeks 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. using Newtonsoft.Json.Linq;
  18. namespace NFine.Application.WMS
  19. {
  20. public class PrintApp : RepositoryFactory<ICSVendor>
  21. {
  22. public DataTable GetLableType()
  23. {
  24. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  25. string sql = @"
  26. select '' as F_ItemCode,'' as F_ItemName
  27. union all
  28. SELECT DISTINCT a.F_ItemCode,isnull(a.F_ItemName,'') as F_ItemName FROM dbo.Sys_SRM_ItemsDetail a left join Sys_SRM_Items b on a.F_ItemId=b.F_Id where b.F_EnCode='BQ001'";
  29. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  30. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  31. return dt;
  32. }
  33. public DataTable GetLableSourceID()
  34. {
  35. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  36. string sql = @"
  37. select '' as ID,'' as SourceName
  38. union all
  39. select distinct ID,SourceName from Sys_LableDataSource";
  40. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  41. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  42. return dt;
  43. }
  44. public DataTable GetSys_LablesID(string LableType)
  45. {
  46. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  47. string sql = @"select ID,LableName from Sys_Lables where LableType='{0}' ORDER BY CONVERT(int,LableCode)";
  48. sql = string.Format(sql, LableType);
  49. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  50. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  51. var emptyRow = dt.NewRow();
  52. foreach (DataColumn item in dt.Columns)
  53. {
  54. emptyRow[item] = string.Empty;
  55. }
  56. dt.Rows.InsertAt(emptyRow, 0);
  57. return dt;
  58. }
  59. public DataTable SelectColumnName(string BeginTime, string EndTime)
  60. {
  61. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  62. string sql = @"select ColCode, ColName from ICSExtensionEnable
  63. where Enable=1 and workPoint='{0}'
  64. order by cast(EATTRIBUTE1 as int)";
  65. sql = string.Format(sql, WorkPoint);
  66. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  67. return dt;
  68. }
  69. public DataTable SelectTableColumnName(string BeginTime, string EndTime)
  70. {
  71. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  72. string sql = @"select TableCode, ColumnCode AS Code,Name from ICSColumnEnable
  73. where Enable=1 and workPoint='{0}' order by MTIME";
  74. sql = string.Format(sql, WorkPoint);
  75. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  76. return dt;
  77. }
  78. public string GetCnValue(string Code)
  79. {
  80. try
  81. {
  82. object MultipleLanguageSetting = GetMultipleLanguageSetting();
  83. string content = "";
  84. string sql = string.Format(@"select {1} from Sys_Language where Code='{0}'", Code, MultipleLanguageSetting);
  85. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  86. if (dt != null && dt.Rows.Count > 0)
  87. {
  88. content = dt.Rows[0]["" + MultipleLanguageSetting + ""].ToString().ToUpper();
  89. }
  90. else
  91. {
  92. content = "";
  93. }
  94. return content;
  95. }
  96. catch (Exception ex)
  97. {
  98. throw new Exception(ex.Message.ToString());
  99. }
  100. }
  101. public object GetMultipleLanguageSetting()
  102. {
  103. try
  104. {
  105. string sql = string.Format(@"select top 1 b.F_Define1
  106. from Sys_SRM_Items a left join Sys_SRM_ItemsDetail b on a.F_Id=b.F_ItemId
  107. where a.F_EnCode='LGG0001' and b.F_EnabledMark='1' order by b.F_ItemCode");
  108. object MultipleLanguageSetting = SqlHelper.ExecuteScalar(sql);
  109. return MultipleLanguageSetting;
  110. }
  111. catch (Exception ex)
  112. {
  113. throw new Exception(ex.Message.ToString());
  114. }
  115. }
  116. public string updatePrintStatus(string LotNo)
  117. {
  118. try
  119. {
  120. string User = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  121. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  122. string msg = "";
  123. string sql = @"UPDATE ICSInventoryLot SET PrintTimes=(
  124. CASE WHEN PrintTimes IS NULL THEN 1
  125. ELSE PrintTimes+1
  126. END),LastPrintUser='{0}',LastPrintTime=GETDATE() WHERE LotNo='{1}' AND WorkPoint='{2}'";
  127. sql = string.Format(sql, User, LotNo, WorkPoint);
  128. if (!(SqlHelper.ExecuteNonQuery(sql) > 0))
  129. {
  130. msg = "条码 " + LotNo + " 更新打印人、打印时间与打印次数失败!";
  131. }
  132. return msg;
  133. }
  134. catch (Exception ex)
  135. {
  136. return "更新打印人出错:" + ex.Message;
  137. }
  138. }
  139. /// <summary>
  140. /// 判断是否是双排标签
  141. /// </summary>
  142. /// <param name="keyValue"></param>
  143. /// <returns></returns>
  144. public object GetItemDetailsMoid(string moid)
  145. {
  146. string msg = "false";
  147. string sql = @"select a.F_Description from Sys_SRM_ItemsDetail a
  148. left join Sys_SRM_Items b on a.F_ItemId=b.F_Id where F_EnCode='BQ001' and a.F_ItemCode='"+ moid + "'";
  149. DataTable dt =SqlHelper.GetDataTableBySql(sql);
  150. if (dt != null)
  151. {
  152. if (dt.Rows[0]["F_Description"].ToString().Contains("DW"))
  153. {
  154. msg = "true";
  155. }
  156. }
  157. var Header = new
  158. {
  159. msg = msg,
  160. };
  161. return Header;
  162. }
  163. }
  164. }