TaskBookBehavior_63003.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using DbCommon.BusinessCore.BaseCore;
  2. using DbCommon.Enties.DbModels;
  3. using Pms.DataLibrary.Order;
  4. using ProjectManagementSystem.Common.Core;
  5. using ProjectManagementSystem.Common.Logger;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace ProjectManagementSystem.TaskBookEvent
  12. {
  13. public class TaskBookBehavior_63003 : BaseTaskBookBehaviorV2
  14. {
  15. LocationPropertyManager locationManager = new LocationPropertyManager();
  16. MaterialBindingManager materialBindingManager = new MaterialBindingManager();
  17. public TaskBookBehavior_63003() : base(63003, "库位放货")
  18. {
  19. }
  20. public override bool TaskBookOperator(TaskData taskDetailInfo, StepData stepInfo)
  21. {
  22. try
  23. {
  24. var materialBinding = materialBindingManager.GetById(taskDetailInfo.TaskID);
  25. if (materialBinding == null)
  26. {
  27. Log(taskDetailInfo, stepInfo, $"获取物料绑定数据失败");
  28. return false;
  29. }
  30. var data = locationManager.GetById(stepInfo.WareHouseID);
  31. if (data == null)
  32. {
  33. Log(taskDetailInfo, stepInfo, $"获取库位数据失败");
  34. return false;
  35. }
  36. data.MaterialBarcode = materialBinding.MaterialBarcode;
  37. data.MaterialId = materialBinding.MaterialID;
  38. data.MaterialName = materialBinding.MaterialName;
  39. data.MaterialNumber = materialBinding.MaterialNumber;
  40. data.MaterialWeight = materialBinding.MaterialWeight;
  41. data.BatchNumber = materialBinding.BatchNumber;
  42. data.CurrentTaskID = string.Empty;
  43. data.Status = LocationStatus.Filled;
  44. //记录入库时间
  45. data.ModifyTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  46. bool result = locationManager.Update(data);
  47. if (!result)
  48. {
  49. Log(taskDetailInfo, stepInfo, $"更新库位数据失败");
  50. return false;
  51. }
  52. materialBinding.EndWareHouse = data.WareHouseCode;
  53. materialBinding.EndLocation = data.LocationCode;
  54. materialBinding.PlaceTime = DateTime.Now;
  55. result = materialBindingManager.Update(materialBinding);
  56. if (!result)
  57. {
  58. Log(taskDetailInfo, stepInfo, $"更新物料绑定数据失败");
  59. return false;
  60. }
  61. materialBindingManager.DeleteOldData(30);
  62. Log(taskDetailInfo, stepInfo, $"库位放货,{materialBinding.MaterialID} 操作结果:{result}");
  63. return result;
  64. }
  65. catch (Exception ex)
  66. {
  67. LogException(ex);
  68. }
  69. return false;
  70. }
  71. }
  72. }