UpdateBarCode.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using UFIDA.U9.BC.BaseData;
  7. using UFSoft.UBF.Business;
  8. namespace UFIDA.U9.Cust.Kusi.CJJ.Plugin.BE.RcvRptDoc
  9. {
  10. public class UpdateBarCode : UFSoft.UBF.Eventing.IEventSubscriber
  11. {
  12. public void Notify(params object[] args)
  13. {
  14. #region 从事件参数中取得当前业务实体
  15. if (args == null || args.Length == 0 || !(args[0] is UFSoft.UBF.Business.EntityEvent))
  16. return;
  17. BusinessEntity.EntityKey key = ((UFSoft.UBF.Business.EntityEvent)args[0]).EntityKey;
  18. if (key == null)
  19. return;
  20. UFIDA.U9.Complete.RCVRpt.RcvRptDoc holder = key.GetEntity() as UFIDA.U9.Complete.RCVRpt.RcvRptDoc;
  21. if (holder == null)
  22. return;
  23. #endregion
  24. //弃审时更新条码库位存储信息
  25. if (holder.DocState == UFIDA.U9.Complete.Enums.RcvRptDocStateEnum.Opened
  26. && holder.OriginalData != null
  27. && holder.OriginalData.DocState == UFIDA.U9.Complete.Enums.RcvRptDocStateEnum.Approved)
  28. {
  29. foreach (var line in holder.RcvRptDocLines)
  30. {
  31. BarCodeUpdater.Update(line.ID, "UFIDA.U9.Complete.RCVRpt.RcvRptDocLine");
  32. }
  33. }
  34. if (holder.Direction.Value == MO.Enums.CompleteRptDirectionEnum.WhShipment.Value)
  35. {
  36. //审核时出入库单据审核控制条码仓
  37. if (holder.DocState == UFIDA.U9.Complete.Enums.RcvRptDocStateEnum.Approved
  38. && holder.OriginalData != null
  39. && holder.OriginalData.DocState == UFIDA.U9.Complete.Enums.RcvRptDocStateEnum.Approving)
  40. {
  41. foreach (var line in holder.RcvRptDocLines)
  42. {
  43. if (line.Wh != null)
  44. {
  45. if (line.Wh.DescFlexField.PrivateDescSeg1.ToUpper().Equals("TRUE") && !Base.Context.LoginUser.Contains("PDA"))
  46. {
  47. throw new Exception(string.Format("单号{0},{1}行的存储地点为条码管理,请扫码出货。", holder.DocNo, line.LineNum));
  48. }
  49. }
  50. }
  51. }
  52. }
  53. }
  54. }
  55. }