@steedos-labs/content-compliance-bev 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/index.js +1 -1
  2. package/lib/actions/collection.d.ts +2 -0
  3. package/lib/actions/collection.js +26 -0
  4. package/lib/actions/collection.js.map +1 -0
  5. package/lib/actions/spotCheckMaterial.d.ts +20 -0
  6. package/lib/actions/spotCheckMaterial.js +543 -90
  7. package/lib/actions/spotCheckMaterial.js.map +1 -1
  8. package/lib/index.js +112 -33
  9. package/lib/index.js.map +1 -1
  10. package/lib/methods/approval_engine.js +182 -149
  11. package/lib/methods/approval_engine.js.map +1 -1
  12. package/lib/methods/content_hub.js +23 -38
  13. package/lib/methods/content_hub.js.map +1 -1
  14. package/lib/methods/material.js +6 -4
  15. package/lib/methods/material.js.map +1 -1
  16. package/lib/methods/task.d.ts +1 -1
  17. package/lib/methods/task.js +12 -20
  18. package/lib/methods/task.js.map +1 -1
  19. package/main/default/objects/pepsico_material/buttons/pepsico_material_approve.button.yml +10 -0
  20. package/main/default/objects/pepsico_material/buttons/pepsico_material_reject.button.yml +10 -0
  21. package/main/default/objects/pepsico_material/buttons/pepsico_material_spot_check.button.yml +1 -1
  22. package/main/default/objects/pepsico_material/buttons/pepsico_upload_supplement.button.yml +1 -0
  23. package/main/default/objects/pepsico_material/fields/approved_time.field.yml +5 -0
  24. package/main/default/objects/pepsico_material/fields/modified.field.yml +1 -0
  25. package/main/default/objects/pepsico_material/fields/modified_by.field.yml +1 -0
  26. package/main/default/objects/pepsico_material/fields/spot_check_pool_year_month.field.yml +9 -0
  27. package/main/default/objects/pepsico_material/fields/spot_check_type.field.yml +1 -1
  28. package/main/default/objects/pepsico_material/listviews/kol_midtier.listview.yml +3 -3
  29. package/main/default/objects/pepsico_material/listviews/spot_check.listview.yml +9 -5
  30. package/main/default/objects/pepsico_material/pepsico_material.object.yml +1 -1
  31. package/main/default/objects/pepsico_material_approval/buttons/pepsico_submit.button.yml +4 -0
  32. package/main/default/objects/pepsico_material_approval/fields/approved_time.field.yml +5 -0
  33. package/main/default/objects/pepsico_material_approval/fields/internal_collaborator.field.yml +1 -1
  34. package/main/default/objects/pepsico_material_approval/fields/material_owner.field.yml +2 -2
  35. package/main/default/objects/pepsico_material_approval/fields/modified.field.yml +1 -0
  36. package/main/default/objects/pepsico_material_approval/fields/modified_by.field.yml +1 -0
  37. package/main/default/objects/pepsico_material_approval/listviews/all.listview.yml +29 -15
  38. package/main/default/objects/pepsico_material_approval/listviews/collaboration.listview.yml +13 -9
  39. package/main/default/objects/pepsico_material_approval/listviews/handle.listview.yml +10 -3
  40. package/main/default/objects/pepsico_material_approval_data/fields/modified.field.yml +1 -0
  41. package/main/default/objects/pepsico_material_approval_data/fields/modified_by.field.yml +1 -0
  42. package/main/default/objects/pepsico_material_data/fields/modified.field.yml +1 -0
  43. package/main/default/objects/pepsico_material_data/fields/modified_by.field.yml +1 -0
  44. package/main/default/objects/pepsico_material_spot_check/fields/modified.field.yml +1 -0
  45. package/main/default/objects/pepsico_material_spot_check/fields/modified_by.field.yml +1 -0
  46. package/main/default/objects/pepsico_spot_check_pool/buttons/send_mail.button.yml +39 -0
  47. package/main/default/objects/pepsico_spot_check_pool/fields/logs.field.yml +8 -0
  48. package/main/default/objects/pepsico_spot_check_pool/fields/mail_send.field.yml +8 -0
  49. package/main/default/objects/pepsico_spot_check_pool/fields/mail_send_date.field.yml +9 -0
  50. package/main/default/objects/pepsico_spot_check_pool/fields/micro_pepsico_material.field.yml +11 -0
  51. package/main/default/objects/pepsico_spot_check_pool/fields/mid_tier_pepsico_material.field.yml +11 -0
  52. package/main/default/objects/pepsico_spot_check_pool/fields/year_month.field.yml +8 -0
  53. package/main/default/objects/pepsico_spot_check_pool/listviews/all.listview.yml +18 -0
  54. package/main/default/objects/pepsico_spot_check_pool/pepsico_spot_check_pool.object.yml +27 -0
  55. package/main/default/objects/pepsico_spot_check_pool/permissions/admin.permission.yml +15 -0
  56. package/main/default/objects/pepsico_spot_check_pool/permissions/user.permission.yml +14 -0
  57. package/main/default/objects/pepsico_spot_check_report/fields/modified_by.field.yml +1 -1
  58. package/main/default/objects/pepsico_tag_increase/fields/modified.field.yml +1 -0
  59. package/main/default/objects/pepsico_tag_increase/fields/modified_by.field.yml +1 -0
  60. package/main/default/objects/permission_set/listviews/all.listview.yml +16 -21
  61. package/main/default/objects/permission_set/permission_set.object.yml +3 -1
  62. package/main/default/pages/pepsico_content_review_detail.page.amis.json +16 -4
  63. package/main/default/pages/pepsico_material_detail.page.amis.json +18 -0
  64. package/main/default/pages/pepsico_material_detail.page.yml +3 -0
  65. package/main/default/pages/pepsico_midtier_spot_check.page.amis.json +45 -17
  66. package/main/default/pages/pepsico_spot_check.page.amis.json +1 -2
  67. package/main/default/pages/pepsico_spot_check_dco.page.amis.json +1 -2
  68. package/main/default/permissionsets/pepsico_spot_check_users.permissionset.yml +9 -0
  69. package/main/default/tabs/pepsico_midtier_spot_check.tab.yml +1 -1
  70. package/main/default/tabs/pepsico_spot_check.tab.yml +1 -4
  71. package/main/default/triggers/pepsico_material_approval_changName.trigger.yml +9 -1
  72. package/main/default/triggers/pepsico_material_approval_change.trigger.yml +2 -2
  73. package/package.json +1 -1
