validMatterName.cs 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using Common;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using com.hnshituo.core.webapp.vo;
  8. namespace MeterConditionLibrary
  9. {
  10. /// <summary>
  11. /// 物资名称验证与类型类型的关系验证
  12. /// </summary>
  13. public class validMatterName
  14. {
  15. /// <summary>
  16. /// 物资名称验证:物资名称包含钢筋,且业务类型不是销售出厂,不允许进行计量操作;
  17. /// 业务类型验证:非计量不允许进行上秤操作
  18. /// </summary>
  19. /// <param name="weight"></param>
  20. /// <returns></returns>
  21. public bool ValidMethod(PreTrackScale trackScale)
  22. {
  23. //001006011外销出厂-复磅(码头);001006002外销出厂计量;001006004外销退货计量
  24. if (trackScale!=null && !string.IsNullOrEmpty(trackScale.matterName))
  25. {
  26. if (trackScale.matterName.Equals("钢筋12mm-28mm,高线6.5mm-10mm,盘螺6mm-14mm") && !trackScale.meterTypeNo.Equals("001006002")
  27. && !trackScale.meterTypeNo.Equals("001006011") && !trackScale.meterTypeNo.Equals("001006004"))
  28. {
  29. PbCache.ResultMessage = "物资名称为【"+ trackScale.matterName + "】,且业务类型不是外销出厂或销售退货,不允许进行计量操作!";
  30. return false;
  31. }
  32. }
  33. if (trackScale != null && !string.IsNullOrEmpty(trackScale.meterTypeName))
  34. {
  35. if (trackScale.meterTypeName.Contains("非计量"))
  36. {
  37. PbCache.ResultMessage = "当前业务类型为[非计量],不允许进行计量操作!";
  38. return false;
  39. }
  40. }
  41. return true;
  42. }
  43. /// <summary>
  44. /// 验证物资是否需要发运重量
  45. /// </summary>
  46. /// <param name="trackScale"></param>
  47. /// <returns></returns>
  48. public bool ValidEffectiveWeight(PreTrackScale trackScale)
  49. {
  50. //2022年1月7日 钢筋12mm-28mm,高线6.5mm-10mm,盘螺6mm-14mm添加发运重量的限制
  51. if (trackScale.matterName.Equals("钢筋12mm-28mm,高线6.5mm-10mm,盘螺6mm-14mm") && trackScale.effectiveWeight == 0)
  52. {
  53. PbCache.ResultMessage = "物资名称为【" + trackScale.matterName + "】,发运重量为【"+ trackScale.effectiveWeight + "】,不允许进行计量操作,请重新联系库房进行发运!";
  54. return false;
  55. }
  56. return true;
  57. }
  58. /// <summary>
  59. /// 验证是否为二次资源的物料
  60. /// </summary>
  61. /// <param name="trackScale"></param>
  62. /// <returns></returns>
  63. public bool ValidSecondResourcesMatter(PreTrackScale trackScale)
  64. {
  65. if (trackScale == null || !trackScale.meterTypeName.Contains("外销"))
  66. {
  67. return false;
  68. }
  69. if (trackScale != null && !string.IsNullOrEmpty(trackScale.matterName) && !string.IsNullOrEmpty(trackScale.matterNo))
  70. {
  71. MeterBaseMatterInfoService matterInfoService = new MeterBaseMatterInfoService();
  72. RESTfulResult<MeterBaseMatterInfo> result = matterInfoService.doQueryId(trackScale.matterNo);
  73. if (result.Succeed && result.Data!=null)
  74. {
  75. if (result?.Data?.isSecondResources == "1")
  76. {
  77. return true;
  78. }
  79. }
  80. }
  81. return false;
  82. }
  83. }
  84. }