TaskBookBehavior_63032.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using DbCommon.BusinessCore.BaseCore;
  2. using DbCommon.Enties.DbModels;
  3. using Pms.DataLibrary.Models;
  4. using Pms.DataLibrary.Order;
  5. using Pms.Models;
  6. using ProjectManagementSystem.Common.Core;
  7. using ProjectManagementSystem.Common.Logger;
  8. using ProjectManagementSystem.Common.WebApi;
  9. using ProjectManagementSystem.Common.Models;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Linq;
  13. using System.Text;
  14. using System.Threading.Tasks;
  15. using ProjectManagementSystem.Common.Extenions;
  16. using ProjectManagementSystem.Common.Config;
  17. using Newtonsoft.Json;
  18. namespace ProjectManagementSystem.TaskBookEvent
  19. {
  20. public class TaskBookBehavior_63032 : BaseTaskBookBehaviorV2
  21. {
  22. public TaskBookBehavior_63032() : base(63032, "空架检查(成品发动机)")
  23. {
  24. }
  25. public override bool TaskBookOperator(TaskData taskDetailInfo, StepData stepInfo)
  26. {
  27. try
  28. {
  29. var freightList = PmsApi.GetFreights(taskDetailInfo.Carrier);
  30. if(freightList == null)
  31. {
  32. Log(taskDetailInfo, stepInfo, $"获取freightList失败");
  33. return false;
  34. }
  35. if (freightList.Count < 7)
  36. {
  37. Log(taskDetailInfo, stepInfo, $"获取freightList数量少于7 {JsonConvert.SerializeObject(freightList)}");
  38. return false;
  39. }
  40. if(freightList.First().BHasFreight == false)
  41. {
  42. Log(taskDetailInfo, stepInfo, $"未检测到空架 {string.Join("-", freightList.Select(d => d.BHasFreight ? 1:0))}");
  43. return false;
  44. }
  45. if (freightList.Skip(1).Any(d => d.BHasFreight == true))
  46. {
  47. Log(taskDetailInfo, stepInfo, $"检测到有发动机 {string.Join("-", freightList.Select(d => d.BHasFreight ? 1 : 0))}");
  48. return false;
  49. }
  50. bool result = true;
  51. Log(taskDetailInfo, stepInfo, $"空架检查 {result.ToChineseString()} {string.Join("-", freightList.Select(d => d.BHasFreight ? 1 : 0))}");
  52. return result;
  53. }
  54. catch (Exception ex)
  55. {
  56. LogException(ex);
  57. }
  58. return false;
  59. }
  60. }
  61. }