@@ -604,7 +604,7 @@ var advanceApproval = function (ctx, recordId, currentStepApprovalStatus) { retu
604
604
  return tslib_1.__generator(this, function (_e) {
605
605
  switch (_e.label) {
606
606
  case 0:
607
- _e.trys.push([0, 62, , 63]);
607
+ _e.trys.push([0, 67, , 68]);
608
608
  actionLabel = '请查看';
609
609
  user = ctx.meta.user;
610
610
  return [4, ctx.getObject('pepsico_material_approval').findOne(recordId)];
@@ -622,12 +622,14 @@ var advanceApproval = function (ctx, recordId, currentStepApprovalStatus) { retu
622
622
  skipApprover = _e.sent();
623
623
  if (!(nextStep === consts_1.Step.conclusion && skipApprover)) return [3, 8];
624
624
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(record._id, {
625
- is_skip_approver: true
625
+ is_skip_approver: true,
626
+ approved_time: new Date()
626
627
  })];
627
628
  case 5:
628
629
  _e.sent();
629
630
  return [4, ctx.getObject('pepsico_material').directUpdateMany(['pepsico_material_approval', '=', record._id], {
630
- is_skip_approver: true
631
+ is_skip_approver: true,
632
+ approved_time: new Date()
631
633
  })];
632
634
  case 6:
633
635
  _e.sent();
@@ -635,69 +637,83 @@ var advanceApproval = function (ctx, recordId, currentStepApprovalStatus) { retu
635
637
  case 7:
636
638
  _e.sent();
637
639
  _e.label = 8;
638
- case 8: return [4, getNextApprovers(ctx, record, nextStep)];
640
+ case 8:
641
+ if (!(nextStep === consts_1.Step.conclusion && record.current_step === consts_1.Step.draft)) return [3, 11];
642
+ if (!_.includes(const_1.DCO_TYPES, record.classification)) return [3, 11];
643
+ return [4, ctx.getObject('pepsico_material_approval').directUpdate(record._id, {
644
+ approved_time: new Date()
645
+ })];
639
646
  case 9:
647
+ _e.sent();
648
+ return [4, ctx.getObject('pepsico_material').directUpdateMany(['pepsico_material_approval', '=', record._id], {
649
+ approved_time: new Date()
650
+ })];
651
+ case 10:
652
+ _e.sent();
653
+ _e.label = 11;
654
+ case 11: return [4, getNextApprovers(ctx, record, nextStep)];
655
+ case 12:
640
656
  nextApprovers = _e.sent();
641
- if (!(record.current_step === consts_1.Step.submitter_revisions && (nextStep === consts_1.Step.departmental_review || nextStep === consts_1.Step.personnel_review))) return [3, 23];
657
+ if (!(record.current_step === consts_1.Step.submitter_revisions && (nextStep === consts_1.Step.departmental_review || nextStep === consts_1.Step.personnel_review))) return [3, 26];
642
658
  _nextApprovers = [];
643
- _e.label = 10;
644
- case 10:
645
- _e.trys.push([10, 18, 19, 20]);
659
+ _e.label = 13;
660
+ case 13:
661
+ _e.trys.push([13, 21, 22, 23]);
646
662
  nextApprovers_2 = tslib_1.__values(nextApprovers), nextApprovers_2_1 = nextApprovers_2.next();
647
- _e.label = 11;
648
- case 11:
649
- if (!!nextApprovers_2_1.done) return [3, 17];
663
+ _e.label = 14;
664
+ case 14:
665
+ if (!!nextApprovers_2_1.done) return [3, 20];
650
666
  reviewer = nextApprovers_2_1.value;
651
667
  fieldName = (0, material_1.getApproverFieldByType)(reviewer.type);
652
668
  console.log("getApproverFieldByType", reviewer.type, fieldName);
653
669
  if (!fieldName) {
654
- return [3, 16];
670
+ return [3, 19];
655
671
  }
656
672
  return [4, (0, material_1.getUserReviewedAllMaterialsStatus)(ctx, record._id, fieldName)];
657
- case 12:
673
+ case 15:
658
674
  status = _e.sent();
659
675
  console.log("getUserReviewedAllMaterialsStatus", record._id, fieldName, status);
660
- if (!(status === consts_1.ApprovalStatus.approved)) return [3, 14];
676
+ if (!(status === consts_1.ApprovalStatus.approved)) return [3, 17];
661
677
  console.log("[advanceApproval] \u81EA\u52A8\u66F4\u65B0\u5BA1\u6279\u5355\u4E0A\u7684\u72B6\u6001\u5B57\u6BB5", recordId, (_b = {},
662
678
  _b[fieldName] = consts_1.ApprovalStatus.approved,
663
679
  _b));
664
680
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, (_c = {},
665
681
  _c[fieldName] = true,
666
682
  _c))];
667
- case 13:
683
+ case 16:
668
684
  _e.sent();
669
- return [3, 15];
670
- case 14:
685
+ return [3, 18];
686
+ case 17:
671
687
  _nextApprovers.push(reviewer);
672
- _e.label = 15;
673
- case 15:
688
+ _e.label = 18;
689
+ case 18:
674
690
  ;
675
- _e.label = 16;
676
- case 16:
691
+ _e.label = 19;
692
+ case 19:
677
693
  nextApprovers_2_1 = nextApprovers_2.next();
678
- return [3, 11];
679
- case 17: return [3, 20];
680
- case 18:
694
+ return [3, 14];
695
+ case 20: return [3, 23];
696
+ case 21:
681
697
  e_5_1 = _e.sent();
682
698
  e_5 = { error: e_5_1 };
683
- return [3, 20];
684
- case 19:
699
+ return [3, 23];
700
+ case 22:
685
701
  try {
686
702
  if (nextApprovers_2_1 && !nextApprovers_2_1.done && (_a = nextApprovers_2.return)) _a.call(nextApprovers_2);
687
703
  }
688
704
  finally { if (e_5) throw e_5.error; }
689
705
  return [7];
690
- case 20:
691
- if (!(_nextApprovers.length > 0)) return [3, 21];
706
+ case 23:
707
+ if (!(_nextApprovers.length > 0)) return [3, 24];
692
708
  nextApprovers = _nextApprovers;
693
- return [3, 23];
694
- case 21:
709
+ return [3, 26];
710
+ case 24:
695
711
  nextStep = consts_1.Step.awaiting_deployment;
696
712
  return [4, getNextApprovers(ctx, record, nextStep)];
697
- case 22:
713
+ case 25:
698
714
  nextApprovers = _e.sent();
699
- _e.label = 23;
700
- case 23:
715
+ _e.label = 26;
716
+ case 26:
701
717
  console.log("[advanceApproval] currentStepApprovalStatus:", currentStepApprovalStatus, " nextStep:", nextStep, " nextApprovers:", nextApprovers);
702
718
  nextApproversUserIds_1 = [];
703
719
  nextApproversClientUserIds_1 = [];
@@ -718,15 +734,15 @@ var advanceApproval = function (ctx, recordId, currentStepApprovalStatus) { retu
718
734
  }
719
735
  }
720
736
  };
721
- if (!(record.current_step === consts_1.Step.draft)) return [3, 25];
737
+ if (!(record.current_step === consts_1.Step.draft)) return [3, 28];
722
738
  setDoc.draft_submitted = new Date();
723
739
  return [4, ctx.getObject('pepsico_material').directUpdateMany(['pepsico_material_approval', '=', record._id], {
724
740
  draft_submitted: setDoc.draft_submitted
725
741
  })];
726
- case 24:
742
+ case 27:
727
743
  _e.sent();
728
- _e.label = 25;
729
- case 25:
744
+ _e.label = 28;
745
+ case 28:
730
746
  if (record.current_step === consts_1.Step.ai_review) {
731
747
  setDoc.ai_reviewed_date = new Date();
732
748
  }
@@ -743,150 +759,161 @@ var advanceApproval = function (ctx, recordId, currentStepApprovalStatus) { retu
743
759
  setDoc.submitter_revision_date = new Date();
744
760
  }
745
761
  return [4, ctx.getObject('pepsico_material_approval').update(recordId, setDoc)];
746
- case 26:
762
+ case 29:
747
763
  _e.sent();
748
764
  return [4, changeApprovalProcess(ctx, record, {
749
765
  nextStep: nextStep,
750
766
  nextApprovers: nextApprovers,
751
767
  description: ""
752
768
  })];
753
- case 27:
769
+ case 30:
754
770
  _e.sent();
755
- if (!(nextStep === consts_1.Step.ai_review)) return [3, 29];
771
+ if (!(false && nextStep === consts_1.Step.ai_review)) return [3, 32];
756
772
  console.time('callAIReview: ' + recordId);
757
773
  return [4, (0, AI_1.callAIReview)(ctx, recordId)];
758
- case 28:
774
+ case 31:
759
775
  _e.sent();
760
776
  console.timeEnd('callAIReview: ' + recordId);
761
- _e.label = 29;
762
- case 29:
763
- _e.trys.push([29, 50, 51, 52]);
777
+ _e.label = 32;
778
+ case 32:
779
+ _e.trys.push([32, 53, 54, 55]);
764
780
  nextApprovers_3 = tslib_1.__values(nextApprovers), nextApprovers_3_1 = nextApprovers_3.next();
765
- _e.label = 30;
766
- case 30:
767
- if (!!nextApprovers_3_1.done) return [3, 49];
781
+ _e.label = 33;
782
+ case 33:
783
+ if (!!nextApprovers_3_1.done) return [3, 52];
768
784
  nextApprover = nextApprovers_3_1.value;
769
- if (!(nextApprover.type === consts_1.ProcessApprovalType.CA)) return [3, 33];
785
+ if (!(nextApprover.type === consts_1.ProcessApprovalType.CA)) return [3, 36];
770
786
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, {
771
787
  ca_approval_status: ''
772
788
  })];
