圣珀
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.

151 lines
6.7 KiB

2 years ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using ICS.WCF.Base;
  8. using ICSSoft.Entity;
  9. namespace ICS.SupItem
  10. {
  11. public class GetSupItem
  12. {
  13. public FormICSCreatedArrivalNoticeModel FindByApproveDate(IItem d)
  14. {
  15. StringBuilder strHead = new StringBuilder();
  16. strHead.AppendLine("***************接口传入参数记录****************:");
  17. strHead.AppendLine("传入编码:" + d.ItemCode);
  18. strHead.AppendLine("传入供应商:" + d.SupCode);
  19. strHead.AppendLine("开始时间:" + d.StartTime);
  20. strHead.AppendLine("***************接口传入参数记录****************:");
  21. Appconfig.WriteLogFile(strHead.ToString(), "U9料品与供应商信息接口日志");
  22. StringBuilder resultlog = new StringBuilder();
  23. FormICSCreatedArrivalNoticeModel result = new FormICSCreatedArrivalNoticeModel();
  24. List<PRApprovedEntity> returnValue = new List<PRApprovedEntity>();
  25. try
  26. {
  27. DateTime time1 = Appconfig.TimestampToDateTime(d.StartTime);
  28. DateTime time2 = DateTime.Parse(Appconfig.getDBTime());
  29. string sql = @"select
  30. A1.[Code] as ItemCode,
  31. A1.Name as ItemName,
  32. A.[SupplierInfo_Code] as [SupCode],
  33. A5.Name as [SupName],
  34. A3.[PurProcessLT] as NormalPeriod,
  35. A.[Effective_IsEffective]
  36. from CBO_SupplierItem as A
  37. left join [CBO_ItemMaster] as A1 on (A.[ItemInfo_ItemID] = A1.[ID])
  38. left join [CBO_SupplierItem_Trl] as A2
  39. on (A2.SysMlFlag = 'zh-CN') and (A.[ID] = A2.[ID])
  40. left join [CBO_MrpInfo] as A3 on (A1.[MrpInfo] = A3.[ID])
  41. left join CBO_Supplier A4 on A4.Code=A.[SupplierInfo_Code]
  42. left join CBO_Supplier_Trl A5 on A4.ID=A5.ID
  43. where 1=1 and left(A1.[Code],2)!='20'";
  44. if (!string.IsNullOrEmpty(d.ItemCode))
  45. {
  46. sql += " and A1.Code = '" + d.ItemCode + "'";
  47. }
  48. if (!string.IsNullOrEmpty(d.SupCode))
  49. {
  50. sql += " and A.SupplierInfo_Code = '" + d.SupCode + "'";
  51. }
  52. if (!string.IsNullOrEmpty(d.StartTime.ToString()) && d.StartTime != 0)
  53. {
  54. sql += " and A.ModifiedOn >= '" + time1 + "'";
  55. }
  56. if (!string.IsNullOrEmpty(time2.ToString()))
  57. {
  58. sql += " and A.ModifiedOn <= '" + time2 + "'";
  59. }
  60. sql += " order by A1.[Code]";
  61. DataTable dt = DBhlper.Query(sql, Appconfig.GetU9ConnStr());
  62. if (dt == null)
  63. {
  64. result.Code = -1;
  65. result.ResMsg = "获取U9料品与供应商信息失败";
  66. result.ResData = null;
  67. result.IsCompress = false;
  68. result.IsSuccess = false;
  69. resultlog.AppendLine("获取U9料品与供应商信息失败");
  70. resultlog.AppendLine("查询sql:" + sql);
  71. Appconfig.WriteLogFile(resultlog.ToString(), "U9料品与供应商信息接口日志");
  72. return result;
  73. }
  74. int count = dt.Rows.Count; ;
  75. foreach (DataRow dr in dt.Rows)
  76. {
  77. PRApprovedEntity PRLine = new PRApprovedEntity();
  78. if (!string.IsNullOrWhiteSpace(dr["ItemCode"].ToString()))
  79. {
  80. PRLine.ItemCode = dr["ItemCode"].ToString();
  81. }
  82. if (!string.IsNullOrWhiteSpace(dr["ItemName"].ToString()))
  83. {
  84. PRLine.ItemName = dr["ItemName"].ToString();
  85. }
  86. if (!string.IsNullOrWhiteSpace(dr["SupCode"].ToString()))
  87. {
  88. PRLine.SupCode = dr["SupCode"].ToString();
  89. }
  90. if (!string.IsNullOrWhiteSpace(dr["SupName"].ToString()))
  91. {
  92. PRLine.SupName = dr["SupName"].ToString();
  93. }
  94. if (!string.IsNullOrWhiteSpace(dr["NormalPeriod"].ToString()))
  95. {
  96. PRLine.NormalPeriod = dr["NormalPeriod"].ToString();
  97. }
  98. if (!string.IsNullOrWhiteSpace(dr["Effective_IsEffective"].ToString()))
  99. {
  100. PRLine.IsEff = Convert.ToBoolean(dr["Effective_IsEffective"].ToString().Trim());
  101. }
  102. returnValue.Add(PRLine);
  103. }
  104. int time = (DateTime.Now - time2).Seconds;
  105. result.Code = 0;
  106. result.ResMsg = "获取U9料品与供应商信息成功";
  107. result.ResData = returnValue;
  108. result.IsCompress = false;
  109. result.IsSuccess = true;
  110. return result;
  111. }
  112. catch (Exception ex)
  113. {
  114. result.Code = -1;
  115. result.ResMsg = "U9料品与供应商信息获取失败,请查看日志";
  116. result.ResData = null;
  117. result.IsCompress = false;
  118. result.IsSuccess = false;
  119. StringBuilder str = new StringBuilder();
  120. str.AppendLine("U9料品与供应商信息获取失败");
  121. strHead.AppendLine("传入编码:" + d.ItemCode);
  122. strHead.AppendLine("传入供应商:" + d.SupCode);
  123. strHead.AppendLine("开始时间:" + d.StartTime);
  124. str.AppendLine("失败原因:" + ex.Message);
  125. Appconfig.WriteLogFile(str.ToString(), "U9料品与供应商信息接口日志");
  126. }
  127. return result;
  128. }
  129. /// <summary>
  130. /// 返回值
  131. /// </summary>
  132. public class FormICSCreatedArrivalNoticeModel
  133. {
  134. //0 :正常数据,-1:失败。
  135. public int Code { get; set; }
  136. public string ResMsg { get; set; }
  137. public List<PRApprovedEntity> ResData { get; set; }
  138. public bool IsCompress { get; set; }
  139. public bool IsSuccess { get; set; }
  140. }
  141. }
  142. }