validRecoverInfo.cs 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. using com.hnshituo.core.webapp.vo;
  2. using Common;
  3. using System;
  4. using System.Collections.Generic;
  5. namespace MeterConditionLibrary
  6. {
  7. /// <summary>
  8. /// 验证车号是否需要进行复磅操作
  9. /// </summary>
  10. public class validRecoverInfo
  11. {
  12. public void ValidMethod(String strCarNo)
  13. {
  14. Log lg = Log.GetInstance();
  15. try
  16. {
  17. PbCache.isAllowRecover = true;
  18. //第一次仅这个方法,判断是否需要复磅
  19. if (PbCache.carRecover == null)
  20. {
  21. MeterWorkCarRecoverService recoverService = new MeterWorkCarRecoverService();
  22. RESTfulResult<List<MeterWorkCarRecover>> recoverResulist = recoverService.doQueryList(new MeterWorkCarRecover { carNo = strCarNo, valueFlag = "0" });
  23. if (recoverResulist.Succeed == true && recoverResulist != null && recoverResulist.Data != null && recoverResulist.Data.Count > 0)
  24. {
  25. if (recoverResulist.Data.Count > 1)
  26. {
  27. PbCache.ResultMessage = string.Format("复磅的车号[{0}]存在[{1}]条待复磅的数据,请点击[语音求助]!", strCarNo, recoverResulist.Data.Count);
  28. lg.WriteLog(17, string.Format("复磅的车号[{0}]存在[{1}]条待复磅的数据,请点击[语音求助]!", strCarNo, recoverResulist.Data.Count));
  29. PbCache.isAllowRecover = false;
  30. }
  31. else if (recoverResulist.Data.Count == 1)
  32. {
  33. PbCache.carRecover = recoverResulist.Data[0];
  34. PbCache.isAllowRecover = true;
  35. }
  36. else
  37. {
  38. PbCache.isAllowRecover = false;
  39. }
  40. }
  41. else
  42. {
  43. PbCache.isAllowRecover = false;
  44. }
  45. }
  46. //存在复磅记录,且点击了复磅按钮,验证是否允许复磅
  47. if (PbCache.carRecover != null && PbCache.isLockFrm)
  48. {
  49. if (!PbCache.carRecover.carNo.Equals(strCarNo))
  50. {
  51. PbCache.ResultMessage = string.Format("程序异常,需要复磅的车号[{0}]与当前车号[{1}]不一致,请点击[语音求助]!", PbCache.carRecover.carNo, strCarNo);
  52. lg.WriteLog(17, string.Format("程序异常,需要复磅的车号[{0}]与当前车号[{1}]不一致,请点击[语音求助]!", PbCache.carRecover.carNo, strCarNo));
  53. PbCache.isAllowRecover = false;
  54. }
  55. if (!string.IsNullOrEmpty(PbCache.carRecover.recBaseSpotNo) && !PbCache.sportInfo.baseSpotNo.Equals(PbCache.carRecover.recBaseSpotNo))
  56. {
  57. PbCache.ResultMessage = string.Format("需要复磅的计量点[{0}]与当前计量点[{1}]不一致,请点击[语音求助]!", PbCache.carRecover.recBaseSpotName, PbCache.sportInfo.baseSpotName);
  58. lg.WriteLog(17, string.Format("需要复磅的计量点[{0}]与当前计量点[{1}]不一致,请点击[语音求助]!", PbCache.carRecover.recBaseSpotName, PbCache.sportInfo.baseSpotName));
  59. PbCache.isAllowRecover = false;
  60. }
  61. }
  62. }
  63. catch (Exception ex)
  64. {
  65. lg.WriteLog(17, "validUnloadAutomatic的ValidMethod方法" + ex);
  66. PbCache.isAllowRecover = false;
  67. }
  68. }
  69. /// <summary>
  70. /// 是否允许点击保存按钮:若为true,则不允许继续保存。
  71. /// </summary>
  72. /// <param name="strCarNo"></param>
  73. public void ValidAllowSave(String strCarNo)
  74. {
  75. Log lg = Log.GetInstance();
  76. try
  77. {
  78. PbCache.isAllowRecover = false;
  79. if (PbCache.carRecover != null && PbCache.isLockFrm)
  80. {
  81. if (PbCache.carRecover.carNo.Equals(strCarNo))
  82. {
  83. PbCache.ResultMessage = string.Format("当前车号[{0}]需要复磅,复磅计量点为[{1}],请到指定的秤房点击[复磅]!", strCarNo, PbCache.carRecover.recBaseSpotName);
  84. lg.WriteLog(17, string.Format("当前车号[{0}]需要复磅,复磅计量点为[{1}],请到指定的秤房点击[复磅]!", strCarNo, PbCache.carRecover.recBaseSpotName));
  85. PbCache.isAllowRecover = true;
  86. }
  87. }
  88. //放在此处,可以让计量员干预后,再进行二次验证
  89. if (PbCache.carRecover == null)
  90. {
  91. MeterWorkCarRecoverService recoverService = new MeterWorkCarRecoverService();
  92. RESTfulResult<List<MeterWorkCarRecover>> recoverResulist = recoverService.doQueryList(new MeterWorkCarRecover { carNo = strCarNo, valueFlag = "0" });
  93. if (recoverResulist.Succeed == true && recoverResulist != null && recoverResulist.Data != null && recoverResulist.Data.Count > 0)
  94. {
  95. if (recoverResulist.Data.Count > 1)
  96. {
  97. PbCache.ResultMessage = string.Format("复磅的车号[{0}]存在[{1}]条待复磅的数据,请点击[语音求助]!", strCarNo, recoverResulist.Data.Count);
  98. lg.WriteLog(17, string.Format("复磅的车号[{0}]存在[{1}]条待复磅的数据,请点击[语音求助]!", strCarNo, recoverResulist.Data.Count));
  99. PbCache.isAllowRecover = true;
  100. }
  101. else
  102. {
  103. PbCache.carRecover = recoverResulist.Data[0];
  104. PbCache.ResultMessage = string.Format("当前车号[{0}]需要复磅,复磅计量点为[{1}],请到指定的秤房点击[复磅]!", strCarNo, PbCache.carRecover.recBaseSpotName);
  105. lg.WriteLog(17, string.Format("当前车号[{0}]需要复磅,复磅计量点为[{1}],请到指定的秤房点击[复磅]!", strCarNo, PbCache.carRecover.recBaseSpotName));
  106. PbCache.isAllowRecover = true;
  107. }
  108. }
  109. else
  110. {
  111. PbCache.carRecover = null;
  112. }
  113. }
  114. }
  115. catch (Exception ex)
  116. {
  117. lg.WriteLog(17, "validUnloadAutomatic的ValidAllowSave方法" + ex);
  118. }
  119. }
  120. }
  121. }