773
- case 31:
789
+ case 34:
774
790
  _e.sent();
775
791
  return [4, ctx.getObject('pepsico_material').directUpdateMany([['pepsico_material_approval', '=', recordId], ['ca_approval_status', '=', false]], {
776
792
  ca_approval_status: ''
777
793
  })];
778
- case 32:
794
+ case 35:
779
795
  _e.sent();
780
- _e.label = 33;
781
- case 33:
782
- if (!(nextApprover.type === consts_1.ProcessApprovalType.Legal)) return [3, 36];
796
+ _e.label = 36;
797
+ case 36:
798
+ if (!(nextApprover.type === consts_1.ProcessApprovalType.Legal)) return [3, 39];
783
799
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, {
784
800
  legal_approval_status: ''
785
801
  })];
786
- case 34:
802
+ case 37:
787
803
  _e.sent();
788
804
  return [4, ctx.getObject('pepsico_material').directUpdateMany([['pepsico_material_approval', '=', recordId], ['legal_approval_status', '=', false]], {
789
805
  legal_approval_status: ''
790
806
  })];
791
- case 35:
807
+ case 38:
792
808
  _e.sent();
793
- _e.label = 36;
794
- case 36:
795
- if (!(nextApprover.type === consts_1.ProcessApprovalType.NS)) return [3, 39];
809
+ _e.label = 39;
810
+ case 39:
811
+ if (!(nextApprover.type === consts_1.ProcessApprovalType.NS)) return [3, 42];
796
812
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, {
797
813
  ns_approval_status: ''
798
814
  })];
