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.

175 lines
6.4 KiB

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