validInnerExceedWgt.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using com.hnshituo.core.webapp.vo;
  2. using Common;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace MeterConditionLibrary
  9. {
  10. /// <summary>
  11. /// 厂内危化品限载
  12. /// </summary>
  13. public class validInnerExceedWgt
  14. {
  15. Log lg = Log.GetInstance();
  16. /// <summary>
  17. /// 验证物料是否是危化品
  18. /// </summary>
  19. /// <param name="scale">预报信息</param>
  20. public void validMatMethod(InnerMeterInfo scale, RESTfulResult<List<MeterBaseHisTareData>> rm)
  21. {
  22. //未锁定的情况下
  23. //if (!PbCache.isLockFrm)
  24. {
  25. PbCache.monitorResult.valid_exceed_wgt = true;
  26. //验证危化品
  27. if (PbCache.monitor.validExceedWgt == "1" && !PbCache.isNotValid)
  28. {
  29. if (PbCache.limit != null && PbCache.limit.Count > 0)
  30. {
  31. List<MeterBaseLimitChemical> mblc = PbCache.limit.Where(s => s.matterNo == scale.matterNo).ToList();
  32. //该物料是危化品
  33. if (mblc.Count > 0)
  34. {
  35. //PbCache.monitorResult.valid_exceed_mat = true;
  36. //获取车辆历史皮重
  37. //查询车辆的历史皮重
  38. if (rm.Succeed && rm.Data != null && rm.Data.Count > 0)
  39. {
  40. if (mblc[0].limitTypeNo == "001015001") //净重
  41. {
  42. if (PbCache.lockWgt - (PbCache.tareCount.contrastTypeNo == "001012001" ? rm.Data[0].upWeight.Value : rm.Data[0].meterWeight.Value) - PbCache.addWgt > mblc[0].limitWeight) //当前重量-历史皮重-附加重量
  43. {
  44. PbCache.monitorResult.valid_exceed_mat = false;
  45. PbCache.monitorResult.valid_exceed_train = false;
  46. PbCache.monitorResult.valid_exceed_wgt = false;
  47. PbCache.ResultMessage = "车辆托运的货物重量超过危化品限载重量[" + mblc[0].limitWeight / 1000 + "T]";
  48. }
  49. }
  50. else if (mblc[0].limitTypeNo == "001015002") //毛重
  51. {
  52. if (PbCache.lockWgt > mblc[0].limitWeight)
  53. {
  54. PbCache.monitorResult.valid_exceed_mat = false;
  55. PbCache.monitorResult.valid_exceed_train = false;
  56. PbCache.monitorResult.valid_exceed_wgt = false;
  57. PbCache.ResultMessage = "车辆重量超过危化品限载重量[" + mblc[0].limitWeight /1000 + "T]";
  58. }
  59. }
  60. }
  61. }
  62. else
  63. {
  64. PbCache.monitorResult.valid_exceed_mat = false;
  65. PbCache.monitorResult.valid_exceed_train = false;
  66. PbCache.monitorResult.valid_exceed_wgt = true;
  67. }
  68. }
  69. else
  70. {
  71. PbCache.monitorResult.valid_exceed_mat = false;
  72. PbCache.monitorResult.valid_exceed_train = false;
  73. PbCache.monitorResult.valid_exceed_wgt = true;
  74. }
  75. }
  76. else
  77. {
  78. PbCache.monitorResult.valid_exceed_mat = false;
  79. PbCache.monitorResult.valid_exceed_train = false;
  80. PbCache.monitorResult.valid_exceed_wgt = true;
  81. }
  82. }
  83. }
  84. }
  85. }