799
- case 37:
815
+ case 40:
800
816
  _e.sent();
801
817
  return [4, ctx.getObject('pepsico_material').directUpdateMany([['pepsico_material_approval', '=', recordId], ['ns_approval_status', '=', false]], {
802
818
  ns_approval_status: ''
803
819
  })];
804
- case 38:
820
+ case 41:
805
821
  _e.sent();
806
- _e.label = 39;
807
- case 39:
808
- if (!(nextApprover.type === consts_1.ProcessApprovalType.SRA)) return [3, 42];
822
+ _e.label = 42;
823
+ case 42:
824
+ if (!(nextApprover.type === consts_1.ProcessApprovalType.SRA)) return [3, 45];
809
825
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, {
810
826
  sra_approval_status: ''
811
827
  })];
812
- case 40:
828
+ case 43:
813
829
  _e.sent();
814
830
  return [4, ctx.getObject('pepsico_material').directUpdateMany([['pepsico_material_approval', '=', recordId], ['sra_approval_status', '=', false]], {
815
831
  sra_approval_status: ''
816
832
  })];
817
- case 41:
833
+ case 44:
818
834
  _e.sent();
819
- _e.label = 42;
820
- case 42:
821
- if (!(nextApprover.type === consts_1.ProcessApprovalType.guding)) return [3, 45];
835
+ _e.label = 45;
836
+ case 45:
837
+ if (!(nextApprover.type === consts_1.ProcessApprovalType.guding)) return [3, 48];
822
838
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, {
823
839
  approval_status: ''
824
840
  })];
