TaskBookBehavior_63002.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using DbCommon.BusinessCore.BaseCore;
  2. using DbCommon.Enties.DbModels;
  3. using DbCommon.Extenions;
  4. using PmsSecondaryPackaging.Interface.Model.Carrier;
  5. using PmsSecondaryPackaging.Interface.Model.StepBook;
  6. using PmsSecondaryPackaging.Interface.Model.TaskBook;
  7. using PmsSecondaryPackaging.TaskManager.TaskBookBehavior;
  8. using ProjectManagementSystem.Common.Log;
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Linq;
  12. using System.Text;
  13. using System.Threading.Tasks;
  14. namespace ProjectManagementSystem.TaskBookEvent
  15. {
  16. public class TaskBookBehavior_63002 : BaseTaskBookBehavior
  17. {
  18. LocationPropertyManager locationManager = new LocationPropertyManager();
  19. MaterialBindingManager materialBindingManager = new MaterialBindingManager();
  20. public TaskBookBehavior_63002() : base(63002)
  21. {
  22. }
  23. public override bool TaskBookOperator(TaskDetailInfoModel taskDetailInfo, List<StepDetailInfoModel> taskStepInfoList, CarrierInfoModel carrierInfo)
  24. {
  25. try
  26. {
  27. var stepInfo = TaskBookRegister.GetCurrentStepDetailInfo(taskDetailInfo, taskStepInfoList);
  28. var data = locationManager.QueryData(stepInfo.WareHouseID);
  29. MaterialBinding materialBinding = new MaterialBinding();
  30. materialBinding.TaskID = taskDetailInfo.TaskID;
  31. materialBinding.CarrierID = carrierInfo.AgvID;
  32. materialBinding.MaterialBarcode = data.MaterialBarcode;
  33. materialBinding.MaterialID = data.MaterialId;
  34. materialBinding.MaterialName = data.MaterialName;
  35. materialBinding.MaterialNumber = data.MaterialNumber.ToInt();
  36. materialBinding.MaterialWeight = data.MaterialWeight.ToDouble();
  37. materialBinding.BatchNumber = data.BatchNumber;
  38. if(!materialBindingManager.Save(materialBinding))
  39. {
  40. return false;
  41. }
  42. data.Status = LocationStatus.Empty;
  43. data.MaterialId = string.Empty;
  44. bool result = locationManager.Update(data);
  45. TaskBookRegister.Log(taskDetailInfo, stepInfo, $"库位取货,操作结果:{result}");
  46. return result;
  47. }
  48. catch (Exception ex)
  49. {
  50. TaskBookRegister.LogException(ex);
  51. }
  52. return false;
  53. }
  54. }
  55. }