TaskBookBehavior_61008.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using MaxCommunication.DataBase.Document;
  2. using PmsSecondaryPackaging.Interface.Model.Carrier;
  3. using PmsSecondaryPackaging.Interface.Model.StepBook;
  4. using PmsSecondaryPackaging.Interface.Model.TaskBook;
  5. using PmsSecondaryPackaging.TaskManager.TaskBookBehavior;
  6. using ProjectManagementSystem.NHibernateDBHelper;
  7. using System.Collections.Generic;
  8. using System.Threading;
  9. namespace ProjectManagementSystem.TaskBookEvent
  10. {
  11. public class TaskBookBehavior_61008 : BaseTaskBookBehavior
  12. {
  13. public TaskBookBehavior_61008() : base(61008)
  14. {
  15. }
  16. public override bool TaskBookSetting(TaskDetailInfoModel taskDetailInfo, List<StepDetailInfoModel> taskStepInfoList, CarrierInfoModel carrierInfo)
  17. {
  18. //IsEnable = false; Asynchronous = true;
  19. return base.TaskBookSetting(taskDetailInfo, taskStepInfoList, carrierInfo);
  20. }
  21. public override bool TaskBookTermination(TaskDetailInfoModel taskDetailInfo, List<StepDetailInfoModel> taskStepInfoList, CarrierInfoModel carrierInfo)
  22. {
  23. return base.TaskBookTermination(taskDetailInfo, taskStepInfoList, carrierInfo);
  24. }
  25. public override bool TaskBookOperator(TaskDetailInfoModel taskDetailInfo, List<StepDetailInfoModel> taskStepInfoList, CarrierInfoModel carrierInfo)
  26. {
  27. bool successed = false;
  28. StepDetailInfoModel currentStep = taskStepInfoList.Find(p => p.StepId == taskDetailInfo.CurrentStepID);
  29. string strCurWareHouse = currentStep.WareHouseID;
  30. try
  31. {
  32. using (var session = WMSDBModelHelper.Session)
  33. {
  34. var result = session.QueryOver<WareHouseLocation>().Where(p => p.LocationCode == strCurWareHouse).List();
  35. if (result.Count > 0)
  36. {
  37. WareHouseLocation order = result[0];
  38. order.Status = "2";
  39. session.Update(order);
  40. TextDocument.WriteFile(@"PMS/Log", "下料61008", string.Format("更新当前目标库位:{0},小车:{1},置满", order.LocationCode, taskDetailInfo.Carrier));
  41. }
  42. session.Flush();
  43. successed = true;
  44. }
  45. }
  46. catch
  47. {
  48. }
  49. return successed;
  50. }
  51. }
  52. }