825
- case 43:
841
+ case 46:
826
842
  _e.sent();
827
843
  return [4, ctx.getObject('pepsico_material').directUpdateMany([['pepsico_material_approval', '=', recordId], ['approval_status', '=', false]], {
828
844
  approval_status: ''
829
845
  })];
830
- case 44:
846
+ case 47:
831
847
  _e.sent();
832
- _e.label = 45;
833
- case 45:
834
- if (!(nextApprover.type === consts_1.ProcessApprovalType.Kids)) return [3, 48];
848
+ _e.label = 48;
849
+ case 48:
850
+ if (!(nextApprover.type === consts_1.ProcessApprovalType.Kids)) return [3, 51];
835
851
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, {
836
852
  kids_approval_status: ''
837
853
  })];
838
- case 46:
854
+ case 49:
839
855
  _e.sent();
840
856
  return [4, ctx.getObject('pepsico_material').directUpdateMany([['pepsico_material_approval', '=', recordId], ['kids_approval_status', '=', false]], {
841
857
  kids_approval_status: ''
842
858
  })];
843
- case 47:
859
+ case 50:
844
860
  _e.sent();
845
- _e.label = 48;
846
- case 48:
861
+ _e.label = 51;
862
+ case 51:
847
863
  nextApprovers_3_1 = nextApprovers_3.next();
848
- return [3, 30];
849
- case 49: return [3, 52];
850
- case 50:
864
+ return [3, 33];
865
+ case 52: return [3, 55];
866
+ case 53:
851
867
  e_6_1 = _e.sent();
852
868
  e_6 = { error: e_6_1 };
853
- return [3, 52];
854
- case 51:
869
+ return [3, 55];
870
+ case 54:
855
871
  try {
856
872
  if (nextApprovers_3_1 && !nextApprovers_3_1.done && (_d = nextApprovers_3.return)) _d.call(nextApprovers_3);
857
873
  }
858
874
  finally { if (e_6) throw e_6.error; }
859
875
  return [7];
860
- case 52:
861
- if (!(nextStep === consts_1.Step.departmental_review || nextStep === consts_1.Step.personnel_review)) return [3, 54];
876
+ case 55:
877
+ if (!(nextStep === consts_1.Step.departmental_review || nextStep === consts_1.Step.personnel_review)) return [3, 57];
862
878
  return [4, setPersonView(ctx, record)];
863
- case 53:
879
+ case 56:
864
880
  _e.sent();
865
- _e.label = 54;
866
- case 54:
867
- if (!(record.current_step === consts_1.Step.departmental_review || record.current_step === consts_1.Step.personnel_review)) return [3, 56];
881
+ _e.label = 57;
882
+ case 57:
883
+ if (!(record.current_step === consts_1.Step.departmental_review || record.current_step === consts_1.Step.personnel_review)) return [3, 61];
868
884
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, {
869
885
  materials_remove_share_link_from_onedrive_status: 'pending'
870
886
  })];
871
- case 55:
887
+ case 58:
872
888
  _e.sent();
873
- _e.label = 56;
874
- case 56:
875
- if (!(nextStep === consts_1.Step.awaiting_deployment)) return [3, 58];
889
+ if (!(nextStep != consts_1.Step.submitter_revisions)) return [3, 61];
890
+ return [4, ctx.getObject('pepsico_material_approval').directUpdate(record._id, {
891
+ approved_time: new Date()
892
+ })];
893
+ case 59:
894
+ _e.sent();
895
+ return [4, ctx.getObject('pepsico_material').directUpdateMany(['pepsico_material_approval', '=', record._id], {
896
+ approved_time: new Date()
897
+ })];
898
+ case 60:
899
+ _e.sent();
900
+ _e.label = 61;
901
+ case 61:
902
+ if (!(nextStep === consts_1.Step.awaiting_deployment)) return [3, 63];
876
903
  return [4, pendingDeployment(ctx, recordId)];
