validCarCard.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. /// 用于验证是否可进行内倒计量
  13. /// </summary>
  14. public class validCarCard
  15. {
  16. public bool ValidMethod(InnerMeterInfo scale, out string ResultMessage, out bool isError)
  17. {
  18. ResultMessage = "";
  19. isError = false;
  20. //若计量员记录则不验证,则为true
  21. if (PbCache.isNotValid)
  22. {
  23. return true;
  24. }
  25. if (PbCache.ltCarCard == null || PbCache.ltCarCard.Count == 0)
  26. {
  27. ResultMessage = "车辆不允许内倒计量";
  28. PbCache.ResultMessage = "服务端异常,获取计量卡车辆配置信息失败";
  29. isError = true;
  30. return false;
  31. }
  32. else
  33. {
  34. List<MeterBaseCarCard> data = PbCache.ltCarCard.Where(s => s.carNo == scale.carNo).ToList();
  35. if (data == null || data.Count == 0)
  36. {
  37. ResultMessage = "车辆不允许内倒计量";
  38. PbCache.ResultMessage = string.Format("在计量卡车配置中未找到车辆[{0}]有效信息,不允许进行内倒计量,请点【语音求助】,联系司秤工处理!", scale.carNo);
  39. isError = true;
  40. return false;
  41. }
  42. else if (data.Count == 1)
  43. {
  44. return true;
  45. }
  46. else
  47. {
  48. ResultMessage = "车辆不允许内倒计量";
  49. PbCache.ResultMessage = string.Format("在计量卡车配置中找到多条车辆[{0}]有效信息", scale.carNo); ;
  50. isError = true;
  51. return false;
  52. }
  53. }
  54. }
  55. }
  56. }