TaskBookBehavior_62002.cs 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. using System.Linq;
  10. using System;
  11. using Pms.WebHandle;
  12. namespace ProjectManagementSystem.TaskBookEvent
  13. {
  14. /// <summary>
  15. /// 上报送货完成
  16. /// </summary>
  17. public class TaskBookBehavior_62002 : BaseTaskBookBehavior
  18. {
  19. public TaskBookBehavior_62002() : base(62002)
  20. {
  21. }
  22. public override bool TaskBookSetting(TaskDetailInfoModel taskDetailInfo, List<StepDetailInfoModel> taskStepInfoList, CarrierInfoModel carrierInfo)
  23. {
  24. //IsEnable = false; Asynchronous = true;
  25. return base.TaskBookSetting(taskDetailInfo, taskStepInfoList, carrierInfo);
  26. }
  27. public override bool TaskBookTermination(TaskDetailInfoModel taskDetailInfo, List<StepDetailInfoModel> taskStepInfoList, CarrierInfoModel carrierInfo)
  28. {
  29. return base.TaskBookTermination(taskDetailInfo, taskStepInfoList, carrierInfo);
  30. }
  31. public override bool TaskBookOperator(TaskDetailInfoModel taskDetailInfo, List<StepDetailInfoModel> taskStepInfoList, CarrierInfoModel carrierInfo)
  32. {
  33. bool successed = false;
  34. //StepDetailInfoModel currentStep = taskStepInfoList.Find(p => p.StepId == taskDetailInfo.CurrentStepID);
  35. //string strCurWareHouse = currentStep.WareHouseID;
  36. string[] values = taskDetailInfo.TaskID.Split('_');
  37. string tempOrderId = values != null & values.Length > 1 ? values[1] : taskDetailInfo.TaskID;
  38. try
  39. {
  40. bool pass = false;
  41. using (var session = MiddleDBModelHelper.Session)
  42. {
  43. var result = session.QueryOver<Order>().Where(p => p.OrderID == taskDetailInfo.TaskID && p.OrderState != (int)WCSOrderState.Downloaded).List();
  44. if (result.Count > 0)
  45. {
  46. Order order = result.First();
  47. order.OrderState = (int)WCSOrderState.Downloaded;
  48. order.Suspend = false;
  49. session.Update(order);
  50. session.Flush();
  51. return false;
  52. }
  53. }
  54. //int skcarrier = GlobalData.GetSKCarrier(taskDetailInfo.Carrier);
  55. //TaskState taskState = new TaskState();
  56. //taskState.taskid = tempOrderId;
  57. //taskState.taskstate = (int)WCSOrderState.Downloaded;
  58. //taskState.faultcode = 0;//
  59. //taskState.agvid = skcarrier.ToString();
  60. //taskState.updatetime = DateTime.Now.ToString("G");
  61. //TaskStateResponse taskStateResponse = SKMESWebServiceHelper.UpdateTaskState(taskState);
  62. //if (taskStateResponse.code == "0")
  63. {
  64. successed = true;
  65. }
  66. }
  67. catch (Exception ex)
  68. {
  69. TextDocument.WriteFile(@"PMS/Log", "62002", string.Format("异常:{0}", ex.ToString()));
  70. }
  71. return successed;
  72. }
  73. }
  74. }