877
- case 57:
904
+ case 62:
878
905
  _e.sent();
879
- _e.label = 58;
880
- case 58:
881
- if (!(nextStep === consts_1.Step.awaiting_deployment)) return [3, 60];
906
+ _e.label = 63;
907
+ case 63:
908
+ if (!(nextStep === consts_1.Step.awaiting_deployment)) return [3, 65];
882
909
  setDoc_1 = {
883
910
  materials_download_from_onedrive_status: 'pending'
884
911
  };
885
912
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, setDoc_1)];
886
- case 59:
913
+ case 64:
887
914
  _e.sent();
888
- _e.label = 60;
889
- case 60:
915
+ _e.label = 65;
916
+ case 65:
890
917
  if (currentStepApprovalStatus === consts_1.ApprovalStatus.rejected) {
891
918
  actionLabel = '内容审批被驳回';
892
919
  }
@@ -898,16 +925,16 @@ var advanceApproval = function (ctx, recordId, currentStepApprovalStatus) { retu
898
925
  actionLabel = "\u5185\u5BB9\u5BA1\u6279\u5DF2\u901A\u8FC7\u5F85\u4E0A\u7EBF";
899
926
  }
900
927
  return [4, (0, notification_1.sendNotifications)(ctx, record, nextApproversUserIds_1, actionLabel)];
901
- case 61:
928
+ case 66:
902
929
  _e.sent();
903
930
  return [2, {}];
904
- case 62:
931
+ case 67:
905
932
  error_1 = _e.sent();
906
933
  return [2, {
907
934
  msg: error_1.message,
908
935
  status: 500
909
936
  }];
910
- case 63: return [2];
937
+ case 68: return [2];
911
938
  }
912
939
  });
913
940
  }); };
