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.

112 lines
4.2 KiB

4 days ago
  1. using NFine.Data.Extensions;
  2. using NFine.Domain._03_Entity.SRM;
  3. using NFine.Repository;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace NFine.Application.SRM
  11. {
  12. public class TakeEffApp : RepositoryFactory<ICSVendor>
  13. {
  14. /// <summary>
  15. /// 获取采购组织
  16. /// </summary>
  17. /// <returns></returns>
  18. public DataTable GetWorkPint()
  19. {
  20. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  21. string sql = @"
  22. select '' as PURCHUGCODE,'' as PURCHUGNAME
  23. union all
  24. SELECT DISTINCT PURCHUGCODE,PURCHUGNAME FROM ICSPURCHUG WHERE PURCHUGCODE<>'' ";
  25. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  26. //if (role != "admin")
  27. //{
  28. // sql += " and b.WorkPoint='" + WorkPoint + "'";
  29. //}
  30. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  31. return dt;
  32. }
  33. /// <summary>
  34. /// 获取采购组织
  35. /// </summary>
  36. /// <returns></returns>
  37. public DataTable GetMaterials()
  38. {
  39. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  40. string sql = @"select '' as Invtype
  41. union all
  42. SELECT DISTINCT Invtype FROM [ICSINVENTORY] WHERE Invtype<>''";
  43. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  44. //if (role != "admin")
  45. //{
  46. // sql += " and b.WorkPoint='" + WorkPoint + "'";
  47. //}
  48. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  49. return dt;
  50. }
  51. /// <summary>
  52. /// 获取物料
  53. /// </summary>
  54. /// <returns></returns>
  55. public DataTable GetInvCode()
  56. {
  57. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  58. string sql = @"
  59. select '' as INVCODE,'' as INVName
  60. union all
  61. SELECT DISTINCT INVCODE,INVName FROM ICSINVENTORY WHERE INVCODE<>'' ";
  62. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  63. //if (role != "admin")
  64. //{
  65. // sql += " and b.WorkPoint='" + WorkPoint + "'";
  66. //}
  67. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  68. return dt;
  69. }
  70. /// <summary>
  71. /// 获取供应商列表
  72. /// </summary>
  73. /// <returns></returns>
  74. public DataTable GetVendor()
  75. {
  76. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  77. string sql = @"
  78. select '' as F_VenCode,'' as cVenName
  79. union all
  80. SELECT DISTINCT a.F_VenCode,isnull(b.cVenName,'') as cVenName FROM dbo.Sys_SRM_User a
  81. LEFT JOIN dbo.ICSVendor b ON a.F_VenCode=b.cVenCode and a.F_Location=b.WorkPoint
  82. WHERE a.F_VenCode IS NOT NULL AND a.F_VenCode <>''";
  83. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  84. if (role != "admin")
  85. {
  86. sql += " and b.WorkPoint=" + WorkPoint.TrimEnd(',') + "";
  87. }
  88. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  89. return dt;
  90. }
  91. public DataTable GetInvNameType(string InvCode)
  92. {
  93. string configSql = @"SELECT DISTINCT INVTYpe,INVName,INVUom FROM ICSINVENTORY WHERE INVCODE='"+InvCode+"'";
  94. DataTable dt = SqlHelper.GetDataTableBySql(configSql);
  95. return dt;
  96. }
  97. public string GetVenName(string VenCode)
  98. {
  99. string sql = @" SELECT DISTINCT a.F_VenCode,isnull(b.cVenName,'') as cVenName FROM dbo.Sys_SRM_User a
  100. LEFT JOIN dbo.ICSVendor b ON a.F_VenCode=b.cVenCode and a.F_Location=b.WorkPoint
  101. WHERE a.F_VenCode IS NOT NULL AND a.F_VenCode <>'' and F_VenCode='" + VenCode + "'";
  102. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  103. string VenCodeName = string.Empty;
  104. foreach (DataRow dr in dt.Rows)
  105. {
  106. VenCodeName += dr["cVenName"].ToString() + ",";
  107. }
  108. return VenCodeName;
  109. }
  110. }
  111. }