@@ -1212,7 +1239,7 @@ var submitKidsContent = function (ctx, recordId, currentStepApprovalStatus) {
1212
1239
  exports.submitKidsContent = submitKidsContent;
1213
1240
  var submitContent = function (ctx, recordId, currentStepApprovalStatus, skip) {
1214
1241
  return tslib_1.__awaiter(this, void 0, void 0, function () {
1215
- var approvalNew, user, allow, aProcess, aProcess_1, aProcess_1_1, item, e_8_1, spaceUsers, owner, approvalType, allTrue1, allTrue, spaceUsers, owner, materials, pendingXmlToWordMaterials, pendingUploadMaterials;
1242
+ var approvalNew, user, allow, aProcess, aProcess_1, aProcess_1_1, item, e_8_1, pepsicoMaterial, spaceUsers, owner, approvalType, allTrue1, allTrue, spaceUsers, owner, materials, pendingXmlToWordMaterials, pendingUploadMaterials;
1216
1243
  var e_8, _a;
1217
1244
  return tslib_1.__generator(this, function (_b) {
1218
1245
  switch (_b.label) {
@@ -1284,17 +1311,23 @@ var submitContent = function (ctx, recordId, currentStepApprovalStatus, skip) {
1284
1311
  if (allow != true && approvalNew.current_step != consts_1.Step.draft && !(0, lodash_1.includes)(approvalNew.person_pending_approve, user.userId)) {
1285
1312
  return [2, {}];
1286
1313
  }
1287
- if (!(approvalNew.is_external && approvalNew.current_step === consts_1.Step.draft && approvalNew.external_submitted != true)) return [3, 17];
1288
- if (!(approvalNew.owner === user.userId)) return [3, 16];
1314
+ if (!(approvalNew.is_external && approvalNew.current_step === consts_1.Step.draft && approvalNew.external_submitted != true)) return [3, 18];
1315
+ if (!(approvalNew.owner === user.userId)) return [3, 17];
1289
1316
  if (!approvalNew.material_owner) {
1290
1317
  throw new Error('请先选择材料owner');
1291
1318
  }
1319
+ return [4, ctx.getObject('pepsico_material').find({ filters: ['pepsico_material_approval', '=', recordId], fields: ['material'] })];
1320
+ case 11:
1321
+ pepsicoMaterial = _b.sent();
1322
+ if (pepsicoMaterial.length === 0) {
1323
+ throw new Error('请先「上传审核文件」');
1324
+ }
1292
1325
  return [4, ctx.getObject('space_users').find({
1293
1326
  filters: [['email', '=', approvalNew.material_owner], ['space', '=', approvalNew.space]]
1294
1327
  })];
1295
- case 11:
1328
+ case 12:
1296
1329
  spaceUsers = _b.sent();
1297
- if (!(spaceUsers && spaceUsers.length > 0)) return [3, 14];
1330
+ if (!(spaceUsers && spaceUsers.length > 0)) return [3, 15];
1298
1331
  owner = spaceUsers[0];
1299
1332
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, {
1300
1333
  owner: owner.user,
@@ -1302,30 +1335,30 @@ var submitContent = function (ctx, recordId, currentStepApprovalStatus, skip) {
1302
1335
  internal_collaborator_edit: approvalNew.material_owner,
1303
1336
  internal_collaborator: owner.user,
1304
1337
  })];
1305
- case 12:
1338
+ case 13:
1306
1339
  _b.sent();
1307
1340
  return [4, ctx.getObject('pepsico_material_approval').findOne(recordId)];
1308
- case 13:
1341
+ case 14:
1309
1342
  approvalNew = _b.sent();
1310
- _b.label = 14;
1311
- case 14: return [4, (0, notification_1.sendNotifications)(ctx, approvalNew, [approvalNew.internal_collaborator], '协助提交材料审批单')];
1312
- case 15:
1343
+ _b.label = 15;
1344
+ case 15: return [4, (0, notification_1.sendNotifications)(ctx, approvalNew, [approvalNew.internal_collaborator], '协助提交材料审批单')];
1345
+ case 16:
1313
1346
  _b.sent();
1314
- _b.label = 16;
1315
- case 16: return [2];
1316
- case 17:
1317
- if (!(approvalNew.current_step === consts_1.Step.draft)) return [3, 25];
1318
- return [4, getApproveType(ctx, approvalNew)];
1347
+ _b.label = 17;
1348
+ case 17: return [2];
1319
1349
  case 18:
1350
+ if (!(approvalNew.current_step === consts_1.Step.draft)) return [3, 26];
1351
+ return [4, getApproveType(ctx, approvalNew)];
1352
+ case 19:
1320
1353
  approvalType = _b.sent();
1321
1354
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(approvalNew._id, {
1322
1355
  approval_type: approvalType
1323
1356
  })];
1324
- case 19:
1357
+ case 20:
1325
1358
  _b.sent();
1326
- if (!false) return [3, 22];
1359
+ if (!false) return [3, 23];
1327
1360
  return [4, (0, material_1.deleteBulkDocOneDriveShareLink)(ctx, recordId)];
1328
- case 20:
1361
+ case 21:
1329
1362
  allTrue1 = _b.sent();
1330
1363
  if (allTrue1 != true) {
1331
1364
  return [2, {
@@ -1335,7 +1368,7 @@ var submitContent = function (ctx, recordId, currentStepApprovalStatus, skip) {
1335
1368
  }];
1336
1369
  }
1337
1370
  return [4, (0, material_1.downloadBulkFromOneDriveDoc)(ctx, recordId)];
1338
- case 21:
1371
+ case 22:
1339
1372
  allTrue = _b.sent();
1340
1373
  if (allTrue != true) {
1341
1374
  return [2, {
@@ -1344,29 +1377,29 @@ var submitContent = function (ctx, recordId, currentStepApprovalStatus, skip) {
1344
1377
  data: {}
1345
1378
  }];
1346
1379
  }
1347
- _b.label = 22;
1348
- case 22:
1349
- if (!(approvalNew && approvalNew.material_owner)) return [3, 25];
1380
+ _b.label = 23;
1381
+ case 23:
1382
+ if (!(approvalNew && approvalNew.material_owner)) return [3, 26];
1350
1383
  return [4, ctx.getObject('space_users').find({
1351
1384
  filters: [['email', '=', approvalNew.material_owner], ['space', '=', approvalNew.space]]
1352
1385
  })];
1353
- case 23:
1386
+ case 24:
1354
1387
  spaceUsers = _b.sent();
1355
- if (!(spaceUsers && spaceUsers.length > 0)) return [3, 25];
1388
+ if (!(spaceUsers && spaceUsers.length > 0)) return [3, 26];
1356
1389
  owner = spaceUsers[0];
1357
1390
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, {
1358
1391
  material_owner_id: owner.user
1359
1392
  })];
1360
- case 24:
1361
- _b.sent();
1362
- _b.label = 25;
1363
1393
  case 25:
1394
+ _b.sent();
1395
+ _b.label = 26;
1396
+ case 26:
1364
1397
  console.log("[submitContent] \u6B65\u9AA4\u63D0\u4EA4\uFF0C\u53C2\u6570\u4E3A \u5BA1\u6279\u5355: ".concat(recordId, " \u5F53\u524D\u6B65\u9AA4: ").concat(approvalNew.current_step, " \u5BA1\u6279\u7ED3\u679C\u4E3A: ").concat(currentStepApprovalStatus));
1365
- if (!(approvalNew.current_step === consts_1.Step.ai_review && currentStepApprovalStatus === consts_1.ApprovalStatus.approved)) return [3, 35];
1398
+ if (!(approvalNew.current_step === consts_1.Step.ai_review && currentStepApprovalStatus === consts_1.ApprovalStatus.approved)) return [3, 36];
1366
1399
  return [4, (0, material_1.getOneDriveMaterials)(ctx, recordId)];
1367
- case 26:
1400
+ case 27:
1368
1401
  materials = _b.sent();
1369
- if (!(approvalNew.materials_xml_to_word_status != 'completed')) return [3, 29];
1402
+ if (!(approvalNew.materials_xml_to_word_status != 'completed')) return [3, 30];
1370
1403
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(approvalNew._id, {
1371
1404
  materials_download_from_onedrive_failed_count: 0,
1372
1405
  materials_download_from_onedrive_status: 'not_started',
@@ -1375,56 +1408,56 @@ var submitContent = function (ctx, recordId, currentStepApprovalStatus, skip) {
1375
1408
  materials_uploaded_to_onedrive_failed_count: 0,
1376
1409
  materials_uploaded_to_onedrive_status: 'not_started'
1377
1410
  })];
1378
- case 27:
1411
+ case 28:
1379
1412
  _b.sent();
1380
1413
  return [4, ctx.getObject('pepsico_material_approval').findOne(recordId)];
1381
- case 28:
1382
- approvalNew = _b.sent();
1383
- _b.label = 29;
1384
1414
  case 29:
1385
- if (!(approvalNew.materials_uploaded_to_onedrive_status != 'completed')) return [3, 35];
1415
+ approvalNew = _b.sent();
1416
+ _b.label = 30;
1417
+ case 30:
1418
+ if (!(approvalNew.materials_uploaded_to_onedrive_status != 'completed')) return [3, 36];
1386
1419
  console.log('materials:', materials.length);
1387
- if (!(materials.length === 0)) return [3, 31];
1420
+ if (!(materials.length === 0)) return [3, 32];
1388
1421
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(approvalNew._id, {
1389
1422
  materials_uploaded_to_onedrive_status: 'no_materials',
1390
1423
  materials_xml_to_word_status: 'no_materials'
1391
1424
  })];
1392
- case 30:
1393
- _b.sent();
1394
- return [3, 35];
1395
1425
  case 31:
1426
+ _b.sent();
1427
+ return [3, 36];
1428
+ case 32:
1396
1429
  pendingXmlToWordMaterials = materials.filter(function (material) {
1397
1430
  return material.xml_converted_word !== true;
1398
1431
  });
1399
1432
  console.log('pendingXmlToWordMaterials:', pendingXmlToWordMaterials.length);
1400
- if (!(pendingXmlToWordMaterials.length > 0 && approvalNew.materials_xml_to_word_status != 'no_materials')) return [3, 33];
1433
+ if (!(pendingXmlToWordMaterials.length > 0 && approvalNew.materials_xml_to_word_status != 'no_materials')) return [3, 34];
1401
1434
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(approvalNew._id, {
1402
1435
  materials_xml_to_word_status: 'pending'
1403
1436
  })];
1404
- case 32:
1437
+ case 33:
1405
1438
  _b.sent();
1406
1439
  return [2];
1407
- case 33:
1440
+ case 34:
1408
1441
  pendingUploadMaterials = materials.filter(function (material) {
1409
1442
  return material.uploaded_to_onedrive !== true;
1410
1443
  });
1411
1444
  console.log('pendingUploadMaterials:', pendingUploadMaterials.length);
1412
- if (!(pendingUploadMaterials.length > 0)) return [3, 35];
1445
+ if (!(pendingUploadMaterials.length > 0)) return [3, 36];
1413
1446
  return [4, ctx.getObject('pepsico_material_approval').directUpdate(approvalNew._id, {
1414
1447
  materials_uploaded_to_onedrive_status: 'pending'
1415
1448
  })];
1416
- case 34:
1449
+ case 35:
1417
1450
  _b.sent();
1418
1451
  return [2];
1419
- case 35:
1452
+ case 36:
1420
1453
  console.time('updateUserStepStatus: ' + recordId);
1421
1454
  return [4, updateUserStepStatus(ctx, approvalNew, { approvalStatus: currentStepApprovalStatus, approveField: '' })];
1422
- case 36:
1455
+ case 37:
1423
1456
  _b.sent();
1424
1457
  console.timeEnd('updateUserStepStatus: ' + recordId);
1425
1458
  console.time('advanceApproval: ' + recordId);
1426
1459
  return [4, advanceApproval(ctx, recordId, currentStepApprovalStatus)];
1427
- case 37:
1460
+ case 38:
1428
1461
  _b.sent();
1429
1462
  console.timeEnd('advanceApproval: ' + recordId);
1430
1463
  return [2];