@steedos-labs/content-compliance 0.7.7 → 0.7.9
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.
- package/dist/index.js +1 -1
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +1 -1
- package/lib/actions/initUrgentQuota.d.ts +17 -0
- package/lib/actions/initUrgentQuota.js +99 -0
- package/lib/actions/initUrgentQuota.js.map +1 -0
- package/lib/methods/approval_engine.js +93 -36
- package/lib/methods/approval_engine.js.map +1 -1
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +1 -1
- package/main/default/objects/pepsico_material_approval/listviews/all.listview.yml +6 -2
- package/main/default/objects/pepsico_material_approval/listviews/collaboration.listview.yml +6 -2
- package/main/default/objects/pepsico_material_approval/listviews/handle.listview.yml +6 -2
- package/main/default/objects/pepsico_material_approval/listviews/handle_postpone.listview.yml +6 -2
- package/main/default/objects/pepsico_urgent_quota/buttons/init_year_quota.button.yml +88 -0
- package/package.json +1 -1
- package/public/content-review/amis.css +4 -0
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={256:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(5584);a.__exportStar(r(5510),t),a.__exportStar(r(2143),t),a.__exportStar(r(751),t),a.__exportStar(r(4809),t),a.__exportStar(r(4665),t),a.__exportStar(r(2777),t),a.__exportStar(r(6903),t)},298:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addBulkMaterials=void 0;var a=r(5584),s=r(7825);t.addBulkMaterials={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/material/add"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,n,o,i,c,p;return a.__generator(this,function(l){switch(l.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=l.sent(),e.logger=t,[4,e.getObject("cfs_files_filerecord").find({filters:["_id","=",e.params.files]})];case 2:r=l.sent();try{for(n=a.__values(r),o=n.next();!o.done;o=n.next())if(i=o.value,s.includes(i.original.name,"版权"))return[2,{status:"500",msg:"上传素材中包含“版权”文件,请删除版权文件后再次提交。",data:{}}]}catch(e){c={error:e}}finally{try{o&&!o.done&&(p=n.return)&&p.call(n)}finally{if(c)throw c.error}}return[4,this.addBulkMaterials(e,e.params.approvalId,e.params.files)];case 3:return l.sent(),[3,5];case 4:if(!l.sent())return[2,{status:"500",msg:"素材上传失败, 请稍后重试",data:{}}];l.label=5;case 5:return[2,{}]}})})}}},751:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.dashboardSyncData=void 0;var a=r(5584),s=r(7825),n=r(4716),o=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return r=s.split(t,"-"),[4,e.getObject("picklists").find({filters:["code","=","223321001114213"]})];case 1:return n=a.sent(),r.length>0&&n.length>0?[4,e.getObject("picklist_options").find({filters:[["picklist","=",n[0]._id],["value","=",s.first(r)]]})]:[3,3];case 2:return o=a.sent(),i=[],s.each(r,function(e){var t=s.find(o,{value:e});t&&i.push(t.name)}),[2,s.join(i,"-")];case 3:return[2,""]}})})},i=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["approved","!=","progess"],["current_step","=","submitter_revisions"]]})];case 1:return[2,r.sent().length>0]}})})},c=function(e){return 0==e?null:1===e?"v1":e>1?"v3":void 0},p=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["approved","in",["approved","rejected","submit"]],["type","in",["NS","Legal","SRA","CA","Kids","guding"]]]})];case 1:return r=a.sent(),[2,{NS:c(s.size(s.filter(r,{type:"NS"}))),Legal:c(s.size(s.filter(r,{type:"Legal"}))),SRA:c(s.size(s.filter(r,{type:"SRA"}))),CA:c(s.size(s.filter(r,{type:"CA"}))),Kids:c(s.size(s.filter(r,{type:"Kids"}))),guding:c(s.size(s.filter(r,{type:"guding"})))}]}})})},l=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n,o;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("picklists").find({filters:["code","=","classification"]})];case 1:return r=a.sent(),n=s.split(t,"-"),t&&r.length>0?[4,e.getObject("picklist_options").find({filters:[["picklist","=",r[0]._id],["value","=",s.last(n)]]})]:[3,3];case 2:return[2,(o=a.sent()).length>0?o[0].name:""];case 3:return[2]}})})},_=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["current_step","=","awaiting_deployment"]]})];case 1:return[2,(r=a.sent()).length>0?r[0].created:null]}})})},u=!1;t.dashboardSyncData=function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,r,c,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R,C,x,U,N;return a.__generator(this,function(M){switch(M.label){case 0:if(!0===u)throw new Error("同步中, 请勿重复调用...");u=!0,t={success:0,fail:0},M.label=1;case 1:return M.trys.push([1,30,,32]),r=[["current_step","in",["conclusion","awaiting_deployment"]],["synced","!=",!0],["is_skip_approver","!=",!0]],[4,e.getObject("pepsico_material_approval").directFind({filters:r})];case 2:if(!((c=M.sent()).length>0))return[3,29];M.label=3;case 3:M.trys.push([3,27,28,29]),d=a.__values(c),v=d.next(),M.label=4;case 4:if(v.done)return[3,26];g=v.value,M.label=5;case 5:return M.trys.push([5,23,,25]),[4,o(e,g.product)];case 6:return m=M.sent(),[4,l(e,g.classification)];case 7:return f=M.sent(),[4,e.getObject("organizations").findOne(g.owner_department)];case 8:return h=M.sent(),[4,i(e,g._id)];case 9:return b=M.sent(),[4,p(e,g._id)];case 10:return w=M.sent(),[4,_(e,g._id)];case 11:return y=M.sent(),O="","发起人中止"===g.termination_type?O="v1":"审批人中止"===g.termination_type&&(O="v2"),S=b?"v2":"v1",O&&(S=""),[4,e.getObject("pepsico_material_approval_data").directInsert({name:g.name,pepsico_material_approval:g._id,approve_users:g.person_approved,current_step:g.current_step,material_approve_org:"personnel_review"==g.approval_type?"guding":"four",peoduct:m,classify:f,flow_pass_times:S,approve_status:"terminated"===g.review_status?"v3":"v2",termination:O||null,type:g.internal_collaborator?"外部":"内部",submit_org:(null==h?void 0:h.name)||null,submit_time:g.draft_submitted||null,approve_finish_time:y||null,end_time:g.termination_date||null,review_time:y&&g.draft_submitted?parseFloat(n.duration(n(y).diff(g.draft_submitted)).asHours().toFixed(2)):null,ca_pass:g.ca_approval_status||null,ca_approve_times:w.CA||null,legal_pass:g.legal_approval_status||null,approve_org:w.Legal||null,sra_pass:g.sra_approval_status||null,sra_approve_times:w.SRA||null,ns_pass:g.ns_approval_status||null,ns_approve_times:w.NS||null,guding_pass:"approved"==g.approval_status||g.approval_status||null,guding_approve_times:w.guding||null,kids:g.kids_approval_status||null,kids_approve_times:w.Kids||null,owner:g.owner,space:g.space,created:new Date,modified:new Date})];case 12:return j=M.sent(),O?[3,21]:[4,e.getObject("pepsico_material").directFind({filters:[["pepsico_material_approval","=",g._id]]})];case 13:if(!((A=M.sent()).length>0))return[3,21];M.label=14;case 14:M.trys.push([14,19,20,21]),U=void 0,P=a.__values(A),D=P.next(),M.label=15;case 15:return D.done?[3,18]:(I=D.value,[4,e.getObject("pepsico_material_data").directInsert({pepsico_material_approval:g._id,approve_users:g.person_approved,classify:f,material_void:I.void_material||!1,material_type:(L=I.extension_type,s.includes(["jpg","jpeg","png","gif","bmp","tiff","tif","svg","webp","ico","heif","heic"],L)?"v1":s.includes(["mp4","avi","mov","wmv","flv","mkv","webm","mpeg","mpg","3gp","m4v","qt"],L)?"v2":s.includes(["ppt","pptx"],L)?"v3":s.includes(["doc","docx"],L)?"v4":L),brand:m,submit_org:null==h?void 0:h.name,submit_time:g.draft_submitted,name:I.name,material_approve_org:"personnel_review"==g.approval_type?"v2":"v1",ns_pass:I.ns_approval_status||null,legal_pass:I.legal_approval_status||null,ca_pass:I.ca_approval_status||null,sra_pass:I.sra_approval_status||null,guding_pass:I.approval_status||null,kids_pass:I.kids_approval_status||null,pepsico_material_approval_data:j._id,pepsico_material:I._id,owner:g.owner,space:g.space,created:new Date,modified:new Date})]);case 16:M.sent(),M.label=17;case 17:return D=P.next(),[3,15];case 18:return[3,21];case 19:return k=M.sent(),U={error:k},[3,21];case 20:try{D&&!D.done&&(N=P.return)&&N.call(P)}finally{if(U)throw U.error}return[7];case 21:return[4,e.getObject("pepsico_material_approval").directUpdate(g._id,{synced:!0})];case 22:return M.sent(),t.success++,[3,25];case 23:return E=M.sent(),[4,e.logger.error("[Dashboard同步Data]",{pepsico_material_approval:g._id,error:E.message})];case 24:return M.sent(),t.fail++,[3,25];case 25:return v=d.next(),[3,4];case 26:return[3,29];case 27:return T=M.sent(),C={error:T},[3,29];case 28:try{v&&!v.done&&(x=d.return)&&x.call(d)}finally{if(C)throw C.error}return[7];case 29:return u=!1,[2,t];case 30:return R=M.sent(),u=!1,console.log("[Dashboard同步Data]",{error:R.message}),[4,e.logger.error("[Dashboard同步Data]",{error:R.message})];case 31:return M.sent(),[3,32];case 32:return[2]}var L})})}},904:e=>{e.exports=require("mime-types")},1057:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendByMaterial=t.inventoryApprovalMaterial=void 0;var a=r(5584),s=r(8938),n=r(7825),o=r(904),i=r(8862),c=r(7825),p=r(6293),l=process.env.PEPSICO_CONTENT_HUB_WORKSPACE_ID,_=process.env.PEPSICO_CONTENT_HUB_APP_ID,u=process.env.PEPSICO_CONTENT_HUB_APP_SECRET,d=process.env.PEPSICO_CONTENT_HUB_BASE_URL,v=function(e){var t=e.map(function(e){var t=e.split("-");return(0,n.last)(t)}).filter(function(e){return null!==e});return(0,n.compact)(t)};t.inventoryApprovalMaterial=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R,C,x,U,N,M,L,F,J,$,B,q,Y,z;return a.__generator(this,function(K){switch(K.label){case 0:g=[],K.label=1;case 1:return K.trys.push([1,15,,17]),[4,e.getObject("pepsico_material_approval").findOne(t)];case 2:if(!(m=K.sent()))throw new Error("无效的approvalId:"+t);return m.is_skip_approver&&!c.includes(i.DCO_TYPES,m.classification)?[2,{msg:"不需要推送到Content Hub"}]:(f=process.env.PEPSICO_CONTENT_HUB_TEST_OWNER||m.material_owner,h=function(e){var t=[];return t.push({tagId:"223321001114213",tagValIdList:v((0,n.concat)([],e.product||[]))}),t.push({tagId:"223321001114944",tagValIdList:v((0,n.concat)([],e.available_channels||[]))}),t.push({tagId:"223321001114222",tagValIdList:v((0,n.concat)([],e.material_type||[]))}),t.push({tagId:"223321022150011",tagValIdList:v((0,n.concat)([],e.content_rule||[]))}),t.push({tagId:"223321018147010",value:e.expiry_date?p(e.expiry_date).format("YYYY-MM-DD"):""}),t.push({tagId:"22334050712759158",value:e.effective_date?p(e.effective_date).format("YYYY-MM-DD"):""}),t}(m),b=[],w=[["pepsico_material_approval","=",t],["void_material","!=",!0]],r&&w.push(["_id","=",r]),[4,e.getObject("pepsico_material").find({filters:w})]);case 3:y=K.sent(),K.label=4;case 4:K.trys.push([4,9,10,11]),O=a.__values(y),S=O.next(),K.label=5;case 5:return S.done?[3,8]:(j=S.value,A=null===(B=j.extension_type)||void 0===B?void 0:B.toLowerCase(),P=!1,"jpg"!==A&&"jpeg"!==A&&"png"!==A&&"gif"!==A&&"bmp"!==A&&"tiff"!==A&&"tif"!==A&&"svg"!==A&&"webp"!==A&&"ico"!==A&&"heif"!==A&&"heic"!==A&&"psd"!==A||(P=!0),"mp4"!==A&&"avi"!==A&&"mov"!==A&&"wmv"!==A&&"flv"!==A&&"mkv"!==A&&"webm"!==A&&"mpeg"!==A&&"mpg"!==A&&"3gp"!==A&&"m4v"!==A&&"qt"!==A||(P=!0),P&&g.push({workspaceId:+l,name:j.name,owner:f,url:"".concat(process.env.ROOT_URL,"/api/files/files/").concat(j.material,"?download=true"),materialGroupIdList:b,tagList:h}),j.supplement_materials&&!1===(0,n.isEmpty)(j.supplement_materials)&&(0,n.isArray)(j.supplement_materials)?[4,e.getObject("cfs_files_filerecord").find({filters:["_id","in",j.supplement_materials]})]:[3,7]);case 6:D=K.sent();try{for(J=void 0,I=a.__values(D),k=I.next();!k.done;k=I.next()){E=k.value;try{T=null===(q=(0,o.extension)(E.original.type))||void 0===q?void 0:q.toLowerCase(),R=!1,"jpg"!==T&&"jpeg"!==T&&"png"!==T&&"gif"!==T&&"bmp"!==T&&"tiff"!==T&&"tif"!==T&&"svg"!==T&&"webp"!==T&&"ico"!==T&&"heif"!==T&&"heic"!==T&&"psd"!==T||(R=!0),"mp4"!==T&&"avi"!==T&&"mov"!==T&&"wmv"!==T&&"flv"!==T&&"mkv"!==T&&"webm"!==T&&"mpeg"!==T&&"mpg"!==T&&"3gp"!==T&&"m4v"!==T&&"qt"!==T||(R=!0),R&&g.push({workspaceId:+l,name:E.original.name,owner:f,url:"".concat(process.env.ROOT_URL,"/api/files/files/").concat(E._id,"?download=true"),materialGroupIdList:b,tagList:h})}catch(e){console.log(e)}}}catch(e){J={error:e}}finally{try{k&&!k.done&&($=I.return)&&$.call(I)}finally{if(J)throw J.error}}K.label=7;case 7:return S=O.next(),[3,5];case 8:return[3,11];case 9:return C=K.sent(),L={error:C},[3,11];case 10:try{S&&!S.done&&(F=O.return)&&F.call(O)}finally{if(L)throw L.error}return[7];case 11:return[4,a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(e){switch(e.label){case 0:return[4,s.default.post("".concat(d,"/creativeSaas/auth/v1/tenantAccessToken/internal"),{appId:_,appSecret:u})];case 1:return[2,e.sent().data.data.tenantAccessToken]}})})];case 12:return x=K.sent(),[4,s.default.post("".concat(d,"/creativeSaas/v1/material/inbound_url"),{requestId:t,materialList:g},{headers:{"tenant-access-token":x}})];case 13:return U=K.sent(),N=U.data,[4,null===(Y=e.logger)||void 0===Y?void 0:Y.info("[调用 content hub API]-".concat(t),{result:N,materialList:g})];case 14:return K.sent(),[2,N];case 15:return M=K.sent(),[4,null===(z=e.logger)||void 0===z?void 0:z.error("[调用 content hub API]-".concat(t),{error:M.message,materialList:g})];case 16:return K.sent(),[2,M.message];case 17:return[2]}})})},t.sendByMaterial=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material").findOne(r)];case 1:return s=a.sent(),[4,(0,t.inventoryApprovalMaterial)(e,s.pepsico_material_approval,r)];case 2:return[2,a.sent()]}})})}},1401:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getReviewerAgentsInfo=void 0;var a=r(5584),s=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return s=new Date,[4,e.getObject("process_delegation_rules").find({filters:[["space","=",t],["from","=",r],["enabled","=",!0],["start_time","<=",s],["end_time",">=",s]],top:1,sort:"modified desc"})];case 1:return n=a.sent(),o=n.length>0?null===(i=n[0])||void 0===i?void 0:i.to:null,console.log("getAgent",o,JSON.stringify({filters:[["space","=",t],["from","=",r],["enabled","=",!0],["start_time","<=",s],["end_time",">=",s]],top:1,sort:"modified desc"})),[2,o]}})})};t.getReviewerAgentsInfo=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,o,i,c,p,l,_,u;return a.__generator(this,function(d){switch(d.label){case 0:n={userIds:[],clientUserIds:[]},d.label=1;case 1:d.trys.push([1,6,7,8]),o=a.__values(r),i=o.next(),d.label=2;case 2:return i.done?[3,5]:(c=i.value,[4,s(e,t,c)]);case 3:p=d.sent(),n.userIds.push(p||c),n.clientUserIds.push(c),d.label=4;case 4:return i=o.next(),[3,2];case 5:return[3,8];case 6:return l=d.sent(),_={error:l},[3,8];case 7:try{i&&!i.done&&(u=o.return)&&u.call(o)}finally{if(_)throw _.error}return[7];case 8:return console.log("getReviewerAgentsInfo:",r,n),[2,n]}})})}},1826:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendToContentHub=void 0;var a=r(5584),s=r(1057);t.sendToContentHub={rest:{method:"GET",fullPath:"/api/pepsico-content/send/content-hub/:approverId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:if(!e.meta.user.is_space_admin)throw new Error("无权限!");if(!(t=e.params.approverId))throw new Error("请传入参数approverId");return[4,this.getLogger()];case 1:return r=a.sent(),e.logger=r,e.getObject=this.getObject,[4,(0,s.inventoryApprovalMaterial)(e,t)];case 2:return[2,a.sent()]}})})}}},1959:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.postponeReview=void 0;var a=r(5584);t.postponeReview={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/postpone-review/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.postponeReview.call(this,e,e.params.recordId,e.params)];case 2:return r.sent(),[2,{}]}})})}}},2045:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(5584);a.__exportStar(r(7065),t),a.__exportStar(r(4754),t),a.__exportStar(r(298),t),a.__exportStar(r(5256),t),a.__exportStar(r(3222),t),a.__exportStar(r(5264),t),a.__exportStar(r(9536),t),a.__exportStar(r(3180),t),a.__exportStar(r(3334),t),a.__exportStar(r(4727),t),a.__exportStar(r(4932),t),a.__exportStar(r(2458),t),a.__exportStar(r(8152),t),a.__exportStar(r(9082),t),a.__exportStar(r(1826),t),a.__exportStar(r(8864),t),a.__exportStar(r(6074),t),a.__exportStar(r(2418),t),a.__exportStar(r(4676),t),a.__exportStar(r(2189),t),a.__exportStar(r(9435),t),a.__exportStar(r(7815),t),a.__exportStar(r(6586),t),a.__exportStar(r(1959),t),a.__exportStar(r(2563),t)},2143:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.downloadDocFromOneDriveDoc=t.downloadBulkFromOneDriveDoc=t.deleteDocOneDriveShareLink=t.deleteBulkDocOneDriveShareLink=t.uploadBulkDocToOneDrive=t.getOneDriveMaterials=t.getPendingUploadsToOneDriveMaterials=t.uploadDocToOneDrive=t.getUserReviewedAllMaterialsStatus=t.getApproverFieldByType=t.getApproverField=t.submitMaterial=t.addBulkMaterials=t.hasDuplicateMaterials=void 0;var a=r(5584),s=r(8398),n=r(7825),o=r(904),i=r(8862);t.hasDuplicateMaterials=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,s,o;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material").directFind({filters:[["pepsico_material_approval","=",t],["void_material","!=",!0],["is_bypassed","!=",!0]],fields:["_id","material","md5"]})];case 1:return r=a.sent(),(s=n.compact(n.map(r,"md5"))).length!==n.uniq(s).length?[2,!0]:[4,e.getObject("pepsico_material").directFind({filters:["md5","=",s],fields:["_id"]})];case 2:return o=a.sent(),[2,s.length<o.length]}})})},t.addBulkMaterials=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S;return a.__generator(this,function(j){switch(j.label){case 0:return c=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if(p=j.sent(),c.userId!=p.owner)throw new Error("只有创建者才能添加素材");if(l=p.materials_quantity||0,_=n.includes(i.DCO_TYPES,p.classification)?300:50,l>=_)throw new Error("素材数量:最多".concat(_,"个"));if(l+r.length>_)throw new Error("素材数量:最多".concat(_,"个. 您本次添加了").concat(r.length,"个素材"));return u=n.includes(i.DCO_TYPES,p.classification)?10737418240:1073741824,[4,e.getObject("pepsico_material").find({filters:["pepsico_material_approval","=",p._id],fields:["material"]})];case 2:return d=j.sent(),v=n.concat(r,n.map(d,"material")),[4,e.getObject("cfs_files_filerecord").aggregate({},[{$match:{_id:{$in:v}}},{$group:{_id:null,totalSize:{$sum:"$copies.files.size"}}}])];case 3:if(g=j.sent(),((null===(S=g[0])||void 0===S?void 0:S.totalSize)||0)>u)throw new Error("附件总大小超过 10GB,禁止添加素材");return[4,e.getObject("cfs_files_filerecord").find({filters:["_id","=",r]})];case 4:if(m=j.sent(),p.current_step!=s.Step.draft&&p.current_step!=s.Step.submitter_revisions)return[3,12];j.label=5;case 5:j.trys.push([5,10,11,12]),f=a.__values(m),h=f.next(),j.label=6;case 6:return h.done?[3,9]:(b=h.value,[4,e.getObject("pepsico_material").insert({pepsico_material_approval:p._id,product:n.first(n.split(p.product,"-")),shop_tag:p.shop_tag,material:b._id,material_original:b._id,md5:b.original.md5,name:n.trim(b.original.name),classification:p.classification,extension_type:(0,o.extension)(b.original.type),material_type:p.material_type,social_media:p.social_media,followers:p.followers,kol_classification:p.kol_classification,owner_department:p.owner_department,brief_flow:p.brief_flow,owner:p.owner,space:p.space,created:new Date,created_by:c.userId,modified:new Date,modified_by:c.userId})]);case 7:j.sent(),j.label=8;case 8:return h=f.next(),[3,6];case 9:return[3,12];case 10:return w=j.sent(),y={error:w},[3,12];case 11:try{h&&!h.done&&(O=f.return)&&O.call(f)}finally{if(y)throw y.error}return[7];case 12:return[2,{}]}})})},t.submitMaterial=function(e,t,r){return a.__awaiter(this,void 0,void 0,function(){return a.__generator(this,function(a){switch(a.label){case 0:switch(r){case s.ApprovalStatus.approved:return[3,1];case s.ApprovalStatus.pass:return[3,3];case s.ApprovalStatus.rejected:return[3,5]}return[3,7];case 1:return[4,c.call(this,e,t)];case 2:case 4:case 6:return[2,a.sent()];case 3:return[4,c.call(this,e,t,s.ApprovalStatus.pass)];case 5:return[4,p.call(this,e,t)];case 7:return[2,{}]}})})},t.getApproverField=function(e,r,o,i){return a.__awaiter(void 0,void 0,void 0,function(){var c,p,l;return a.__generator(this,function(a){switch(a.label){case 0:return c="",console.log("[getApproverField]",JSON.stringify({userId:i,ca_reviewer:r.ca_reviewer,sra_reviewer:r.sra_reviewer,ns_reviewer:r.ns_reviewer,legal_reviewer:r.legal_reviewer,reviewer:r.reviewer,current_step:r.current_step})),[4,e.getObject("pepsico_approval_process").find({filters:[["owner","=",i],["pepsico_material_approval","=",r._id],["current_step","=",r.current_step],["space","=",r.space],["approved","=","progess"]],top:1,sort:"modified asc"})];case 1:return(p=a.sent()).length>0&&(l=p[0].type,c="Kids"===l?"kids_approval_status":(0,t.getApproverFieldByType)(l)),c||(r.current_step==s.Step.departmental_review&&(r.pre_ns_reviewer===i?c="pre_ns_approval_status":r.pre_legal_reviewer===i?c="pre_legal_approval_status":r.pre_sra_reviewer===i?c="pre_sra_approval_status":r.pre_ca_reviewer===i?c="pre_ca_approval_status":n.includes(r.ca_reviewer,i)?c="ca_approval_status":n.includes(r.sra_reviewer,i)?c="sra_approval_status":n.includes(r.ns_reviewer,i)?c="ns_approval_status":n.includes(r.legal_reviewer,i)&&(c="legal_approval_status")),r.current_step==s.Step.personnel_review&&(r.pre_reviewer===i?c="pre_approval_status":n.includes(r.reviewer,i)&&1!=o.approval_status&&(c="approval_status"))),n.includes([r.kids_reviewer],i)&&(c="kids_approval_status"),console.log("[getApproverField] fieldName:",c),[2,c]}})})},t.getApproverFieldByType=function(e){var t="";switch(e){case s.ProcessApprovalType.CA:t="ca_approval_status";break;case s.ProcessApprovalType.Legal:t="legal_approval_status";break;case s.ProcessApprovalType.NS:t="ns_approval_status";break;case s.ProcessApprovalType.SRA:t="sra_approval_status";break;case s.ProcessApprovalType.Kids:t="kids_approval_status";break;case s.ProcessApprovalType.guding:t="approval_status";break;case s.ProcessApprovalType.PreNS:t="pre_ns_approval_status";break;case s.ProcessApprovalType.PreLegal:t="pre_legal_approval_status";break;case s.ProcessApprovalType.PreSRA:t="pre_sra_approval_status";break;case s.ProcessApprovalType.PreCA:t="pre_ca_approval_status";break;case s.ProcessApprovalType.Preguding:t="pre_approval_status"}return t};var c=function(e,r,n){return void 0===n&&(n=s.ApprovalStatus.approved),a.__awaiter(this,void 0,void 0,function(){var o,i,c,p,l,_;return a.__generator(this,function(a){switch(a.label){case 0:return o=e.meta.user,[4,e.getObject("pepsico_material").findOne(r)];case 1:return i=a.sent(),[4,e.getObject("pepsico_material_approval").findOne(i.pepsico_material_approval)];case 2:return c=a.sent(),[4,(0,t.getApproverField)(e,c,i,o.userId)];case 3:return(p=a.sent())?[4,e.getObject("pepsico_material").update(r,(_={},_[p]=n===s.ApprovalStatus.approved||"pass",_))]:[2];case 4:return a.sent(),p&&"kids_approval_status"===p&&"pass"!=n?[2,{}]:(console.log("[approveMaterial] approveField",p),[4,(0,t.getUserReviewedAllMaterialsStatus)(e,c._id,p)]);case 5:return l=a.sent(),console.log("[approveMaterial] materialStatus",l),l==s.ApprovalStatus.pending?[3,9]:l!=s.ApprovalStatus.approved&&l!==s.ApprovalStatus.pass?[3,7]:[4,this.approvalContent(e,c._id,{approveField:p,materialStatus:l})];case 6:return a.sent(),[3,9];case 7:return l!=s.ApprovalStatus.rejected?[3,9]:[4,this.rejectContent(e,c._id,{approveField:p,materialStatus:l})];case 8:a.sent(),a.label=9;case 9:return[2]}})})},p=function(e,r){return a.__awaiter(this,void 0,void 0,function(){var n,o,i,c,p,l;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material").findOne(r)];case 1:return o=a.sent(),[4,e.getObject("pepsico_material_approval").findOne(o.pepsico_material_approval)];case 2:return i=a.sent(),[4,(0,t.getApproverField)(e,i,o,n.userId)];case 3:return(c=a.sent())?[4,e.getObject("pepsico_material").update(r,(l={},l[c]=!1,l))]:[2];case 4:return a.sent(),[4,(0,t.getUserReviewedAllMaterialsStatus)(e,i._id,c)];case 5:return(p=a.sent())==s.ApprovalStatus.pending?[3,7]:[4,this.rejectContent(e,i._id,{approveField:c,materialStatus:p})];case 6:a.sent(),a.label=7;case 7:return[2]}})})};t.getUserReviewedAllMaterialsStatus=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var o,i;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t],["void_material","!=",!0],["is_bypassed","!=",!0]]})];case 1:return o=a.sent(),i=n.filter(o,function(e){return null===e[r]||!n.has(e,r)||""===e[r]||void 0===e[r]}).length>0,console.log("getUserReviewedAllMaterialsStatus:",t,"未作废/跳过的素材数量为:",o.length,"hasPending:",i,r),i?[2,s.ApprovalStatus.pending]:n.filter(o,function(e){return!1===e[r]}).length>0?[2,s.ApprovalStatus.rejected]:n.filter(o,function(e){return"pass"===e[r]}).length===o.length?[2,s.ApprovalStatus.pass]:[2,s.ApprovalStatus.approved]}})})},t.uploadDocToOneDrive=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,s,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,4,,7]),[4,e.broker.call("content-version-bridge.material_uploadDocToOneDrive",{material:t})];case 1:return r=a.sent(),s=r.item,n=r.viewSharedLink,o=r.editSharedLink,[4,e.getObject("pepsico_material").directUpdate(t._id,{uploaded_to_onedrive:!0,onedrive_item:s,onedrive_shared_link_view:n,onedrive_shared_link_edit:o})];case 2:return a.sent(),[4,e.logger.info("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[素材上传到oneDrive成功]"),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval,fileInfo:s,viewSharedLink:n,editSharedLink:o})];case 3:return a.sent(),[2,!0];case 4:return i=a.sent(),[4,e.getObject("pepsico_material").directUpdate(t._id,{uploaded_to_onedrive:!1})];case 5:return a.sent(),[4,e.logger.error("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[素材上传到oneDrive失败]:").concat(i.message),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval})];case 6:return a.sent(),console.log("uploadDocToOneDrive error:",i),[2,!1];case 7:return[2]}})})},t.getPendingUploadsToOneDriveMaterials=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t],["extension_type","in",["doc","docx","ppt","pptx"]],["void_material","!=",!0],["uploaded_to_onedrive","!=",!0]]})];case 1:return[2,r.sent()]}})})},t.getOneDriveMaterials=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t],["extension_type","in",["doc","docx","ppt","pptx"]],["void_material","!=",!0]]})];case 1:return[2,r.sent()]}})})},t.uploadBulkDocToOneDrive=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_;return a.__generator(this,function(u){switch(u.label){case 0:return[4,(0,t.getPendingUploadsToOneDriveMaterials)(e,r)];case 1:s=u.sent(),n=!0,u.label=2;case 2:u.trys.push([2,7,8,9]),o=a.__values(s),i=o.next(),u.label=3;case 3:return i.done?[3,6]:(c=i.value,[4,(0,t.uploadDocToOneDrive)(e,c)]);case 4:!1===u.sent()&&(n=!1),u.label=5;case 5:return i=o.next(),[3,3];case 6:return[3,9];case 7:return p=u.sent(),l={error:p},[3,9];case 8:try{i&&!i.done&&(_=o.return)&&_.call(o)}finally{if(l)throw l.error}return[7];case 9:return 1!=n?[3,11]:[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_uploaded_to_onedrive_status:"completed"})];case 10:return u.sent(),[3,13];case 11:return[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_uploaded_to_onedrive_status:"failed",$inc:{materials_uploaded_to_onedrive_failed_count:1}})];case 12:u.sent(),u.label=13;case 13:return[2,n]}})})},t.deleteBulkDocOneDriveShareLink=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_;return a.__generator(this,function(u){switch(u.label){case 0:return s=!0,[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",r],["extension_type","in",["doc","docx","ppt","pptx"]]]})];case 1:n=u.sent(),u.label=2;case 2:u.trys.push([2,7,8,9]),o=a.__values(n),i=o.next(),u.label=3;case 3:return i.done?[3,6]:(c=i.value,[4,(0,t.deleteDocOneDriveShareLink)(e,c)]);case 4:!1===u.sent()&&(s=!1),u.label=5;case 5:return i=o.next(),[3,3];case 6:return[3,9];case 7:return p=u.sent(),l={error:p},[3,9];case 8:try{i&&!i.done&&(_=o.return)&&_.call(o)}finally{if(l)throw l.error}return[7];case 9:return 1!=s?[3,11]:[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_remove_share_link_from_onedrive_status:"completed"})];case 10:return u.sent(),[3,13];case 11:return[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_remove_share_link_from_onedrive_status:"failed",$inc:{materials_remove_share_link_from_onedrive_failed_count:1}})];case 12:u.sent(),u.label=13;case 13:return[2,s]}})})},t.deleteDocOneDriveShareLink=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,4,7,9]),console.log("deleteDocOneDriveShareLink",t.onedrive_item.id,t._id),[4,e.broker.call("content-version-bridge.material_deleteDocOneDriveShareLink",{material:t})];case 1:return a.sent(),[4,e.getObject("pepsico_material").directUpdate(t._id,{remove_share_link_from_onedrive:!0})];case 2:return a.sent(),[4,e.logger.info("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[从oneDrive删除共享连接成功]"),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval})];case 3:return a.sent(),[2,!0];case 4:return r=a.sent(),[4,e.getObject("pepsico_material").directUpdate(t._id,{remove_share_link_from_onedrive:!1})];case 5:return a.sent(),[4,e.logger.error("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[从oneDrive删除共享连接失败]:").concat(r.message),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval})];case 6:return a.sent(),console.log("deleteDocOneDriveShareLink error:",r),[2,!1];case 7:return[4,e.getObject("pepsico_material").directUpdate(t._id,{onedrive_shared_link_edit:null})];case 8:return a.sent(),[7];case 9:return[2]}})})},t.downloadBulkFromOneDriveDoc=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_;return a.__generator(this,function(u){switch(u.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",r],["extension_type","in",["doc","docx","ppt","pptx"]],["void_material","!=",!0],["download_from_onedrive","!=",!0]]})];case 1:s=u.sent(),n=!0,u.label=2;case 2:u.trys.push([2,7,8,9]),o=a.__values(s),i=o.next(),u.label=3;case 3:return i.done?[3,6]:(c=i.value,[4,(0,t.downloadDocFromOneDriveDoc)(e,c)]);case 4:!1===u.sent()&&(n=!1),u.label=5;case 5:return i=o.next(),[3,3];case 6:return[3,9];case 7:return p=u.sent(),l={error:p},[3,9];case 8:try{i&&!i.done&&(_=o.return)&&_.call(o)}finally{if(l)throw l.error}return[7];case 9:return 1!=n?[3,11]:[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_download_from_onedrive_status:"completed"})];case 10:return u.sent(),[3,13];case 11:return[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_download_from_onedrive_status:"failed",$inc:{materials_download_from_onedrive_failed_count:1}})];case 12:u.sent(),u.label=13;case 13:return[2,n]}})})},t.downloadDocFromOneDriveDoc=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,s,n;return a.__generator(this,function(a){switch(a.label){case 0:r=(new Date).getTime(),a.label=1;case 1:return a.trys.push([1,5,,8]),[4,e.broker.call("content-version-bridge.material_downloadDocFromOneDriveDoc",{material:t})];case 2:return s=a.sent(),console.log("downloadDocFromOneDriveDoc-".concat(t._id),s._id,s),[4,e.getObject("pepsico_material").directUpdate(t._id,{material:s._id,$push:{material_one_drive_history:s._id},download_from_onedrive:!0})];case 3:return a.sent(),[4,e.logger.info("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[从oneDrive下载素材成功]"),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval,time:(new Date).getTime()-r})];case 4:return a.sent(),[2,!0];case 5:return n=a.sent(),[4,e.getObject("pepsico_material").directUpdate(t._id,{download_from_onedrive:!1})];case 6:return a.sent(),[4,e.logger.error("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[从oneDrive下载素材失败]:").concat(n.message),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval,time:(new Date).getTime()-r})];case 7:return a.sent(),console.log("downloadDocFromOneDriveDoc error:",n),[2,!1];case 8:return[2]}})})}},2189:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getImageComparisonStatus=t.triggerImageComparison=void 0;var a=r(5584);t.triggerImageComparison={rest:{method:"POST",fullPath:"/api/pepsico-content/image-comparison/trigger/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,s,n,o;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:t=a.sent(),e.logger=t,s=e.params.recordId,a.label=2;case 2:return a.trys.push([2,5,,6]),[4,Promise.resolve().then(function(){return r(4665)})];case 3:return n=a.sent().triggerImageComparisonAsync,console.log("[API] 手动触发图片对比: ".concat(s)),[4,n(e,s)];case 4:return a.sent(),[2,{success:!0,message:"图片对比任务已触发"}];case 5:return o=a.sent(),console.error("[API] 触发图片对比失败: ".concat(s),o.message),[2,{success:!1,error:o.message}];case 6:return[2]}})})}},t.getImageComparisonStatus={rest:{method:"GET",fullPath:"/api/pepsico-content/image-comparison/status/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s;return a.__generator(this,function(a){switch(a.label){case 0:e.getObject=this.getObject,t=e.params.recordId,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,e.getObject("pepsico_material_approval").findOne(t)];case 2:return(r=a.sent())?[2,{success:!0,data:{status:r.image_comparison_status,stats:r.image_comparison_stats,comparedAt:r.image_comparison_at}}]:[2,{success:!1,error:"审批单不存在"}];case 3:return s=a.sent(),console.error("[API] 获取图片对比状态失败: ".concat(t),s.message),[2,{success:!1,error:s.message}];case 4:return[2]}})})}}},2418:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.bypassApproval=void 0;var a=r(5584),s=r(8398),n=r(7825);t.bypassApproval={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/bypass-approval/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R;return a.__generator(this,function(C){switch(C.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:if(t=C.sent(),e.logger=t,r=e.params.recordId,o=e.params.reason,i=e.meta.user.userId,!o)throw new Error("请提供跳过原因");return[4,e.getObject("pepsico_material_approval").findOne(r)];case 2:if(!(c=C.sent()))throw new Error("未找到审批单");if(c.current_step===s.Step.conclusion||c.current_step===s.Step.draft)throw new Error("当前步骤不支持跳过操作");if(p="",l="",_="",u="",d="",v="",c.current_step===s.Step.departmental_review&&(n.includes(c.handler_preca||(c.pre_ca_reviewer?[c.pre_ca_reviewer]:[]),i)&&"pass"!==c.pre_ca_approval_status&&!0!==c.pre_ca_approval_status?(p="pre_ca_approval_status",v="CA预审"):n.includes(c.handler_presra||(c.pre_sra_reviewer?[c.pre_sra_reviewer]:[]),i)&&"pass"!==c.pre_sra_approval_status&&!0!==c.pre_sra_approval_status?(p="pre_sra_approval_status",v="SRA预审"):n.includes(c.handler_prens||(c.pre_ns_reviewer?[c.pre_ns_reviewer]:[]),i)&&"pass"!==c.pre_ns_approval_status&&!0!==c.pre_ns_approval_status?(p="pre_ns_approval_status",v="NS预审"):n.includes(c.handler_prelegal||(c.pre_legal_reviewer?[c.pre_legal_reviewer]:[]),i)&&"pass"!==c.pre_legal_approval_status&&!0!==c.pre_legal_approval_status?(p="pre_legal_approval_status",v="Legal预审"):n.includes(c.handler_ca||c.ca_reviewer,i)&&!0!==c.ca_bypassed?(p="ca_approval_status",l="ca_bypassed",_="ca_bypassed_by",u="ca_bypass_reason",d="ca_bypassed_at",v="CA"):n.includes(c.handler_sra||c.sra_reviewer,i)&&!0!==c.sra_bypassed?(p="sra_approval_status",l="sra_bypassed",_="sra_bypassed_by",u="sra_bypass_reason",d="sra_bypassed_at",v="SRA"):n.includes(c.handler_ns||c.ns_reviewer,i)&&!0!==c.ns_bypassed?(p="ns_approval_status",l="ns_bypassed",_="ns_bypassed_by",u="ns_bypass_reason",d="ns_bypassed_at",v="NS"):n.includes(c.handler_legal||c.legal_reviewer,i)&&!0!==c.legal_bypassed&&(p="legal_approval_status",l="legal_bypassed",_="legal_bypassed_by",u="legal_bypass_reason",d="legal_bypassed_at",v="Legal")),c.current_step===s.Step.personnel_review&&(n.includes(c.handler_preguding||(c.pre_reviewer?[c.pre_reviewer]:[]),i)&&"pass"!==c.pre_approval_status&&!0!==c.pre_approval_status?(p="pre_approval_status",v="固定人员预审"):n.includes(c.handler_personnel||c.reviewer,i)&&(p="approval_status",l="approval_bypassed",_="approval_bypassed_by",u="approval_bypass_reason",d="approval_bypassed_at",v="固定人员")),""===p&&n.includes(c.handler_kids||c.kids_reviewer,i)&&(p="kids_approval_status",l="kids_bypassed",_="kids_bypassed_by",u="kids_bypass_reason",d="kids_bypassed_at",v="Kids"),console.log("approveField===>",p),!p)throw new Error("您不是当前步骤的审核人,无权限跳过");return l?[4,e.getObject("pepsico_material_approval").directUpdate(r,(D={},D[l]=!0,D[_]=i,D[u]=o,D[d]=new Date,D))]:[3,4];case 3:C.sent(),C.label=4;case 4:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",r],["void_material","!=",!0]]})];case 5:g=C.sent(),C.label=6;case 6:C.trys.push([6,11,12,13]),m=a.__values(g),f=m.next(),C.label=7;case 7:return f.done?[3,10]:!0===(h=f.value)[p]||"pass"===h[p]?[3,9]:((E={})[p]="pass",b=E,l&&(b[l]=!0,b[_]=i,b[u]=o,b[d]=new Date),[4,e.getObject("pepsico_material").directUpdate(h._id,b)]);case 8:C.sent(),t.info("User ".concat(i," (").concat(v,") bypassed material ").concat(h._id," via approval bypass")),C.label=9;case 9:return f=m.next(),[3,7];case 10:return[3,13];case 11:return w=C.sent(),I={error:w},[3,13];case 12:try{f&&!f.done&&(k=m.return)&&k.call(m)}finally{if(I)throw I.error}return[7];case 13:return y=[["owner","=",i],["pepsico_material_approval","=",r],["current_step","=",c.current_step],["space","=",c.space],["approved","=","progess"]],p&&("kids_approval_status"===p?y.push(["type","=","Kids"]):"ca_approval_status"===p?y.push(["type","=","CA"]):"sra_approval_status"===p?y.push(["type","=","SRA"]):"ns_approval_status"===p?y.push(["type","=","NS"]):"legal_approval_status"===p?y.push(["type","=","Legal"]):"approval_status"===p?y.push(["type","=","guding"]):"pre_ns_approval_status"===p?y.push(["type","=","PreNS"]):"pre_legal_approval_status"===p?y.push(["type","=","PreLegal"]):"pre_sra_approval_status"===p?y.push(["type","=","PreSRA"]):"pre_ca_approval_status"===p?y.push(["type","=","PreCA"]):"pre_approval_status"===p&&y.push(["type","=","Preguding"])),[4,e.getObject("pepsico_approval_process").find({filters:y,sort:"modified asc"})];case 14:O=C.sent(),C.label=15;case 15:C.trys.push([15,20,21,22]),S=a.__values(O),j=S.next(),C.label=16;case 16:return j.done?[3,19]:(A=j.value,[4,e.getObject("pepsico_approval_process").update(A._id,{submitted:new Date,modified:new Date,modified_by:i,approved:"pass",name:o})]);case 17:C.sent(),C.label=18;case 18:return j=S.next(),[3,16];case 19:return[3,22];case 20:return P=C.sent(),T={error:P},[3,22];case 21:try{j&&!j.done&&(R=S.return)&&R.call(S)}finally{if(T)throw T.error}return[7];case 22:return[4,this.approvalContent.call(this,e,r,{approveField:p,materialStatus:s.ApprovalStatus.pass})];case 23:return C.sent(),[2,{success:!0,message:"已跳过该审批单的".concat(v,"审核")}]}})})}}},2458:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getDownloadMaterialsProgress=t.getUploadMaterialsProgress=void 0;var a=r(5584);t.getUploadMaterialsProgress={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/:approveId/material/upload/progress"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=a.sent(),e.logger=t,[4,this.getOneDriveMaterials(e,e.params.approveId)];case 2:return(r=a.sent()).length<1?[2,{progress:100}]:(s=r.filter(function(e){return!0!==e.uploaded_to_onedrive}),[2,{progress:Math.round(100*(1-s.length/r.length))}])}})})}},t.getDownloadMaterialsProgress={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/:approveId/material/download/progress"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=a.sent(),e.logger=t,[4,this.getOneDriveMaterials(e,e.params.approveId)];case 2:return(r=a.sent()).length<1?[2,{progress:100}]:(s=r.filter(function(e){return!0!==e.download_from_onedrive}),[2,{progress:Math.round(100*(1-s.length/r.length))}])}})})}}},2563:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getUrgentQuotaAction=t.urgentApproval=void 0;var a=r(5584);t.urgentApproval={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/urgent/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,t=e.meta.user,r=null==t?void 0:t.userId,[4,this.doUrgent(e,e.params.recordId,r)];case 1:return[2,a.sent()]}})})}},t.getUrgentQuotaAction={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/urgent-quota/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,t=e.meta.user,r=null==t?void 0:t.userId,[4,this.canUrgent(e,e.params.recordId,r)];case 1:return[2,a.sent()]}})})}}},2777:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkUserPasswordExpiration=void 0;var a=r(5584),s=r(4716);t.checkUserPasswordExpiration=function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,r,n,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R;return a.__generator(this,function(C){switch(C.label){case 0:return C.trys.push([0,25,,26]),new Date,t=parseInt(process.env.PEPSICO_PASSWORD_EXPIRY_ADVANCE_DAYS||"5"),r=new Set,[4,e.getObject("spaces").find({filters:[["password_expiration_days",">",0]],fields:["_id","name","password_expiration_days"]})];case 1:n=C.sent(),C.label=2;case 2:C.trys.push([2,22,23,24]),o=a.__values(n),i=o.next(),C.label=3;case 3:if(i.done)return[3,21];c=i.value,p=c.password_expiration_days,l=[{type:"expired",daysOffset:p}],t>0&&t<p&&l.push({type:"warning",daysOffset:p-t}),C.label=4;case 4:C.trys.push([4,18,19,20]),k=void 0,_=a.__values(l),u=_.next(),C.label=5;case 5:return u.done?[3,17]:(d=u.value,v=s().subtract(d.daysOffset,"days").startOf("day").toDate(),g=s().subtract(d.daysOffset,"days").endOf("day").toDate(),console.log("[PasswordExpiry] Checking space '".concat(c.name,"' (expiration: ").concat(p," days, type: ").concat(d.type,"). Looking for passwords modified between ").concat(v," and ").concat(g)),[4,e.getObject("users").find({filters:[["password_modified_date",">=",v],["password_modified_date","<=",g],["is_valid","=",!0],["email","!=",null]],fields:["_id","name","email","password_modified_date"]})]);case 6:m=C.sent(),console.log("[PasswordExpiry] Found ".concat(m.length," users to notify in space ").concat(c.name," for ").concat(d.type)),C.label=7;case 7:C.trys.push([7,14,15,16]),T=void 0,f=a.__values(m),h=f.next(),C.label=8;case 8:if(h.done)return[3,13];if(b=h.value,r.has(b._id))return[3,12];C.label=9;case 9:return C.trys.push([9,11,,12]),w="",y="","expired"===d.type?(w="您的密码已过期 - ".concat(c.name),y="\n <p>尊敬的 ".concat(b.name,":</p>\n <p>根据 ").concat(c.name," 的安全策略,用户的密码有效期为 ").concat(p," 天。</p>\n <p>您的密码最后修改于 ").concat(s(b.password_modified_date).format("YYYY-MM-DD"),",目前已经过期。</p>\n <p>请尽快登录系统并修改您的密码。</p>\n <br/>\n <p>系统自动发送,请勿回复。</p>\n ")):(w="您的密码即将过期 - ".concat(c.name),y="\n <p>尊敬的 ".concat(b.name,":</p>\n <p>根据 ").concat(c.name," 的安全策略,用户的密码有效期为 ").concat(p," 天。</p>\n <p>您的密码最后修改于 ").concat(s(b.password_modified_date).format("YYYY-MM-DD"),",将于 ").concat(t," 天后过期。</p>\n <p>请尽快登录系统并修改您的密码。</p>\n <br/>\n <p>系统自动发送,请勿回复。</p>\n ")),[4,e.broker.call("@builder6/email.send",{to:b.email,subject:w,html:y})];case 10:return C.sent(),console.log("[PasswordExpiry] Email sent to ".concat(b.email," (").concat(b._id,") - ").concat(d.type)),r.add(b._id),[3,12];case 11:return O=C.sent(),console.error("[PasswordExpiry] Failed to send email to ".concat(b.email,":"),O),r.add(b._id),[3,12];case 12:return h=f.next(),[3,8];case 13:return[3,16];case 14:return S=C.sent(),T={error:S},[3,16];case 15:try{h&&!h.done&&(R=f.return)&&R.call(f)}finally{if(T)throw T.error}return[7];case 16:return u=_.next(),[3,5];case 17:return[3,20];case 18:return j=C.sent(),k={error:j},[3,20];case 19:try{u&&!u.done&&(E=_.return)&&E.call(_)}finally{if(k)throw k.error}return[7];case 20:return i=o.next(),[3,3];case 21:return[3,24];case 22:return A=C.sent(),D={error:A},[3,24];case 23:try{i&&!i.done&&(I=o.return)&&I.call(o)}finally{if(D)throw D.error}return[7];case 24:return[3,26];case 25:return P=C.sent(),console.error("[PasswordExpiry] Error:",P),[3,26];case 26:return[2]}})})}},2972:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callAIReview=void 0;var a=r(5584),s=r(8938),n=process.env.PEPSICO_AI_HOST,o=process.env.PEPSICO_AI_API_KEY;t.callAIReview=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,i,c,p;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,3,,5]),r=(new Date).getTime(),console.log("[调用 AI review API] 开始:","".concat(n,"/api/v1/review"),{approval_id:t},new Date),[4,s.default.post("".concat(n,"/api/v1/review"),{approval_id:t},{headers:{"X-API-Key":o}})];case 1:return i=a.sent(),c=i.data,console.log("[调用 AI review API]-".concat(t),c,"耗时:",(new Date).getTime()-r),[4,e.logger.info("[调用 AI review API]-".concat(t),c)];case 2:return a.sent(),[2,c];case 3:return p=a.sent(),console.error("[调用 AI review API]-".concat(t),p.message,new Date),[4,e.logger.error("[调用 AI review API]-".concat(t),p.message)];case 4:return a.sent(),[3,5];case 5:return[2]}})})}},3180:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submitPreReview=void 0;var a=r(5584);t.submitPreReview={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/pre-review/submit/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:if(t=a.sent(),e.logger=t,"approved"!==(r=e.params.approvalStatus)&&"rejected"!==r)throw new Error("无效的审核状态, 必须是 approved 或 rejected");return[4,this.submitPreReviewContent(e,e.params.recordId,r)];case 2:return a.sent(),[2,{}]}})})}}},3200:e=>{e.exports=require("@steedos/service-package-loader")},3222:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.confirmDeployment=void 0;var a=r(5584);t.confirmDeployment={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/confirm-deployment/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,t=e.params.content_rule,[4,this.getLogger()];case 1:return r=a.sent(),e.logger=r,[4,this.confirmDeployment.call(this,e,e.params.recordId,{content_rule:t})];case 2:return a.sent(),[2,{}]}})})}}},3334:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.calculateSpotCheckRates=void 0;var a=r(5584);r(7825),t.calculateSpotCheckRates={rest:{method:"POST",fullPath:"/api/pepsico-content/calculateSpotCheckRates"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O;return a.__generator(this,function(S){switch(S.label){case 0:if(t=this.getObject("pepsico_material"),r=[],e.params.filters)try{r="string"==typeof e.params.filters?JSON.parse(e.params.filters):e.params.filters,Array.isArray(r)||(r=[])}catch(e){r=[]}return s=r.length>0,n=function(e,t){return 0===t.length?e:0===e.length?t:a.__spreadArray(a.__spreadArray(a.__spreadArray([],a.__read(e),!1),["and"],!1),a.__read(t),!1)},[4,this.getObject("organizations").find({filters:[["name","in",["NS","Legal","SRA","CA"]]],fields:["_id","name"]})];case 1:o=S.sent(),i={},o.forEach(function(e){return i[e.name]=e._id}),c=[["approval_status","=",!0],["kol_classification","=","Mid-tier"],["void_material","!=",!0]],p=[t.count({filters:s?r:c})],console.log("orgMap",i),l=["NS","Legal","SRA","CA"];try{for(_=a.__values(l),u=_.next();!u.done;u=_.next())d=u.value,i[d]?(v=[["spot_check_departments","=",i[d]],["kol_classification","=","Mid-tier"]],p.push(t.count({filters:s?n(r,[["spot_check_departments","=",i[d]]]):v}))):p.push(Promise.resolve(0))}catch(e){y={error:e}}finally{try{u&&!u.done&&(O=_.return)&&O.call(_)}finally{if(y)throw y.error}}return[4,Promise.all(p)];case 2:return g=a.__read.apply(void 0,[S.sent(),5]),m=g[0],f=g[1],h=g[2],b=g[3],w=g[4],[2,{pending_spot_count:m,ns_materials_quantity:f,legal_materials_quantity:h,sra_materials_quantity:b,ca_materials_quantity:w}]}})})}}},3833:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendDelayNotifications=t.processPostponeReviewNotifications=t.sendNotifications=void 0;var a=r(5584),s=r(4716);t.sendNotifications=function(e,t,r,s){return a.__awaiter(void 0,void 0,void 0,function(){var n,o,i,c,p,l,_,u,d,v,g,m,f,h,b;return a.__generator(this,function(w){switch(w.label){case 0:console.log("sendNotifications",t._id,t.name,r,s),w.label=1;case 1:w.trys.push([1,21,,22]),w.label=2;case 2:w.trys.push([2,7,8,9]),n=a.__values(r),o=n.next(),w.label=3;case 3:return o.done?[3,6]:(i=o.value,[4,e.broker.call("notifications.add",{message:{name:"".concat(s,": ").concat(t.name),body:"",related_to:{o:"pepsico_material_approval",ids:[t._id]},related_name:t.name,from:t.owner,space:t.space},from:t.owner,to:i})]);case 4:w.sent(),w.label=5;case 5:return o=n.next(),[3,3];case 6:return[3,9];case 7:return c=w.sent(),m={error:c},[3,9];case 8:try{o&&!o.done&&(f=n.return)&&f.call(n)}finally{if(m)throw m.error}return[7];case 9:return[4,e.getObject("space_users").find({filters:[["user","=",r],["space","=",t.space]]})];case 10:p=w.sent(),w.label=11;case 11:w.trys.push([11,18,19,20]),l=a.__values(p),_=l.next(),w.label=12;case 12:if(_.done)return[3,17];if(!(u=_.value).email||!u.email_notification)return[3,16];w.label=13;case 13:return w.trys.push([13,15,,16]),[4,e.broker.call("@builder6/email.send",{to:u.email,subject:"".concat(s,": ").concat(t.name),html:'\n <p>您有一份文件需要查看和处理。请点击下面的链接来访问该文件:</p>\n <a href="'.concat(process.env.ROOT_URL,"/app/pepsico_content_review/pepsico_material_approval/view/").concat(t._id,'?side_object=pepsico_material_approval&side_listview_id=pending">').concat(t.name,"</a>\n ")})];case 14:return w.sent(),[3,16];case 15:return d=w.sent(),console.log(d),[3,16];case 16:return _=l.next(),[3,12];case 17:return[3,20];case 18:return v=w.sent(),h={error:v},[3,20];case 19:try{_&&!_.done&&(b=l.return)&&b.call(l)}finally{if(h)throw h.error}return[7];case 20:return console.timeEnd("sendNotifications-email: "+r.length),[3,22];case 21:return g=w.sent(),console.log(g),[3,22];case 22:return[2]}})})},t.processPostponeReviewNotifications=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,o,i,c,p,l,_,u,d,v;return a.__generator(this,function(g){switch(g.label){case 0:return console.time("processPostponeReviewNotifications"),n=s(),o=s(n).add(r,"minute").toDate(),[4,e.getObject("pepsico_review_postpone").directFind({filters:[["notification_sent","=",!1],["is_marker","!=",!0],["visible_after","<=",o]]})];case 1:i=g.sent(),console.log("processPostponeReviewNotifications count:",i.length),c=function(r){var s,n,o,i,c,p,l;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,8,,9]),s=r.pepsico_material_approval,n=r.postponed_user_ids?r.postponed_user_ids.split(",").filter(Boolean):[],s&&0!==n.length?[3,2]:[4,e.getObject("pepsico_review_postpone").directUpdate(r._id,{notification_sent:!0})];case 1:return a.sent(),[2,"continue"];case 2:return[4,e.getObject("pepsico_material_approval").findOne(s)];case 3:return(o=a.sent())?(i=o.review_postponed_users||[],c=i.filter(function(e){return!n.includes(e)}),[4,e.getObject("pepsico_material_approval").directUpdate(s,{review_postponed_users:c})]):[3,6];case 4:return a.sent(),"departmental_review"!==o.current_step&&"personnel_review"!==o.current_step?[3,6]:(p=n.filter(function(e){return Array.isArray(o.person_pending_approve)&&o.person_pending_approve.includes(e)})).length>0?[4,(0,t.sendNotifications)(e,o,p,"请审批")]:[3,6];case 5:a.sent(),a.label=6;case 6:return[4,e.getObject("pepsico_review_postpone").directUpdate(r._id,{notification_sent:!0})];case 7:return a.sent(),[3,9];case 8:return l=a.sent(),console.error("processPostponeReviewNotifications error for record",r._id,l),[3,9];case 9:return[2]}})},g.label=2;case 2:g.trys.push([2,7,8,9]),p=a.__values(i),l=p.next(),g.label=3;case 3:return l.done?[3,6]:(_=l.value,[5,c(_)]);case 4:g.sent(),g.label=5;case 5:return l=p.next(),[3,3];case 6:return[3,9];case 7:return u=g.sent(),d={error:u},[3,9];case 8:try{l&&!l.done&&(v=p.return)&&v.call(p)}finally{if(d)throw d.error}return[7];case 9:return console.timeEnd("processPostponeReviewNotifications"),[2]}})})},t.sendDelayNotifications=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,o,i,c,p,l,_,u;return a.__generator(this,function(d){switch(d.label){case 0:return console.time("sendDelayNotifications"),n=s(),[4,e.getObject("pepsico_material_approval").find({filters:[["launch","=","postpone"],["postpone_launch_date",">=",n.toDate()],["postpone_launch_date","<=",s(n).add(r,"minute").toDate()]]})];case 1:o=d.sent(),console.log("sendDelayNotifications count:",o.length,{filters:[["launch","=","postpone"],["postpone_launch_date",">=",n.toDate()],["postpone_launch_date","<=",s(n).add(r,"minute").toDate()]]}),d.label=2;case 2:d.trys.push([2,7,8,9]),i=a.__values(o),c=i.next(),d.label=3;case 3:return c.done?[3,6]:(p=c.value).material_owner_id?[4,(0,t.sendNotifications)(e,p,[p.material_owner_id],"请确认上线")]:[3,5];case 4:d.sent(),d.label=5;case 5:return c=i.next(),[3,3];case 6:return[3,9];case 7:return l=d.sent(),_={error:l},[3,9];case 8:try{c&&!c.done&&(u=i.return)&&u.call(i)}finally{if(_)throw _.error}return[7];case 9:return console.timeEnd("sendDelayNotifications"),[2]}})})}},4425:e=>{e.exports=require("amis-formula")},4665:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.processPendingImageComparisons=t.triggerImageComparisonAsync=t.processBulkImageComparison=t.processImageComparison=t.storeComparisonResult=t.callImageComparisonAPI=t.prepareImageComparisonData=t.getMaterialVersions=t.getImageMaterials=t.isModifiedSubmission=void 0;var a=r(5584),s=r(8938),n=r(8398),o=process.env.PEPSICO_AI_HOST,i=process.env.PEPSICO_AI_API_KEY,c=["jpg","jpeg","png","gif","bmp","tiff","tif","svg","webp","ico","heif","heic"];t.isModifiedSubmission=function(e){return e.current_step===n.Step.submitter_revisions},t.getImageMaterials=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t],["extension_type","in",c],["void_material","!=",!0],["is_bypassed","!=",!0]]})];case 1:return[2,r.sent()]}})})},t.getMaterialVersions=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var e,r;return a.__generator(this,function(a){return e={current:t.material,previous:null,currentUrl:"",previousUrl:null},r=process.env.ROOT_URL||"",e.currentUrl="".concat(r,"/api/v6/files/cfs.files.filerecord/").concat(t.material),!e.previous&&t.material_original&&t.material_original!==t.material&&(e.previous=t.material_original,e.previousUrl="".concat(r,"/api/v6/files/cfs.files.filerecord/").concat(e.previous)),[2,e]})})},t.prepareImageComparisonData=function(e,t,r,s){return a.__awaiter(void 0,void 0,void 0,function(){var e,n;return a.__generator(this,function(a){return[2,{request:{image_url_a:r.previousUrl,image_url_b:r.currentUrl,threshold:null!==(e=null==s?void 0:s.threshold)&&void 0!==e?e:30,min_area:null!==(n=null==s?void 0:s.min_area)&&void 0!==n?n:50},metadata:{material_id:t._id,approval_id:t.pepsico_material_approval,name:t.name,current_file_id:r.current,previous_file_id:r.previous,extension_type:t.extension_type}}]})})},t.callImageComparisonAPI=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n,c,p,l,_,u,d,v,g,m,f,h,b;return a.__generator(this,function(a){switch(a.label){case 0:r=t.request,n=t.metadata,c="".concat(o,"/api/v1/compare_historical_images"),a.label=1;case 1:return a.trys.push([1,5,,8]),p=(new Date).getTime(),console.log("[调用 AI 图片对比 API] 开始:",c,{material_id:n.material_id,approval_id:n.approval_id,threshold:r.threshold,min_area:r.min_area},new Date),[4,s.default.post(c,r,{headers:{"X-API-Key":i,"Content-Type":"application/json"},timeout:12e4})];case 2:return l=a.sent(),_=l.data,console.log("[调用 AI 图片对比 API]-".concat(n.material_id),_,"耗时:",(new Date).getTime()-p),e.logger?[4,e.logger.info("[调用 AI 图片对比 API]-".concat(n.material_id),{data:_,duration:(new Date).getTime()-p})]:[3,4];case 3:a.sent(),a.label=4;case 4:return[2,_];case 5:return u=a.sent(),d=(null===(m=null===(g=u.response)||void 0===g?void 0:g.data)||void 0===m?void 0:m.detail)||(null===(h=null===(f=u.response)||void 0===f?void 0:f.data)||void 0===h?void 0:h.message)||u.message,v=null===(b=u.response)||void 0===b?void 0:b.status,console.error("[调用 AI 图片对比 API 失败]-".concat(n.material_id),"HTTP ".concat(v,":"),d,new Date),e.logger?[4,e.logger.error("[调用 AI 图片对比 API 失败]-".concat(n.material_id),{endpoint:c,body:r,error:d,statusCode:v,stack:u.stack})]:[3,7];case 6:a.sent(),a.label=7;case 7:throw u;case 8:return[2]}})})},t.storeComparisonResult=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,4,,8]),s="too_many_differences"===r.status,[4,e.getObject("pepsico_material").directUpdate(t,{result_image:r.result_image,image_comparison_result:JSON.stringify({status:r.status,result_image:r.result_image,diff_regions:r.diff_regions||[],ssim_score:r.ssim_score,diff_count:r.diff_count,message:r.message||void 0}),image_comparison_status:s?"too_many_differences":"completed",image_comparison_at:new Date})];case 1:return a.sent(),console.log("[存储图片对比结果成功]-".concat(t),{status:r.status,diff_count:r.diff_count,ssim_score:r.ssim_score}),e.logger?[4,e.logger.info("[存储图片对比结果成功]-".concat(t),{status:r.status,diff_count:r.diff_count,ssim_score:r.ssim_score,has_result_image:!!r.result_image})]:[3,3];case 2:a.sent(),a.label=3;case 3:return[3,8];case 4:return n=a.sent(),console.error("[存储图片对比结果失败]-".concat(t),n.message),e.logger?[4,e.logger.error("[存储图片对比结果失败]-".concat(t),{error:n.message})]:[3,6];case 5:a.sent(),a.label=6;case 6:return[4,e.getObject("pepsico_material").directUpdate(t,{image_comparison_status:"failed",image_comparison_error:n.message,image_comparison_at:new Date})];case 7:throw a.sent(),n;case 8:return[2]}})})},t.processImageComparison=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,7,,8]),[4,(0,t.getMaterialVersions)(e,r)];case 1:return(s=a.sent()).previous?[3,3]:(console.log("[跳过图片对比]-".concat(r._id,": 没有历史版本")),[4,e.getObject("pepsico_material").directUpdate(r._id,{image_comparison_status:"skipped",image_comparison_reason:"No previous version found"})]);case 2:return a.sent(),[2];case 3:return[4,(0,t.prepareImageComparisonData)(e,r,s)];case 4:return n=a.sent(),[4,(0,t.callImageComparisonAPI)(e,n)];case 5:return o=a.sent(),[4,(0,t.storeComparisonResult)(e,r._id,o)];case 6:return a.sent(),[2,o];case 7:throw i=a.sent(),console.error("[处理图片对比失败]-".concat(r._id),i.message),i;case 8:return[2]}})})},t.processBulkImageComparison=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_,u,d,v,g,m;return a.__generator(this,function(f){switch(f.label){case 0:return f.trys.push([0,16,,19]),[4,(0,t.getImageMaterials)(e,r)];case 1:if(s=f.sent(),console.log("[批量图片对比]-".concat(r,": 发现 ").concat(s.length," 个图片素材")),0===s.length)return[2,{total:0,processed:0,skipped:0,failed:0}];n=0,o=0,i=0,f.label=2;case 2:f.trys.push([2,12,13,14]),c=a.__values(s),p=c.next(),f.label=3;case 3:if(p.done)return[3,11];l=p.value,f.label=4;case 4:return f.trys.push([4,9,,10]),[4,(0,t.getMaterialVersions)(e,l)];case 5:return f.sent().previous?[3,7]:(o++,console.log("[跳过图片对比]-".concat(l._id,": 没有历史版本")),[4,e.getObject("pepsico_material").directUpdate(l._id,{image_comparison_status:"skipped",image_comparison_reason:"No previous version found"})]);case 6:return f.sent(),[3,10];case 7:return[4,(0,t.processImageComparison)(e,l)];case 8:return f.sent(),n++,[3,10];case 9:return _=f.sent(),i++,console.error("[图片对比失败]-".concat(l._id),_.message),[3,10];case 10:return p=c.next(),[3,3];case 11:return[3,14];case 12:return u=f.sent(),g={error:u},[3,14];case 13:try{p&&!p.done&&(m=c.return)&&m.call(c)}finally{if(g)throw g.error}return[7];case 14:return d={total:s.length,processed:n,skipped:o,failed:i},console.log("[批量图片对比完成]-".concat(r),d),[4,e.getObject("pepsico_material_approval").directUpdate(r,{image_comparison_status:i>0?"partial":"completed",image_comparison_stats:JSON.stringify(d),image_comparison_at:new Date})];case 15:return f.sent(),[2,d];case 16:return v=f.sent(),console.error("[批量图片对比失败]-".concat(r),v.message),e.logger?[4,e.logger.error("[批量图片对比失败]-".concat(r),{error:v.message})]:[3,18];case 17:f.sent(),f.label=18;case 18:throw v;case 19:return[2]}})})},t.triggerImageComparisonAsync=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,e.getObject("pepsico_material_approval").directUpdate(t,{image_comparison_status:"pending",image_comparison_at:new Date})];case 1:return a.sent(),console.log("[图片对比任务已标记为pending]-".concat(t)),[3,3];case 2:return r=a.sent(),console.error("[标记图片对比任务失败]-".concat(t),r.message),[3,3];case 3:return[2]}})})},t.processPendingImageComparisons=function(e,r){return void 0===r&&(r=3),a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_,u,d;return a.__generator(this,function(v){switch(v.label){case 0:return v.trys.push([0,16,,19]),[4,e.getObject("pepsico_material_approval").find({filters:[["image_comparison_status","in",["pending","failed"]]],top:10,sort:"modified desc"})];case 1:s=v.sent(),console.log("定时任务[图片对比] count: ".concat(s.length),{approvals:s.map(function(e){return{_id:e._id,status:e.image_comparison_status,failedCount:e.image_comparison_failed_count}})}),v.label=2;case 2:v.trys.push([2,13,14,15]),n=a.__values(s),o=n.next(),v.label=3;case 3:if(o.done)return[3,12];if(i=o.value,(c=i.image_comparison_failed_count||0)>=r)return console.log("[图片对比跳过]-".concat(i._id,": 已达最大重试次数 ").concat(r)),[3,11];v.label=4;case 4:return v.trys.push([4,7,,11]),[4,e.getObject("pepsico_material_approval").directUpdate(i._id,{image_comparison_status:"processing"})];case 5:return v.sent(),[4,(0,t.processBulkImageComparison)(e,i._id)];case 6:return v.sent(),[3,11];case 7:return p=v.sent(),console.error("[图片对比任务失败]-".concat(i._id),p.message),[4,e.getObject("pepsico_material_approval").directUpdate(i._id,{image_comparison_status:"failed",$inc:{image_comparison_failed_count:1}})];case 8:return v.sent(),e.logger?[4,e.logger.error("[图片对比任务失败]-".concat(i._id),{error:p.message,failedCount:c+1})]:[3,10];case 9:v.sent(),v.label=10;case 10:return[3,11];case 11:return o=n.next(),[3,3];case 12:return[3,15];case 13:return l=v.sent(),u={error:l},[3,15];case 14:try{o&&!o.done&&(d=n.return)&&d.call(n)}finally{if(u)throw u.error}return[7];case 15:return[3,19];case 16:return _=v.sent(),console.error("[定时任务-图片对比] 执行异常:",_.message),e.logger?[4,e.logger.error("[定时任务-图片对比] 执行异常",{error:_.message})]:[3,18];case 17:v.sent(),v.label=18;case 18:return[3,19];case 19:return[2]}})})}},4676:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.bypassMaterial=void 0;var a=r(5584),s=r(8398),n=r(7825);t.bypassMaterial={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/material/bypass/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A;return a.__generator(this,function(P){switch(P.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=P.sent(),e.logger=t,r=e.params.recordId,o=e.params.reason,i=e.meta.user.userId,[4,e.getObject("pepsico_material").findOne(r)];case 2:if(!(c=P.sent()))throw new Error("未找到素材");if(c.void_material)throw new Error("已作废的素材无需跳过");return[4,e.getObject("pepsico_material_approval").findOne(c.pepsico_material_approval)];case 3:if(!(p=P.sent()))throw new Error("未找到关联的审批单");if(p.current_step===s.Step.conclusion||p.current_step===s.Step.draft)throw new Error("当前步骤不支持跳过操作");if(l="",_="",u="",d="",v="",g="",p.current_step===s.Step.departmental_review&&(n.includes(p.handler_preca||(p.pre_ca_reviewer?[p.pre_ca_reviewer]:[]),i)&&"pass"!==p.pre_ca_approval_status&&!0!==p.pre_ca_approval_status?(l="pre_ca_approval_status",g="CA预审"):n.includes(p.handler_presra||(p.pre_sra_reviewer?[p.pre_sra_reviewer]:[]),i)&&"pass"!==p.pre_sra_approval_status&&!0!==p.pre_sra_approval_status?(l="pre_sra_approval_status",g="SRA预审"):n.includes(p.handler_prens||(p.pre_ns_reviewer?[p.pre_ns_reviewer]:[]),i)&&"pass"!==p.pre_ns_approval_status&&!0!==p.pre_ns_approval_status?(l="pre_ns_approval_status",g="NS预审"):n.includes(p.handler_prelegal||(p.pre_legal_reviewer?[p.pre_legal_reviewer]:[]),i)&&"pass"!==p.pre_legal_approval_status&&!0!==p.pre_legal_approval_status?(l="pre_legal_approval_status",g="Legal预审"):n.includes(p.handler_ca||p.ca_reviewer,i)&&!0!==p.ca_bypassed&&"pass"!==p.ca_approval_status&&!0!==p.ca_approval_status&&!1!==p.ca_approval_status?(l="ca_approval_status",_="ca_bypassed",u="ca_bypassed_by",d="ca_bypass_reason",v="ca_bypassed_at",g="CA"):n.includes(p.handler_sra||p.sra_reviewer,i)&&!0!==p.sra_bypassed&&"pass"!==p.sra_approval_status&&!0!==p.sra_approval_status&&!1!==p.sra_approval_status?(l="sra_approval_status",_="sra_bypassed",u="sra_bypassed_by",d="sra_bypass_reason",v="sra_bypassed_at",g="SRA"):n.includes(p.handler_ns||p.ns_reviewer,i)&&!0!==p.ns_bypassed&&"pass"!==p.ns_approval_status&&!0!==p.ns_approval_status&&!1!==p.ns_approval_status?(l="ns_approval_status",_="ns_bypassed",u="ns_bypassed_by",d="ns_bypass_reason",v="ns_bypassed_at",g="NS"):n.includes(p.handler_legal||p.legal_reviewer,i)&&!0!==p.legal_bypassed&&"pass"!==p.legal_approval_status&&!0!==p.legal_approval_status&&!1!==p.legal_approval_status&&(l="legal_approval_status",_="legal_bypassed",u="legal_bypassed_by",d="legal_bypass_reason",v="legal_bypassed_at",g="Legal")),p.current_step===s.Step.personnel_review&&(n.includes(p.handler_preguding||(p.pre_reviewer?[p.pre_reviewer]:[]),i)&&"pass"!==p.pre_approval_status&&!0!==p.pre_approval_status?(l="pre_approval_status",g="固定人员预审"):n.includes(p.handler_personnel||p.reviewer,i)&&(l="approval_status",_="approval_bypassed",u="approval_bypassed_by",d="approval_bypass_reason",v="approval_bypassed_at",g="固定人员")),""===l&&n.includes(p.handler_kids||p.kids_reviewer,i)&&(l="kids_approval_status",_="kids_bypassed",u="kids_bypassed_by",d="kids_bypass_reason",v="kids_bypassed_at",g="Kids"),!l)throw new Error("您不是当前步骤的审核人,无权限跳过");if(!0===c[l]||"pass"===c[l])throw new Error("该素材的".concat(g,"审核已完成"));return(O={})[l]="pass",m=O,_&&(m[_]=!0,m[u]=i,m[d]=o,m[v]=new Date),[4,e.getObject("pepsico_material").directUpdate(r,m)];case 4:return P.sent(),t.info("User ".concat(i," (").concat(g,") bypassed material ").concat(r)),[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",c.pepsico_material_approval],["void_material","!=",!0]]})];case 5:f=P.sent(),h=!1;try{for(b=a.__values(f),w=b.next();!w.done;w=b.next())if(!0!==(y=w.value)[l]&&"pass"!==y[l]){h=!0;break}}catch(e){S={error:e}}finally{try{w&&!w.done&&(j=b.return)&&j.call(b)}finally{if(S)throw S.error}}return h||!_?[3,7]:[4,e.getObject("pepsico_material_approval").directUpdate(p._id,(A={},A[_]=!0,A[u]=i,A[d]=o,A[v]=new Date,A))];case 6:P.sent(),t.info("User ".concat(i," (").concat(g,") also marked approval ").concat(p._id," as bypassed (no pending materials)")),P.label=7;case 7:return[4,this.submitMaterial.call(this,e,r,"pass")];case 8:return P.sent(),[2,{success:!0,message:"已跳过该素材的".concat(g,"审核")}]}})})}}},4716:e=>{e.exports=require("moment")},4727:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.rule=void 0;var a=r(5584);t.rule={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/rule"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[2,this.getDefApproverStepRule.call(this,e)]}})})}}},4754:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.terminate=void 0;var a=r(5584);t.terminate={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/terminate/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.terminate(e,e.params.recordId,e.params.description)];case 2:return r.sent(),[2,{}]}})})}}},4809:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scanPLSFiles=void 0;var a=r(5584),s=r(7825),n=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return r=s.split(t,"-"),[4,e.getObject("picklists").directFind({filters:["code","=","223321001114213"]})];case 1:return n=a.sent(),r.length>0&&n.length>0?[4,e.getObject("picklist_options").directFind({filters:[["picklist","=",n[0]._id],["value","in",r]]})]:[3,3];case 2:return o=a.sent(),i=[],s.each(r,function(e){var t=s.find(o,{value:e});t&&i.push(t.name)}),[2,s.join(i,"-")];case 3:return[2,""]}})})};t.scanPLSFiles=function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,r,s,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R,C,x,U;return a.__generator(this,function(N){switch(N.label){case 0:return t="",console.error("[scan pls files]: start ",new Date),[4,e.getObject("pepsico_material_approval").directFind({filters:[["current_step","in",["awaiting_deployment","conclusion"]],["scanned_pls","!=",!0]]})];case 1:r=N.sent(),console.error("[scan pls files]: approvals.length",r.length),s=0,N.label=2;case 2:N.trys.push([2,35,36,37]),o=a.__values(r),i=o.next(),N.label=3;case 3:if(i.done)return[3,34];c=i.value,N.label=4;case 4:return N.trys.push([4,31,,33]),t=c._id,p=c.product,[4,n(e,p)];case 5:return l=N.sent(),[4,e.getObject("pepsico_material").directFind({filters:[["pepsico_material_approval","=",t]]})];case 6:_=N.sent(),console.error("[scan pls files]: approvalId",t),N.label=7;case 7:N.trys.push([7,19,20,21]),E=void 0,u=a.__values(_),d=u.next(),N.label=8;case 8:return d.done?[3,18]:(v=d.value,g=[["metadata/record_id","=","objects:pepsico_material:".concat(v._id)],["metadata/object_name","=","b6_rooms"],["original/type","=","application/pdf"],["original/name","contains","PLS"]],console.error("[scan pls files]: approvalId",t,"material-".concat(v._id),"filters: ",JSON.stringify(g)),[4,e.getObject("cfs_files_filerecord").directFind({filters:g})]);case 9:m=N.sent(),console.error("[scan pls files]: approvalId",t,"material-".concat(v._id),"files.length: ",m.length),N.label=10;case 10:N.trys.push([10,15,16,17]),R=void 0,f=a.__values(m),h=f.next(),N.label=11;case 11:return h.done?[3,14]:(b=h.value,[4,e.getObject("pepsico_km_pls_file").directInsert({name:l,ai_extract:!1,pls_file:b._id,pepsico_material:v._id,product:p,pepsico_material_approval:t,space:c.space,created:new Date,modified:new Date})]);case 12:N.sent(),s++,N.label=13;case 13:return h=f.next(),[3,11];case 14:return[3,17];case 15:return w=N.sent(),R={error:w},[3,17];case 16:try{h&&!h.done&&(C=f.return)&&C.call(f)}finally{if(R)throw R.error}return[7];case 17:return d=u.next(),[3,8];case 18:return[3,21];case 19:return y=N.sent(),E={error:y},[3,21];case 20:try{d&&!d.done&&(T=u.return)&&T.call(u)}finally{if(E)throw E.error}return[7];case 21:if(!(c.pls_file&&c.pls_file.length>0))return[3,29];N.label=22;case 22:N.trys.push([22,27,28,29]),x=void 0,O=a.__values(c.pls_file),S=O.next(),N.label=23;case 23:return S.done?[3,26]:(j=S.value,[4,e.getObject("pepsico_km_pls_file").directInsert({name:l,ai_extract:!1,pls_file:j,product:p,pepsico_material_approval:t,space:c.space,created_by:c.created_by,created:new Date,modified:new Date})]);case 24:N.sent(),N.label=25;case 25:return S=O.next(),[3,23];case 26:return[3,29];case 27:return A=N.sent(),x={error:A},[3,29];case 28:try{S&&!S.done&&(U=O.return)&&U.call(O)}finally{if(x)throw x.error}return[7];case 29:return[4,e.getObject("pepsico_material_approval").directUpdate(t,{scanned_pls:!0,scanned_pls_date:new Date})];case 30:return N.sent(),[3,33];case 31:return P=N.sent(),console.error("[scan pls files]-".concat(t),P,new Date),[4,e.logger.error("[scan pls files]-".concat(t),P.message)];case 32:return N.sent(),[3,33];case 33:return i=o.next(),[3,3];case 34:return[3,37];case 35:return D=N.sent(),I={error:D},[3,37];case 36:try{i&&!i.done&&(k=o.return)&&k.call(o)}finally{if(I)throw I.error}return[7];case 37:return[2,s]}})})}},4932:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.hasDuplicateMaterials=void 0;var a=r(5584);t.hasDuplicateMaterials={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/material/has-duplicate/:approvalId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.hasDuplicateMaterials.call(this,e,e.params.approvalId)];case 2:return[2,{hasDuplicate:r.sent()}]}})})}}},5256:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.approveMaterial=void 0;var a=r(5584);t.approveMaterial={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/material/submit/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.submitMaterial.call(this,e,e.params.recordId,e.params.approvalStatus)];case 2:return r.sent(),[2,{}]}})})}}},5264:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.postponeDeployment=void 0;var a=r(5584);t.postponeDeployment={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/postpone-deployment/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.postponeDeployment.call(this,e,e.params.recordId,e.params)];case 2:return r.sent(),[2,{}]}})})}}},5510:(e,t,r)=>{var a;Object.defineProperty(t,"__esModule",{value:!0}),t.postponeReview=t.hasReviewed=t.submitContent=t.submitPreReviewContent=t.submitKidsContent=t.rejectContent=t.approvalContent=t.postponeDeployment=t.confirmDeployment=t.terminate=t.advanceApproval=t.hasNonPreReviewDepartments=t.getPreReviewStatuses=t.getDeptEffectiveStatus=t.isDeptReviewComplete=t.hasAnyPreReviewer=t.getApproverStepRule=t.getDefApproverStepRule=void 0;var s=r(5584),n=r(8398),o=r(4425),i=r(7825),c=r(2143),p=r(1057),l=r(2972),_=r(3833),u=r(1401),d=r(8862),v=r(7825);t.getDefApproverStepRule=function(e){return s.__awaiter(void 0,void 0,void 0,function(){var t,r;return s.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_flow_rule").find({filters:["fu5nvp","=",!0],fields:["_id","name","skip_approve"]})];case 1:if(t=a.sent(),!(r=t.length>0?t[0]:null))throw new Error("未找到审批流规则");return[2,r]}})})},t.getApproverStepRule=function(e,t){return s.__awaiter(void 0,void 0,void 0,function(){var r,a,n;return s.__generator(this,function(s){switch(s.label){case 0:return t?[4,e.getObject("pepsico_flow_rule").findOne(t)]:[3,2];case 1:if(!(r=s.sent()))throw new Error("未找到审批流规则");return[2,r];case 2:return[4,e.getObject("pepsico_flow_rule").find({fields:["_id","name","skip_approve"],sort:"created asc",top:1})];case 3:if(a=s.sent(),!(n=a.length>0?a[0]:null))throw new Error("未找到审批流规则");return[2,n]}})})};var g=function(e,r){return s.__awaiter(void 0,void 0,void 0,function(){var a;return s.__generator(this,function(s){switch(s.label){case 0:return[4,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return(a=s.sent()).skip_approve?[2,(0,o.evaluate)(a.skip_approve,r)]:[2,!1]}})})};t.hasAnyPreReviewer=function(e,t){return t===n.Step.personnel_review?!!e.pre_reviewer:!!(e.pre_ns_reviewer||e.pre_legal_reviewer||e.pre_sra_reviewer||e.pre_ca_reviewer)},t.isDeptReviewComplete=function(e,r){var a="approval"===r?"pre_reviewer":"pre_".concat(r,"_reviewer"),s="approval"===r?"pre_approval_status":"pre_".concat(r,"_approval_status"),n="approval"===r?"approval_status":"".concat(r,"_approval_status"),o=!!e[a];return console.log("isDeptReviewComplete1",o),o?!!(0,t.hasReviewed)(e[s])&&(!1===e[s]||(0,t.hasReviewed)(e[n])):(console.log("isDeptReviewComplete2",e[n],(0,t.hasReviewed)(e[n])),(0,t.hasReviewed)(e[n]))},t.getDeptEffectiveStatus=function(e,t){var r="approval"===t?"pre_reviewer":"pre_".concat(t,"_reviewer"),a="approval"===t?"pre_approval_status":"pre_".concat(t,"_approval_status"),s="approval"===t?"approval_status":"".concat(t,"_approval_status");return(!e[r]||!1!==e[a])&&e[s]};var m=function(e,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,i;return s.__generator(this,function(s){switch(s.label){case 0:return[4,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return a=s.sent(),[4,g(e,r)];case 2:return s.sent()?[2,n.Step.conclusion]:(i=(0,o.evaluate)(a.name,r),console.log("getApproverStep-".concat(r._id),i,typeof i,a.name,JSON.stringify(r)),[2,i?n.Step.personnel_review:n.Step.departmental_review])}})})},f=function(e,r){return s.__awaiter(void 0,void 0,void 0,function(){var a;return s.__generator(this,function(s){switch(s.label){case 0:return[4,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return a=s.sent(),(0,o.evaluate)(a.name,r)?[2,n.Step.personnel_review]:[2,n.Step.departmental_review]}})})},h=function(e,t,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,o;return s.__generator(this,function(s){switch(s.label){case 0:switch(a=n.Step.draft,t.current_step){case n.Step.draft:return[3,1];case n.Step.ai_review:return[3,2];case n.Step.departmental_review:case n.Step.personnel_review:return[3,6];case n.Step.submitter_revisions:return[3,7];case n.Step.awaiting_deployment:return[3,9]}return[3,10];case 1:return a=v.includes(d.DCO_TYPES,t.classification)?n.Step.conclusion:n.Step.ai_review,[3,11];case 2:return r!=n.ApprovalStatus.approved?[3,4]:[4,m(e,t)];case 3:return o=s.sent(),[3,5];case 4:o=n.Step.draft,s.label=5;case 5:return a=o,[3,11];case 6:return a=r==n.ApprovalStatus.approved||r==n.ApprovalStatus.pass?n.Step.awaiting_deployment:n.Step.submitter_revisions,[3,11];case 7:return[4,m(e,t)];case 8:return a=s.sent(),[3,11];case 9:return a=n.Step.conclusion,[3,11];case 10:return[3,11];case 11:return console.log("[getNextStep]",JSON.stringify({action:r,nextStep:a})),[2,a]}})})},b=function(e,t,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,o,c,p,l,_,d,v,g,m,f,h;return s.__generator(this,function(b){switch(b.label){case 0:switch(a=[],r){case n.Step.draft:return[3,1];case n.Step.ai_review:return[3,2];case n.Step.departmental_review:return[3,3];case n.Step.personnel_review:return[3,22];case n.Step.submitter_revisions:return[3,29];case n.Step.awaiting_deployment:return[3,30]}return[3,31];case 1:return a=(0,i.concat)(a,{userIds:[t.owner],type:n.ProcessApprovalType.Others}),[3,32];case 2:return a=(0,i.concat)(a,{userIds:[process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID],type:n.ProcessApprovalType.AI}),[3,32];case 3:return console.log("[getNextApprovers] departmental_review 串行判断:",JSON.stringify({pre_ns_reviewer:t.pre_ns_reviewer,pre_ns_approval_status:t.pre_ns_approval_status,pre_legal_reviewer:t.pre_legal_reviewer,pre_legal_approval_status:t.pre_legal_approval_status,pre_sra_reviewer:t.pre_sra_reviewer,pre_sra_approval_status:t.pre_sra_approval_status,pre_ca_reviewer:t.pre_ca_reviewer,pre_ca_approval_status:t.pre_ca_approval_status})),t.pre_ns_reviewer&&1!=t.pre_ns_approval_status&&t.pre_ns_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_ns_reviewer])]:[3,5];case 4:return o=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},o),{type:n.ProcessApprovalType.PreNS})),[3,7];case 5:return 1==t.ns_approval_status||t.ns_approval_status===n.ApprovalStatus.pass?[3,7]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.ns_reviewer)];case 6:c=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},c),{type:n.ProcessApprovalType.NS})),b.label=7;case 7:return t.pre_legal_reviewer&&1!=t.pre_legal_approval_status&&t.pre_legal_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_legal_reviewer])]:[3,9];case 8:return p=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},p),{type:n.ProcessApprovalType.PreLegal})),[3,11];case 9:return 1==t.legal_approval_status||t.legal_approval_status===n.ApprovalStatus.pass?[3,11]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.legal_reviewer)];case 10:l=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},l),{type:n.ProcessApprovalType.Legal})),b.label=11;case 11:return t.pre_sra_reviewer&&1!=t.pre_sra_approval_status&&t.pre_sra_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_sra_reviewer])]:[3,13];case 12:return _=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},_),{type:n.ProcessApprovalType.PreSRA})),[3,15];case 13:return 1==t.sra_approval_status||t.sra_approval_status===n.ApprovalStatus.pass?[3,15]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.sra_reviewer)];case 14:d=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},d),{type:n.ProcessApprovalType.SRA})),b.label=15;case 15:return t.pre_ca_reviewer&&1!=t.pre_ca_approval_status&&t.pre_ca_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_ca_reviewer])]:[3,17];case 16:return v=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},v),{type:n.ProcessApprovalType.PreCA})),[3,19];case 17:return 1==t.ca_approval_status||t.ca_approval_status===n.ApprovalStatus.pass?[3,19]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.ca_reviewer)];case 18:g=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},g),{type:n.ProcessApprovalType.CA})),b.label=19;case 19:return"yes"!=t.child_files||1==t.kids_approval_status||t.kids_approval_status===n.ApprovalStatus.pass?[3,21]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.kids_reviewer])];case 20:h=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},h),{type:n.ProcessApprovalType.Kids})),b.label=21;case 21:return[3,32];case 22:return t.pre_reviewer&&1!=t.pre_approval_status&&t.pre_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_reviewer])]:[3,24];case 23:return m=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},m),{type:n.ProcessApprovalType.Preguding})),[3,26];case 24:return t.approval_status===n.ApprovalStatus.pass?[3,26]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.reviewer)];case 25:f=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},f),{type:n.ProcessApprovalType.guding})),b.label=26;case 26:return"yes"!=t.child_files||1==t.kids_approval_status||t.kids_approval_status===n.ApprovalStatus.pass?[3,28]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.kids_reviewer])];case 27:h=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},h),{type:n.ProcessApprovalType.Kids})),b.label=28;case 28:return[3,32];case 29:return a=(0,i.concat)(a,{userIds:[t.owner],type:n.ProcessApprovalType.Others}),[3,32];case 30:return a=(0,i.concat)(a,{userIds:[t.material_owner_id],type:n.ProcessApprovalType.Others}),[3,32];case 31:return[3,32];case 32:return[2,(0,i.uniq)(a)]}})})},w=function(e){return e===n.Step.draft?n.ReviewStatus.draft:e===n.Step.conclusion?n.ReviewStatus.approved:n.ReviewStatus.under_review},y=function(e,t,r){var a=r.approvalStatus,n=r.approveField;return s.__awaiter(void 0,void 0,void 0,function(){var r,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w;return s.__generator(this,function(y){switch(y.label){case 0:return r=e.meta.user,o=[["owner","=",r.userId],["pepsico_material_approval","=",t._id],["current_step","=",t.current_step],["space","=",t.space],["approved","=","progess"]],n&&"kids_approval_status"===n?o.push(["type","=","Kids"]):"ca_approval_status"===n?o.push(["type","=","CA"]):"sra_approval_status"===n?o.push(["type","=","SRA"]):"ns_approval_status"===n?o.push(["type","=","NS"]):"legal_approval_status"===n?o.push(["type","=","Legal"]):"approval_status"===n?o.push(["type","=","guding"]):"pre_ns_approval_status"===n?o.push(["type","=","PreNS"]):"pre_legal_approval_status"===n?o.push(["type","=","PreLegal"]):"pre_sra_approval_status"===n?o.push(["type","=","PreSRA"]):"pre_ca_approval_status"===n?o.push(["type","=","PreCA"]):"pre_approval_status"===n&&o.push(["type","=","Preguding"]),[4,e.getObject("pepsico_approval_process").find({filters:o,top:1,sort:"modified asc"})];case 1:i=y.sent(),y.label=2;case 2:y.trys.push([2,15,16,17]),c=s.__values(i),p=c.next(),y.label=3;case 3:return p.done?[3,14]:(l=p.value,[4,e.getObject("pepsico_approval_process").update(l._id,{submitted:new Date,modified:new Date,modified_by:r.userId,approved:a||"submit"})]);case 4:return y.sent(),[4,e.getObject("pepsico_approval_process").find({filters:[["owner","!=",r.userId],["pepsico_material_approval","=",t._id],["current_step","=",t.current_step],["space","=",t.space],["approved","=","progess"],["type","=",l.type]],sort:"modified desc"})];case 5:_=y.sent(),y.label=6;case 6:y.trys.push([6,11,12,13]),b=void 0,u=s.__values(_),d=u.next(),y.label=7;case 7:return d.done?[3,10]:(v=d.value,[4,e.getObject("pepsico_approval_process").update(v._id,{modified:new Date,modified_by:r.userId,approved:""})]);case 8:y.sent(),y.label=9;case 9:return d=u.next(),[3,7];case 10:return[3,13];case 11:return g=y.sent(),b={error:g},[3,13];case 12:try{d&&!d.done&&(w=u.return)&&w.call(u)}finally{if(b)throw b.error}return[7];case 13:return p=c.next(),[3,3];case 14:return[3,17];case 15:return m=y.sent(),f={error:m},[3,17];case 16:try{p&&!p.done&&(h=c.return)&&h.call(c)}finally{if(f)throw f.error}return[7];case 17:return[2]}})})},O=function(e,t,r,a){return s.__awaiter(void 0,void 0,void 0,function(){var n,o,c,p,l,_,u,d,v,g,m,f,h,b;return s.__generator(this,function(w){switch(w.label){case 0:return n=e.meta.user.userId,r?((f={})[r]=a,o=f,n?[4,e.getObject("pepsico_material_approval").findOne(t)]:[3,11]):[3,13];case 1:return c=w.sent(),p=c.person_pending_approve||[],-1!==(l=(0,i.findIndex)(p,function(e){return e===n}))&&(0,i.pullAt)(p,l),o.person_pending_approve=p,o.$push={person_approved:n},(_=c.review_postponed_users||[]).includes(n)?(o.review_postponed_users=_.filter(function(e){return e!==n}),[4,e.getObject("pepsico_review_postpone").directFind({filters:[["pepsico_material_approval","=",t],["notification_sent","=",!1],["is_marker","!=",!0]]})]):[3,11];case 2:u=w.sent(),w.label=3;case 3:w.trys.push([3,8,9,10]),d=s.__values(u),v=d.next(),w.label=4;case 4:return v.done?[3,7]:((g=v.value).postponed_user_ids?g.postponed_user_ids.split(",").filter(Boolean):[]).includes(n)?[4,e.getObject("pepsico_review_postpone").directUpdate(g._id,{notification_sent:!0})]:[3,6];case 5:w.sent(),w.label=6;case 6:return v=d.next(),[3,4];case 7:return[3,10];case 8:return m=w.sent(),h={error:m},[3,10];case 9:try{v&&!v.done&&(b=d.return)&&b.call(d)}finally{if(h)throw h.error}return[7];case 10:console.log("[updateApproveFieldStatus] 延后审核人提前审核,已清理 review_postponed_users: ".concat(n)),w.label=11;case 11:return console.log("[updateApproveFieldStatus]",JSON.stringify({recordId:t,set:o})),[4,e.getObject("pepsico_material_approval").update(t,o)];case 12:w.sent(),w.label=13;case 13:return[2]}})})},S=function(e,t,r){var a=r.nextStep,o=r.nextApprovers,c=r.description;return s.__awaiter(void 0,void 0,void 0,function(){var r,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S;return s.__generator(this,function(j){switch(j.label){case 0:return console.log("[changeApprovalProcess]",a,o,c),r=e.meta.user,t.current_step&&t.current_step!=n.Step.draft?[3,3]:[4,e.getObject("pepsico_approval_process").count({filters:[["pepsico_material_approval","=",t._id],["space","=",t.space]]})];case 1:return 0!=j.sent()?[3,3]:(p=new Date,[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:t._id,owner:r.userId,review_department:r.organization._id,current_step:n.Step.draft,space:t.space,created:p,created_by:r.userId,modified:p,modified_by:r.userId,name:c,submitted:p,approved:"submit"})]);case 2:j.sent(),j.label=3;case 3:switch(a){case n.Step.draft:case n.Step.ai_review:case n.Step.departmental_review:case n.Step.personnel_review:case n.Step.submitter_revisions:case n.Step.awaiting_deployment:return[3,4];case n.Step.conclusion:return[3,21]}return[3,23];case 4:j.trys.push([4,18,19,20]),l=s.__values(o),_=l.next(),j.label=5;case 5:if(_.done)return[3,17];u=_.value,j.label=6;case 6:j.trys.push([6,12,13,14]),y=void 0,d=s.__values(u.userIds),v=d.next(),j.label=7;case 7:return v.done?[3,11]:(g=v.value,[4,e.getObject("space_users").directFind({filters:[["user","=",g],["space","=",t.space]]})]);case 8:return m=j.sent(),[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:t._id,owner:g,type:u.type,review_department:m.length>0?m[0].organization:null,current_step:a,approved:"progess",space:t.space,created:new Date,created_by:r.userId,modified:new Date,modified_by:r.userId,name:c})];case 9:j.sent(),j.label=10;case 10:return v=d.next(),[3,7];case 11:return[3,14];case 12:return f=j.sent(),y={error:f},[3,14];case 13:try{v&&!v.done&&(O=d.return)&&O.call(d)}finally{if(y)throw y.error}return[7];case 14:return u.type?[4,e.getObject("pepsico_material_approval").directUpdate(t._id,(S={},S["handler_".concat((0,i.toLower)(u.type))]=u.userIds,S))]:[3,16];case 15:j.sent(),j.label=16;case 16:return _=l.next(),[3,5];case 17:return[3,20];case 18:return h=j.sent(),b={error:h},[3,20];case 19:try{_&&!_.done&&(w=l.return)&&w.call(l)}finally{if(b)throw b.error}return[7];case 20:return[3,24];case 21:return[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:t._id,current_step:n.Step.conclusion,space:t.space,created:new Date,created_by:r.userId,modified:new Date,modified_by:r.userId,name:c})];case 22:return j.sent(),[3,24];case 23:return[3,24];case 24:return[2]}})})},j=function(e,t){return s.__awaiter(void 0,void 0,void 0,function(){var r,a;return s.__generator(this,function(s){switch(s.label){case 0:return[4,f(e,t)];case 1:return r=s.sent(),a=[],r===n.Step.personnel_review?(a=(0,i.concat)(t.reviewer,t.assistance),t.pre_reviewer&&(a=(0,i.concat)(a,t.pre_reviewer))):(a=(0,i.concat)(t.sra_reviewer,t.ns_reviewer,t.ca_reviewer,t.legal_reviewer,t.sra_assistance,t.ns_assistance,t.ca_assistance,t.legal_assistance),t.pre_ns_reviewer&&(a=(0,i.concat)(a,t.pre_ns_reviewer)),t.pre_legal_reviewer&&(a=(0,i.concat)(a,t.pre_legal_reviewer)),t.pre_sra_reviewer&&(a=(0,i.concat)(a,t.pre_sra_reviewer)),t.pre_ca_reviewer&&(a=(0,i.concat)(a,t.pre_ca_reviewer))),"yes"==t.child_files&&(a=(0,i.concat)(a,t.kids_reviewer)),[4,e.getObject("pepsico_material_approval").directUpdate(t._id,{$push:{person_view:{$each:(0,i.compact)((0,i.uniq)(a))}},approval_type:r})];case 2:return s.sent(),[2]}})})},A={pre_ns_approval_status:{reviewerField:"ns_reviewer",type:n.ProcessApprovalType.NS,statusField:"ns_approval_status"},pre_legal_approval_status:{reviewerField:"legal_reviewer",type:n.ProcessApprovalType.Legal,statusField:"legal_approval_status"},pre_sra_approval_status:{reviewerField:"sra_reviewer",type:n.ProcessApprovalType.SRA,statusField:"sra_approval_status"},pre_ca_approval_status:{reviewerField:"ca_reviewer",type:n.ProcessApprovalType.CA,statusField:"ca_approval_status"},pre_approval_status:{reviewerField:"reviewer",type:n.ProcessApprovalType.guding,statusField:"approval_status"}},P=function(e,t,r,a){return s.__awaiter(void 0,void 0,void 0,function(){var o,c,p,l,d,v,g,m,f,h,b,w,y,O,S,j,P,D,I;return s.__generator(this,function(k){switch(k.label){case 0:return(o=A[r])?!0===(c=a[o.statusField])||c===n.ApprovalStatus.pass||!(p=a[o.reviewerField])||Array.isArray(p)&&0===p.length?[2]:(l=Array.isArray(p)?p:[p],[4,(0,u.getReviewerAgentsInfo)(e,a.space,l)]):[2];case 1:d=k.sent(),v=e.meta.user,k.label=2;case 2:k.trys.push([2,8,9,10]),g=s.__values(d.userIds),m=g.next(),k.label=3;case 3:return m.done?[3,7]:(f=m.value,[4,e.getObject("space_users").directFind({filters:[["user","=",f],["space","=",a.space]]})]);case 4:return h=k.sent(),[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:a._id,owner:f,type:o.type,review_department:h.length>0?h[0].organization:null,current_step:a.current_step,approved:"progess",space:a.space,created:new Date,created_by:v.userId,modified:new Date,modified_by:v.userId,name:""})];case 5:k.sent(),k.label=6;case 6:return m=g.next(),[3,3];case 7:return[3,10];case 8:return b=k.sent(),S={error:b},[3,10];case 9:try{m&&!m.done&&(j=g.return)&&j.call(g)}finally{if(S)throw S.error}return[7];case 10:return[4,e.getObject("pepsico_material_approval").directUpdate(a._id,(P={},P["handler_".concat((0,i.toLower)(o.type))]=d.userIds,P))];case 11:return k.sent(),[4,e.getObject("pepsico_material_approval").findOne(t)];case 12:return w=k.sent(),y=w.person_pending_approve||[],O=(0,i.compact)((0,i.uniq)((0,i.concat)(y,d.userIds))),[4,e.getObject("pepsico_material_approval").directUpdate(a._id,(D={person_pending_approve:O},D[o.statusField]="",D))];case 13:return k.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],[o.statusField,"=",!1]],(I={},I[o.statusField]="",I))];case 14:return k.sent(),console.log("[addFormalReviewerAfterPreApproval] 预审字段 ".concat(r," 通过, 追加正式审核人:"),d.userIds),[4,(0,_.sendNotifications)(e,a,d.userIds,"请审批")];case 15:return k.sent(),[2]}})})};t.getPreReviewStatuses=function(e){var t=[];return e.pre_ns_reviewer&&t.push({dept:"NS",status:e.pre_ns_approval_status,preField:"pre_ns_approval_status",deptApprovalField:"ns_approval_status"}),e.pre_legal_reviewer&&t.push({dept:"Legal",status:e.pre_legal_approval_status,preField:"pre_legal_approval_status",deptApprovalField:"legal_approval_status"}),e.pre_sra_reviewer&&t.push({dept:"SRA",status:e.pre_sra_approval_status,preField:"pre_sra_approval_status",deptApprovalField:"sra_approval_status"}),e.pre_ca_reviewer&&t.push({dept:"CA",status:e.pre_ca_approval_status,preField:"pre_ca_approval_status",deptApprovalField:"ca_approval_status"}),t},t.hasNonPreReviewDepartments=function(e){var t=function(e){return!0===e||e===n.ApprovalStatus.approved||e===n.ApprovalStatus.pass};return!e.pre_ns_reviewer&&!t(e.ns_approval_status)||!e.pre_legal_reviewer&&!t(e.legal_approval_status)||!e.pre_sra_reviewer&&!t(e.sra_approval_status)||!e.pre_ca_reviewer&&!t(e.ca_approval_status)},t.advanceApproval=function(e,t,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,o,p,u,d,v,m,f,y,O,A,P,I,k,E,T,R,C,x,U,N,M,L,F,J,$,B,q,Y,z,K,Z,V,G,H,W,X,Q,ee,te,re,ae,se,ne,oe,ie,ce;return s.__generator(this,function(pe){switch(pe.label){case 0:return pe.trys.push([0,95,,96]),a="请查看",o=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:return p=pe.sent(),console.log("[advanceApproval]",p.current_step,p.person_pending_approve,o.userId),[4,(le=p,s.__awaiter(void 0,void 0,void 0,function(){return s.__generator(this,function(e){if(le.review_status===n.ReviewStatus.terminated)throw new Error("已中止审核.");if(le.current_step===n.Step.conclusion)throw new Error("已审核完成.");return[2,!0]})}))];case 2:return pe.sent(),[4,h(e,p,r)];case 3:return u=pe.sent(),[4,g(e,p)];case 4:return d=pe.sent(),u===n.Step.conclusion&&d?[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{is_skip_approver:!0})]:[3,8];case 5:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",p._id],{is_skip_approver:!0})];case 6:return pe.sent(),[4,j(e,p)];case 7:pe.sent(),pe.label=8;case 8:return[4,b(e,p,u)];case 9:if(v=pe.sent(),p.current_step!==n.Step.submitter_revisions||u!==n.Step.departmental_review&&u!==n.Step.personnel_review)return[3,23];m=[],pe.label=10;case 10:pe.trys.push([10,18,19,20]),f=s.__values(v),y=f.next(),pe.label=11;case 11:return y.done?[3,17]:(Y=y.value,O=(0,c.getApproverFieldByType)(Y.type),console.log("getApproverFieldByType",Y.type,O),O?[4,(0,c.getUserReviewedAllMaterialsStatus)(e,p._id,O)]:[3,16]);case 12:return A=pe.sent(),console.log("getUserReviewedAllMaterialsStatus",p._id,O,A),A!==n.ApprovalStatus.approved?[3,14]:(console.log("[advanceApproval] 自动更新审批单上的状态字段",t,((ae={})[O]=n.ApprovalStatus.approved,ae)),[4,e.getObject("pepsico_material_approval").directUpdate(t,(se={},se[O]=!0,se))]);case 13:return pe.sent(),[3,15];case 14:A===n.ApprovalStatus.pass?console.log("[advanceApproval] 部门已跳过,保持bypass状态",t,O):m.push(Y),pe.label=15;case 15:pe.label=16;case 16:return y=f.next(),[3,11];case 17:return[3,20];case 18:return P=pe.sent(),te={error:P},[3,20];case 19:try{y&&!y.done&&(re=f.return)&&re.call(f)}finally{if(te)throw te.error}return[7];case 20:return m.length>0?(v=m,[3,23]):[3,21];case 21:return u=n.Step.awaiting_deployment,[4,b(e,p,u)];case 22:v=pe.sent(),pe.label=23;case 23:return console.log("[advanceApproval] currentStepApprovalStatus:",r," nextStep:",u," nextApprovers:",v),I=[],k=[],(0,i.map)(v,function(e){I=(0,i.concat)(I,e.userIds),k=(0,i.concat)(k,e.clientUserIds)}),E={current_step:u,review_status:w(u),person_pending_approve:I,$push:{person_view:{$each:(0,i.compact)((0,i.uniq)((0,i.difference)(k,I)))},person_approved:{$each:p.person_pending_approve}}},p.current_step!==n.Step.draft?[3,25]:(E.draft_submitted=new Date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",p._id],{draft_submitted:E.draft_submitted})]);case 24:pe.sent(),pe.label=25;case 25:return p.current_step===n.Step.ai_review&&(E.ai_reviewed_date=new Date),p.current_step!==n.Step.departmental_review&&p.current_step!==n.Step.personnel_review||(E.re_reviewed_date=new Date),u!==n.Step.awaiting_deployment?[3,27]:(E.review_completed_date=new Date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",p._id],{review_completed_date:E.review_completed_date})]);case 26:pe.sent(),pe.label=27;case 27:return p.current_step===n.Step.awaiting_deployment&&(E.awaiting_deployment_date=new Date),p.current_step!==n.Step.conclusion?[3,29]:(E.conclusion_date=new Date,p.review_completed_date?[3,29]:(E.review_completed_date=E.conclusion_date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",p._id],{review_completed_date:E.review_completed_date})]));case 28:pe.sent(),pe.label=29;case 29:return p.current_step===n.Step.submitter_revisions&&(E.submitter_revision_date=new Date,console.log("[advanceApproval] 检测到修改后提交场景, 标记图片对比任务: ".concat(t)),E.image_comparison_status="pending",E.image_comparison_at=new Date,E.image_comparison_failed_count=0),[4,e.getObject("pepsico_material_approval").update(t,E)];case 30:return pe.sent(),[4,S(e,p,{nextStep:u,nextApprovers:v,description:""})];case 31:return pe.sent(),u!==n.Step.ai_review?[3,33]:(console.time("callAIReview: "+t),[4,(0,l.callAIReview)(e,t)]);case 32:pe.sent(),console.timeEnd("callAIReview: "+t),pe.label=33;case 33:pe.trys.push([33,69,70,71]),T=s.__values(v),R=T.next(),pe.label=34;case 34:return R.done?[3,68]:(C=R.value).type!==n.ProcessApprovalType.CA?[3,37]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{ca_approval_status:""})];case 35:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["ca_approval_status","=",!1]],{ca_approval_status:""})];case 36:pe.sent(),pe.label=37;case 37:return C.type!==n.ProcessApprovalType.Legal?[3,40]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{legal_approval_status:""})];case 38:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["legal_approval_status","=",!1]],{legal_approval_status:""})];case 39:pe.sent(),pe.label=40;case 40:return C.type!==n.ProcessApprovalType.NS?[3,43]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{ns_approval_status:""})];case 41:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["ns_approval_status","=",!1]],{ns_approval_status:""})];case 42:pe.sent(),pe.label=43;case 43:return C.type!==n.ProcessApprovalType.SRA?[3,46]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{sra_approval_status:""})];case 44:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["sra_approval_status","=",!1]],{sra_approval_status:""})];case 45:pe.sent(),pe.label=46;case 46:return C.type!==n.ProcessApprovalType.guding?[3,49]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{approval_status:""})];case 47:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["approval_status","=",!1]],{approval_status:""})];case 48:pe.sent(),pe.label=49;case 49:return C.type!==n.ProcessApprovalType.Kids?[3,52]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{kids_approval_status:""})];case 50:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["kids_approval_status","=",!1]],{kids_approval_status:""})];case 51:pe.sent(),pe.label=52;case 52:return C.type!==n.ProcessApprovalType.PreNS?[3,55]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_ns_approval_status:""})];case 53:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_ns_approval_status","=",!1]],{pre_ns_approval_status:""})];case 54:pe.sent(),pe.label=55;case 55:return C.type!==n.ProcessApprovalType.PreLegal?[3,58]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_legal_approval_status:""})];case 56:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_legal_approval_status","=",!1]],{pre_legal_approval_status:""})];case 57:pe.sent(),pe.label=58;case 58:return C.type!==n.ProcessApprovalType.PreSRA?[3,61]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_sra_approval_status:""})];case 59:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_sra_approval_status","=",!1]],{pre_sra_approval_status:""})];case 60:pe.sent(),pe.label=61;case 61:return C.type!==n.ProcessApprovalType.PreCA?[3,64]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_ca_approval_status:""})];case 62:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_ca_approval_status","=",!1]],{pre_ca_approval_status:""})];case 63:pe.sent(),pe.label=64;case 64:return C.type!==n.ProcessApprovalType.Preguding?[3,67]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_approval_status:""})];case 65:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_approval_status","=",!1]],{pre_approval_status:""})];case 66:pe.sent(),pe.label=67;case 67:return R=T.next(),[3,34];case 68:return[3,71];case 69:return x=pe.sent(),ne={error:x},[3,71];case 70:try{R&&!R.done&&(oe=T.return)&&oe.call(T)}finally{if(ne)throw ne.error}return[7];case 71:return u!==n.Step.departmental_review&&u!==n.Step.personnel_review?[3,73]:[4,j(e,p)];case 72:pe.sent(),pe.label=73;case 73:return p.current_step!==n.Step.departmental_review&&p.current_step!==n.Step.personnel_review?[3,75]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{materials_remove_share_link_from_onedrive_status:"pending"})];case 74:pe.sent(),pe.label=75;case 75:return u!==n.Step.awaiting_deployment?[3,77]:[4,D(e,t)];case 76:pe.sent(),pe.label=77;case 77:return u===n.Step.awaiting_deployment||u===n.Step.conclusion&&p.current_step===n.Step.ai_review?(U={materials_download_from_onedrive_status:"pending"},[4,e.getObject("pepsico_material_approval").directUpdate(t,U)]):[3,79];case 78:pe.sent(),pe.label=79;case 79:return r===n.ApprovalStatus.rejected&&(a="内容审批被驳回"),r!==n.ApprovalStatus.approved||u!==n.Step.departmental_review&&u!==n.Step.personnel_review||(a="请审批"),u===n.Step.awaiting_deployment&&(a="内容审批已通过待上线"),N=[],u!==n.Step.departmental_review&&u!==n.Step.personnel_review?[3,91]:(M=new Date,L=new Date(M.getTime()+2592e5),[4,e.getObject("pepsico_review_postpone").directFind({filters:[["pepsico_material_approval","=",t],["is_marker","=",!0]]})]);case 80:if(!((F=pe.sent())&&F.length>0))return[3,91];J=new Set(F.map(function(e){return e.department_type})),$=function(t){var r,a,n,c,p,l,_,u;return s.__generator(this,function(d){switch(d.label){case 0:if(!J.has(t.type))return[2,"continue"];r=t.userIds||[],a=F.filter(function(e){return e.department_type===t.type}),d.label=1;case 1:d.trys.push([1,6,7,8]),_=void 0,n=s.__values(a),c=n.next(),d.label=2;case 2:return c.done?[3,5]:(p=c.value,[4,e.getObject("pepsico_review_postpone").directUpdate(p._id,{is_marker:!1,visible_after:L,notification_sent:!1,postponed_user_ids:r.join(","),modified:M,modified_by:o.userId})]);case 3:d.sent(),d.label=4;case 4:return c=n.next(),[3,2];case 5:return[3,8];case 6:return l=d.sent(),_={error:l},[3,8];case 7:try{c&&!c.done&&(u=n.return)&&u.call(n)}finally{if(_)throw _.error}return[7];case 8:return N=(0,i.compact)((0,i.uniq)((0,i.concat)(N,r))),[2]}})},pe.label=81;case 81:pe.trys.push([81,86,87,88]),B=s.__values(v),q=B.next(),pe.label=82;case 82:return q.done?[3,85]:(Y=q.value,[5,$(Y)]);case 83:pe.sent(),pe.label=84;case 84:return q=B.next(),[3,82];case 85:return[3,88];case 86:return z=pe.sent(),ie={error:z},[3,88];case 87:try{q&&!q.done&&(ce=B.return)&&ce.call(B)}finally{if(ie)throw ie.error}return[7];case 88:return N.length>0?[4,e.getObject("pepsico_material_approval").findOne(t)]:[3,91];case 89:return K=pe.sent(),Z=K.review_postponed_users||[],V=(0,i.compact)((0,i.uniq)((0,i.concat)(Z,N))),G=K.postpone_marker_users||[],H=G.filter(function(e){return!N.includes(e)}),[4,e.getObject("pepsico_material_approval").directUpdate(t,{review_postponed_users:V,postpone_marker_users:H})];case 90:pe.sent(),console.log("[advanceApproval] 自动延后审核人: ".concat(N,", visibleAfter: ").concat(L)),pe.label=91;case 91:return W=N.length>0?I.filter(function(e){return!N.includes(e)}):I,[4,(0,_.sendNotifications)(e,p,W,a)];case 92:return pe.sent(),u!==n.Step.awaiting_deployment?[3,94]:(X=p.owner,Q=p.material_owner_id,X&&Q&&X!==Q?(console.log("[advanceApproval] 通知发起人审核完成: initiator=".concat(X,", material_owner=").concat(Q)),[4,(0,_.sendNotifications)(e,p,[X],"审核完成")]):[3,94]);case 93:pe.sent(),pe.label=94;case 94:return[2,{}];case 95:throw ee=pe.sent(),console.error("[advanceApproval] Error:",ee.message,ee.stack),ee;case 96:return[2]}var le})})},t.terminate=function(e,t,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,o,c,p,l,_,u,d,v;return s.__generator(this,function(g){switch(g.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:return(o=g.sent()).owner===a.userId||a.is_space_admin||(0,i.includes)(o.person_pending_approve,a.userId)?[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:o._id,current_step:n.Step.conclusion,owner:a.userId,space:o.space,created:new Date,created_by:a.userId,modified:new Date,modified_by:a.userId,approvalStatus:"terminate",name:r})]:[3,13];case 2:return g.sent(),[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",o._id],["approved","=","progess"]]})];case 3:c=g.sent(),g.label=4;case 4:g.trys.push([4,9,10,11]),p=s.__values(c),l=p.next(),g.label=5;case 5:return l.done?[3,8]:(_=l.value,[4,e.getObject("pepsico_approval_process").directUpdate(_._id,{approved:"",modified:new Date,modified_by:a.userId})]);case 6:g.sent(),g.label=7;case 7:return l=p.next(),[3,5];case 8:return[3,11];case 9:return u=g.sent(),d={error:u},[3,11];case 10:try{l&&!l.done&&(v=p.return)&&v.call(p)}finally{if(d)throw d.error}return[7];case 11:return[4,e.getObject("pepsico_material_approval").update(t,{current_step:n.Step.conclusion,review_status:n.ReviewStatus.terminated,termination_date:new Date,person_pending_approve:[],termination_type:o.owner===a.userId?"发起人中止":"审批人中止"})];case 12:return g.sent(),[2,{}];case 13:throw new Error("Sorry, you don’t have permission to terminate the review.")}})})};var D=function(e,t){return s.__awaiter(this,void 0,void 0,function(){return s.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_material_approval").update(t,{launch:"pending"})];case 1:return r.sent(),[2]}})})};t.confirmDeployment=function(e,r,a){return void 0===a&&(a={content_rule:null}),s.__awaiter(this,void 0,void 0,function(){var o,c;return s.__generator(this,function(s){switch(s.label){case 0:return o=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:if(c=s.sent(),o.userId!==c.material_owner_id)throw new Error("只有材料拥有者才能执行此操作.");return c.current_step==n.Step.draft||(0,i.includes)(c.person_pending_approve,o.userId)?[4,y(e,c,{approvalStatus:n.ApprovalStatus.submit,approveField:""})]:[2,{}];case 2:return s.sent(),c.current_step===n.Step.awaiting_deployment&&(0,i.includes)(c.person_pending_approve,o.userId)?[4,e.getObject("pepsico_material_approval").update(r,{launch:"launched",content_rule:a.content_rule,aunch_time:new Date})]:[3,6];case 3:return s.sent(),[4,(0,t.advanceApproval)(e,r,n.ApprovalStatus.submit)];case 4:return s.sent(),[4,(0,p.inventoryApprovalMaterial)(e,r)];case 5:s.sent(),s.label=6;case 6:return[2,{}]}})})},t.postponeDeployment=function(e,t,r){return s.__awaiter(this,void 0,void 0,function(){var a,o;return s.__generator(this,function(s){switch(s.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if(o=s.sent(),a.userId!==o.material_owner_id)throw new Error("只有材料拥有者才能执行此操作.");return o.current_step===n.Step.awaiting_deployment&&(0,i.includes)(o.person_pending_approve,a.userId)?[4,e.getObject("pepsico_material_approval").update(t,{launch:"postpone",postpone_launch_date:r.postpone_launch_date})]:[3,3];case 2:s.sent(),s.label=3;case 3:return[2,{}]}})})},t.approvalContent=function(e,r,a){var o=a.approveField,c=a.materialStatus,p=void 0===c?n.ApprovalStatus.approved:c;return s.__awaiter(this,void 0,void 0,function(){var a,c,l,_,u,d,v,g,m,f;return s.__generator(this,function(s){switch(s.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(c=s.sent()).current_step==n.Step.draft||(0,i.includes)(c.person_pending_approve,a.userId)?(l=p!==n.ApprovalStatus.pass||n.ApprovalStatus.pass,[4,O(e,r,o,l)]):[2,{}];case 2:return s.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 3:return _=s.sent(),u=!0===l?n.ApprovalStatus.approved:l,[4,y(e,_,{approvalStatus:u,approveField:o})];case 4:return s.sent(),!A[o]||!0!==l&&l!==n.ApprovalStatus.pass?[3,6]:[4,P(e,r,o,_)];case 5:s.sent(),s.label=6;case 6:if(d=function(e){return!0===e||e===n.ApprovalStatus.approved||e===n.ApprovalStatus.pass},v=function(e){return e===n.ApprovalStatus.pass},_.current_step===n.Step.departmental_review){if(!((0,t.isDeptReviewComplete)(_,"ns")&&(0,t.isDeptReviewComplete)(_,"legal")&&(0,t.isDeptReviewComplete)(_,"sra")&&(0,t.isDeptReviewComplete)(_,"ca")))return console.log("[approvalContent]: 有部门审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];(g=[(0,t.getDeptEffectiveStatus)(_,"ns"),(0,t.getDeptEffectiveStatus)(_,"legal"),(0,t.getDeptEffectiveStatus)(_,"sra"),(0,t.getDeptEffectiveStatus)(_,"ca")]).every(d)?(m=g.every(v),u=m?n.ApprovalStatus.pass:n.ApprovalStatus.approved):u=n.ApprovalStatus.rejected,console.log("[approvalContent]: 部门复审完成, 结果为:",u)}else if(_.current_step===n.Step.personnel_review){if(!(0,t.isDeptReviewComplete)(_,"approval"))return console.log("[approvalContent]: 固定人员审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];f=(0,t.getDeptEffectiveStatus)(_,"approval"),u=d(f)?v(f)?n.ApprovalStatus.pass:n.ApprovalStatus.approved:n.ApprovalStatus.rejected,console.log("[approvalContent]: 固定人员复审完成, 结果为:",u)}if("yes"==_.child_files){if(!(0,t.hasReviewed)(_.kids_approval_status))return console.log("[approvalContent]: kids审核人未审批, 只结束当前用户审批任务,不推进审批进度."),[2,{}];0==_.kids_approval_status&&(u=n.ApprovalStatus.rejected),console.log("[approvalContent]: kids审核完成, 结果为:",u)}return console.log("[approvalContent] 推进审批进度,参数为 审批单: ".concat(r," 当前步骤: ").concat(_.current_step," 审批结果为: ").concat(u)),[4,(0,t.advanceApproval)(e,r,u)];case 7:return s.sent(),[2,{}]}})})},t.rejectContent=function(e,r,a){var o=a.approveField;return s.__awaiter(this,void 0,void 0,function(){var a,c,p,l;return s.__generator(this,function(s){switch(s.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(c=s.sent()).current_step==n.Step.draft||(0,i.includes)(c.person_pending_approve,a.userId)?[4,O(e,r,o,!1)]:[2,{}];case 2:return s.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 3:return p=s.sent(),l=n.ApprovalStatus.rejected,[4,y(e,p,{approvalStatus:n.ApprovalStatus.rejected,approveField:o})];case 4:if(s.sent(),p.current_step===n.Step.departmental_review){if(!((0,t.isDeptReviewComplete)(p,"ns")&&(0,t.isDeptReviewComplete)(p,"legal")&&(0,t.isDeptReviewComplete)(p,"sra")&&(0,t.isDeptReviewComplete)(p,"ca")))return console.log("[rejectContent]: 有部门审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];console.log("[rejectContent]: 部门复审完成")}else if(p.current_step===n.Step.personnel_review){if(!(0,t.isDeptReviewComplete)(p,"approval"))return console.log("[rejectContent]: 固定人员审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];console.log("[rejectContent]: 固定人员复审完成")}if("yes"==p.child_files){if(!(0,t.hasReviewed)(p.kids_approval_status))return console.log("[rejectContent]: kids审核人未审批, 只结束当前用户审批任务,不推进审批进度."),[2,{}];console.log("[rejectContent]: kids审核完成")}return console.log("[rejectContent] 推进审批进度,参数为 审批单: ".concat(r," 当前步骤: ").concat(p.current_step," 审批结果为: ").concat(l)),[4,(0,t.advanceApproval)(e,r,l)];case 5:return s.sent(),[2,{}]}})})},t.submitKidsContent=function(e,r,a){return s.__awaiter(this,void 0,void 0,function(){var o;return s.__generator(this,function(s){switch(s.label){case 0:if(a!=n.ApprovalStatus.approved&&a!=n.ApprovalStatus.rejected)throw new Error("无效的审核状态.");return o="kids_approval_status",a!==n.ApprovalStatus.approved?[3,2]:[4,(0,t.approvalContent)(e,r,{approveField:o})];case 1:return s.sent(),[3,4];case 2:return[4,(0,t.rejectContent)(e,r,{approveField:o})];case 3:s.sent(),s.label=4;case 4:return[2]}})})},t.submitPreReviewContent=function(e,r,a){return s.__awaiter(this,void 0,void 0,function(){var o,c,p,l,_;return s.__generator(this,function(s){switch(s.label){case 0:if(a!=n.ApprovalStatus.approved&&a!=n.ApprovalStatus.rejected)throw new Error("无效的审核状态.");return o=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:if((c=s.sent()).current_step!==n.Step.departmental_review&&c.current_step!==n.Step.personnel_review)throw new Error("当前步骤不支持预审操作");if(!(0,i.includes)(c.person_pending_approve,o.userId))throw new Error("您不是当前预审人");return p="",c.pre_reviewer===o.userId?p="pre_approval_status":c.pre_ns_reviewer===o.userId?p="pre_ns_approval_status":c.pre_legal_reviewer===o.userId?p="pre_legal_approval_status":c.pre_sra_reviewer===o.userId?p="pre_sra_approval_status":c.pre_ca_reviewer===o.userId&&(p="pre_ca_approval_status"),p?[3,3]:[4,e.getObject("pepsico_approval_process").find({filters:[["owner","=",o.userId],["pepsico_material_approval","=",r],["current_step","=",c.current_step],["space","=",c.space],["approved","=","progess"]],top:1,sort:"modified desc"})];case 2:(l=s.sent()).length>0&&((_=l[0].type)===n.ProcessApprovalType.PreNS?p="pre_ns_approval_status":_===n.ProcessApprovalType.PreLegal?p="pre_legal_approval_status":_===n.ProcessApprovalType.PreSRA?p="pre_sra_approval_status":_===n.ProcessApprovalType.PreCA?p="pre_ca_approval_status":_===n.ProcessApprovalType.Preguding&&(p="pre_approval_status")),s.label=3;case 3:if(!p)throw new Error("无法确定预审字段");return a!==n.ApprovalStatus.approved?[3,5]:[4,(0,t.approvalContent)(e,r,{approveField:p})];case 4:return s.sent(),[3,7];case 5:return[4,(0,t.rejectContent)(e,r,{approveField:p})];case 6:s.sent(),s.label=7;case 7:return[2]}})})},t.submitContent=function(e,r,a,o){return s.__awaiter(this,void 0,void 0,function(){var p,l,u,d,v,g,m,h,b,w,O,S,j,A,P,D;return s.__generator(this,function(I){switch(I.label){case 0:return[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return p=I.sent(),l=e.meta.user,u=!1,p.current_step===n.Step.ai_review&&l.is_space_admin&&!0===o?(console.log("".concat(l.name,"(").concat(l.userId,")提交了AI审核步骤:"),r),u=!0,[4,e.getObject("pepsico_approval_process").find({filters:[["owner","=",process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID],["pepsico_material_approval","=",r],["current_step","=",n.Step.ai_review],["space","=",p.space],["approved","=","progess"]],top:1,sort:"modified desc"})]):[3,10];case 2:d=I.sent(),console.log("管理员提交了AI审核步骤, 修改审批历史: process.length:",d.length,JSON.stringify({filters:[["owner","=",process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID],["pepsico_material_approval","=",r],["current_step","=",n.Step.ai_review],["space","=",p.space],["approved","=","progess"]],top:1,sort:"modified desc"})),I.label=3;case 3:I.trys.push([3,8,9,10]),v=s.__values(d),g=v.next(),I.label=4;case 4:return g.done?[3,7]:(m=g.value,console.log("管理员提交了AI审核步骤, 修改审批历史: process Id:",m._id),[4,e.getObject("pepsico_approval_process").directUpdate(m._id,{submitted:new Date,modified:new Date,modified_by:l.userId,approved:"skip"})]);case 5:I.sent(),I.label=6;case 6:return g=v.next(),[3,4];case 7:return[3,10];case 8:return h=I.sent(),P={error:h},[3,10];case 9:try{g&&!g.done&&(D=v.return)&&D.call(v)}finally{if(P)throw P.error}return[7];case 10:if(1!=u&&p.current_step!=n.Step.draft&&!(0,i.includes)(p.person_pending_approve,l.userId))return[2,{}];if(!p.is_external||p.current_step!==n.Step.draft||1==p.external_submitted)return[3,14];if(p.owner!==l.userId)return[3,13];if(!p.internal_collaborator)throw new Error("请先选择内部协作者");return[4,e.getObject("pepsico_material_approval").directUpdate(r,{owner:p.internal_collaborator,external_submitted:!0})];case 11:return I.sent(),[4,(0,_.sendNotifications)(e,p,[p.internal_collaborator],"协助提交材料审批单")];case 12:I.sent(),I.label=13;case 13:return[2];case 14:return p.current_step!==n.Step.draft?[3,22]:[4,f(e,p)];case 15:return b=I.sent(),[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{approval_type:b})];case 16:return I.sent(),[3,19];case 17:return 1!=I.sent()?[2,{status:500,msg:"更新素材失败, 请稍后重试",data:{}}]:[4,(0,c.downloadBulkFromOneDriveDoc)(e,r)];case 18:if(1!=I.sent())return[2,{status:500,msg:"更新素材失败, 请稍后重试",data:{}}];I.label=19;case 19:return p&&p.material_owner?[4,e.getObject("space_users").find({filters:[["email","=",p.material_owner],["space","=",p.space]]})]:[3,22];case 20:return(w=I.sent())&&w.length>0?(O=w[0],[4,e.getObject("pepsico_material_approval").directUpdate(r,{material_owner_id:O.user})]):[3,22];case 21:I.sent(),I.label=22;case 22:return console.log("[submitContent] 步骤提交,参数为 审批单: ".concat(r," 当前步骤: ").concat(p.current_step," 审批结果为: ").concat(a)),p.current_step!==n.Step.ai_review||a!==n.ApprovalStatus.approved?[3,32]:[4,(0,c.getOneDriveMaterials)(e,r)];case 23:return S=I.sent(),"completed"==p.materials_xml_to_word_status?[3,26]:[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{materials_download_from_onedrive_failed_count:0,materials_download_from_onedrive_status:"not_started",materials_remove_share_link_from_onedrive_failed_count:0,materials_remove_share_link_from_onedrive_status:"not_started",materials_uploaded_to_onedrive_failed_count:0,materials_uploaded_to_onedrive_status:"not_started"})];case 24:return I.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 25:p=I.sent(),I.label=26;case 26:return"completed"==p.materials_uploaded_to_onedrive_status?[3,32]:(console.log("materials:",S.length),0!==S.length?[3,28]:[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{materials_uploaded_to_onedrive_status:"no_materials",materials_xml_to_word_status:"no_materials"})]);case 27:return I.sent(),[3,32];case 28:return j=S.filter(function(e){return!0!==e.xml_converted_word}),console.log("pendingXmlToWordMaterials:",j.length),j.length>0&&"no_materials"!=p.materials_xml_to_word_status?[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{materials_xml_to_word_status:"pending"})]:[3,30];case 29:return I.sent(),[2];case 30:return A=S.filter(function(e){return!0!==e.uploaded_to_onedrive}),console.log("pendingUploadMaterials:",A.length),A.length>0?[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{materials_uploaded_to_onedrive_status:"pending"})]:[3,32];case 31:return I.sent(),[2];case 32:return console.time("updateUserStepStatus: "+r),[4,y(e,p,{approvalStatus:a,approveField:""})];case 33:return I.sent(),console.timeEnd("updateUserStepStatus: "+r),console.time("advanceApproval: "+r),[4,(0,t.advanceApproval)(e,r,a)];case 34:return I.sent(),console.timeEnd("advanceApproval: "+r),[2]}})})},t.hasReviewed=function(e){return!0===e||!1===e||e===n.ApprovalStatus.pass||e===n.ApprovalStatus.approved};var I=((a={})[n.ProcessApprovalType.NS]="ns_reviewer",a[n.ProcessApprovalType.Legal]="legal_reviewer",a[n.ProcessApprovalType.SRA]="sra_reviewer",a[n.ProcessApprovalType.CA]="ca_reviewer",a[n.ProcessApprovalType.guding]="reviewer",a[n.ProcessApprovalType.Kids]="kids_reviewer",a[n.ProcessApprovalType.PreNS]="pre_ns_reviewer",a[n.ProcessApprovalType.PreLegal]="pre_legal_reviewer",a[n.ProcessApprovalType.PreSRA]="pre_sra_reviewer",a[n.ProcessApprovalType.PreCA]="pre_ca_reviewer",a[n.ProcessApprovalType.Preguding]="pre_reviewer",a);t.postponeReview=function(e,t,r){return s.__awaiter(this,void 0,void 0,function(){var a,o,c,p,l,_,u,d,v,g,m,f,h,b,w,y;return s.__generator(this,function(O){switch(O.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if((o=O.sent()).current_step!==n.Step.departmental_review&&o.current_step!==n.Step.personnel_review)throw new Error("当前步骤不支持延后审核操作");if(!(0,i.includes)(o.person_approved,a.userId))throw new Error("您不在当前已审批人列表中");return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["owner","=",a.userId],["approved","=","progess"],["space","=",o.space]]})];case 2:if(O.sent().length>0)throw new Error("您还有待处理的审批任务,无法执行延后审核");return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["owner","=",a.userId],["space","=",o.space]],sort:"created desc",top:1})];case 3:if(!(c=O.sent())||0===c.length)throw new Error("未找到您的审核记录");if(!(p=c[0].type))throw new Error("无法确定您所在的审核部门");return l=I[p],_=[],l&&o[l]&&(u=o[l],_=Array.isArray(u)?u:[u]),0===_.length&&(_=[a.userId]),d=new Date,[4,e.getObject("pepsico_review_postpone").directFind({filters:[["pepsico_material_approval","=",t],["postpone_by","=",a.userId],["space","=",o.space],["is_marker","=",!0]],sort:"created desc"})];case 4:return(v=O.sent())&&v.length>0?(g=v[0],[4,e.getObject("pepsico_review_postpone").directUpdate(g._id,{department_type:p,postpone_reason:r.postpone_reason||"",postpone_date:d,postponed_user_ids:_.join(","),notification_sent:!1,modified:d,modified_by:a.userId,name:"".concat(p," 延后审核标记 ").concat(d.toISOString())})]):[3,14];case 5:O.sent(),O.label=6;case 6:O.trys.push([6,11,12,13]),m=s.__values(v.slice(1)),f=m.next(),O.label=7;case 7:return f.done?[3,10]:(h=f.value,[4,e.getObject("pepsico_review_postpone").directUpdate(h._id,{is_marker:!1,notification_sent:!0,modified:d,modified_by:a.userId})]);case 8:O.sent(),O.label=9;case 9:return f=m.next(),[3,7];case 10:return[3,13];case 11:return b=O.sent(),w={error:b},[3,13];case 12:try{f&&!f.done&&(y=m.return)&&y.call(m)}finally{if(w)throw w.error}return[7];case 13:return[3,16];case 14:return[4,e.getObject("pepsico_review_postpone").insert({pepsico_material_approval:t,department_type:p,postpone_by:a.userId,postpone_reason:r.postpone_reason||"",postpone_date:d,is_marker:!0,notification_sent:!1,postponed_user_ids:_.join(","),space:o.space,created:d,created_by:a.userId,modified:d,modified_by:a.userId,name:"".concat(p," 延后审核标记 ").concat(d.toISOString())})];case 15:O.sent(),O.label=16;case 16:return console.log("[postponeReview] recordId=".concat(t,", departmentType=").concat(p,", deptUserIds=").concat(_,", markedForNextRound=true")),[4,e.getObject("pepsico_material_approval").directUpdate(t,{$push:{postpone_marker_users:a.userId}})];case 17:return O.sent(),[2,{}]}})})}},5584:e=>{e.exports=require("tslib")},6074:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateSpotCheckData=void 0;var a=r(5584);t.migrateSpotCheckData={rest:{method:"POST",fullPath:"/api/pepsico-content/material/migrate-spot-check-data"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l,_,u,d,v,g,m;return a.__generator(this,function(f){switch(f.label){case 0:return t=e.meta.user,e.getObject=this.getObject,[4,this.getLogger()];case 1:if(r=f.sent(),e.logger=r,!t||!t.is_space_admin)return[2,{status:403,msg:"只有管理员可以执行数据迁移",data:{}}];f.label=2;case 2:return f.trys.push([2,18,,19]),[4,e.getObject("pepsico_material").find({filters:[["spot_checked","=",!0],["pepsico_spot_check","!=",null]],fields:["_id","pepsico_spot_check","spot_check_time","pepsico_spot_check_status","spot_description","space"]})];case 3:s=f.sent(),null==r||r.info("Found ".concat(s.length," materials with spot check data to migrate")),n=0,o=0,f.label=4;case 4:f.trys.push([4,15,16,17]),i=a.__values(s),c=i.next(),f.label=5;case 5:return c.done?[3,14]:(p=c.value,[4,e.getObject("pepsico_material_spot_check_record").findOne({filters:[["pepsico_material","=",p._id],["spot_checker","=",p.pepsico_spot_check]]})]);case 6:if(f.sent())return o++,[3,13];if(l="",!p.pepsico_spot_check)return[3,10];f.label=7;case 7:return f.trys.push([7,9,,10]),[4,e.getObject("space_users").findOne({filters:["user","=",p.pepsico_spot_check]})];case 8:return _=f.sent(),l=(null==_?void 0:_.organization)||"",[3,10];case 9:return u=f.sent(),null==r||r.error("Error getting department for user ".concat(p.pepsico_spot_check),u),[3,10];case 10:return[4,e.getObject("pepsico_material_spot_check_record").insert({pepsico_material:p._id,spot_checker:p.pepsico_spot_check,spot_check_department:l,spot_check_time:p.spot_check_time||new Date,spot_check_status:void 0===p.pepsico_spot_check_status||p.pepsico_spot_check_status,spot_check_opinion:p.spot_description||"",space:p.space},t)];case 11:return f.sent(),[4,e.getObject("pepsico_material").directUpdate(p._id,{spot_checkers:[p.pepsico_spot_check],spot_check_departments:l?[l]:[],spot_check_overall_status:"checked"})];case 12:f.sent(),++n%100==0&&(null==r||r.info("Migrated ".concat(n," records..."))),f.label=13;case 13:return c=i.next(),[3,5];case 14:return[3,17];case 15:return d=f.sent(),g={error:d},[3,17];case 16:try{c&&!c.done&&(m=i.return)&&m.call(i)}finally{if(g)throw g.error}return[7];case 17:return null==r||r.info("Migration complete. Migrated: ".concat(n,", Skipped: ").concat(o)),[2,{status:0,msg:"数据迁移完成",data:{migrated:n,skipped:o,total:s.length}}];case 18:return v=f.sent(),null==r||r.error("Migration failed",v),[2,{status:500,msg:"数据迁移失败: ".concat(v.message),data:{}}];case 19:return[2]}})})}}},6293:e=>{e.exports=require("dayjs")},6586:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fixStuckPersonnelReview=void 0;var a=r(5584),s=r(8398),n=r(5510);t.fixStuckPersonnelReview={rest:{method:"GET",fullPath:"/api/pepsico-content/fix-stuck-personnel-review/:approvalId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S;return a.__generator(this,function(j){switch(j.label){case 0:return(t=e.meta.user)&&t.is_space_admin?(e.getObject=this.getObject,[4,this.getLogger()]):[2,{status:403,msg:"只有管理员可以执行此操作"}];case 1:return r=j.sent(),e.logger=r,(o=e.params.approvalId)?[4,e.getObject("pepsico_material_approval").findOne(o)]:[2,{status:400,msg:"请传入参数 approvalId"}];case 2:return(i=j.sent())?i.current_step!==s.Step.personnel_review?[2,{status:200,msg:"审批单当前步骤为 ".concat(i.current_step,",不是固定人员审核步骤,无需修复")}]:(0,n.isDeptReviewComplete)(i,"approval")?"yes"!==i.child_files||(0,n.hasReviewed)(i.kids_approval_status)?(c=function(e){return!0===e||e===s.ApprovalStatus.approved||e===s.ApprovalStatus.pass},p=function(e){return e===s.ApprovalStatus.pass},l=(0,n.getDeptEffectiveStatus)(i,"approval"),_=c(l)?p(l)?s.ApprovalStatus.pass:s.ApprovalStatus.approved:s.ApprovalStatus.rejected,"yes"===i.child_files&&!1===i.kids_approval_status&&(_=s.ApprovalStatus.rejected),[4,e.getObject("pepsico_approval_process").find({filters:[["pepsico_material_approval","=",o],["current_step","=",s.Step.personnel_review],["space","=",i.space],["submitted","!=",null]],sort:"submitted desc",top:1})]):[2,{status:200,msg:"kids审核人未审批,暂不能推进"}]:[2,{status:200,msg:"固定人员审核周期确实未完成,无需修复"}]:[2,{status:404,msg:"审批单不存在"}];case 3:return u=j.sent(),d=u.length>0&&u[0].submitted?new Date(u[0].submitted):null,console.log("[fixStuckPersonnelReview] 审批单: ".concat(o,", 修复推进, 审批结果: ").concat(_,", 使用提交时间: ").concat(d)),[4,this.advanceApproval(e,o,_)];case 4:return j.sent(),d?(v={re_reviewed_date:d},[4,e.getObject("pepsico_material_approval").findOne(o)]):[3,18];case 5:return(g=j.sent()).current_step===s.Step.awaiting_deployment&&g.review_completed_date?(v.review_completed_date=d,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",o],{review_completed_date:d})]):[3,7];case 6:j.sent(),j.label=7;case 7:return[4,e.getObject("pepsico_material_approval").directUpdate(o,v)];case 8:return j.sent(),m=g.current_step,[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",o],["current_step","=",m],["space","=",i.space]]})];case 9:f=j.sent(),j.label=10;case 10:j.trys.push([10,15,16,17]),h=a.__values(f),b=h.next(),j.label=11;case 11:return b.done?[3,14]:(w=b.value,[4,e.getObject("pepsico_approval_process").directUpdate(w._id,{created:d})]);case 12:j.sent(),j.label=13;case 13:return b=h.next(),[3,11];case 14:return[3,17];case 15:return y=j.sent(),O={error:y},[3,17];case 16:try{b&&!b.done&&(S=h.return)&&S.call(h)}finally{if(O)throw O.error}return[7];case 17:console.log("[fixStuckPersonnelReview] 已覆盖时间字段:",JSON.stringify(v),", 修正了 ".concat(f.length," 条 approval_process 记录的接收时间")),j.label=18;case 18:return[2,{status:200,msg:"审批单 ".concat(o," 已修复并推进到下一步"),data:{approvalId:o,result:_,submittedDate:d}}]}})})}}},6903:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.doUrgent=t.canUrgent=t.getUrgentQuota=void 0;var a=r(5584),s=r(8398);t.getUrgentQuota=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_,u,d;return a.__generator(this,function(a){switch(a.label){case 0:return s=new Date,n=s.getFullYear(),o=s.getMonth()<6?1:2,[4,e.getObject("pepsico_urgent_quota").findOne({filters:[["user","=",t],["space","=",r],["year","=",n]]})];case 1:return i=a.sent(),c=(null==i?void 0:i.h1_used)||0,p=(null==i?void 0:i.h2_used)||0,1===o?(_=c,u=6,l=Math.max(0,6-c)):(d=Math.max(0,6-c),u=6+d,_=p,l=Math.max(0,u-p)),[2,{available:l,used:_,total:u,year:n,half:o}]}})})},t.canUrgent=function(e,r,n){return a.__awaiter(void 0,void 0,void 0,function(){var o,i;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(o=a.sent())?o.is_urgent?[2,{canUrgent:!1,reason:"该审批单已处于加急状态"}]:o.owner!==n?[2,{canUrgent:!1,reason:"只有发起人可以加急"}]:[s.Step.departmental_review,s.Step.personnel_review].includes(o.current_step)?(o.review_postponed_users||[]).length>0?[2,{canUrgent:!1,reason:"存在延后审核人,无法加急"}]:[4,(0,t.getUrgentQuota)(e,n,o.space)]:[2,{canUrgent:!1,reason:"当前步骤不支持加急"}]:[2,{canUrgent:!1,reason:"审批单不存在"}];case 2:return(i=a.sent()).available<=0?[2,{canUrgent:!1,reason:"暂无加急次数",quota:i}]:[2,{canUrgent:!0,quota:i}]}})})};var n=function(e,t,r,s,n,o){return a.__awaiter(void 0,void 0,void 0,function(){var i,c,p,l,_,u,d,v,g,m;return a.__generator(this,function(f){switch(f.label){case 0:return f.trys.push([0,2,,3]),[4,e.broker.call("notifications.add",{message:{name:"加急审批: ".concat(s),body:"发起人已标记为加急审核,请优先处理",related_to:{o:"pepsico_material_approval",ids:[r]},related_name:s,from:n,space:t},from:n,to:o})];case 1:return f.sent(),[3,3];case 2:return i=f.sent(),console.log("[urgent] sendUrgentNotification notification error",i),[3,3];case 3:return f.trys.push([3,15,,16]),[4,e.getObject("space_users").find({filters:[["user","=",o],["space","=",t]]})];case 4:c=f.sent(),f.label=5;case 5:f.trys.push([5,12,13,14]),p=a.__values(c),l=p.next(),f.label=6;case 6:if(l.done)return[3,11];if(!(_=l.value).email)return[3,10];f.label=7;case 7:return f.trys.push([7,9,,10]),[4,e.broker.call("@builder6/email.send",{to:_.email,subject:"[加急审核] ".concat(s),html:'\n <p>您有一份审批单被标记为<strong>加急审核</strong>,请优先处理。</p>\n <a href="'.concat(process.env.ROOT_URL,"/app/pepsico_content_review/pepsico_material_approval/view/").concat(r,'?side_object=pepsico_material_approval&side_listview_id=pending">').concat(s,"</a>\n ")})];case 8:return f.sent(),[3,10];case 9:return u=f.sent(),console.log("[urgent] sendUrgentNotification email error",u),[3,10];case 10:return l=p.next(),[3,6];case 11:return[3,14];case 12:return d=f.sent(),g={error:d},[3,14];case 13:try{l&&!l.done&&(m=p.return)&&m.call(p)}finally{if(g)throw g.error}return[7];case 14:return[3,16];case 15:return v=f.sent(),console.log("[urgent] sendUrgentNotification spaceUsers error",v),[3,16];case 16:return[2]}})})};t.doUrgent=function(e,r,s){return a.__awaiter(void 0,void 0,void 0,function(){var o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j;return a.__generator(this,function(A){switch(A.label){case 0:return[4,(0,t.canUrgent)(e,r,s)];case 1:if(!(o=A.sent()).canUrgent)throw new Error(o.reason);return[4,e.getObject("pepsico_material_approval").findOne(r)];case 2:return i=A.sent(),c=o.quota,p=c.year,l=c.half,_=c.used,u=c.total,[4,e.getObject("pepsico_urgent_quota").findOne({filters:[["user","=",s],["space","=",i.space],["year","=",p]]})];case 3:return d=A.sent(),v=1===l?"h1_used":"h2_used",d?[4,e.getObject("pepsico_urgent_quota").directUpdate(d._id,(O={},O[v]=(d[v]||0)+1,O))]:[3,5];case 4:return A.sent(),[3,7];case 5:return[4,e.getObject("pepsico_urgent_quota").insert({user:s,space:i.space,year:p,h1_used:1===l?1:0,h2_used:2===l?1:0})];case 6:A.sent(),A.label=7;case 7:return[4,e.getObject("pepsico_material_approval").directUpdate(r,{is_urgent:!0,urgent_times:(i.urgent_times||0)+1,urgent_at:new Date})];case 8:return A.sent(),[4,e.getObject("pepsico_urgent_log").insert({approval:r,approval_name:i.name,operator:s,space:i.space,year:p,half:l})];case 9:A.sent(),g=Array.isArray(i.person_pending_approve)?i.person_pending_approve:[],A.label=10;case 10:A.trys.push([10,15,16,17]),m=a.__values(g),f=m.next(),A.label=11;case 11:return f.done?[3,14]:(h=f.value,[4,n(e,i.space,r,i.name,s,h)]);case 12:A.sent(),A.label=13;case 13:return f=m.next(),[3,11];case 14:return[3,17];case 15:return b=A.sent(),S={error:b},[3,17];case 16:try{f&&!f.done&&(j=m.return)&&j.call(m)}finally{if(S)throw S.error}return[7];case 17:return w=_+1,y=Math.max(0,u-w),[2,{message:"加急成功!已使用 ".concat(w," 次,剩余 ").concat(y," 次"),used:w,available:y,total:u}]}})})}},6928:e=>{e.exports=require("path")},7065:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submit=void 0;var a=r(5584),s=r(256),n=r(8398);t.submit={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/submit/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,o;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=a.sent(),e.logger=t,[4,e.getObject("pepsico_material_approval").findOne(e.params.recordId)];case 2:return(r=a.sent()).current_step!==n.Step.draft||"non-top"==r.kol_classification||"top"==r.kol_classification?[3,5]:[4,(0,s.getDefApproverStepRule)(e)];case 3:return o=a.sent(),[4,e.getObject("pepsico_material_approval").directUpdate(e.params.recordId,{pepsico_flow_rule:o._id})];case 4:a.sent(),a.label=5;case 5:return console.time("submitContent: "+e.params.recordId),[4,this.submitContent(e,e.params.recordId,e.params.approvalStatus,e.params.skip)];case 6:return a.sent(),console.timeEnd("submitContent: "+e.params.recordId),[2,{}]}})})}}},7815:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateSpotCheckDepartments=void 0;var a=r(5584),s=r(8160);function n(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,(t=s.getDataSource("default").adapter).connect()];case 1:return r.sent(),[2,t.collection(e)]}})})}t.migrateSpotCheckDepartments={rest:{method:"GET",fullPath:"/api/pepsico-content/material/migrate-spot-check-departments"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w;return a.__generator(this,function(y){switch(y.label){case 0:return t=e.meta.user,e.getObject=this.getObject,[4,this.getLogger()];case 1:if(r=y.sent(),e.logger=r,!t||!t.is_space_admin)return[2,{status:403,msg:"只有管理员可以执行数据迁移",data:{}}];y.label=2;case 2:return y.trys.push([2,17,,18]),[4,n("pepsico_material")];case 3:return s=y.sent(),[4,n("space_users")];case 4:return o=y.sent(),[4,s.find({pepsico_spot_check:{$ne:null},$or:[{spot_check_departments:{$exists:!1}},{spot_check_departments:null},{spot_check_departments:{$size:0}}]},{projection:{_id:1,pepsico_spot_check:1,space:1}}).toArray()];case 5:i=y.sent(),null==r||r.info("Found ".concat(i.length," materials with missing spot_check_departments")),c=0,p=0,l=[],y.label=6;case 6:y.trys.push([6,14,15,16]),_=a.__values(i),u=_.next(),y.label=7;case 7:if(u.done)return[3,13];d=u.value,y.label=8;case 8:return y.trys.push([8,11,,12]),[4,o.findOne({user:d.pepsico_spot_check,space:d.space})];case 9:return(null==(v=y.sent())?void 0:v.organization)?(g=[v.organization],[4,s.updateOne({_id:d._id},{$set:{spot_check_departments:g}})]):(null==r||r.warn("No organization found for user ".concat(d.pepsico_spot_check,", material ").concat(d._id)),p++,[3,12]);case 10:return y.sent(),++c%100==0&&(null==r||r.info("Updated ".concat(c," records..."))),[3,12];case 11:return m=y.sent(),null==r||r.error("Error processing material ".concat(d._id),m),l.push(d._id),[3,12];case 12:return u=_.next(),[3,7];case 13:return[3,16];case 14:return f=y.sent(),b={error:f},[3,16];case 15:try{u&&!u.done&&(w=_.return)&&w.call(_)}finally{if(b)throw b.error}return[7];case 16:return null==r||r.info("Migration complete. Updated: ".concat(c,", Skipped: ").concat(p,", Errors: ").concat(l.length)),[2,{status:0,msg:"spot_check_departments 数据修正完成",data:{updated:c,skipped:p,errors:l.length,total:i.length}}];case 17:return h=y.sent(),null==r||r.error("Migration failed",h),[2,{status:500,msg:"数据修正失败: ".concat(h.message),data:{}}];case 18:return[2]}})})}}},7825:e=>{e.exports=require("lodash")},8152:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getBriefFlows=void 0;var a=r(5584);t.getBriefFlows={rest:{method:"GET",fullPath:"/api/pepsico-content/brief-flows"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p;return a.__generator(this,function(l){switch(l.label){case 0:return t=e.params.filters,r={fields:["_id","name"]},t&&(r.filters=JSON.parse(t)),c=(i=Promise).all,[4,this.getObject("pepsico_material_approval").find(r)];case 1:return p=[l.sent()],[4,this.getObject("pepsico_material_approval").count(r)];case 2:return[4,c.apply(i,[p.concat([l.sent()])])];case 3:return s=a.__read.apply(void 0,[l.sent(),2]),n=s[0],o=s[1],[2,{status:0,msg:"",data:{items:n,total:o}}]}})})}}},8160:e=>{e.exports=require("@steedos/objectql")},8330:e=>{e.exports=JSON.parse('{"name":"@steedos-labs/content-compliance","version":"0.7.5","description":"内容审核系统","main":"package.service.js","scripts":{"build":"tsc && webpack --config webpack.config.js","build:watch":"webpack --config webpack.config.js --watch","test":"jest --config jest.config.js","release":"yarn build && npm publish --registry https://registry.npmjs.org && cnpm sync @steedos-labs/content-compliance"},"dependencies":{"amis-formula":"~6.3.0","mime-types":"2.1.35","lodash":"4.17.21","dayjs":"1.11.13","moleculer-cron":"0.0.7"},"devDependencies":{"webpack":"^5.88.2","webpack-cli":"^5.1.4","webpack-node-externals":"^3.0.0","jest":"^29.0.0","ts-jest":"^29.0.3","@types/jest":"^29.5.0","@types/lodash":"^4.17.0","@types/node":"^20.0.0"},"publishConfig":{"access":"public"},"gitHead":"24d4f3c614efb07e373e34a97bef04e8a5929a5b"}')},8398:(e,t)=>{var r,a,s,n;Object.defineProperty(t,"__esModule",{value:!0}),t.ProcessApprovalType=t.ReviewStatus=t.ApprovalStatus=t.Step=void 0,(n=t.Step||(t.Step={})).draft="draft",n.conclusion="conclusion",n.ai_review="ai_review",n.departmental_review="departmental_review",n.personnel_review="personnel_review",n.submitter_revisions="submitter_revisions",n.awaiting_deployment="awaiting_deployment",(s=t.ApprovalStatus||(t.ApprovalStatus={})).approved="approved",s.rejected="rejected",s.pending="pending",s.submit="submit",s.pass="pass",(a=t.ReviewStatus||(t.ReviewStatus={})).draft="draft",a.under_review="under_review",a.rejected="rejected",a.approved="approved",a.terminated="terminated",(r=t.ProcessApprovalType||(t.ProcessApprovalType={})).NS="NS",r.Legal="Legal",r.SRA="SRA",r.CA="CA",r.Kids="Kids",r.guding="guding",r.AI="AI",r.Others="Others",r.PreNS="PreNS",r.PreLegal="PreLegal",r.PreSRA="PreSRA",r.PreCA="PreCA",r.Preguding="Preguding"},8509:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(5584),s=r(2045),n=r(256),o=r(8398),i=r(3833),c=r(4809),p=r(4665),l=r(2777),_=r(8160),u=r(7825),d=r(6928),v=r(8330),g=v.name,m=r(9861),f=r(3200),h=r(4716);function b(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,(t=_.getDataSource("default").adapter).connect()];case 1:return r.sent(),[2,t.collection(e)]}})})}var w=process.env.STEEDOS_CRON_ENABLED,y=Number(process.env.PEPSICO_CRON_SEND_DELAY_NOTIFICATION_INTERVAL_MINUTES||5),O="true"===process.env.PEPSICO_CRON_PASSWORD_EXPIRY_CHECK_DISABLE,S=[{name:"materialsUploadToOneDriveJob",cronTime:process.env.PEPSICO_CRON_MATERIAL_UPLOAD_ONEDRIVE,timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("materialsUploadToOneDriveJob run",new Date),[4,this.broker.call("".concat(g,".materialsUploadToOneDrive"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("materialsUploadToOneDriveJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("materialsUploadToOneDriveJob")},onComplete:function(){console.log("materialsUploadToOneDriveJob is stopped")}},{name:"materialsDownloadFromOneDriveJob",cronTime:process.env.PEPSICO_CRON_MATERIAL_DOWNLOAD_ONEDRIVE,timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("materialsDownloadFromOneDriveJob run",new Date),[4,this.broker.call("".concat(g,".materialsDownloadFromOneDrive"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("materialsDownloadFromOneDriveJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("materialsDownloadFromOneDriveJob")},onComplete:function(){console.log("materialsDownloadFromOneDriveJob is stopped")}},{name:"materialsRemoveShareLinkToOneDriveJob",cronTime:process.env.PEPSICO_CRON_MATERIAL_DOWNLOAD_ONEDRIVE,timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("materialsRemoveShareLinkToOneDriveJob run",new Date),[4,this.broker.call("".concat(g,".materialsRemoveShareLinkToOneDrive"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("materialsRemoveShareLinkToOneDriveJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("materialsRemoveShareLinkToOneDriveJob")},onComplete:function(){console.log("materialsRemoveShareLinkToOneDriveJob is stopped")}},{name:"sendDelayNotificationsJob",cronTime:"0 */".concat(y," * * * *"),timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("sendDelayNotificationsJob run",new Date),[4,this.broker.call("".concat(g,".sendDelayNotifications"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("sendDelayNotificationsJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("sendDelayNotificationsJob")},onComplete:function(){console.log("sendDelayNotificationsJob is stopped")}},{name:"processPostponeReviewNotificationsJob",cronTime:"0 */".concat(y," * * * *"),timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("processPostponeReviewNotificationsJob run",new Date),[4,this.broker.call("".concat(g,".processPostponeReviewNotifications"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("processPostponeReviewNotificationsJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("processPostponeReviewNotificationsJob")},onComplete:function(){console.log("processPostponeReviewNotificationsJob is stopped")}},{cronTime:process.env.PEPSICO_CRON_DASHBOARD_SYNC_DATA||"0 3 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("syncDashboard run",new Date),[4,this.broker.call("".concat(g,".dashboardSyncData"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("syncDashboard error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("syncDashboard")},onComplete:function(){console.log("syncDashboard is stopped")}},{name:"scanPLSFiles",cronTime:process.env.PEPSICO_CRON_PLS_SCAN||"0 23 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("scanPLSFiles run",new Date),[4,this.broker.call("".concat(g,".scanPLSFiles"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("scanPLSFiles error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("scanPLSFiles")},onComplete:function(){console.log("scanPLSFiles is stopped")}},{name:"scanInactiveUsers",cronTime:process.env.PEPSICO_CRON_INACTIVE_USERS_SCAN||"0 1 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("scanInactiveUsers run",new Date),[4,this.broker.call("".concat(g,".scanInactiveUsers"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("scanInactiveUsers error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("scanInactiveUsers")},onComplete:function(){console.log("scanInactiveUsers is stopped")}},{name:"sendMonthlySpotCheckReportJob",cronTime:process.env.PEPSICO_CRON_SEND_SPOT_REPORT||"0 10 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e,t;return a.__generator(this,function(r){switch(r.label){case 0:return r.trys.push([0,4,,5]),console.log("sendMonthlySpotCheckReportJob run",new Date),[4,this.broker.call("".concat(g,".getReportId"))];case 1:return(e=r.sent())?[4,this.broker.call("".concat(g,".sendMonthlySpotCheckReport"),{rid:e})]:[3,3];case 2:r.sent(),r.label=3;case 3:return[3,5];case 4:return t=r.sent(),console.log("sendMonthlySpotCheckReportJob error ",t),[3,5];case 5:return[2]}})})},onInitialize:function(){this.startJob("sendMonthlySpotCheckReportJob")},onComplete:function(){console.log("sendMonthlySpotCheckReportJob is stopped")}},{name:"scanApprovalAndDeletedMaterialFromSharepointJob",cronTime:process.env.PEPSICO_CRON_DELETE_MATERIAL_FROM_SHAREPOINT||"0 2 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,4,,5]),console.log("scanApprovalAndDeletedMaterialFromSharepointJob run",new Date),"true"!=process.env.PEPSICO_CRON_DELETE_MATERIAL_FROM_SHAREPOINT_DISABLE?[3,1]:(console.log("已停用自动批量删除Sharepoint过期素材"),[3,3]);case 1:return[4,this.broker.call("".concat(g,".scanApprovalAndDeletedMaterialFromSharepoint"))];case 2:t.sent(),t.label=3;case 3:return[3,5];case 4:return e=t.sent(),console.log("scanApprovalAndDeletedMaterialFromSharepointJob error ",e),[3,5];case 5:return[2]}})})},onInitialize:function(){this.startJob("scanApprovalAndDeletedMaterialFromSharepointJob")},onComplete:function(){console.log("scanApprovalAndDeletedMaterialFromSharepointJob is stopped")}},{name:"imageComparisonJob",cronTime:process.env.PEPSICO_CRON_IMAGE_COMPARISON||"*/30 * * * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("imageComparisonJob run",new Date),[4,this.broker.call("".concat(g,".processImageComparisons"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("imageComparisonJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("imageComparisonJob")},onComplete:function(){console.log("imageComparisonJob is stopped")}},{name:"checkUserPasswordExpirationJob",cronTime:process.env.PEPSICO_CRON_PASSWORD_EXPIRY_CHECK||"0 10 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),O?(console.log("已停用 checkUserPasswordExpirationJob"),[2]):(console.log("checkUserPasswordExpirationJob run",new Date),[4,this.broker.call("".concat(g,".checkUserPasswordExpiration"))]);case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("checkUserPasswordExpirationJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("checkUserPasswordExpirationJob")},onComplete:function(){console.log("checkUserPasswordExpirationJob is stopped")}}];e.exports={name:g,namespace:"steedos",mixins:[f,m],settings:{cronJobs:1==w||"true"==w?S:null},metadata:{$package:{name:v.name,path:d.join(__dirname,".."),isPackage:!0}},dependencies:["~packages-standard-objects"],actions:a.__assign(a.__assign({},s),{materialsUploadToOneDrive:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,i,c,p,l,_;return a.__generator(this,function(d){switch(d.label){case 0:return[4,this.getLogger()];case 1:return t=d.sent(),[4,this.getObject("pepsico_material_approval").find({filters:[["current_step","=","ai_review"],["materials_uploaded_to_onedrive_status","in",["pending","failed"]]],top:10,sort:"modified desc"})];case 2:r=d.sent(),console.log("定时任务[素材上传到oneDrive] count: "+r.length,{objectName:"pepsico_material_approval",count:r.length,approvals:u.map(r,function(e){return u.pick(e,["_id","materials_uploaded_to_onedrive_failed_count","current_step","materials_uploaded_to_onedrive_status"])})}),e.meta.user={userId:process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID},e.getObject=this.getObject,e.logger=t,d.label=3;case 3:d.trys.push([3,13,14,15]),s=a.__values(r),n=s.next(),d.label=4;case 4:if(n.done)return[3,12];if((i=n.value).materials_uploaded_to_onedrive_failed_count&&!(i.materials_uploaded_to_onedrive_failed_count<5))return[3,11];d.label=5;case 5:return d.trys.push([5,9,,11]),[4,this.uploadBulkDocToOneDrive(e,i._id)];case 6:return d.sent()?[4,this.submitContent(e,i._id,o.ApprovalStatus.approved)]:[3,8];case 7:d.sent(),d.label=8;case 8:return[3,11];case 9:return c=d.sent(),[4,this.getObject("pepsico_material_approval").directUpdate(i._id,{materials_uploaded_to_onedrive_status:"failed",$inc:{materials_uploaded_to_onedrive_failed_count:1}})];case 10:return d.sent(),t.error("".concat(i._id,"-[素材上传到oneDrive失败]:").concat(c.message),{objectName:"pepsico_material_approval",_id:i._id}),[3,11];case 11:return n=s.next(),[3,4];case 12:return[3,15];case 13:return p=d.sent(),l={error:p},[3,15];case 14:try{n&&!n.done&&(_=s.return)&&_.call(s)}finally{if(l)throw l.error}return[7];case 15:return[2]}})})},materialsDownloadFromOneDrive:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l;return a.__generator(this,function(_){switch(_.label){case 0:return[4,this.getLogger()];case 1:return t=_.sent(),[4,this.getObject("pepsico_material_approval").find({filters:[["current_step","=",["awaiting_deployment","conclusion"]],["materials_download_from_onedrive_status","in",["pending","failed"]]],top:10,sort:"modified desc"})];case 2:r=_.sent(),console.log("定时任务[从oneDrive下载素材] count: "+r.length,{objectName:"pepsico_material_approval",count:r.length,approvals:u.map(r,function(e){return u.pick(e,["_id","materials_download_from_onedrive_failed_count","current_step","materials_download_from_onedrive_status"])})}),e.meta.user={userId:process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID},e.getObject=this.getObject,e.logger=t,_.label=3;case 3:_.trys.push([3,11,12,13]),s=a.__values(r),n=s.next(),_.label=4;case 4:if(n.done)return[3,10];if((o=n.value).materials_download_from_onedrive_failed_count&&!(o.materials_download_from_onedrive_failed_count<5))return[3,9];_.label=5;case 5:return _.trys.push([5,7,,9]),[4,this.downloadBulkFromOneDriveDoc(e,o._id)];case 6:return _.sent(),[3,9];case 7:return i=_.sent(),[4,this.getObject("pepsico_material_approval").directUpdate(o._id,{materials_download_from_onedrive_status:"failed",$inc:{materials_download_from_onedrive_failed_count:1}})];case 8:return _.sent(),t.error("".concat(o._id,"-[从oneDrive下载素材失败]:").concat(i.message),{objectName:"pepsico_material_approval",_id:o._id}),[3,9];case 9:return n=s.next(),[3,4];case 10:return[3,13];case 11:return c=_.sent(),p={error:c},[3,13];case 12:try{n&&!n.done&&(l=s.return)&&l.call(s)}finally{if(p)throw p.error}return[7];case 13:return[2]}})})},materialsRemoveShareLinkToOneDrive:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l;return a.__generator(this,function(_){switch(_.label){case 0:return[4,this.getLogger()];case 1:return t=_.sent(),[4,this.getObject("pepsico_material_approval").find({filters:[["current_step","=",["awaiting_deployment","conclusion"]],["materials_remove_share_link_from_onedrive_status","in",["pending","failed"]]],top:10,sort:"modified desc"})];case 2:r=_.sent(),console.log("定时任务[从oneDrive删除共享连接] count: "+r.length,{objectName:"pepsico_material_approval",count:r.length,approvals:u.map(r,function(e){return u.pick(e,["_id","materials_remove_share_link_from_onedrive_failed_count","current_step","materials_remove_share_link_from_onedrive_status"])})}),e.meta.user={userId:process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID},e.getObject=this.getObject,e.logger=t,_.label=3;case 3:_.trys.push([3,11,12,13]),s=a.__values(r),n=s.next(),_.label=4;case 4:if(n.done)return[3,10];if((o=n.value).materials_remove_share_link_from_onedrive_failed_count&&!(o.materials_remove_share_link_from_onedrive_failed_count<5))return[3,9];_.label=5;case 5:return _.trys.push([5,7,,9]),[4,this.deleteBulkDocOneDriveShareLink(e,o._id)];case 6:return _.sent(),[3,9];case 7:return i=_.sent(),[4,this.getObject("pepsico_material_approval").directUpdate(o._id,{materials_remove_share_link_from_onedrive_status:"failed",$inc:{materials_remove_share_link_from_onedrive_failed_count:1}})];case 8:return _.sent(),t.error("".concat(o._id,"-[从oneDrive删除共享连接失败]:").concat(i.message),{objectName:"pepsico_material_approval",_id:o._id}),[3,9];case 9:return n=s.next(),[3,4];case 10:return[3,13];case 11:return c=_.sent(),p={error:c},[3,13];case 12:try{n&&!n.done&&(l=s.return)&&l.call(s)}finally{if(p)throw p.error}return[7];case 13:return[2]}})})},sendDelayNotifications:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,this.getLogger()];case 1:return t=r.sent(),e.getObject=this.getObject,e.logger=t,[4,(0,i.sendDelayNotifications)(e,y)];case 2:return r.sent(),[2]}})})},processPostponeReviewNotifications:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,this.getLogger()];case 1:return t=r.sent(),e.getObject=this.getObject,e.logger=t,[4,(0,i.processPostponeReviewNotifications)(e,y)];case 2:return r.sent(),[2]}})})},processImageComparisons:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,this.getLogger()];case 1:return t=r.sent(),e.meta.user={userId:process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID},e.getObject=this.getObject,e.logger=t,[4,(0,p.processPendingImageComparisons)(e)];case 2:return r.sent(),[2]}})})},checkUserPasswordExpiration:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,this.getLogger()];case 1:return t=r.sent(),e.getObject=this.getObject,e.logger=t,[4,(0,l.checkUserPasswordExpiration)(e)];case 2:return r.sent(),[2]}})})},scanPLSFiles:{rest:{method:"GET",fullPath:"/api/pepsico-content/scan/pls"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return(t=e.meta.user)&&!t.is_space_admin?[2,{error:"没有权限"}]:[4,this.getLogger()];case 1:return r=a.sent(),e.getObject=this.getObject,e.logger=r,[4,(0,c.scanPLSFiles)(e)];case 2:return[2,{新增PLS记录数量:a.sent()}]}})})}},scanInactiveUsers:{rest:{method:"GET",fullPath:"/api/pepsico-content/scan/inactive-users"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l,_,u,d,v;return a.__generator(this,function(g){switch(g.label){case 0:return(t=e.meta.user)&&!t.is_space_admin?[2,{error:"没有权限"}]:[4,this.getLogger()];case 1:return r=g.sent(),e.getObject=this.getObject,e.logger=r,s=new Date,(n=new Date).setDate(s.getDate()-90),[4,b("users")];case 2:return o=g.sent(),[4,b("space_users")];case 3:return i=g.sent(),[4,o.updateMany({},{$set:{login_expired:!1}})];case 4:return g.sent(),[4,i.updateMany({},{$set:{login_expired:!1}})];case 5:return g.sent(),[4,o.find({$or:[{$and:[{last_logon:{$ne:null}},{last_logon:{$lt:n}}]},{$and:[{last_logon:null},{created:{$lt:n}}]}]}).toArray()];case 6:c=g.sent(),g.label=7;case 7:g.trys.push([7,13,14,15]),p=a.__values(c),l=p.next(),g.label=8;case 8:return l.done?[3,12]:(_=l.value,[4,this.getObject("users").directUpdate(_._id,{login_expired:!0})]);case 9:return g.sent(),[4,this.getObject("space_users").directUpdateMany(["user","=",_._id],{login_expired:!0})];case 10:g.sent(),g.label=11;case 11:return l=p.next(),[3,8];case 12:return[3,15];case 13:return u=g.sent(),d={error:u},[3,15];case 14:try{l&&!l.done&&(v=p.return)&&v.call(p)}finally{if(d)throw d.error}return[7];case 15:return[2,{新增90天未登录用户数量:c.length}]}})})}},getReportId:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o;return a.__generator(this,function(a){switch(a.label){case 0:return[4,this.getLogger()];case 1:return t=a.sent(),e.getObject=this.getObject,e.logger=t,r=h().subtract(1,"month").format("YYYY-MM"),[4,e.getObject("pepsico_spot_check_report").directFind({filters:["year_month","=",r]})];case 2:return a.sent().length>0?[2]:(s=h().get("date"),n=h().day(),[4,e.getObject("spaces").find({filters:[]})]);case 3:return o=a.sent(),s>=10&&0!=n&&6!=n?[4,e.getObject("pepsico_spot_check_report").directInsert({name:"Report-".concat(r),year_month:r,owner:o[0].owner,space:o[0]._id,created:new Date,modified:new Date,created_by:o[0].owner,modified_by:o[0].owner})]:[3,5];case 4:return[2,a.sent()._id];case 5:return[2]}})})},permanentDeleteMaterialFromSharePoint:{rest:{method:"POST",fullPath:"/api/pepsico-content/material/permanent-delete"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n;return a.__generator(this,function(a){switch(a.label){case 0:return(t=e.meta.user)&&!t.is_space_admin?[2,{error:"没有权限"}]:(e.getObject=this.getObject,r=e.params.id,[4,e.getObject("pepsico_material").findOne(r)]);case 1:if(!(s=a.sent()))return[2,{error:"无效的ID"}];a.label=2;case 2:return a.trys.push([2,6,,8]),[4,e.broker.call("content-version-bridge.material_permanentDeleteFromOneDrive",{material:s})];case 3:return a.sent(),[4,e.getObject("pepsico_material").directUpdate(s._id,{permanent_deleted:!0,permanent_deleted_date:new Date})];case 4:return a.sent(),[4,e.logger.info("[永久删除sharepoint素材]-".concat(s.pepsico_material_approval,"-").concat(s._id),{pepsico_material_approval:s.pepsico_material_approval,material:s._id})];case 5:return a.sent(),[3,8];case 6:return n=a.sent(),console.log("error",n),[4,e.logger.error("[永久删除sharepoint素材]-".concat(s.pepsico_material_approval,"-").concat(s._id),{pepsico_material_approval:s.pepsico_material_approval,material:s._id,error:n.message})];case 7:return a.sent(),[3,8];case 8:return[2,{}]}})})}},scanApprovalAndDeletedMaterialFromSharepoint:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l;return a.__generator(this,function(_){switch(_.label){case 0:return[4,this.getLogger()];case 1:return t=_.sent(),e.getObject=this.getObject,e.logger=t,r=h().subtract(3,"month").toDate(),[4,e.getObject("pepsico_material_approval").find({filters:[["permanent_deleted","!=",!0],["review_status","=","approved"],["current_step","=","conclusion"],["modified","<=",r]]})];case 2:s=_.sent(),_.label=3;case 3:_.trys.push([3,8,9,10]),n=a.__values(s),o=n.next(),_.label=4;case 4:return o.done?[3,7]:(i=o.value,[4,this.permanentlyDeleteApprovalAllMaterialFromSharePoint(e,i)]);case 5:_.sent(),_.label=6;case 6:return o=n.next(),[3,4];case 7:return[3,10];case 8:return c=_.sent(),p={error:c},[3,10];case 9:try{o&&!o.done&&(l=n.return)&&l.call(n)}finally{if(p)throw p.error}return[7];case 10:return[2]}})})},permanentlyDeleteApprovalAllMaterialFromSharePoint:{rest:{method:"POST",fullPath:"/api/pepsico-content/approval/permanent-delete"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n;return a.__generator(this,function(a){switch(a.label){case 0:return(t=e.meta.user)&&!t.is_space_admin?[2,{error:"没有权限"}]:[4,this.getLogger()];case 1:return r=a.sent(),e.getObject=this.getObject,e.logger=r,s=e.params.id,[4,e.getObject("pepsico_material_approval").findOne(s)];case 2:return(n=a.sent())?[4,this.permanentlyDeleteApprovalAllMaterialFromSharePoint(e,n)]:[2,{error:"无效的ID"}];case 3:return a.sent(),[2,{}]}})})}}}),events:{"pepsico_material_approval.mentioned":function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s;return a.__generator(this,function(a){switch(a.label){case 0:return t=e.params,r=t.recordId,s=t.userId,console.log("EVENT[pepsico_material_approval.mentioned]",r,s),r&&s?[4,this.getObject("pepsico_material_approval").directUpdate(r,{$addToSet:{person_view:s}})]:[3,2];case 1:a.sent(),a.label=2;case 2:return[2]}})})}},methods:a.__assign(a.__assign({},n),{permanentlyDeleteApprovalAllMaterialFromSharePoint:function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,s,o,i,c,p,l,_,u,d,v,g,m;return a.__generator(this,function(f){switch(f.label){case 0:return f.trys.push([0,24,,26]),[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t._id],["permanent_deleted","!=",!0],["extension_type","in",["doc","docx","ppt","pptx"]]]})];case 1:r=f.sent(),s=!0,f.label=2;case 2:f.trys.push([2,18,19,20]),o=a.__values(r),i=o.next(),f.label=3;case 3:if(i.done)return[3,17];if(!0===(c=i.value).download_from_onedrive)return[3,10];p=!1,l=5,_=1,f.label=4;case 4:return _<=l?[4,e.logger.info("[永久删除sharepoint素材]-".concat(t._id,"-").concat(c._id,"-尝试下载素材(第").concat(_,"次)"),{pepsico_material_approval:t._id,material:c._id,attempt:_})]:[3,8];case 5:return f.sent(),[4,n.downloadDocFromOneDriveDoc(e,c)];case 6:if(!0===f.sent())return p=!0,[3,8];f.label=7;case 7:return _++,[3,4];case 8:return p?[3,10]:(s=!1,[4,e.logger.error("[永久删除sharepoint素材]-".concat(t._id,"-").concat(c._id),{pepsico_material_approval:t._id,material:c._id,error:"尝试下载素材".concat(l,"次后仍然失败, 跳过删除.")})]);case 9:return f.sent(),[3,16];case 10:return f.trys.push([10,14,,16]),[4,e.broker.call("content-version-bridge.material_permanentDeleteFromOneDrive",{material:c})];case 11:return f.sent(),[4,e.getObject("pepsico_material").directUpdate(c._id,{permanent_deleted:!0,permanent_deleted_date:new Date})];case 12:return f.sent(),[4,e.logger.info("[永久删除sharepoint素材]-".concat(t._id,"-").concat(c._id),{pepsico_material_approval:t._id,material:c._id})];case 13:return f.sent(),[3,16];case 14:return u=f.sent(),s=!1,console.log("error",u),[4,e.logger.error("[永久删除sharepoint素材]-".concat(t._id,"-").concat(c._id),{pepsico_material_approval:t._id,material:c._id,error:u.message})];case 15:return f.sent(),[3,16];case 16:return i=o.next(),[3,3];case 17:return[3,20];case 18:return d=f.sent(),g={error:d},[3,20];case 19:try{i&&!i.done&&(m=o.return)&&m.call(o)}finally{if(g)throw g.error}return[7];case 20:return s?[4,e.getObject("pepsico_material_approval").directUpdate(t._id,{permanent_deleted:!0,permanent_deleted_date:new Date})]:[3,23];case 21:return f.sent(),[4,e.logger.info("[永久删除sharepoint素材]-".concat(t._id),{pepsico_material_approval:t._id})];case 22:f.sent(),f.label=23;case 23:return[3,26];case 24:return v=f.sent(),[4,e.logger.info("[永久删除sharepoint素材]-".concat(t._id),{pepsico_material_approval:t._id,error:v.message})];case 25:return f.sent(),[3,26];case 26:return[2]}})})}}),created:function(){return a.__awaiter(this,void 0,void 0,function(){return a.__generator(this,function(e){return[2]})})},started:function(){return a.__awaiter(this,void 0,void 0,function(){return a.__generator(this,function(e){return[2]})})},stopped:function(){return a.__awaiter(this,void 0,void 0,function(){return a.__generator(this,function(e){return[2]})})}}},8862:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DCO_TYPES=void 0;var a=r(7825);t.DCO_TYPES=a.split(process.env.CONTENT_DCO_TYPES||"MD-PO1-PO18")},8864:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.clickReportSpotEmail=t.sendMonthlySpotCheckReport=t.clickSpotEmail=t.spotCheckMaterial=void 0;var a=r(5584),s=r(7825),n=r(8862),o=r(7825),i=r(1057),c=r(8938),p=r(4716),l=function(e,t,r,s,n,o){return a.__awaiter(void 0,void 0,void 0,function(){var i;return a.__generator(this,function(a){switch(a.label){case 0:return[4,c.default.post("".concat(process.env.LOCAL_ROOT_URL||process.env.ROOT_URL,"/api/v6/email/send"),{from:e,to:t,cc:o,subject:r,text:s,html:n},{headers:{Authorization:"Bearer apikey,".concat(process.env.STEEDOS_API_KEY)}})];case 1:return i=a.sent(),console.log("sendEmail===>","".concat(process.env.LOCAL_ROOT_URL||process.env.ROOT_URL,"/api/v6/email/send"),{from:e,to:t.email,subject:r,text:s,html:n},{headers:{Authorization:"Bearer apikey,".concat(process.env.STEEDOS_API_KEY)}},i),[2,JSON.stringify(i.data)]}})})};t.spotCheckMaterial={rest:{method:"POST",fullPath:"/api/pepsico-content/material/spot-check/:mid"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,c,p,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R,C,x,U,N,M,L,F;return a.__generator(this,function(J){switch(J.label){case 0:return t=e.meta.user,r=e.params,c=r.mid,p=r.description,_=r.pepsico_spot_check_status,e.getObject=this.getObject,[4,this.getLogger()];case 1:return u=J.sent(),e.logger=u,c?[4,e.getObject("pepsico_material").findOne(c)]:[2,{status:500,msg:"无效的素材标识",data:{}}];case 2:return(d=J.sent())?[4,e.getObject("pepsico_material_spot_check_record").findOne({filters:[["pepsico_material","=",c],["spot_checker","=",t.userId]]})]:[2,{status:500,msg:"无效的素材标识",data:{}}];case 3:return J.sent()?[2,{status:500,msg:"您已经抽查过此素材, 请勿重复操作!",data:{}}]:[4,e.getObject("space_users").findOne({filters:["user","=",t.userId]})];case 4:return v=J.sent(),g=(null==v?void 0:v.organization)||"",[4,e.getObject("pepsico_material_spot_check_record").insert({pepsico_material:c,spot_checker:t.userId,spot_check_department:g,spot_check_time:new Date,spot_check_status:_,spot_check_opinion:p,space:d.space},t)];case 5:return J.sent(),[4,e.getObject("pepsico_material_spot_check_record").find({filters:["pepsico_material","=",c]})];case 6:return m=J.sent(),f=(0,s.uniq)(m.map(function(e){return e.spot_checker})),h=(0,s.uniq)((0,s.compact)(m.map(function(e){return e.spot_check_department}))),[4,e.getObject("pepsico_material").directUpdate(c,{spot_checked:!0,spot_check_time:new Date,pepsico_spot_check:t.userId,spot_description:p,pepsico_spot_check_status:_,spot_checkers:f,spot_check_departments:h,spot_check_overall_status:"checked"})];case 7:return J.sent(),[4,e.getObject("pepsico_material_approval").findOne(d.pepsico_material_approval)];case 8:return(b=J.sent())?!0===_&&o.includes(n.DCO_TYPES,b.classification)?[4,(0,i.sendByMaterial)(e,c)]:[3,10]:[2,{status:500,msg:"无效的素材审批标识",data:{}}];case 9:J.sent(),J.label=10;case 10:w=(0,s.uniq)((0,s.compact)([b.owner,b.created_by])),console.log("通知用户:",JSON.stringify(w)),J.label=11;case 11:J.trys.push([11,20,,21]),J.label=12;case 12:J.trys.push([12,17,18,19]),y=a.__values(w),O=y.next(),J.label=13;case 13:return O.done?[3,16]:(S=O.value,console.log("站内通知用户:",S),[4,e.broker.call("notifications.add",{message:{name:"素材抽检结果通知: ".concat(d.name),body:"请点击素材进行查看",related_to:{o:"pepsico_material_approval",ids:[b._id]},related_name:b.name,from:t.userId,space:b.space},from:t.userId,to:S})]);case 14:J.sent(),J.label=15;case 15:return O=y.next(),[3,13];case 16:return[3,19];case 17:return j=J.sent(),N={error:j},[3,19];case 18:try{O&&!O.done&&(M=y.return)&&M.call(y)}finally{if(N)throw N.error}return[7];case 19:return[3,21];case 20:return A=J.sent(),console.log(A),[3,21];case 21:return J.trys.push([21,33,,34]),[4,e.getObject("space_users").find({filters:["user","in",w]})];case 22:P=J.sent(),D="【系统通知】素材抽检结果通知",J.label=23;case 23:J.trys.push([23,30,31,32]),I=a.__values(P),k=I.next(),J.label=24;case 24:return k.done?[3,29]:(E=k.value,[4,e.getObject("pepsico_mail_send_log")._makeNewID()]);case 25:return T=J.sent(),R='\n <p>您提交的素材已经被抽查。请点击下面的链接登录系统查看抽查意见:</p>\n <a href="'.concat(process.env.ROOT_URL,"/api/pepsico-content/material/click/spot-check/").concat(c,"/").concat(T,'">').concat(b.name,":").concat(d.name,"</a>\n "),[4,l(process.env.B6_EMAIL_FROM,E.email,D,"",R,"")];case 26:return C=J.sent(),[4,e.getObject("pepsico_mail_send_log").insert({_id:T,name:D,created:new Date,content:R,type:"素材抽查",to:[E.user],pepsico_material:d._id,result:C,space:d.space},t)];case 27:J.sent(),J.label=28;case 28:return k=I.next(),[3,24];case 29:return[3,32];case 30:return x=J.sent(),L={error:x},[3,32];case 31:try{k&&!k.done&&(F=I.return)&&F.call(I)}finally{if(L)throw L.error}return[7];case 32:return[3,34];case 33:return U=J.sent(),console.log(U),null==u||u.error("[素材抽查]-".concat(c),{error:U.message}),[3,34];case 34:return[2,{status:0,data:{}}]}})})}},t.clickSpotEmail={rest:{method:"GET",authorization:!1,fullPath:"/api/pepsico-content/material/click/spot-check/:mid/:lid"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c;return a.__generator(this,function(a){switch(a.label){case 0:return t=e.meta.user,r=e.params,s=r.mid,n=r.lid,t?(e.getObject=this.getObject,[4,this.getLogger()]):(e.meta.$statusCode=302,e.meta.$location="/accounts/a/#/login?redirect_uri="+encodeURIComponent("/api/pepsico-content/material/click/spot-check/".concat(s,"/").concat(n)),[2]);case 1:return o=a.sent(),e.logger=o,s?[4,e.getObject("pepsico_material").findOne(s)]:[2,{status:500,msg:"无效的素材标识",data:{}}];case 2:return(i=a.sent())?[4,e.getObject("pepsico_material_approval").findOne(i.pepsico_material_approval)]:[2,{status:500,msg:"无效的素材标识",data:{}}];case 3:return(c=a.sent())?[4,e.getObject("pepsico_mail_visit_log").insert({owner:t.userId,created:new Date,type:"素材抽查",pepsico_material_approval:i.pepsico_material_approval,pepsico_material:i._id,pepsico_mail_send_log:n,space:i.space},t)]:[2,{status:500,msg:"无效的素材审批标识",data:{}}];case 4:return a.sent(),e.meta.$statusCode=302,e.meta.$location="/app/pepsico_content_review/pepsico_material_approval/view/".concat(c._id,"?side_object=pepsico_material_approval"),[2]}})})}},t.sendMonthlySpotCheckReport={rest:{method:"GET",fullPath:"/api/pepsico-content/material/send-report/spot-check/:rid"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,i,c,_,u,d,v,g,m,f,h,b,w,y,O;return a.__generator(this,function(S){switch(S.label){case 0:return t=e.meta.user,r=e.params.rid,e.getObject=this.getObject,[4,this.getLogger()];case 1:return s=S.sent(),e.logger=s,[4,e.getObject("pepsico_spot_check_report").findOne(r)];case 2:if(!(n=S.sent()))throw new Error("无效的id");return i=n.year_month,c=i.split("-"),_=function(e,t){if("number"!=typeof e||"number"!=typeof t)throw new Error("年份和月份必须是数字");if(t<1||t>12)throw new Error("月份必须在1-12之间");var r=p([e,t-1]);if(!r.isValid())throw new Error("无效的年份或月份");return{monthStart:r.startOf("month").toDate(),monthEnd:r.endOf("month").toDate()}}(Number(c[0]),Number(c[1])),u=_.monthStart,d=_.monthEnd,v=[{label:"乐事",value:"16541517620111040"},{label:"奇多",value:"1654151762046893"},{label:"Doritos/多力多滋",value:"16541517620141606"},{label:"Popcorners",value:"166686519900"},{label:"一口阳光",value:"1654151762018542"},{label:"妙脆角",value:"165788230400"},{label:"桂格",value:"16541517620103133"},{label:"百事食品",value:"1654151762014792"}],[4,e.getObject("pepsico_brand_leader").directFind({filters:[]})];case 3:g=S.sent(),m=function(s){var c,p,_,g,m,f,h,b,w;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material").directFind({filters:[["spot_checked","=",!0],["product","=",s.name],["classification","=",s.classification],["spot_check_time",">=",u],["spot_check_time","<=",d]]})];case 1:return a.sent().length>0?(c="【系统通知】".concat(s.remark,"月度抽查报告[").concat(i,"]"),p=o.find(v,function(e){return e.value===s.name}),s?[4,e.getObject("pepsico_mail_send_log")._makeNewID()]:[3,13]):[3,13];case 2:if(_=a.sent(),g="\n <p>亲爱的用户,</p>\n <p>本月".concat(p.label,"抽查素材报告已生成。 请点击下面链接查看").concat(p.label,'月度抽查报告,建议分享给团队成员进行学习。</p>\n <a href="').concat(process.env.ROOT_URL,"/api/pepsico-content/material/click/spot-report/").concat(r,"/").concat(_,'">').concat(s.remark,":").concat(i,"</a>\n <p>有任何疑问,请联系系统管理员。</p>\n <p>谢谢!</p>\n "),m=[],!s.to)return[3,6];a.label=3;case 3:return a.trys.push([3,5,,6]),[4,e.getObject("space_users").find({filters:["user","in",s.to]})];case 4:return m=a.sent(),[3,6];case 5:return f=a.sent(),console.log(f),[3,6];case 6:if(h=[],!s.cc)return[3,10];a.label=7;case 7:return a.trys.push([7,9,,10]),[4,e.getObject("space_users").find({filters:["user","in",s.cc]})];case 8:return h=a.sent(),[3,10];case 9:return b=a.sent(),console.log(b),[3,10];case 10:return[4,l(process.env.B6_EMAIL_FROM,o.join(o.map(m,"email"),";"),c,"",g,o.join(o.map(h,"email"),";"))];case 11:return w=a.sent(),[4,e.getObject("pepsico_mail_send_log").insert({_id:_,name:c,created:new Date,content:g,type:"月度抽查报告",to:s.to,cc:s.cc,product:p.value,classification:s.classification,pepsico_spot_check_report:r,result:w,space:n.space},t)];case 12:a.sent(),a.label=13;case 13:return[2]}})},S.label=4;case 4:S.trys.push([4,9,10,11]),f=a.__values(g),h=f.next(),S.label=5;case 5:return h.done?[3,8]:(b=h.value,[5,m(b)]);case 6:S.sent(),S.label=7;case 7:return h=f.next(),[3,5];case 8:return[3,11];case 9:return w=S.sent(),y={error:w},[3,11];case 10:try{h&&!h.done&&(O=f.return)&&O.call(f)}finally{if(y)throw y.error}return[7];case 11:return[4,e.getObject("pepsico_spot_check_report").directUpdate(r,{mail_send:!0,mail_send_date:new Date})];case 12:return S.sent(),[2]}})})}},t.clickReportSpotEmail={rest:{method:"GET",authorization:!1,fullPath:"/api/pepsico-content/material/click/spot-report/:rid/:lid"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return t=e.meta.user,r=e.params,s=r.rid,n=r.lid,t?(e.getObject=this.getObject,[4,this.getLogger()]):(e.meta.$statusCode=302,e.meta.$location="/accounts/a/#/login?redirect_uri="+encodeURIComponent("/api/pepsico-content/material/click/spot-report/".concat(s,"/").concat(n)),[2]);case 1:return o=a.sent(),e.logger=o,s?[4,e.getObject("pepsico_spot_check_report").findOne(s)]:[2,{status:500,msg:"无效的标识",data:{}}];case 2:return(i=a.sent())?[4,e.getObject("pepsico_mail_visit_log").insert({owner:t.userId,created:new Date,type:"月度抽查报告",pepsico_mail_send_log:n,space:i.space},t)]:[2,{status:500,msg:"无效的标识",data:{}}];case 3:return a.sent(),e.meta.$statusCode=302,e.meta.$location="/app/pepsico_content_review/page/pepsico_spot_check_report?rid=".concat(s,"&lid=").concat(n),[2]}})})}}},8938:e=>{e.exports=require("axios")},9082:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.dashboardSyncData=void 0;var a=r(5584);t.dashboardSyncData={rest:{method:"GET",fullPath:"/api/pepsico-content/dashboard/sync-data"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return[4,this.getLogger()];case 1:return t=a.sent(),e.logger=t,e.getObject=this.getObject,[4,this.dashboardSyncData(e)];case 2:return r=a.sent(),console.log("dashboardSyncData",r),[2,r]}})})}}},9435:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateReviewCompletedDate=void 0;var a=r(5584),s=r(8160);function n(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,(t=s.getDataSource("default").adapter).connect()];case 1:return r.sent(),[2,t.collection(e)]}})})}t.migrateReviewCompletedDate={rest:{method:"GET",fullPath:"/api/pepsico-content/migrate-review-completed-date"},handler:function(e){var t;return a.__awaiter(this,void 0,void 0,function(){var r,s,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O;return a.__generator(this,function(S){switch(S.label){case 0:return r=e.meta.user,e.getObject=this.getObject,[4,this.getLogger()];case 1:if(s=S.sent(),e.logger=s,!r||!r.is_space_admin)return[2,{status:403,msg:"只有管理员可以执行数据迁移",data:{}}];S.label=2;case 2:return S.trys.push([2,20,,21]),[4,n("pepsico_material_approval")];case 3:return o=S.sent(),[4,n("pepsico_approval_process")];case 4:return i=S.sent(),[4,n("pepsico_material")];case 5:return c=S.sent(),[4,o.find({current_step:{$in:["awaiting_deployment","conclusion"]},$or:[{review_completed_date:{$exists:!1}},{review_completed_date:null}]},{projection:{_id:1}}).toArray()];case 6:p=S.sent(),null==s||s.info("[migrateReviewCompletedDate] 待更新审批单数: ".concat(p.length)),l=0,_=0,u=[],S.label=7;case 7:S.trys.push([7,17,18,19]),d=a.__values(p),v=d.next(),S.label=8;case 8:return v.done?[3,16]:(g=v.value,[4,i.findOne({pepsico_material_approval:g._id,current_step:"awaiting_deployment"},{projection:{created:1}})]);case 9:return(m=S.sent())&&m.created?[3,11]:[4,i.findOne({pepsico_material_approval:g._id,current_step:"conclusion"},{projection:{created:1}})];case 10:m=S.sent(),S.label=11;case 11:return m&&m.created?[4,o.updateOne({_id:g._id},{$set:{review_completed_date:m.created}})]:[3,14];case 12:return S.sent(),[4,c.updateMany({pepsico_material_approval:g._id},{$set:{review_completed_date:m.created}})];case 13:return f=S.sent(),_+=f.matchedCount||(null===(t=f.result)||void 0===t?void 0:t.n)||0,l++,[3,15];case 14:u.push(g._id),S.label=15;case 15:return v=d.next(),[3,8];case 16:return[3,19];case 17:return h=S.sent(),y={error:h},[3,19];case 18:try{v&&!v.done&&(O=d.return)&&O.call(d)}finally{if(y)throw y.error}return[7];case 19:return b={approvalTotal:p.length,approvalUpdated:l,approvalSkipped:u.length,skippedIds:u,materialUpdated:_},null==s||s.info("[migrateReviewCompletedDate] 迁移完成",b),[2,{status:0,msg:"迁移完成",data:b}];case 20:return w=S.sent(),null==s||s.error("[migrateReviewCompletedDate] 迁移失败",w),[2,{status:500,msg:"迁移失败: ".concat(w.message),data:{}}];case 21:return[2]}})})}}},9536:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submitKids=void 0;var a=r(5584);t.submitKids={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/kids/submit/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.submitKidsContent(e,e.params.recordId,e.params.approvalStatus)];case 2:return r.sent(),[2,{}]}})})}}},9861:e=>{e.exports=require("moleculer-cron")}},t={},r=function r(a){var s=t[a];if(void 0!==s)return s.exports;var n=t[a]={exports:{}};return e[a](n,n.exports,r),n.exports}(8509);module.exports=r})();
|
|
1
|
+
(()=>{"use strict";var e={164:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.initUrgentQuota=void 0;var a=r(5584);t.initUrgentQuota={rest:{method:"POST",fullPath:"/api/pepsico-content/urgent-quota/init"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w;return a.__generator(this,function(y){switch(y.label){case 0:if(e.getObject=this.getObject,t=e.meta.user,!(r=null==t?void 0:t.spaceId))throw new Error("无法获取当前工作区");if(s=e.params,n=s.year,o=s.h1_used,i=s.h2_used,!n||"number"!=typeof n)throw new Error("请指定有效的年份");return c="number"==typeof o?o:0,p="number"==typeof i?i:0,[4,e.getObject("pepsico_material_approval").directFind({filters:[["space","=",r]],fields:["owner"]})];case 1:if(l=y.sent(),0===(_=a.__spreadArray([],a.__read(new Set(l.map(function(e){return e.owner}).filter(Boolean))),!1)).length)return[2,{message:"未找到任何审批发起人",created:0,updated:0}];u=0,d=0,y.label=2;case 2:y.trys.push([2,10,11,12]),v=a.__values(_),g=v.next(),y.label=3;case 3:return g.done?[3,9]:(m=g.value,[4,e.getObject("pepsico_urgent_quota").findOne({filters:[["user","=",m],["space","=",r],["year","=",n]]})]);case 4:return(f=y.sent())?[4,e.getObject("pepsico_urgent_quota").directUpdate(f._id,{h1_used:c,h2_used:p})]:[3,6];case 5:return y.sent(),d++,[3,8];case 6:return[4,e.getObject("pepsico_urgent_quota").insert({user:m,space:r,year:n,h1_used:c,h2_used:p})];case 7:y.sent(),u++,y.label=8;case 8:return g=v.next(),[3,3];case 9:return[3,12];case 10:return h=y.sent(),b={error:h},[3,12];case 11:try{g&&!g.done&&(w=v.return)&&w.call(v)}finally{if(b)throw b.error}return[7];case 12:return[2,{message:"初始化完成:".concat(u," 条新建,").concat(d," 条更新"),created:u,updated:d,total:_.length}]}})})}}},256:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(5584);a.__exportStar(r(5510),t),a.__exportStar(r(2143),t),a.__exportStar(r(751),t),a.__exportStar(r(4809),t),a.__exportStar(r(4665),t),a.__exportStar(r(2777),t),a.__exportStar(r(6903),t)},298:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addBulkMaterials=void 0;var a=r(5584),s=r(7825);t.addBulkMaterials={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/material/add"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,n,o,i,c,p;return a.__generator(this,function(l){switch(l.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=l.sent(),e.logger=t,[4,e.getObject("cfs_files_filerecord").find({filters:["_id","=",e.params.files]})];case 2:r=l.sent();try{for(n=a.__values(r),o=n.next();!o.done;o=n.next())if(i=o.value,s.includes(i.original.name,"版权"))return[2,{status:"500",msg:"上传素材中包含“版权”文件,请删除版权文件后再次提交。",data:{}}]}catch(e){c={error:e}}finally{try{o&&!o.done&&(p=n.return)&&p.call(n)}finally{if(c)throw c.error}}return[4,this.addBulkMaterials(e,e.params.approvalId,e.params.files)];case 3:return l.sent(),[3,5];case 4:if(!l.sent())return[2,{status:"500",msg:"素材上传失败, 请稍后重试",data:{}}];l.label=5;case 5:return[2,{}]}})})}}},751:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.dashboardSyncData=void 0;var a=r(5584),s=r(7825),n=r(4716),o=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return r=s.split(t,"-"),[4,e.getObject("picklists").find({filters:["code","=","223321001114213"]})];case 1:return n=a.sent(),r.length>0&&n.length>0?[4,e.getObject("picklist_options").find({filters:[["picklist","=",n[0]._id],["value","=",s.first(r)]]})]:[3,3];case 2:return o=a.sent(),i=[],s.each(r,function(e){var t=s.find(o,{value:e});t&&i.push(t.name)}),[2,s.join(i,"-")];case 3:return[2,""]}})})},i=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["approved","!=","progess"],["current_step","=","submitter_revisions"]]})];case 1:return[2,r.sent().length>0]}})})},c=function(e){return 0==e?null:1===e?"v1":e>1?"v3":void 0},p=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["approved","in",["approved","rejected","submit"]],["type","in",["NS","Legal","SRA","CA","Kids","guding"]]]})];case 1:return r=a.sent(),[2,{NS:c(s.size(s.filter(r,{type:"NS"}))),Legal:c(s.size(s.filter(r,{type:"Legal"}))),SRA:c(s.size(s.filter(r,{type:"SRA"}))),CA:c(s.size(s.filter(r,{type:"CA"}))),Kids:c(s.size(s.filter(r,{type:"Kids"}))),guding:c(s.size(s.filter(r,{type:"guding"})))}]}})})},l=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n,o;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("picklists").find({filters:["code","=","classification"]})];case 1:return r=a.sent(),n=s.split(t,"-"),t&&r.length>0?[4,e.getObject("picklist_options").find({filters:[["picklist","=",r[0]._id],["value","=",s.last(n)]]})]:[3,3];case 2:return[2,(o=a.sent()).length>0?o[0].name:""];case 3:return[2]}})})},_=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["current_step","=","awaiting_deployment"]]})];case 1:return[2,(r=a.sent()).length>0?r[0].created:null]}})})},u=!1;t.dashboardSyncData=function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,r,c,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R,C,x,U,N;return a.__generator(this,function(M){switch(M.label){case 0:if(!0===u)throw new Error("同步中, 请勿重复调用...");u=!0,t={success:0,fail:0},M.label=1;case 1:return M.trys.push([1,30,,32]),r=[["current_step","in",["conclusion","awaiting_deployment"]],["synced","!=",!0],["is_skip_approver","!=",!0]],[4,e.getObject("pepsico_material_approval").directFind({filters:r})];case 2:if(!((c=M.sent()).length>0))return[3,29];M.label=3;case 3:M.trys.push([3,27,28,29]),d=a.__values(c),v=d.next(),M.label=4;case 4:if(v.done)return[3,26];g=v.value,M.label=5;case 5:return M.trys.push([5,23,,25]),[4,o(e,g.product)];case 6:return m=M.sent(),[4,l(e,g.classification)];case 7:return f=M.sent(),[4,e.getObject("organizations").findOne(g.owner_department)];case 8:return h=M.sent(),[4,i(e,g._id)];case 9:return b=M.sent(),[4,p(e,g._id)];case 10:return w=M.sent(),[4,_(e,g._id)];case 11:return y=M.sent(),O="","发起人中止"===g.termination_type?O="v1":"审批人中止"===g.termination_type&&(O="v2"),S=b?"v2":"v1",O&&(S=""),[4,e.getObject("pepsico_material_approval_data").directInsert({name:g.name,pepsico_material_approval:g._id,approve_users:g.person_approved,current_step:g.current_step,material_approve_org:"personnel_review"==g.approval_type?"guding":"four",peoduct:m,classify:f,flow_pass_times:S,approve_status:"terminated"===g.review_status?"v3":"v2",termination:O||null,type:g.internal_collaborator?"外部":"内部",submit_org:(null==h?void 0:h.name)||null,submit_time:g.draft_submitted||null,approve_finish_time:y||null,end_time:g.termination_date||null,review_time:y&&g.draft_submitted?parseFloat(n.duration(n(y).diff(g.draft_submitted)).asHours().toFixed(2)):null,ca_pass:g.ca_approval_status||null,ca_approve_times:w.CA||null,legal_pass:g.legal_approval_status||null,approve_org:w.Legal||null,sra_pass:g.sra_approval_status||null,sra_approve_times:w.SRA||null,ns_pass:g.ns_approval_status||null,ns_approve_times:w.NS||null,guding_pass:"approved"==g.approval_status||g.approval_status||null,guding_approve_times:w.guding||null,kids:g.kids_approval_status||null,kids_approve_times:w.Kids||null,owner:g.owner,space:g.space,created:new Date,modified:new Date})];case 12:return j=M.sent(),O?[3,21]:[4,e.getObject("pepsico_material").directFind({filters:[["pepsico_material_approval","=",g._id]]})];case 13:if(!((A=M.sent()).length>0))return[3,21];M.label=14;case 14:M.trys.push([14,19,20,21]),U=void 0,P=a.__values(A),D=P.next(),M.label=15;case 15:return D.done?[3,18]:(I=D.value,[4,e.getObject("pepsico_material_data").directInsert({pepsico_material_approval:g._id,approve_users:g.person_approved,classify:f,material_void:I.void_material||!1,material_type:(L=I.extension_type,s.includes(["jpg","jpeg","png","gif","bmp","tiff","tif","svg","webp","ico","heif","heic"],L)?"v1":s.includes(["mp4","avi","mov","wmv","flv","mkv","webm","mpeg","mpg","3gp","m4v","qt"],L)?"v2":s.includes(["ppt","pptx"],L)?"v3":s.includes(["doc","docx"],L)?"v4":L),brand:m,submit_org:null==h?void 0:h.name,submit_time:g.draft_submitted,name:I.name,material_approve_org:"personnel_review"==g.approval_type?"v2":"v1",ns_pass:I.ns_approval_status||null,legal_pass:I.legal_approval_status||null,ca_pass:I.ca_approval_status||null,sra_pass:I.sra_approval_status||null,guding_pass:I.approval_status||null,kids_pass:I.kids_approval_status||null,pepsico_material_approval_data:j._id,pepsico_material:I._id,owner:g.owner,space:g.space,created:new Date,modified:new Date})]);case 16:M.sent(),M.label=17;case 17:return D=P.next(),[3,15];case 18:return[3,21];case 19:return k=M.sent(),U={error:k},[3,21];case 20:try{D&&!D.done&&(N=P.return)&&N.call(P)}finally{if(U)throw U.error}return[7];case 21:return[4,e.getObject("pepsico_material_approval").directUpdate(g._id,{synced:!0})];case 22:return M.sent(),t.success++,[3,25];case 23:return E=M.sent(),[4,e.logger.error("[Dashboard同步Data]",{pepsico_material_approval:g._id,error:E.message})];case 24:return M.sent(),t.fail++,[3,25];case 25:return v=d.next(),[3,4];case 26:return[3,29];case 27:return T=M.sent(),C={error:T},[3,29];case 28:try{v&&!v.done&&(x=d.return)&&x.call(d)}finally{if(C)throw C.error}return[7];case 29:return u=!1,[2,t];case 30:return R=M.sent(),u=!1,console.log("[Dashboard同步Data]",{error:R.message}),[4,e.logger.error("[Dashboard同步Data]",{error:R.message})];case 31:return M.sent(),[3,32];case 32:return[2]}var L})})}},904:e=>{e.exports=require("mime-types")},1057:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendByMaterial=t.inventoryApprovalMaterial=void 0;var a=r(5584),s=r(8938),n=r(7825),o=r(904),i=r(8862),c=r(7825),p=r(6293),l=process.env.PEPSICO_CONTENT_HUB_WORKSPACE_ID,_=process.env.PEPSICO_CONTENT_HUB_APP_ID,u=process.env.PEPSICO_CONTENT_HUB_APP_SECRET,d=process.env.PEPSICO_CONTENT_HUB_BASE_URL,v=function(e){var t=e.map(function(e){var t=e.split("-");return(0,n.last)(t)}).filter(function(e){return null!==e});return(0,n.compact)(t)};t.inventoryApprovalMaterial=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R,C,x,U,N,M,L,F,J,$,q,B,Y,z;return a.__generator(this,function(K){switch(K.label){case 0:g=[],K.label=1;case 1:return K.trys.push([1,15,,17]),[4,e.getObject("pepsico_material_approval").findOne(t)];case 2:if(!(m=K.sent()))throw new Error("无效的approvalId:"+t);return m.is_skip_approver&&!c.includes(i.DCO_TYPES,m.classification)?[2,{msg:"不需要推送到Content Hub"}]:(f=process.env.PEPSICO_CONTENT_HUB_TEST_OWNER||m.material_owner,h=function(e){var t=[];return t.push({tagId:"223321001114213",tagValIdList:v((0,n.concat)([],e.product||[]))}),t.push({tagId:"223321001114944",tagValIdList:v((0,n.concat)([],e.available_channels||[]))}),t.push({tagId:"223321001114222",tagValIdList:v((0,n.concat)([],e.material_type||[]))}),t.push({tagId:"223321022150011",tagValIdList:v((0,n.concat)([],e.content_rule||[]))}),t.push({tagId:"223321018147010",value:e.expiry_date?p(e.expiry_date).format("YYYY-MM-DD"):""}),t.push({tagId:"22334050712759158",value:e.effective_date?p(e.effective_date).format("YYYY-MM-DD"):""}),t}(m),b=[],w=[["pepsico_material_approval","=",t],["void_material","!=",!0]],r&&w.push(["_id","=",r]),[4,e.getObject("pepsico_material").find({filters:w})]);case 3:y=K.sent(),K.label=4;case 4:K.trys.push([4,9,10,11]),O=a.__values(y),S=O.next(),K.label=5;case 5:return S.done?[3,8]:(j=S.value,A=null===(q=j.extension_type)||void 0===q?void 0:q.toLowerCase(),P=!1,"jpg"!==A&&"jpeg"!==A&&"png"!==A&&"gif"!==A&&"bmp"!==A&&"tiff"!==A&&"tif"!==A&&"svg"!==A&&"webp"!==A&&"ico"!==A&&"heif"!==A&&"heic"!==A&&"psd"!==A||(P=!0),"mp4"!==A&&"avi"!==A&&"mov"!==A&&"wmv"!==A&&"flv"!==A&&"mkv"!==A&&"webm"!==A&&"mpeg"!==A&&"mpg"!==A&&"3gp"!==A&&"m4v"!==A&&"qt"!==A||(P=!0),P&&g.push({workspaceId:+l,name:j.name,owner:f,url:"".concat(process.env.ROOT_URL,"/api/files/files/").concat(j.material,"?download=true"),materialGroupIdList:b,tagList:h}),j.supplement_materials&&!1===(0,n.isEmpty)(j.supplement_materials)&&(0,n.isArray)(j.supplement_materials)?[4,e.getObject("cfs_files_filerecord").find({filters:["_id","in",j.supplement_materials]})]:[3,7]);case 6:D=K.sent();try{for(J=void 0,I=a.__values(D),k=I.next();!k.done;k=I.next()){E=k.value;try{T=null===(B=(0,o.extension)(E.original.type))||void 0===B?void 0:B.toLowerCase(),R=!1,"jpg"!==T&&"jpeg"!==T&&"png"!==T&&"gif"!==T&&"bmp"!==T&&"tiff"!==T&&"tif"!==T&&"svg"!==T&&"webp"!==T&&"ico"!==T&&"heif"!==T&&"heic"!==T&&"psd"!==T||(R=!0),"mp4"!==T&&"avi"!==T&&"mov"!==T&&"wmv"!==T&&"flv"!==T&&"mkv"!==T&&"webm"!==T&&"mpeg"!==T&&"mpg"!==T&&"3gp"!==T&&"m4v"!==T&&"qt"!==T||(R=!0),R&&g.push({workspaceId:+l,name:E.original.name,owner:f,url:"".concat(process.env.ROOT_URL,"/api/files/files/").concat(E._id,"?download=true"),materialGroupIdList:b,tagList:h})}catch(e){console.log(e)}}}catch(e){J={error:e}}finally{try{k&&!k.done&&($=I.return)&&$.call(I)}finally{if(J)throw J.error}}K.label=7;case 7:return S=O.next(),[3,5];case 8:return[3,11];case 9:return C=K.sent(),L={error:C},[3,11];case 10:try{S&&!S.done&&(F=O.return)&&F.call(O)}finally{if(L)throw L.error}return[7];case 11:return[4,a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(e){switch(e.label){case 0:return[4,s.default.post("".concat(d,"/creativeSaas/auth/v1/tenantAccessToken/internal"),{appId:_,appSecret:u})];case 1:return[2,e.sent().data.data.tenantAccessToken]}})})];case 12:return x=K.sent(),[4,s.default.post("".concat(d,"/creativeSaas/v1/material/inbound_url"),{requestId:t,materialList:g},{headers:{"tenant-access-token":x}})];case 13:return U=K.sent(),N=U.data,[4,null===(Y=e.logger)||void 0===Y?void 0:Y.info("[调用 content hub API]-".concat(t),{result:N,materialList:g})];case 14:return K.sent(),[2,N];case 15:return M=K.sent(),[4,null===(z=e.logger)||void 0===z?void 0:z.error("[调用 content hub API]-".concat(t),{error:M.message,materialList:g})];case 16:return K.sent(),[2,M.message];case 17:return[2]}})})},t.sendByMaterial=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material").findOne(r)];case 1:return s=a.sent(),[4,(0,t.inventoryApprovalMaterial)(e,s.pepsico_material_approval,r)];case 2:return[2,a.sent()]}})})}},1401:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getReviewerAgentsInfo=void 0;var a=r(5584),s=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return s=new Date,[4,e.getObject("process_delegation_rules").find({filters:[["space","=",t],["from","=",r],["enabled","=",!0],["start_time","<=",s],["end_time",">=",s]],top:1,sort:"modified desc"})];case 1:return n=a.sent(),o=n.length>0?null===(i=n[0])||void 0===i?void 0:i.to:null,console.log("getAgent",o,JSON.stringify({filters:[["space","=",t],["from","=",r],["enabled","=",!0],["start_time","<=",s],["end_time",">=",s]],top:1,sort:"modified desc"})),[2,o]}})})};t.getReviewerAgentsInfo=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,o,i,c,p,l,_,u;return a.__generator(this,function(d){switch(d.label){case 0:n={userIds:[],clientUserIds:[]},d.label=1;case 1:d.trys.push([1,6,7,8]),o=a.__values(r),i=o.next(),d.label=2;case 2:return i.done?[3,5]:(c=i.value,[4,s(e,t,c)]);case 3:p=d.sent(),n.userIds.push(p||c),n.clientUserIds.push(c),d.label=4;case 4:return i=o.next(),[3,2];case 5:return[3,8];case 6:return l=d.sent(),_={error:l},[3,8];case 7:try{i&&!i.done&&(u=o.return)&&u.call(o)}finally{if(_)throw _.error}return[7];case 8:return console.log("getReviewerAgentsInfo:",r,n),[2,n]}})})}},1826:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendToContentHub=void 0;var a=r(5584),s=r(1057);t.sendToContentHub={rest:{method:"GET",fullPath:"/api/pepsico-content/send/content-hub/:approverId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:if(!e.meta.user.is_space_admin)throw new Error("无权限!");if(!(t=e.params.approverId))throw new Error("请传入参数approverId");return[4,this.getLogger()];case 1:return r=a.sent(),e.logger=r,e.getObject=this.getObject,[4,(0,s.inventoryApprovalMaterial)(e,t)];case 2:return[2,a.sent()]}})})}}},1959:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.postponeReview=void 0;var a=r(5584);t.postponeReview={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/postpone-review/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.postponeReview.call(this,e,e.params.recordId,e.params)];case 2:return r.sent(),[2,{}]}})})}}},2045:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(5584);a.__exportStar(r(7065),t),a.__exportStar(r(4754),t),a.__exportStar(r(298),t),a.__exportStar(r(5256),t),a.__exportStar(r(3222),t),a.__exportStar(r(5264),t),a.__exportStar(r(9536),t),a.__exportStar(r(3180),t),a.__exportStar(r(3334),t),a.__exportStar(r(4727),t),a.__exportStar(r(4932),t),a.__exportStar(r(2458),t),a.__exportStar(r(8152),t),a.__exportStar(r(9082),t),a.__exportStar(r(1826),t),a.__exportStar(r(8864),t),a.__exportStar(r(6074),t),a.__exportStar(r(2418),t),a.__exportStar(r(4676),t),a.__exportStar(r(2189),t),a.__exportStar(r(9435),t),a.__exportStar(r(7815),t),a.__exportStar(r(6586),t),a.__exportStar(r(1959),t),a.__exportStar(r(2563),t),a.__exportStar(r(164),t)},2143:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.downloadDocFromOneDriveDoc=t.downloadBulkFromOneDriveDoc=t.deleteDocOneDriveShareLink=t.deleteBulkDocOneDriveShareLink=t.uploadBulkDocToOneDrive=t.getOneDriveMaterials=t.getPendingUploadsToOneDriveMaterials=t.uploadDocToOneDrive=t.getUserReviewedAllMaterialsStatus=t.getApproverFieldByType=t.getApproverField=t.submitMaterial=t.addBulkMaterials=t.hasDuplicateMaterials=void 0;var a=r(5584),s=r(8398),n=r(7825),o=r(904),i=r(8862);t.hasDuplicateMaterials=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,s,o;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material").directFind({filters:[["pepsico_material_approval","=",t],["void_material","!=",!0],["is_bypassed","!=",!0]],fields:["_id","material","md5"]})];case 1:return r=a.sent(),(s=n.compact(n.map(r,"md5"))).length!==n.uniq(s).length?[2,!0]:[4,e.getObject("pepsico_material").directFind({filters:["md5","=",s],fields:["_id"]})];case 2:return o=a.sent(),[2,s.length<o.length]}})})},t.addBulkMaterials=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S;return a.__generator(this,function(j){switch(j.label){case 0:return c=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if(p=j.sent(),c.userId!=p.owner)throw new Error("只有创建者才能添加素材");if(l=p.materials_quantity||0,_=n.includes(i.DCO_TYPES,p.classification)?300:50,l>=_)throw new Error("素材数量:最多".concat(_,"个"));if(l+r.length>_)throw new Error("素材数量:最多".concat(_,"个. 您本次添加了").concat(r.length,"个素材"));return u=n.includes(i.DCO_TYPES,p.classification)?10737418240:1073741824,[4,e.getObject("pepsico_material").find({filters:["pepsico_material_approval","=",p._id],fields:["material"]})];case 2:return d=j.sent(),v=n.concat(r,n.map(d,"material")),[4,e.getObject("cfs_files_filerecord").aggregate({},[{$match:{_id:{$in:v}}},{$group:{_id:null,totalSize:{$sum:"$copies.files.size"}}}])];case 3:if(g=j.sent(),((null===(S=g[0])||void 0===S?void 0:S.totalSize)||0)>u)throw new Error("附件总大小超过 10GB,禁止添加素材");return[4,e.getObject("cfs_files_filerecord").find({filters:["_id","=",r]})];case 4:if(m=j.sent(),p.current_step!=s.Step.draft&&p.current_step!=s.Step.submitter_revisions)return[3,12];j.label=5;case 5:j.trys.push([5,10,11,12]),f=a.__values(m),h=f.next(),j.label=6;case 6:return h.done?[3,9]:(b=h.value,[4,e.getObject("pepsico_material").insert({pepsico_material_approval:p._id,product:n.first(n.split(p.product,"-")),shop_tag:p.shop_tag,material:b._id,material_original:b._id,md5:b.original.md5,name:n.trim(b.original.name),classification:p.classification,extension_type:(0,o.extension)(b.original.type),material_type:p.material_type,social_media:p.social_media,followers:p.followers,kol_classification:p.kol_classification,owner_department:p.owner_department,brief_flow:p.brief_flow,owner:p.owner,space:p.space,created:new Date,created_by:c.userId,modified:new Date,modified_by:c.userId})]);case 7:j.sent(),j.label=8;case 8:return h=f.next(),[3,6];case 9:return[3,12];case 10:return w=j.sent(),y={error:w},[3,12];case 11:try{h&&!h.done&&(O=f.return)&&O.call(f)}finally{if(y)throw y.error}return[7];case 12:return[2,{}]}})})},t.submitMaterial=function(e,t,r){return a.__awaiter(this,void 0,void 0,function(){return a.__generator(this,function(a){switch(a.label){case 0:switch(r){case s.ApprovalStatus.approved:return[3,1];case s.ApprovalStatus.pass:return[3,3];case s.ApprovalStatus.rejected:return[3,5]}return[3,7];case 1:return[4,c.call(this,e,t)];case 2:case 4:case 6:return[2,a.sent()];case 3:return[4,c.call(this,e,t,s.ApprovalStatus.pass)];case 5:return[4,p.call(this,e,t)];case 7:return[2,{}]}})})},t.getApproverField=function(e,r,o,i){return a.__awaiter(void 0,void 0,void 0,function(){var c,p,l;return a.__generator(this,function(a){switch(a.label){case 0:return c="",console.log("[getApproverField]",JSON.stringify({userId:i,ca_reviewer:r.ca_reviewer,sra_reviewer:r.sra_reviewer,ns_reviewer:r.ns_reviewer,legal_reviewer:r.legal_reviewer,reviewer:r.reviewer,current_step:r.current_step})),[4,e.getObject("pepsico_approval_process").find({filters:[["owner","=",i],["pepsico_material_approval","=",r._id],["current_step","=",r.current_step],["space","=",r.space],["approved","=","progess"]],top:1,sort:"modified asc"})];case 1:return(p=a.sent()).length>0&&(l=p[0].type,c="Kids"===l?"kids_approval_status":(0,t.getApproverFieldByType)(l)),c||(r.current_step==s.Step.departmental_review&&(r.pre_ns_reviewer===i?c="pre_ns_approval_status":r.pre_legal_reviewer===i?c="pre_legal_approval_status":r.pre_sra_reviewer===i?c="pre_sra_approval_status":r.pre_ca_reviewer===i?c="pre_ca_approval_status":n.includes(r.ca_reviewer,i)?c="ca_approval_status":n.includes(r.sra_reviewer,i)?c="sra_approval_status":n.includes(r.ns_reviewer,i)?c="ns_approval_status":n.includes(r.legal_reviewer,i)&&(c="legal_approval_status")),r.current_step==s.Step.personnel_review&&(r.pre_reviewer===i?c="pre_approval_status":n.includes(r.reviewer,i)&&1!=o.approval_status&&(c="approval_status"))),n.includes([r.kids_reviewer],i)&&(c="kids_approval_status"),console.log("[getApproverField] fieldName:",c),[2,c]}})})},t.getApproverFieldByType=function(e){var t="";switch(e){case s.ProcessApprovalType.CA:t="ca_approval_status";break;case s.ProcessApprovalType.Legal:t="legal_approval_status";break;case s.ProcessApprovalType.NS:t="ns_approval_status";break;case s.ProcessApprovalType.SRA:t="sra_approval_status";break;case s.ProcessApprovalType.Kids:t="kids_approval_status";break;case s.ProcessApprovalType.guding:t="approval_status";break;case s.ProcessApprovalType.PreNS:t="pre_ns_approval_status";break;case s.ProcessApprovalType.PreLegal:t="pre_legal_approval_status";break;case s.ProcessApprovalType.PreSRA:t="pre_sra_approval_status";break;case s.ProcessApprovalType.PreCA:t="pre_ca_approval_status";break;case s.ProcessApprovalType.Preguding:t="pre_approval_status"}return t};var c=function(e,r,n){return void 0===n&&(n=s.ApprovalStatus.approved),a.__awaiter(this,void 0,void 0,function(){var o,i,c,p,l,_;return a.__generator(this,function(a){switch(a.label){case 0:return o=e.meta.user,[4,e.getObject("pepsico_material").findOne(r)];case 1:return i=a.sent(),[4,e.getObject("pepsico_material_approval").findOne(i.pepsico_material_approval)];case 2:return c=a.sent(),[4,(0,t.getApproverField)(e,c,i,o.userId)];case 3:return(p=a.sent())?[4,e.getObject("pepsico_material").update(r,(_={},_[p]=n===s.ApprovalStatus.approved||"pass",_))]:[2];case 4:return a.sent(),p&&"kids_approval_status"===p&&"pass"!=n?[2,{}]:(console.log("[approveMaterial] approveField",p),[4,(0,t.getUserReviewedAllMaterialsStatus)(e,c._id,p)]);case 5:return l=a.sent(),console.log("[approveMaterial] materialStatus",l),l==s.ApprovalStatus.pending?[3,9]:l!=s.ApprovalStatus.approved&&l!==s.ApprovalStatus.pass?[3,7]:[4,this.approvalContent(e,c._id,{approveField:p,materialStatus:l})];case 6:return a.sent(),[3,9];case 7:return l!=s.ApprovalStatus.rejected?[3,9]:[4,this.rejectContent(e,c._id,{approveField:p,materialStatus:l})];case 8:a.sent(),a.label=9;case 9:return[2]}})})},p=function(e,r){return a.__awaiter(this,void 0,void 0,function(){var n,o,i,c,p,l;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material").findOne(r)];case 1:return o=a.sent(),[4,e.getObject("pepsico_material_approval").findOne(o.pepsico_material_approval)];case 2:return i=a.sent(),[4,(0,t.getApproverField)(e,i,o,n.userId)];case 3:return(c=a.sent())?[4,e.getObject("pepsico_material").update(r,(l={},l[c]=!1,l))]:[2];case 4:return a.sent(),[4,(0,t.getUserReviewedAllMaterialsStatus)(e,i._id,c)];case 5:return(p=a.sent())==s.ApprovalStatus.pending?[3,7]:[4,this.rejectContent(e,i._id,{approveField:c,materialStatus:p})];case 6:a.sent(),a.label=7;case 7:return[2]}})})};t.getUserReviewedAllMaterialsStatus=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var o,i;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t],["void_material","!=",!0],["is_bypassed","!=",!0]]})];case 1:return o=a.sent(),i=n.filter(o,function(e){return null===e[r]||!n.has(e,r)||""===e[r]||void 0===e[r]}).length>0,console.log("getUserReviewedAllMaterialsStatus:",t,"未作废/跳过的素材数量为:",o.length,"hasPending:",i,r),i?[2,s.ApprovalStatus.pending]:n.filter(o,function(e){return!1===e[r]}).length>0?[2,s.ApprovalStatus.rejected]:n.filter(o,function(e){return"pass"===e[r]}).length===o.length?[2,s.ApprovalStatus.pass]:[2,s.ApprovalStatus.approved]}})})},t.uploadDocToOneDrive=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,s,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,4,,7]),[4,e.broker.call("content-version-bridge.material_uploadDocToOneDrive",{material:t})];case 1:return r=a.sent(),s=r.item,n=r.viewSharedLink,o=r.editSharedLink,[4,e.getObject("pepsico_material").directUpdate(t._id,{uploaded_to_onedrive:!0,onedrive_item:s,onedrive_shared_link_view:n,onedrive_shared_link_edit:o})];case 2:return a.sent(),[4,e.logger.info("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[素材上传到oneDrive成功]"),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval,fileInfo:s,viewSharedLink:n,editSharedLink:o})];case 3:return a.sent(),[2,!0];case 4:return i=a.sent(),[4,e.getObject("pepsico_material").directUpdate(t._id,{uploaded_to_onedrive:!1})];case 5:return a.sent(),[4,e.logger.error("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[素材上传到oneDrive失败]:").concat(i.message),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval})];case 6:return a.sent(),console.log("uploadDocToOneDrive error:",i),[2,!1];case 7:return[2]}})})},t.getPendingUploadsToOneDriveMaterials=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t],["extension_type","in",["doc","docx","ppt","pptx"]],["void_material","!=",!0],["uploaded_to_onedrive","!=",!0]]})];case 1:return[2,r.sent()]}})})},t.getOneDriveMaterials=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t],["extension_type","in",["doc","docx","ppt","pptx"]],["void_material","!=",!0]]})];case 1:return[2,r.sent()]}})})},t.uploadBulkDocToOneDrive=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_;return a.__generator(this,function(u){switch(u.label){case 0:return[4,(0,t.getPendingUploadsToOneDriveMaterials)(e,r)];case 1:s=u.sent(),n=!0,u.label=2;case 2:u.trys.push([2,7,8,9]),o=a.__values(s),i=o.next(),u.label=3;case 3:return i.done?[3,6]:(c=i.value,[4,(0,t.uploadDocToOneDrive)(e,c)]);case 4:!1===u.sent()&&(n=!1),u.label=5;case 5:return i=o.next(),[3,3];case 6:return[3,9];case 7:return p=u.sent(),l={error:p},[3,9];case 8:try{i&&!i.done&&(_=o.return)&&_.call(o)}finally{if(l)throw l.error}return[7];case 9:return 1!=n?[3,11]:[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_uploaded_to_onedrive_status:"completed"})];case 10:return u.sent(),[3,13];case 11:return[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_uploaded_to_onedrive_status:"failed",$inc:{materials_uploaded_to_onedrive_failed_count:1}})];case 12:u.sent(),u.label=13;case 13:return[2,n]}})})},t.deleteBulkDocOneDriveShareLink=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_;return a.__generator(this,function(u){switch(u.label){case 0:return s=!0,[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",r],["extension_type","in",["doc","docx","ppt","pptx"]]]})];case 1:n=u.sent(),u.label=2;case 2:u.trys.push([2,7,8,9]),o=a.__values(n),i=o.next(),u.label=3;case 3:return i.done?[3,6]:(c=i.value,[4,(0,t.deleteDocOneDriveShareLink)(e,c)]);case 4:!1===u.sent()&&(s=!1),u.label=5;case 5:return i=o.next(),[3,3];case 6:return[3,9];case 7:return p=u.sent(),l={error:p},[3,9];case 8:try{i&&!i.done&&(_=o.return)&&_.call(o)}finally{if(l)throw l.error}return[7];case 9:return 1!=s?[3,11]:[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_remove_share_link_from_onedrive_status:"completed"})];case 10:return u.sent(),[3,13];case 11:return[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_remove_share_link_from_onedrive_status:"failed",$inc:{materials_remove_share_link_from_onedrive_failed_count:1}})];case 12:u.sent(),u.label=13;case 13:return[2,s]}})})},t.deleteDocOneDriveShareLink=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,4,7,9]),console.log("deleteDocOneDriveShareLink",t.onedrive_item.id,t._id),[4,e.broker.call("content-version-bridge.material_deleteDocOneDriveShareLink",{material:t})];case 1:return a.sent(),[4,e.getObject("pepsico_material").directUpdate(t._id,{remove_share_link_from_onedrive:!0})];case 2:return a.sent(),[4,e.logger.info("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[从oneDrive删除共享连接成功]"),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval})];case 3:return a.sent(),[2,!0];case 4:return r=a.sent(),[4,e.getObject("pepsico_material").directUpdate(t._id,{remove_share_link_from_onedrive:!1})];case 5:return a.sent(),[4,e.logger.error("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[从oneDrive删除共享连接失败]:").concat(r.message),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval})];case 6:return a.sent(),console.log("deleteDocOneDriveShareLink error:",r),[2,!1];case 7:return[4,e.getObject("pepsico_material").directUpdate(t._id,{onedrive_shared_link_edit:null})];case 8:return a.sent(),[7];case 9:return[2]}})})},t.downloadBulkFromOneDriveDoc=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_;return a.__generator(this,function(u){switch(u.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",r],["extension_type","in",["doc","docx","ppt","pptx"]],["void_material","!=",!0],["download_from_onedrive","!=",!0]]})];case 1:s=u.sent(),n=!0,u.label=2;case 2:u.trys.push([2,7,8,9]),o=a.__values(s),i=o.next(),u.label=3;case 3:return i.done?[3,6]:(c=i.value,[4,(0,t.downloadDocFromOneDriveDoc)(e,c)]);case 4:!1===u.sent()&&(n=!1),u.label=5;case 5:return i=o.next(),[3,3];case 6:return[3,9];case 7:return p=u.sent(),l={error:p},[3,9];case 8:try{i&&!i.done&&(_=o.return)&&_.call(o)}finally{if(l)throw l.error}return[7];case 9:return 1!=n?[3,11]:[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_download_from_onedrive_status:"completed"})];case 10:return u.sent(),[3,13];case 11:return[4,e.getObject("pepsico_material_approval").directUpdate(r,{materials_download_from_onedrive_status:"failed",$inc:{materials_download_from_onedrive_failed_count:1}})];case 12:u.sent(),u.label=13;case 13:return[2,n]}})})},t.downloadDocFromOneDriveDoc=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,s,n;return a.__generator(this,function(a){switch(a.label){case 0:r=(new Date).getTime(),a.label=1;case 1:return a.trys.push([1,5,,8]),[4,e.broker.call("content-version-bridge.material_downloadDocFromOneDriveDoc",{material:t})];case 2:return s=a.sent(),console.log("downloadDocFromOneDriveDoc-".concat(t._id),s._id,s),[4,e.getObject("pepsico_material").directUpdate(t._id,{material:s._id,$push:{material_one_drive_history:s._id},download_from_onedrive:!0})];case 3:return a.sent(),[4,e.logger.info("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[从oneDrive下载素材成功]"),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval,time:(new Date).getTime()-r})];case 4:return a.sent(),[2,!0];case 5:return n=a.sent(),[4,e.getObject("pepsico_material").directUpdate(t._id,{download_from_onedrive:!1})];case 6:return a.sent(),[4,e.logger.error("".concat(t.pepsico_material_approval,"-").concat(t._id,"-[从oneDrive下载素材失败]:").concat(n.message),{objectName:"pepsico_material",_id:t._id,pepsico_material_approval:t.pepsico_material_approval,time:(new Date).getTime()-r})];case 7:return a.sent(),console.log("downloadDocFromOneDriveDoc error:",n),[2,!1];case 8:return[2]}})})}},2189:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getImageComparisonStatus=t.triggerImageComparison=void 0;var a=r(5584);t.triggerImageComparison={rest:{method:"POST",fullPath:"/api/pepsico-content/image-comparison/trigger/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,s,n,o;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:t=a.sent(),e.logger=t,s=e.params.recordId,a.label=2;case 2:return a.trys.push([2,5,,6]),[4,Promise.resolve().then(function(){return r(4665)})];case 3:return n=a.sent().triggerImageComparisonAsync,console.log("[API] 手动触发图片对比: ".concat(s)),[4,n(e,s)];case 4:return a.sent(),[2,{success:!0,message:"图片对比任务已触发"}];case 5:return o=a.sent(),console.error("[API] 触发图片对比失败: ".concat(s),o.message),[2,{success:!1,error:o.message}];case 6:return[2]}})})}},t.getImageComparisonStatus={rest:{method:"GET",fullPath:"/api/pepsico-content/image-comparison/status/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s;return a.__generator(this,function(a){switch(a.label){case 0:e.getObject=this.getObject,t=e.params.recordId,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,e.getObject("pepsico_material_approval").findOne(t)];case 2:return(r=a.sent())?[2,{success:!0,data:{status:r.image_comparison_status,stats:r.image_comparison_stats,comparedAt:r.image_comparison_at}}]:[2,{success:!1,error:"审批单不存在"}];case 3:return s=a.sent(),console.error("[API] 获取图片对比状态失败: ".concat(t),s.message),[2,{success:!1,error:s.message}];case 4:return[2]}})})}}},2418:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.bypassApproval=void 0;var a=r(5584),s=r(8398),n=r(7825);t.bypassApproval={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/bypass-approval/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R;return a.__generator(this,function(C){switch(C.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:if(t=C.sent(),e.logger=t,r=e.params.recordId,o=e.params.reason,i=e.meta.user.userId,!o)throw new Error("请提供跳过原因");return[4,e.getObject("pepsico_material_approval").findOne(r)];case 2:if(!(c=C.sent()))throw new Error("未找到审批单");if(c.current_step===s.Step.conclusion||c.current_step===s.Step.draft)throw new Error("当前步骤不支持跳过操作");if(p="",l="",_="",u="",d="",v="",c.current_step===s.Step.departmental_review&&(n.includes(c.handler_preca||(c.pre_ca_reviewer?[c.pre_ca_reviewer]:[]),i)&&"pass"!==c.pre_ca_approval_status&&!0!==c.pre_ca_approval_status?(p="pre_ca_approval_status",v="CA预审"):n.includes(c.handler_presra||(c.pre_sra_reviewer?[c.pre_sra_reviewer]:[]),i)&&"pass"!==c.pre_sra_approval_status&&!0!==c.pre_sra_approval_status?(p="pre_sra_approval_status",v="SRA预审"):n.includes(c.handler_prens||(c.pre_ns_reviewer?[c.pre_ns_reviewer]:[]),i)&&"pass"!==c.pre_ns_approval_status&&!0!==c.pre_ns_approval_status?(p="pre_ns_approval_status",v="NS预审"):n.includes(c.handler_prelegal||(c.pre_legal_reviewer?[c.pre_legal_reviewer]:[]),i)&&"pass"!==c.pre_legal_approval_status&&!0!==c.pre_legal_approval_status?(p="pre_legal_approval_status",v="Legal预审"):n.includes(c.handler_ca||c.ca_reviewer,i)&&!0!==c.ca_bypassed?(p="ca_approval_status",l="ca_bypassed",_="ca_bypassed_by",u="ca_bypass_reason",d="ca_bypassed_at",v="CA"):n.includes(c.handler_sra||c.sra_reviewer,i)&&!0!==c.sra_bypassed?(p="sra_approval_status",l="sra_bypassed",_="sra_bypassed_by",u="sra_bypass_reason",d="sra_bypassed_at",v="SRA"):n.includes(c.handler_ns||c.ns_reviewer,i)&&!0!==c.ns_bypassed?(p="ns_approval_status",l="ns_bypassed",_="ns_bypassed_by",u="ns_bypass_reason",d="ns_bypassed_at",v="NS"):n.includes(c.handler_legal||c.legal_reviewer,i)&&!0!==c.legal_bypassed&&(p="legal_approval_status",l="legal_bypassed",_="legal_bypassed_by",u="legal_bypass_reason",d="legal_bypassed_at",v="Legal")),c.current_step===s.Step.personnel_review&&(n.includes(c.handler_preguding||(c.pre_reviewer?[c.pre_reviewer]:[]),i)&&"pass"!==c.pre_approval_status&&!0!==c.pre_approval_status?(p="pre_approval_status",v="固定人员预审"):n.includes(c.handler_personnel||c.reviewer,i)&&(p="approval_status",l="approval_bypassed",_="approval_bypassed_by",u="approval_bypass_reason",d="approval_bypassed_at",v="固定人员")),""===p&&n.includes(c.handler_kids||c.kids_reviewer,i)&&(p="kids_approval_status",l="kids_bypassed",_="kids_bypassed_by",u="kids_bypass_reason",d="kids_bypassed_at",v="Kids"),console.log("approveField===>",p),!p)throw new Error("您不是当前步骤的审核人,无权限跳过");return l?[4,e.getObject("pepsico_material_approval").directUpdate(r,(D={},D[l]=!0,D[_]=i,D[u]=o,D[d]=new Date,D))]:[3,4];case 3:C.sent(),C.label=4;case 4:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",r],["void_material","!=",!0]]})];case 5:g=C.sent(),C.label=6;case 6:C.trys.push([6,11,12,13]),m=a.__values(g),f=m.next(),C.label=7;case 7:return f.done?[3,10]:!0===(h=f.value)[p]||"pass"===h[p]?[3,9]:((E={})[p]="pass",b=E,l&&(b[l]=!0,b[_]=i,b[u]=o,b[d]=new Date),[4,e.getObject("pepsico_material").directUpdate(h._id,b)]);case 8:C.sent(),t.info("User ".concat(i," (").concat(v,") bypassed material ").concat(h._id," via approval bypass")),C.label=9;case 9:return f=m.next(),[3,7];case 10:return[3,13];case 11:return w=C.sent(),I={error:w},[3,13];case 12:try{f&&!f.done&&(k=m.return)&&k.call(m)}finally{if(I)throw I.error}return[7];case 13:return y=[["owner","=",i],["pepsico_material_approval","=",r],["current_step","=",c.current_step],["space","=",c.space],["approved","=","progess"]],p&&("kids_approval_status"===p?y.push(["type","=","Kids"]):"ca_approval_status"===p?y.push(["type","=","CA"]):"sra_approval_status"===p?y.push(["type","=","SRA"]):"ns_approval_status"===p?y.push(["type","=","NS"]):"legal_approval_status"===p?y.push(["type","=","Legal"]):"approval_status"===p?y.push(["type","=","guding"]):"pre_ns_approval_status"===p?y.push(["type","=","PreNS"]):"pre_legal_approval_status"===p?y.push(["type","=","PreLegal"]):"pre_sra_approval_status"===p?y.push(["type","=","PreSRA"]):"pre_ca_approval_status"===p?y.push(["type","=","PreCA"]):"pre_approval_status"===p&&y.push(["type","=","Preguding"])),[4,e.getObject("pepsico_approval_process").find({filters:y,sort:"modified asc"})];case 14:O=C.sent(),C.label=15;case 15:C.trys.push([15,20,21,22]),S=a.__values(O),j=S.next(),C.label=16;case 16:return j.done?[3,19]:(A=j.value,[4,e.getObject("pepsico_approval_process").update(A._id,{submitted:new Date,modified:new Date,modified_by:i,approved:"pass",name:o})]);case 17:C.sent(),C.label=18;case 18:return j=S.next(),[3,16];case 19:return[3,22];case 20:return P=C.sent(),T={error:P},[3,22];case 21:try{j&&!j.done&&(R=S.return)&&R.call(S)}finally{if(T)throw T.error}return[7];case 22:return[4,this.approvalContent.call(this,e,r,{approveField:p,materialStatus:s.ApprovalStatus.pass})];case 23:return C.sent(),[2,{success:!0,message:"已跳过该审批单的".concat(v,"审核")}]}})})}}},2458:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getDownloadMaterialsProgress=t.getUploadMaterialsProgress=void 0;var a=r(5584);t.getUploadMaterialsProgress={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/:approveId/material/upload/progress"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=a.sent(),e.logger=t,[4,this.getOneDriveMaterials(e,e.params.approveId)];case 2:return(r=a.sent()).length<1?[2,{progress:100}]:(s=r.filter(function(e){return!0!==e.uploaded_to_onedrive}),[2,{progress:Math.round(100*(1-s.length/r.length))}])}})})}},t.getDownloadMaterialsProgress={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/:approveId/material/download/progress"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=a.sent(),e.logger=t,[4,this.getOneDriveMaterials(e,e.params.approveId)];case 2:return(r=a.sent()).length<1?[2,{progress:100}]:(s=r.filter(function(e){return!0!==e.download_from_onedrive}),[2,{progress:Math.round(100*(1-s.length/r.length))}])}})})}}},2563:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getUrgentQuotaAction=t.urgentApproval=void 0;var a=r(5584);t.urgentApproval={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/urgent/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,t=e.meta.user,r=null==t?void 0:t.userId,[4,this.doUrgent(e,e.params.recordId,r)];case 1:return[2,a.sent()]}})})}},t.getUrgentQuotaAction={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/urgent-quota/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,t=e.meta.user,r=null==t?void 0:t.userId,[4,this.canUrgent(e,e.params.recordId,r)];case 1:return[2,a.sent()]}})})}}},2777:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkUserPasswordExpiration=void 0;var a=r(5584),s=r(4716);t.checkUserPasswordExpiration=function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,r,n,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R;return a.__generator(this,function(C){switch(C.label){case 0:return C.trys.push([0,25,,26]),new Date,t=parseInt(process.env.PEPSICO_PASSWORD_EXPIRY_ADVANCE_DAYS||"5"),r=new Set,[4,e.getObject("spaces").find({filters:[["password_expiration_days",">",0]],fields:["_id","name","password_expiration_days"]})];case 1:n=C.sent(),C.label=2;case 2:C.trys.push([2,22,23,24]),o=a.__values(n),i=o.next(),C.label=3;case 3:if(i.done)return[3,21];c=i.value,p=c.password_expiration_days,l=[{type:"expired",daysOffset:p}],t>0&&t<p&&l.push({type:"warning",daysOffset:p-t}),C.label=4;case 4:C.trys.push([4,18,19,20]),k=void 0,_=a.__values(l),u=_.next(),C.label=5;case 5:return u.done?[3,17]:(d=u.value,v=s().subtract(d.daysOffset,"days").startOf("day").toDate(),g=s().subtract(d.daysOffset,"days").endOf("day").toDate(),console.log("[PasswordExpiry] Checking space '".concat(c.name,"' (expiration: ").concat(p," days, type: ").concat(d.type,"). Looking for passwords modified between ").concat(v," and ").concat(g)),[4,e.getObject("users").find({filters:[["password_modified_date",">=",v],["password_modified_date","<=",g],["is_valid","=",!0],["email","!=",null]],fields:["_id","name","email","password_modified_date"]})]);case 6:m=C.sent(),console.log("[PasswordExpiry] Found ".concat(m.length," users to notify in space ").concat(c.name," for ").concat(d.type)),C.label=7;case 7:C.trys.push([7,14,15,16]),T=void 0,f=a.__values(m),h=f.next(),C.label=8;case 8:if(h.done)return[3,13];if(b=h.value,r.has(b._id))return[3,12];C.label=9;case 9:return C.trys.push([9,11,,12]),w="",y="","expired"===d.type?(w="您的密码已过期 - ".concat(c.name),y="\n <p>尊敬的 ".concat(b.name,":</p>\n <p>根据 ").concat(c.name," 的安全策略,用户的密码有效期为 ").concat(p," 天。</p>\n <p>您的密码最后修改于 ").concat(s(b.password_modified_date).format("YYYY-MM-DD"),",目前已经过期。</p>\n <p>请尽快登录系统并修改您的密码。</p>\n <br/>\n <p>系统自动发送,请勿回复。</p>\n ")):(w="您的密码即将过期 - ".concat(c.name),y="\n <p>尊敬的 ".concat(b.name,":</p>\n <p>根据 ").concat(c.name," 的安全策略,用户的密码有效期为 ").concat(p," 天。</p>\n <p>您的密码最后修改于 ").concat(s(b.password_modified_date).format("YYYY-MM-DD"),",将于 ").concat(t," 天后过期。</p>\n <p>请尽快登录系统并修改您的密码。</p>\n <br/>\n <p>系统自动发送,请勿回复。</p>\n ")),[4,e.broker.call("@builder6/email.send",{to:b.email,subject:w,html:y})];case 10:return C.sent(),console.log("[PasswordExpiry] Email sent to ".concat(b.email," (").concat(b._id,") - ").concat(d.type)),r.add(b._id),[3,12];case 11:return O=C.sent(),console.error("[PasswordExpiry] Failed to send email to ".concat(b.email,":"),O),r.add(b._id),[3,12];case 12:return h=f.next(),[3,8];case 13:return[3,16];case 14:return S=C.sent(),T={error:S},[3,16];case 15:try{h&&!h.done&&(R=f.return)&&R.call(f)}finally{if(T)throw T.error}return[7];case 16:return u=_.next(),[3,5];case 17:return[3,20];case 18:return j=C.sent(),k={error:j},[3,20];case 19:try{u&&!u.done&&(E=_.return)&&E.call(_)}finally{if(k)throw k.error}return[7];case 20:return i=o.next(),[3,3];case 21:return[3,24];case 22:return A=C.sent(),D={error:A},[3,24];case 23:try{i&&!i.done&&(I=o.return)&&I.call(o)}finally{if(D)throw D.error}return[7];case 24:return[3,26];case 25:return P=C.sent(),console.error("[PasswordExpiry] Error:",P),[3,26];case 26:return[2]}})})}},2972:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callAIReview=void 0;var a=r(5584),s=r(8938),n=process.env.PEPSICO_AI_HOST,o=process.env.PEPSICO_AI_API_KEY;t.callAIReview=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,i,c,p;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,3,,5]),r=(new Date).getTime(),console.log("[调用 AI review API] 开始:","".concat(n,"/api/v1/review"),{approval_id:t},new Date),[4,s.default.post("".concat(n,"/api/v1/review"),{approval_id:t},{headers:{"X-API-Key":o}})];case 1:return i=a.sent(),c=i.data,console.log("[调用 AI review API]-".concat(t),c,"耗时:",(new Date).getTime()-r),[4,e.logger.info("[调用 AI review API]-".concat(t),c)];case 2:return a.sent(),[2,c];case 3:return p=a.sent(),console.error("[调用 AI review API]-".concat(t),p.message,new Date),[4,e.logger.error("[调用 AI review API]-".concat(t),p.message)];case 4:return a.sent(),[3,5];case 5:return[2]}})})}},3180:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submitPreReview=void 0;var a=r(5584);t.submitPreReview={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/pre-review/submit/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:if(t=a.sent(),e.logger=t,"approved"!==(r=e.params.approvalStatus)&&"rejected"!==r)throw new Error("无效的审核状态, 必须是 approved 或 rejected");return[4,this.submitPreReviewContent(e,e.params.recordId,r)];case 2:return a.sent(),[2,{}]}})})}}},3200:e=>{e.exports=require("@steedos/service-package-loader")},3222:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.confirmDeployment=void 0;var a=r(5584);t.confirmDeployment={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/confirm-deployment/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,t=e.params.content_rule,[4,this.getLogger()];case 1:return r=a.sent(),e.logger=r,[4,this.confirmDeployment.call(this,e,e.params.recordId,{content_rule:t})];case 2:return a.sent(),[2,{}]}})})}}},3334:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.calculateSpotCheckRates=void 0;var a=r(5584);r(7825),t.calculateSpotCheckRates={rest:{method:"POST",fullPath:"/api/pepsico-content/calculateSpotCheckRates"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O;return a.__generator(this,function(S){switch(S.label){case 0:if(t=this.getObject("pepsico_material"),r=[],e.params.filters)try{r="string"==typeof e.params.filters?JSON.parse(e.params.filters):e.params.filters,Array.isArray(r)||(r=[])}catch(e){r=[]}return s=r.length>0,n=function(e,t){return 0===t.length?e:0===e.length?t:a.__spreadArray(a.__spreadArray(a.__spreadArray([],a.__read(e),!1),["and"],!1),a.__read(t),!1)},[4,this.getObject("organizations").find({filters:[["name","in",["NS","Legal","SRA","CA"]]],fields:["_id","name"]})];case 1:o=S.sent(),i={},o.forEach(function(e){return i[e.name]=e._id}),c=[["approval_status","=",!0],["kol_classification","=","Mid-tier"],["void_material","!=",!0]],p=[t.count({filters:s?r:c})],console.log("orgMap",i),l=["NS","Legal","SRA","CA"];try{for(_=a.__values(l),u=_.next();!u.done;u=_.next())d=u.value,i[d]?(v=[["spot_check_departments","=",i[d]],["kol_classification","=","Mid-tier"]],p.push(t.count({filters:s?n(r,[["spot_check_departments","=",i[d]]]):v}))):p.push(Promise.resolve(0))}catch(e){y={error:e}}finally{try{u&&!u.done&&(O=_.return)&&O.call(_)}finally{if(y)throw y.error}}return[4,Promise.all(p)];case 2:return g=a.__read.apply(void 0,[S.sent(),5]),m=g[0],f=g[1],h=g[2],b=g[3],w=g[4],[2,{pending_spot_count:m,ns_materials_quantity:f,legal_materials_quantity:h,sra_materials_quantity:b,ca_materials_quantity:w}]}})})}}},3833:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendDelayNotifications=t.processPostponeReviewNotifications=t.sendNotifications=void 0;var a=r(5584),s=r(4716);t.sendNotifications=function(e,t,r,s){return a.__awaiter(void 0,void 0,void 0,function(){var n,o,i,c,p,l,_,u,d,v,g,m,f,h,b;return a.__generator(this,function(w){switch(w.label){case 0:console.log("sendNotifications",t._id,t.name,r,s),w.label=1;case 1:w.trys.push([1,21,,22]),w.label=2;case 2:w.trys.push([2,7,8,9]),n=a.__values(r),o=n.next(),w.label=3;case 3:return o.done?[3,6]:(i=o.value,[4,e.broker.call("notifications.add",{message:{name:"".concat(s,": ").concat(t.name),body:"",related_to:{o:"pepsico_material_approval",ids:[t._id]},related_name:t.name,from:t.owner,space:t.space},from:t.owner,to:i})]);case 4:w.sent(),w.label=5;case 5:return o=n.next(),[3,3];case 6:return[3,9];case 7:return c=w.sent(),m={error:c},[3,9];case 8:try{o&&!o.done&&(f=n.return)&&f.call(n)}finally{if(m)throw m.error}return[7];case 9:return[4,e.getObject("space_users").find({filters:[["user","=",r],["space","=",t.space]]})];case 10:p=w.sent(),w.label=11;case 11:w.trys.push([11,18,19,20]),l=a.__values(p),_=l.next(),w.label=12;case 12:if(_.done)return[3,17];if(!(u=_.value).email||!u.email_notification)return[3,16];w.label=13;case 13:return w.trys.push([13,15,,16]),[4,e.broker.call("@builder6/email.send",{to:u.email,subject:"".concat(s,": ").concat(t.name),html:'\n <p>您有一份文件需要查看和处理。请点击下面的链接来访问该文件:</p>\n <a href="'.concat(process.env.ROOT_URL,"/app/pepsico_content_review/pepsico_material_approval/view/").concat(t._id,'?side_object=pepsico_material_approval&side_listview_id=pending">').concat(t.name,"</a>\n ")})];case 14:return w.sent(),[3,16];case 15:return d=w.sent(),console.log(d),[3,16];case 16:return _=l.next(),[3,12];case 17:return[3,20];case 18:return v=w.sent(),h={error:v},[3,20];case 19:try{_&&!_.done&&(b=l.return)&&b.call(l)}finally{if(h)throw h.error}return[7];case 20:return console.timeEnd("sendNotifications-email: "+r.length),[3,22];case 21:return g=w.sent(),console.log(g),[3,22];case 22:return[2]}})})},t.processPostponeReviewNotifications=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,o,i,c,p,l,_,u,d,v;return a.__generator(this,function(g){switch(g.label){case 0:return console.time("processPostponeReviewNotifications"),n=s(),o=s(n).add(r,"minute").toDate(),[4,e.getObject("pepsico_review_postpone").directFind({filters:[["notification_sent","=",!1],["is_marker","!=",!0],["visible_after","<=",o]]})];case 1:i=g.sent(),console.log("processPostponeReviewNotifications count:",i.length),c=function(r){var s,n,o,i,c,p,l;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,8,,9]),s=r.pepsico_material_approval,n=r.postponed_user_ids?r.postponed_user_ids.split(",").filter(Boolean):[],s&&0!==n.length?[3,2]:[4,e.getObject("pepsico_review_postpone").directUpdate(r._id,{notification_sent:!0})];case 1:return a.sent(),[2,"continue"];case 2:return[4,e.getObject("pepsico_material_approval").findOne(s)];case 3:return(o=a.sent())?(i=o.review_postponed_users||[],c=i.filter(function(e){return!n.includes(e)}),[4,e.getObject("pepsico_material_approval").directUpdate(s,{review_postponed_users:c})]):[3,6];case 4:return a.sent(),"departmental_review"!==o.current_step&&"personnel_review"!==o.current_step?[3,6]:(p=n.filter(function(e){return Array.isArray(o.person_pending_approve)&&o.person_pending_approve.includes(e)})).length>0?[4,(0,t.sendNotifications)(e,o,p,"请审批")]:[3,6];case 5:a.sent(),a.label=6;case 6:return[4,e.getObject("pepsico_review_postpone").directUpdate(r._id,{notification_sent:!0})];case 7:return a.sent(),[3,9];case 8:return l=a.sent(),console.error("processPostponeReviewNotifications error for record",r._id,l),[3,9];case 9:return[2]}})},g.label=2;case 2:g.trys.push([2,7,8,9]),p=a.__values(i),l=p.next(),g.label=3;case 3:return l.done?[3,6]:(_=l.value,[5,c(_)]);case 4:g.sent(),g.label=5;case 5:return l=p.next(),[3,3];case 6:return[3,9];case 7:return u=g.sent(),d={error:u},[3,9];case 8:try{l&&!l.done&&(v=p.return)&&v.call(p)}finally{if(d)throw d.error}return[7];case 9:return console.timeEnd("processPostponeReviewNotifications"),[2]}})})},t.sendDelayNotifications=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,o,i,c,p,l,_,u;return a.__generator(this,function(d){switch(d.label){case 0:return console.time("sendDelayNotifications"),n=s(),[4,e.getObject("pepsico_material_approval").find({filters:[["launch","=","postpone"],["postpone_launch_date",">=",n.toDate()],["postpone_launch_date","<=",s(n).add(r,"minute").toDate()]]})];case 1:o=d.sent(),console.log("sendDelayNotifications count:",o.length,{filters:[["launch","=","postpone"],["postpone_launch_date",">=",n.toDate()],["postpone_launch_date","<=",s(n).add(r,"minute").toDate()]]}),d.label=2;case 2:d.trys.push([2,7,8,9]),i=a.__values(o),c=i.next(),d.label=3;case 3:return c.done?[3,6]:(p=c.value).material_owner_id?[4,(0,t.sendNotifications)(e,p,[p.material_owner_id],"请确认上线")]:[3,5];case 4:d.sent(),d.label=5;case 5:return c=i.next(),[3,3];case 6:return[3,9];case 7:return l=d.sent(),_={error:l},[3,9];case 8:try{c&&!c.done&&(u=i.return)&&u.call(i)}finally{if(_)throw _.error}return[7];case 9:return console.timeEnd("sendDelayNotifications"),[2]}})})}},4425:e=>{e.exports=require("amis-formula")},4665:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.processPendingImageComparisons=t.triggerImageComparisonAsync=t.processBulkImageComparison=t.processImageComparison=t.storeComparisonResult=t.callImageComparisonAPI=t.prepareImageComparisonData=t.getMaterialVersions=t.getImageMaterials=t.isModifiedSubmission=void 0;var a=r(5584),s=r(8938),n=r(8398),o=process.env.PEPSICO_AI_HOST,i=process.env.PEPSICO_AI_API_KEY,c=["jpg","jpeg","png","gif","bmp","tiff","tif","svg","webp","ico","heif","heic"];t.isModifiedSubmission=function(e){return e.current_step===n.Step.submitter_revisions},t.getImageMaterials=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t],["extension_type","in",c],["void_material","!=",!0],["is_bypassed","!=",!0]]})];case 1:return[2,r.sent()]}})})},t.getMaterialVersions=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var e,r;return a.__generator(this,function(a){return e={current:t.material,previous:null,currentUrl:"",previousUrl:null},r=process.env.ROOT_URL||"",e.currentUrl="".concat(r,"/api/v6/files/cfs.files.filerecord/").concat(t.material),!e.previous&&t.material_original&&t.material_original!==t.material&&(e.previous=t.material_original,e.previousUrl="".concat(r,"/api/v6/files/cfs.files.filerecord/").concat(e.previous)),[2,e]})})},t.prepareImageComparisonData=function(e,t,r,s){return a.__awaiter(void 0,void 0,void 0,function(){var e,n;return a.__generator(this,function(a){return[2,{request:{image_url_a:r.previousUrl,image_url_b:r.currentUrl,threshold:null!==(e=null==s?void 0:s.threshold)&&void 0!==e?e:30,min_area:null!==(n=null==s?void 0:s.min_area)&&void 0!==n?n:50},metadata:{material_id:t._id,approval_id:t.pepsico_material_approval,name:t.name,current_file_id:r.current,previous_file_id:r.previous,extension_type:t.extension_type}}]})})},t.callImageComparisonAPI=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n,c,p,l,_,u,d,v,g,m,f,h,b;return a.__generator(this,function(a){switch(a.label){case 0:r=t.request,n=t.metadata,c="".concat(o,"/api/v1/compare_historical_images"),a.label=1;case 1:return a.trys.push([1,5,,8]),p=(new Date).getTime(),console.log("[调用 AI 图片对比 API] 开始:",c,{material_id:n.material_id,approval_id:n.approval_id,threshold:r.threshold,min_area:r.min_area},new Date),[4,s.default.post(c,r,{headers:{"X-API-Key":i,"Content-Type":"application/json"},timeout:12e4})];case 2:return l=a.sent(),_=l.data,console.log("[调用 AI 图片对比 API]-".concat(n.material_id),_,"耗时:",(new Date).getTime()-p),e.logger?[4,e.logger.info("[调用 AI 图片对比 API]-".concat(n.material_id),{data:_,duration:(new Date).getTime()-p})]:[3,4];case 3:a.sent(),a.label=4;case 4:return[2,_];case 5:return u=a.sent(),d=(null===(m=null===(g=u.response)||void 0===g?void 0:g.data)||void 0===m?void 0:m.detail)||(null===(h=null===(f=u.response)||void 0===f?void 0:f.data)||void 0===h?void 0:h.message)||u.message,v=null===(b=u.response)||void 0===b?void 0:b.status,console.error("[调用 AI 图片对比 API 失败]-".concat(n.material_id),"HTTP ".concat(v,":"),d,new Date),e.logger?[4,e.logger.error("[调用 AI 图片对比 API 失败]-".concat(n.material_id),{endpoint:c,body:r,error:d,statusCode:v,stack:u.stack})]:[3,7];case 6:a.sent(),a.label=7;case 7:throw u;case 8:return[2]}})})},t.storeComparisonResult=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,4,,8]),s="too_many_differences"===r.status,[4,e.getObject("pepsico_material").directUpdate(t,{result_image:r.result_image,image_comparison_result:JSON.stringify({status:r.status,result_image:r.result_image,diff_regions:r.diff_regions||[],ssim_score:r.ssim_score,diff_count:r.diff_count,message:r.message||void 0}),image_comparison_status:s?"too_many_differences":"completed",image_comparison_at:new Date})];case 1:return a.sent(),console.log("[存储图片对比结果成功]-".concat(t),{status:r.status,diff_count:r.diff_count,ssim_score:r.ssim_score}),e.logger?[4,e.logger.info("[存储图片对比结果成功]-".concat(t),{status:r.status,diff_count:r.diff_count,ssim_score:r.ssim_score,has_result_image:!!r.result_image})]:[3,3];case 2:a.sent(),a.label=3;case 3:return[3,8];case 4:return n=a.sent(),console.error("[存储图片对比结果失败]-".concat(t),n.message),e.logger?[4,e.logger.error("[存储图片对比结果失败]-".concat(t),{error:n.message})]:[3,6];case 5:a.sent(),a.label=6;case 6:return[4,e.getObject("pepsico_material").directUpdate(t,{image_comparison_status:"failed",image_comparison_error:n.message,image_comparison_at:new Date})];case 7:throw a.sent(),n;case 8:return[2]}})})},t.processImageComparison=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,7,,8]),[4,(0,t.getMaterialVersions)(e,r)];case 1:return(s=a.sent()).previous?[3,3]:(console.log("[跳过图片对比]-".concat(r._id,": 没有历史版本")),[4,e.getObject("pepsico_material").directUpdate(r._id,{image_comparison_status:"skipped",image_comparison_reason:"No previous version found"})]);case 2:return a.sent(),[2];case 3:return[4,(0,t.prepareImageComparisonData)(e,r,s)];case 4:return n=a.sent(),[4,(0,t.callImageComparisonAPI)(e,n)];case 5:return o=a.sent(),[4,(0,t.storeComparisonResult)(e,r._id,o)];case 6:return a.sent(),[2,o];case 7:throw i=a.sent(),console.error("[处理图片对比失败]-".concat(r._id),i.message),i;case 8:return[2]}})})},t.processBulkImageComparison=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_,u,d,v,g,m;return a.__generator(this,function(f){switch(f.label){case 0:return f.trys.push([0,16,,19]),[4,(0,t.getImageMaterials)(e,r)];case 1:if(s=f.sent(),console.log("[批量图片对比]-".concat(r,": 发现 ").concat(s.length," 个图片素材")),0===s.length)return[2,{total:0,processed:0,skipped:0,failed:0}];n=0,o=0,i=0,f.label=2;case 2:f.trys.push([2,12,13,14]),c=a.__values(s),p=c.next(),f.label=3;case 3:if(p.done)return[3,11];l=p.value,f.label=4;case 4:return f.trys.push([4,9,,10]),[4,(0,t.getMaterialVersions)(e,l)];case 5:return f.sent().previous?[3,7]:(o++,console.log("[跳过图片对比]-".concat(l._id,": 没有历史版本")),[4,e.getObject("pepsico_material").directUpdate(l._id,{image_comparison_status:"skipped",image_comparison_reason:"No previous version found"})]);case 6:return f.sent(),[3,10];case 7:return[4,(0,t.processImageComparison)(e,l)];case 8:return f.sent(),n++,[3,10];case 9:return _=f.sent(),i++,console.error("[图片对比失败]-".concat(l._id),_.message),[3,10];case 10:return p=c.next(),[3,3];case 11:return[3,14];case 12:return u=f.sent(),g={error:u},[3,14];case 13:try{p&&!p.done&&(m=c.return)&&m.call(c)}finally{if(g)throw g.error}return[7];case 14:return d={total:s.length,processed:n,skipped:o,failed:i},console.log("[批量图片对比完成]-".concat(r),d),[4,e.getObject("pepsico_material_approval").directUpdate(r,{image_comparison_status:i>0?"partial":"completed",image_comparison_stats:JSON.stringify(d),image_comparison_at:new Date})];case 15:return f.sent(),[2,d];case 16:return v=f.sent(),console.error("[批量图片对比失败]-".concat(r),v.message),e.logger?[4,e.logger.error("[批量图片对比失败]-".concat(r),{error:v.message})]:[3,18];case 17:f.sent(),f.label=18;case 18:throw v;case 19:return[2]}})})},t.triggerImageComparisonAsync=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r;return a.__generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,e.getObject("pepsico_material_approval").directUpdate(t,{image_comparison_status:"pending",image_comparison_at:new Date})];case 1:return a.sent(),console.log("[图片对比任务已标记为pending]-".concat(t)),[3,3];case 2:return r=a.sent(),console.error("[标记图片对比任务失败]-".concat(t),r.message),[3,3];case 3:return[2]}})})},t.processPendingImageComparisons=function(e,r){return void 0===r&&(r=3),a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_,u,d;return a.__generator(this,function(v){switch(v.label){case 0:return v.trys.push([0,16,,19]),[4,e.getObject("pepsico_material_approval").find({filters:[["image_comparison_status","in",["pending","failed"]]],top:10,sort:"modified desc"})];case 1:s=v.sent(),console.log("定时任务[图片对比] count: ".concat(s.length),{approvals:s.map(function(e){return{_id:e._id,status:e.image_comparison_status,failedCount:e.image_comparison_failed_count}})}),v.label=2;case 2:v.trys.push([2,13,14,15]),n=a.__values(s),o=n.next(),v.label=3;case 3:if(o.done)return[3,12];if(i=o.value,(c=i.image_comparison_failed_count||0)>=r)return console.log("[图片对比跳过]-".concat(i._id,": 已达最大重试次数 ").concat(r)),[3,11];v.label=4;case 4:return v.trys.push([4,7,,11]),[4,e.getObject("pepsico_material_approval").directUpdate(i._id,{image_comparison_status:"processing"})];case 5:return v.sent(),[4,(0,t.processBulkImageComparison)(e,i._id)];case 6:return v.sent(),[3,11];case 7:return p=v.sent(),console.error("[图片对比任务失败]-".concat(i._id),p.message),[4,e.getObject("pepsico_material_approval").directUpdate(i._id,{image_comparison_status:"failed",$inc:{image_comparison_failed_count:1}})];case 8:return v.sent(),e.logger?[4,e.logger.error("[图片对比任务失败]-".concat(i._id),{error:p.message,failedCount:c+1})]:[3,10];case 9:v.sent(),v.label=10;case 10:return[3,11];case 11:return o=n.next(),[3,3];case 12:return[3,15];case 13:return l=v.sent(),u={error:l},[3,15];case 14:try{o&&!o.done&&(d=n.return)&&d.call(n)}finally{if(u)throw u.error}return[7];case 15:return[3,19];case 16:return _=v.sent(),console.error("[定时任务-图片对比] 执行异常:",_.message),e.logger?[4,e.logger.error("[定时任务-图片对比] 执行异常",{error:_.message})]:[3,18];case 17:v.sent(),v.label=18;case 18:return[3,19];case 19:return[2]}})})}},4676:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.bypassMaterial=void 0;var a=r(5584),s=r(8398),n=r(7825);t.bypassMaterial={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/material/bypass/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A;return a.__generator(this,function(P){switch(P.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=P.sent(),e.logger=t,r=e.params.recordId,o=e.params.reason,i=e.meta.user.userId,[4,e.getObject("pepsico_material").findOne(r)];case 2:if(!(c=P.sent()))throw new Error("未找到素材");if(c.void_material)throw new Error("已作废的素材无需跳过");return[4,e.getObject("pepsico_material_approval").findOne(c.pepsico_material_approval)];case 3:if(!(p=P.sent()))throw new Error("未找到关联的审批单");if(p.current_step===s.Step.conclusion||p.current_step===s.Step.draft)throw new Error("当前步骤不支持跳过操作");if(l="",_="",u="",d="",v="",g="",p.current_step===s.Step.departmental_review&&(n.includes(p.handler_preca||(p.pre_ca_reviewer?[p.pre_ca_reviewer]:[]),i)&&"pass"!==p.pre_ca_approval_status&&!0!==p.pre_ca_approval_status?(l="pre_ca_approval_status",g="CA预审"):n.includes(p.handler_presra||(p.pre_sra_reviewer?[p.pre_sra_reviewer]:[]),i)&&"pass"!==p.pre_sra_approval_status&&!0!==p.pre_sra_approval_status?(l="pre_sra_approval_status",g="SRA预审"):n.includes(p.handler_prens||(p.pre_ns_reviewer?[p.pre_ns_reviewer]:[]),i)&&"pass"!==p.pre_ns_approval_status&&!0!==p.pre_ns_approval_status?(l="pre_ns_approval_status",g="NS预审"):n.includes(p.handler_prelegal||(p.pre_legal_reviewer?[p.pre_legal_reviewer]:[]),i)&&"pass"!==p.pre_legal_approval_status&&!0!==p.pre_legal_approval_status?(l="pre_legal_approval_status",g="Legal预审"):n.includes(p.handler_ca||p.ca_reviewer,i)&&!0!==p.ca_bypassed&&"pass"!==p.ca_approval_status&&!0!==p.ca_approval_status&&!1!==p.ca_approval_status?(l="ca_approval_status",_="ca_bypassed",u="ca_bypassed_by",d="ca_bypass_reason",v="ca_bypassed_at",g="CA"):n.includes(p.handler_sra||p.sra_reviewer,i)&&!0!==p.sra_bypassed&&"pass"!==p.sra_approval_status&&!0!==p.sra_approval_status&&!1!==p.sra_approval_status?(l="sra_approval_status",_="sra_bypassed",u="sra_bypassed_by",d="sra_bypass_reason",v="sra_bypassed_at",g="SRA"):n.includes(p.handler_ns||p.ns_reviewer,i)&&!0!==p.ns_bypassed&&"pass"!==p.ns_approval_status&&!0!==p.ns_approval_status&&!1!==p.ns_approval_status?(l="ns_approval_status",_="ns_bypassed",u="ns_bypassed_by",d="ns_bypass_reason",v="ns_bypassed_at",g="NS"):n.includes(p.handler_legal||p.legal_reviewer,i)&&!0!==p.legal_bypassed&&"pass"!==p.legal_approval_status&&!0!==p.legal_approval_status&&!1!==p.legal_approval_status&&(l="legal_approval_status",_="legal_bypassed",u="legal_bypassed_by",d="legal_bypass_reason",v="legal_bypassed_at",g="Legal")),p.current_step===s.Step.personnel_review&&(n.includes(p.handler_preguding||(p.pre_reviewer?[p.pre_reviewer]:[]),i)&&"pass"!==p.pre_approval_status&&!0!==p.pre_approval_status?(l="pre_approval_status",g="固定人员预审"):n.includes(p.handler_personnel||p.reviewer,i)&&(l="approval_status",_="approval_bypassed",u="approval_bypassed_by",d="approval_bypass_reason",v="approval_bypassed_at",g="固定人员")),""===l&&n.includes(p.handler_kids||p.kids_reviewer,i)&&(l="kids_approval_status",_="kids_bypassed",u="kids_bypassed_by",d="kids_bypass_reason",v="kids_bypassed_at",g="Kids"),!l)throw new Error("您不是当前步骤的审核人,无权限跳过");if(!0===c[l]||"pass"===c[l])throw new Error("该素材的".concat(g,"审核已完成"));return(O={})[l]="pass",m=O,_&&(m[_]=!0,m[u]=i,m[d]=o,m[v]=new Date),[4,e.getObject("pepsico_material").directUpdate(r,m)];case 4:return P.sent(),t.info("User ".concat(i," (").concat(g,") bypassed material ").concat(r)),[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",c.pepsico_material_approval],["void_material","!=",!0]]})];case 5:f=P.sent(),h=!1;try{for(b=a.__values(f),w=b.next();!w.done;w=b.next())if(!0!==(y=w.value)[l]&&"pass"!==y[l]){h=!0;break}}catch(e){S={error:e}}finally{try{w&&!w.done&&(j=b.return)&&j.call(b)}finally{if(S)throw S.error}}return h||!_?[3,7]:[4,e.getObject("pepsico_material_approval").directUpdate(p._id,(A={},A[_]=!0,A[u]=i,A[d]=o,A[v]=new Date,A))];case 6:P.sent(),t.info("User ".concat(i," (").concat(g,") also marked approval ").concat(p._id," as bypassed (no pending materials)")),P.label=7;case 7:return[4,this.submitMaterial.call(this,e,r,"pass")];case 8:return P.sent(),[2,{success:!0,message:"已跳过该素材的".concat(g,"审核")}]}})})}}},4716:e=>{e.exports=require("moment")},4727:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.rule=void 0;var a=r(5584);t.rule={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/rule"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[2,this.getDefApproverStepRule.call(this,e)]}})})}}},4754:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.terminate=void 0;var a=r(5584);t.terminate={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/terminate/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.terminate(e,e.params.recordId,e.params.description)];case 2:return r.sent(),[2,{}]}})})}}},4809:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scanPLSFiles=void 0;var a=r(5584),s=r(7825),n=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return r=s.split(t,"-"),[4,e.getObject("picklists").directFind({filters:["code","=","223321001114213"]})];case 1:return n=a.sent(),r.length>0&&n.length>0?[4,e.getObject("picklist_options").directFind({filters:[["picklist","=",n[0]._id],["value","in",r]]})]:[3,3];case 2:return o=a.sent(),i=[],s.each(r,function(e){var t=s.find(o,{value:e});t&&i.push(t.name)}),[2,s.join(i,"-")];case 3:return[2,""]}})})};t.scanPLSFiles=function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,r,s,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R,C,x,U;return a.__generator(this,function(N){switch(N.label){case 0:return t="",console.error("[scan pls files]: start ",new Date),[4,e.getObject("pepsico_material_approval").directFind({filters:[["current_step","in",["awaiting_deployment","conclusion"]],["scanned_pls","!=",!0]]})];case 1:r=N.sent(),console.error("[scan pls files]: approvals.length",r.length),s=0,N.label=2;case 2:N.trys.push([2,35,36,37]),o=a.__values(r),i=o.next(),N.label=3;case 3:if(i.done)return[3,34];c=i.value,N.label=4;case 4:return N.trys.push([4,31,,33]),t=c._id,p=c.product,[4,n(e,p)];case 5:return l=N.sent(),[4,e.getObject("pepsico_material").directFind({filters:[["pepsico_material_approval","=",t]]})];case 6:_=N.sent(),console.error("[scan pls files]: approvalId",t),N.label=7;case 7:N.trys.push([7,19,20,21]),E=void 0,u=a.__values(_),d=u.next(),N.label=8;case 8:return d.done?[3,18]:(v=d.value,g=[["metadata/record_id","=","objects:pepsico_material:".concat(v._id)],["metadata/object_name","=","b6_rooms"],["original/type","=","application/pdf"],["original/name","contains","PLS"]],console.error("[scan pls files]: approvalId",t,"material-".concat(v._id),"filters: ",JSON.stringify(g)),[4,e.getObject("cfs_files_filerecord").directFind({filters:g})]);case 9:m=N.sent(),console.error("[scan pls files]: approvalId",t,"material-".concat(v._id),"files.length: ",m.length),N.label=10;case 10:N.trys.push([10,15,16,17]),R=void 0,f=a.__values(m),h=f.next(),N.label=11;case 11:return h.done?[3,14]:(b=h.value,[4,e.getObject("pepsico_km_pls_file").directInsert({name:l,ai_extract:!1,pls_file:b._id,pepsico_material:v._id,product:p,pepsico_material_approval:t,space:c.space,created:new Date,modified:new Date})]);case 12:N.sent(),s++,N.label=13;case 13:return h=f.next(),[3,11];case 14:return[3,17];case 15:return w=N.sent(),R={error:w},[3,17];case 16:try{h&&!h.done&&(C=f.return)&&C.call(f)}finally{if(R)throw R.error}return[7];case 17:return d=u.next(),[3,8];case 18:return[3,21];case 19:return y=N.sent(),E={error:y},[3,21];case 20:try{d&&!d.done&&(T=u.return)&&T.call(u)}finally{if(E)throw E.error}return[7];case 21:if(!(c.pls_file&&c.pls_file.length>0))return[3,29];N.label=22;case 22:N.trys.push([22,27,28,29]),x=void 0,O=a.__values(c.pls_file),S=O.next(),N.label=23;case 23:return S.done?[3,26]:(j=S.value,[4,e.getObject("pepsico_km_pls_file").directInsert({name:l,ai_extract:!1,pls_file:j,product:p,pepsico_material_approval:t,space:c.space,created_by:c.created_by,created:new Date,modified:new Date})]);case 24:N.sent(),N.label=25;case 25:return S=O.next(),[3,23];case 26:return[3,29];case 27:return A=N.sent(),x={error:A},[3,29];case 28:try{S&&!S.done&&(U=O.return)&&U.call(O)}finally{if(x)throw x.error}return[7];case 29:return[4,e.getObject("pepsico_material_approval").directUpdate(t,{scanned_pls:!0,scanned_pls_date:new Date})];case 30:return N.sent(),[3,33];case 31:return P=N.sent(),console.error("[scan pls files]-".concat(t),P,new Date),[4,e.logger.error("[scan pls files]-".concat(t),P.message)];case 32:return N.sent(),[3,33];case 33:return i=o.next(),[3,3];case 34:return[3,37];case 35:return D=N.sent(),I={error:D},[3,37];case 36:try{i&&!i.done&&(k=o.return)&&k.call(o)}finally{if(I)throw I.error}return[7];case 37:return[2,s]}})})}},4932:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.hasDuplicateMaterials=void 0;var a=r(5584);t.hasDuplicateMaterials={rest:{method:"GET",fullPath:"/api/pepsico-content/approve/material/has-duplicate/:approvalId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.hasDuplicateMaterials.call(this,e,e.params.approvalId)];case 2:return[2,{hasDuplicate:r.sent()}]}})})}}},5256:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.approveMaterial=void 0;var a=r(5584);t.approveMaterial={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/material/submit/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.submitMaterial.call(this,e,e.params.recordId,e.params.approvalStatus)];case 2:return r.sent(),[2,{}]}})})}}},5264:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.postponeDeployment=void 0;var a=r(5584);t.postponeDeployment={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/postpone-deployment/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.postponeDeployment.call(this,e,e.params.recordId,e.params)];case 2:return r.sent(),[2,{}]}})})}}},5510:(e,t,r)=>{var a;Object.defineProperty(t,"__esModule",{value:!0}),t.postponeReview=t.hasReviewed=t.submitContent=t.submitPreReviewContent=t.submitKidsContent=t.rejectContent=t.approvalContent=t.postponeDeployment=t.confirmDeployment=t.terminate=t.advanceApproval=t.hasNonPreReviewDepartments=t.getPreReviewStatuses=t.getDeptEffectiveStatus=t.isDeptReviewComplete=t.hasAnyPreReviewer=t.getApproverStepRule=t.getDefApproverStepRule=void 0;var s=r(5584),n=r(8398),o=r(4425),i=r(7825),c=r(2143),p=r(1057),l=r(2972),_=r(3833),u=r(1401),d=r(8862),v=r(7825);t.getDefApproverStepRule=function(e){return s.__awaiter(void 0,void 0,void 0,function(){var t,r;return s.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_flow_rule").find({filters:["fu5nvp","=",!0],fields:["_id","name","skip_approve"]})];case 1:if(t=a.sent(),!(r=t.length>0?t[0]:null))throw new Error("未找到审批流规则");return[2,r]}})})},t.getApproverStepRule=function(e,t){return s.__awaiter(void 0,void 0,void 0,function(){var r,a,n;return s.__generator(this,function(s){switch(s.label){case 0:return t?[4,e.getObject("pepsico_flow_rule").findOne(t)]:[3,2];case 1:if(!(r=s.sent()))throw new Error("未找到审批流规则");return[2,r];case 2:return[4,e.getObject("pepsico_flow_rule").find({fields:["_id","name","skip_approve"],sort:"created asc",top:1})];case 3:if(a=s.sent(),!(n=a.length>0?a[0]:null))throw new Error("未找到审批流规则");return[2,n]}})})};var g=function(e,r){return s.__awaiter(void 0,void 0,void 0,function(){var a;return s.__generator(this,function(s){switch(s.label){case 0:return[4,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return(a=s.sent()).skip_approve?[2,(0,o.evaluate)(a.skip_approve,r)]:[2,!1]}})})};t.hasAnyPreReviewer=function(e,t){return t===n.Step.personnel_review?!!e.pre_reviewer:!!(e.pre_ns_reviewer||e.pre_legal_reviewer||e.pre_sra_reviewer||e.pre_ca_reviewer)},t.isDeptReviewComplete=function(e,r){var a="approval"===r?"pre_reviewer":"pre_".concat(r,"_reviewer"),s="approval"===r?"pre_approval_status":"pre_".concat(r,"_approval_status"),n="approval"===r?"approval_status":"".concat(r,"_approval_status"),o=!!e[a];return console.log("isDeptReviewComplete1",o),o?!!(0,t.hasReviewed)(e[s])&&(!1===e[s]||(0,t.hasReviewed)(e[n])):(console.log("isDeptReviewComplete2",e[n],(0,t.hasReviewed)(e[n])),(0,t.hasReviewed)(e[n]))},t.getDeptEffectiveStatus=function(e,t){var r="approval"===t?"pre_reviewer":"pre_".concat(t,"_reviewer"),a="approval"===t?"pre_approval_status":"pre_".concat(t,"_approval_status"),s="approval"===t?"approval_status":"".concat(t,"_approval_status");return(!e[r]||!1!==e[a])&&e[s]};var m=function(e,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,i;return s.__generator(this,function(s){switch(s.label){case 0:return[4,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return a=s.sent(),[4,g(e,r)];case 2:return s.sent()?[2,n.Step.conclusion]:(i=(0,o.evaluate)(a.name,r),console.log("getApproverStep-".concat(r._id),i,typeof i,a.name,JSON.stringify(r)),[2,i?n.Step.personnel_review:n.Step.departmental_review])}})})},f=function(e,r){return s.__awaiter(void 0,void 0,void 0,function(){var a;return s.__generator(this,function(s){switch(s.label){case 0:return[4,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return a=s.sent(),(0,o.evaluate)(a.name,r)?[2,n.Step.personnel_review]:[2,n.Step.departmental_review]}})})},h=function(e,t,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,o;return s.__generator(this,function(s){switch(s.label){case 0:switch(a=n.Step.draft,t.current_step){case n.Step.draft:return[3,1];case n.Step.ai_review:return[3,2];case n.Step.departmental_review:case n.Step.personnel_review:return[3,6];case n.Step.submitter_revisions:return[3,7];case n.Step.awaiting_deployment:return[3,9]}return[3,10];case 1:return a=v.includes(d.DCO_TYPES,t.classification)?n.Step.conclusion:n.Step.ai_review,[3,11];case 2:return r!=n.ApprovalStatus.approved?[3,4]:[4,m(e,t)];case 3:return o=s.sent(),[3,5];case 4:o=n.Step.draft,s.label=5;case 5:return a=o,[3,11];case 6:return a=r==n.ApprovalStatus.approved||r==n.ApprovalStatus.pass?n.Step.awaiting_deployment:n.Step.submitter_revisions,[3,11];case 7:return[4,m(e,t)];case 8:return a=s.sent(),[3,11];case 9:return a=n.Step.conclusion,[3,11];case 10:return[3,11];case 11:return console.log("[getNextStep]",JSON.stringify({action:r,nextStep:a})),[2,a]}})})},b=function(e,t,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,o,c,p,l,_,d,v,g,m,f,h;return s.__generator(this,function(b){switch(b.label){case 0:switch(a=[],r){case n.Step.draft:return[3,1];case n.Step.ai_review:return[3,2];case n.Step.departmental_review:return[3,3];case n.Step.personnel_review:return[3,22];case n.Step.submitter_revisions:return[3,29];case n.Step.awaiting_deployment:return[3,30]}return[3,31];case 1:return a=(0,i.concat)(a,{userIds:[t.owner],type:n.ProcessApprovalType.Others}),[3,32];case 2:return a=(0,i.concat)(a,{userIds:[process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID],type:n.ProcessApprovalType.AI}),[3,32];case 3:return console.log("[getNextApprovers] departmental_review 串行判断:",JSON.stringify({pre_ns_reviewer:t.pre_ns_reviewer,pre_ns_approval_status:t.pre_ns_approval_status,pre_legal_reviewer:t.pre_legal_reviewer,pre_legal_approval_status:t.pre_legal_approval_status,pre_sra_reviewer:t.pre_sra_reviewer,pre_sra_approval_status:t.pre_sra_approval_status,pre_ca_reviewer:t.pre_ca_reviewer,pre_ca_approval_status:t.pre_ca_approval_status})),t.pre_ns_reviewer&&1!=t.pre_ns_approval_status&&t.pre_ns_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_ns_reviewer])]:[3,5];case 4:return o=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},o),{type:n.ProcessApprovalType.PreNS})),[3,7];case 5:return 1==t.ns_approval_status||t.ns_approval_status===n.ApprovalStatus.pass?[3,7]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.ns_reviewer)];case 6:c=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},c),{type:n.ProcessApprovalType.NS})),b.label=7;case 7:return t.pre_legal_reviewer&&1!=t.pre_legal_approval_status&&t.pre_legal_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_legal_reviewer])]:[3,9];case 8:return p=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},p),{type:n.ProcessApprovalType.PreLegal})),[3,11];case 9:return 1==t.legal_approval_status||t.legal_approval_status===n.ApprovalStatus.pass?[3,11]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.legal_reviewer)];case 10:l=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},l),{type:n.ProcessApprovalType.Legal})),b.label=11;case 11:return t.pre_sra_reviewer&&1!=t.pre_sra_approval_status&&t.pre_sra_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_sra_reviewer])]:[3,13];case 12:return _=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},_),{type:n.ProcessApprovalType.PreSRA})),[3,15];case 13:return 1==t.sra_approval_status||t.sra_approval_status===n.ApprovalStatus.pass?[3,15]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.sra_reviewer)];case 14:d=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},d),{type:n.ProcessApprovalType.SRA})),b.label=15;case 15:return t.pre_ca_reviewer&&1!=t.pre_ca_approval_status&&t.pre_ca_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_ca_reviewer])]:[3,17];case 16:return v=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},v),{type:n.ProcessApprovalType.PreCA})),[3,19];case 17:return 1==t.ca_approval_status||t.ca_approval_status===n.ApprovalStatus.pass?[3,19]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.ca_reviewer)];case 18:g=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},g),{type:n.ProcessApprovalType.CA})),b.label=19;case 19:return"yes"!=t.child_files||1==t.kids_approval_status||t.kids_approval_status===n.ApprovalStatus.pass?[3,21]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.kids_reviewer])];case 20:h=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},h),{type:n.ProcessApprovalType.Kids})),b.label=21;case 21:return[3,32];case 22:return t.pre_reviewer&&1!=t.pre_approval_status&&t.pre_approval_status!==n.ApprovalStatus.pass?[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.pre_reviewer])]:[3,24];case 23:return m=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},m),{type:n.ProcessApprovalType.Preguding})),[3,26];case 24:return t.approval_status===n.ApprovalStatus.pass?[3,26]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,t.reviewer)];case 25:f=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},f),{type:n.ProcessApprovalType.guding})),b.label=26;case 26:return"yes"!=t.child_files||1==t.kids_approval_status||t.kids_approval_status===n.ApprovalStatus.pass?[3,28]:[4,(0,u.getReviewerAgentsInfo)(e,t.space,[t.kids_reviewer])];case 27:h=b.sent(),a=(0,i.concat)(a,s.__assign(s.__assign({},h),{type:n.ProcessApprovalType.Kids})),b.label=28;case 28:return[3,32];case 29:return a=(0,i.concat)(a,{userIds:[t.owner],type:n.ProcessApprovalType.Others}),[3,32];case 30:return a=(0,i.concat)(a,{userIds:[t.material_owner_id],type:n.ProcessApprovalType.Others}),[3,32];case 31:return[3,32];case 32:return[2,(0,i.uniq)(a)]}})})},w=function(e){return e===n.Step.draft?n.ReviewStatus.draft:e===n.Step.conclusion?n.ReviewStatus.approved:n.ReviewStatus.under_review},y=function(e,t,r){var a=r.approvalStatus,n=r.approveField;return s.__awaiter(void 0,void 0,void 0,function(){var r,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w;return s.__generator(this,function(y){switch(y.label){case 0:return r=e.meta.user,o=[["owner","=",r.userId],["pepsico_material_approval","=",t._id],["current_step","=",t.current_step],["space","=",t.space],["approved","=","progess"]],n&&"kids_approval_status"===n?o.push(["type","=","Kids"]):"ca_approval_status"===n?o.push(["type","=","CA"]):"sra_approval_status"===n?o.push(["type","=","SRA"]):"ns_approval_status"===n?o.push(["type","=","NS"]):"legal_approval_status"===n?o.push(["type","=","Legal"]):"approval_status"===n?o.push(["type","=","guding"]):"pre_ns_approval_status"===n?o.push(["type","=","PreNS"]):"pre_legal_approval_status"===n?o.push(["type","=","PreLegal"]):"pre_sra_approval_status"===n?o.push(["type","=","PreSRA"]):"pre_ca_approval_status"===n?o.push(["type","=","PreCA"]):"pre_approval_status"===n&&o.push(["type","=","Preguding"]),[4,e.getObject("pepsico_approval_process").find({filters:o,top:1,sort:"modified asc"})];case 1:i=y.sent(),y.label=2;case 2:y.trys.push([2,15,16,17]),c=s.__values(i),p=c.next(),y.label=3;case 3:return p.done?[3,14]:(l=p.value,[4,e.getObject("pepsico_approval_process").update(l._id,{submitted:new Date,modified:new Date,modified_by:r.userId,approved:a||"submit"})]);case 4:return y.sent(),[4,e.getObject("pepsico_approval_process").find({filters:[["owner","!=",r.userId],["pepsico_material_approval","=",t._id],["current_step","=",t.current_step],["space","=",t.space],["approved","=","progess"],["type","=",l.type]],sort:"modified desc"})];case 5:_=y.sent(),y.label=6;case 6:y.trys.push([6,11,12,13]),b=void 0,u=s.__values(_),d=u.next(),y.label=7;case 7:return d.done?[3,10]:(v=d.value,[4,e.getObject("pepsico_approval_process").update(v._id,{modified:new Date,modified_by:r.userId,approved:""})]);case 8:y.sent(),y.label=9;case 9:return d=u.next(),[3,7];case 10:return[3,13];case 11:return g=y.sent(),b={error:g},[3,13];case 12:try{d&&!d.done&&(w=u.return)&&w.call(u)}finally{if(b)throw b.error}return[7];case 13:return p=c.next(),[3,3];case 14:return[3,17];case 15:return m=y.sent(),f={error:m},[3,17];case 16:try{p&&!p.done&&(h=c.return)&&h.call(c)}finally{if(f)throw f.error}return[7];case 17:return[2]}})})},O=function(e,t,r,a){return s.__awaiter(void 0,void 0,void 0,function(){var n,o,c,p,l,_,u,d,v,g,m,f,h,b;return s.__generator(this,function(w){switch(w.label){case 0:return n=e.meta.user.userId,r?((f={})[r]=a,o=f,n?[4,e.getObject("pepsico_material_approval").findOne(t)]:[3,11]):[3,13];case 1:return c=w.sent(),p=c.person_pending_approve||[],-1!==(l=(0,i.findIndex)(p,function(e){return e===n}))&&(0,i.pullAt)(p,l),o.person_pending_approve=p,o.$push={person_approved:n},(_=c.review_postponed_users||[]).includes(n)?(o.review_postponed_users=_.filter(function(e){return e!==n}),[4,e.getObject("pepsico_review_postpone").directFind({filters:[["pepsico_material_approval","=",t],["notification_sent","=",!1],["is_marker","!=",!0]]})]):[3,11];case 2:u=w.sent(),w.label=3;case 3:w.trys.push([3,8,9,10]),d=s.__values(u),v=d.next(),w.label=4;case 4:return v.done?[3,7]:((g=v.value).postponed_user_ids?g.postponed_user_ids.split(",").filter(Boolean):[]).includes(n)?[4,e.getObject("pepsico_review_postpone").directUpdate(g._id,{notification_sent:!0})]:[3,6];case 5:w.sent(),w.label=6;case 6:return v=d.next(),[3,4];case 7:return[3,10];case 8:return m=w.sent(),h={error:m},[3,10];case 9:try{v&&!v.done&&(b=d.return)&&b.call(d)}finally{if(h)throw h.error}return[7];case 10:console.log("[updateApproveFieldStatus] 延后审核人提前审核,已清理 review_postponed_users: ".concat(n)),w.label=11;case 11:return console.log("[updateApproveFieldStatus]",JSON.stringify({recordId:t,set:o})),[4,e.getObject("pepsico_material_approval").update(t,o)];case 12:w.sent(),w.label=13;case 13:return[2]}})})},S=function(e,t,r){var a=r.nextStep,o=r.nextApprovers,c=r.description;return s.__awaiter(void 0,void 0,void 0,function(){var r,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S;return s.__generator(this,function(j){switch(j.label){case 0:return console.log("[changeApprovalProcess]",a,o,c),r=e.meta.user,t.current_step&&t.current_step!=n.Step.draft?[3,3]:[4,e.getObject("pepsico_approval_process").count({filters:[["pepsico_material_approval","=",t._id],["space","=",t.space]]})];case 1:return 0!=j.sent()?[3,3]:(p=new Date,[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:t._id,owner:r.userId,review_department:r.organization._id,current_step:n.Step.draft,space:t.space,created:p,created_by:r.userId,modified:p,modified_by:r.userId,name:c,submitted:p,approved:"submit"})]);case 2:j.sent(),j.label=3;case 3:switch(a){case n.Step.draft:case n.Step.ai_review:case n.Step.departmental_review:case n.Step.personnel_review:case n.Step.submitter_revisions:case n.Step.awaiting_deployment:return[3,4];case n.Step.conclusion:return[3,21]}return[3,23];case 4:j.trys.push([4,18,19,20]),l=s.__values(o),_=l.next(),j.label=5;case 5:if(_.done)return[3,17];u=_.value,j.label=6;case 6:j.trys.push([6,12,13,14]),y=void 0,d=s.__values(u.userIds),v=d.next(),j.label=7;case 7:return v.done?[3,11]:(g=v.value,[4,e.getObject("space_users").directFind({filters:[["user","=",g],["space","=",t.space]]})]);case 8:return m=j.sent(),[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:t._id,owner:g,type:u.type,review_department:m.length>0?m[0].organization:null,current_step:a,approved:"progess",space:t.space,created:new Date,created_by:r.userId,modified:new Date,modified_by:r.userId,name:c})];case 9:j.sent(),j.label=10;case 10:return v=d.next(),[3,7];case 11:return[3,14];case 12:return f=j.sent(),y={error:f},[3,14];case 13:try{v&&!v.done&&(O=d.return)&&O.call(d)}finally{if(y)throw y.error}return[7];case 14:return u.type?[4,e.getObject("pepsico_material_approval").directUpdate(t._id,(S={},S["handler_".concat((0,i.toLower)(u.type))]=u.userIds,S))]:[3,16];case 15:j.sent(),j.label=16;case 16:return _=l.next(),[3,5];case 17:return[3,20];case 18:return h=j.sent(),b={error:h},[3,20];case 19:try{_&&!_.done&&(w=l.return)&&w.call(l)}finally{if(b)throw b.error}return[7];case 20:return[3,24];case 21:return[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:t._id,current_step:n.Step.conclusion,space:t.space,created:new Date,created_by:r.userId,modified:new Date,modified_by:r.userId,name:c})];case 22:return j.sent(),[3,24];case 23:return[3,24];case 24:return[2]}})})},j=function(e,t){return s.__awaiter(void 0,void 0,void 0,function(){var r,a;return s.__generator(this,function(s){switch(s.label){case 0:return[4,f(e,t)];case 1:return r=s.sent(),a=[],r===n.Step.personnel_review?(a=(0,i.concat)(t.reviewer,t.assistance),t.pre_reviewer&&(a=(0,i.concat)(a,t.pre_reviewer))):(a=(0,i.concat)(t.sra_reviewer,t.ns_reviewer,t.ca_reviewer,t.legal_reviewer,t.sra_assistance,t.ns_assistance,t.ca_assistance,t.legal_assistance),t.pre_ns_reviewer&&(a=(0,i.concat)(a,t.pre_ns_reviewer)),t.pre_legal_reviewer&&(a=(0,i.concat)(a,t.pre_legal_reviewer)),t.pre_sra_reviewer&&(a=(0,i.concat)(a,t.pre_sra_reviewer)),t.pre_ca_reviewer&&(a=(0,i.concat)(a,t.pre_ca_reviewer))),"yes"==t.child_files&&(a=(0,i.concat)(a,t.kids_reviewer)),[4,e.getObject("pepsico_material_approval").directUpdate(t._id,{$push:{person_view:{$each:(0,i.compact)((0,i.uniq)(a))}},approval_type:r})];case 2:return s.sent(),[2]}})})},A={pre_ns_approval_status:{reviewerField:"ns_reviewer",type:n.ProcessApprovalType.NS,statusField:"ns_approval_status"},pre_legal_approval_status:{reviewerField:"legal_reviewer",type:n.ProcessApprovalType.Legal,statusField:"legal_approval_status"},pre_sra_approval_status:{reviewerField:"sra_reviewer",type:n.ProcessApprovalType.SRA,statusField:"sra_approval_status"},pre_ca_approval_status:{reviewerField:"ca_reviewer",type:n.ProcessApprovalType.CA,statusField:"ca_approval_status"},pre_approval_status:{reviewerField:"reviewer",type:n.ProcessApprovalType.guding,statusField:"approval_status"}},P=function(e,t,r,a){return s.__awaiter(void 0,void 0,void 0,function(){var o,c,p,l,d,v,g,m,f,h,b,w,y,O,S,j,P,D,I;return s.__generator(this,function(k){switch(k.label){case 0:return(o=A[r])?!0===(c=a[o.statusField])||c===n.ApprovalStatus.pass||!(p=a[o.reviewerField])||Array.isArray(p)&&0===p.length?[2]:(l=Array.isArray(p)?p:[p],[4,(0,u.getReviewerAgentsInfo)(e,a.space,l)]):[2];case 1:d=k.sent(),v=e.meta.user,k.label=2;case 2:k.trys.push([2,8,9,10]),g=s.__values(d.userIds),m=g.next(),k.label=3;case 3:return m.done?[3,7]:(f=m.value,[4,e.getObject("space_users").directFind({filters:[["user","=",f],["space","=",a.space]]})]);case 4:return h=k.sent(),[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:a._id,owner:f,type:o.type,review_department:h.length>0?h[0].organization:null,current_step:a.current_step,approved:"progess",space:a.space,created:new Date,created_by:v.userId,modified:new Date,modified_by:v.userId,name:""})];case 5:k.sent(),k.label=6;case 6:return m=g.next(),[3,3];case 7:return[3,10];case 8:return b=k.sent(),S={error:b},[3,10];case 9:try{m&&!m.done&&(j=g.return)&&j.call(g)}finally{if(S)throw S.error}return[7];case 10:return[4,e.getObject("pepsico_material_approval").directUpdate(a._id,(P={},P["handler_".concat((0,i.toLower)(o.type))]=d.userIds,P))];case 11:return k.sent(),[4,e.getObject("pepsico_material_approval").findOne(t)];case 12:return w=k.sent(),y=w.person_pending_approve||[],O=(0,i.compact)((0,i.uniq)((0,i.concat)(y,d.userIds))),[4,e.getObject("pepsico_material_approval").directUpdate(a._id,(D={person_pending_approve:O},D[o.statusField]="",D))];case 13:return k.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],[o.statusField,"=",!1]],(I={},I[o.statusField]="",I))];case 14:return k.sent(),console.log("[addFormalReviewerAfterPreApproval] 预审字段 ".concat(r," 通过, 追加正式审核人:"),d.userIds),[4,(0,_.sendNotifications)(e,a,d.userIds,"请审批")];case 15:return k.sent(),[2]}})})};t.getPreReviewStatuses=function(e){var t=[];return e.pre_ns_reviewer&&t.push({dept:"NS",status:e.pre_ns_approval_status,preField:"pre_ns_approval_status",deptApprovalField:"ns_approval_status"}),e.pre_legal_reviewer&&t.push({dept:"Legal",status:e.pre_legal_approval_status,preField:"pre_legal_approval_status",deptApprovalField:"legal_approval_status"}),e.pre_sra_reviewer&&t.push({dept:"SRA",status:e.pre_sra_approval_status,preField:"pre_sra_approval_status",deptApprovalField:"sra_approval_status"}),e.pre_ca_reviewer&&t.push({dept:"CA",status:e.pre_ca_approval_status,preField:"pre_ca_approval_status",deptApprovalField:"ca_approval_status"}),t},t.hasNonPreReviewDepartments=function(e){var t=function(e){return!0===e||e===n.ApprovalStatus.approved||e===n.ApprovalStatus.pass};return!e.pre_ns_reviewer&&!t(e.ns_approval_status)||!e.pre_legal_reviewer&&!t(e.legal_approval_status)||!e.pre_sra_reviewer&&!t(e.sra_approval_status)||!e.pre_ca_reviewer&&!t(e.ca_approval_status)},t.advanceApproval=function(e,t,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,o,p,u,d,v,m,f,y,O,A,P,I,k,E,T,R,C,x,U,N,M,L,F,J,$,q,B,Y,z,K,Z,V,G,H,W,Q,X,ee,te,re,ae,se,ne,oe,ie,ce;return s.__generator(this,function(pe){switch(pe.label){case 0:return pe.trys.push([0,95,,96]),a="请查看",o=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:return p=pe.sent(),console.log("[advanceApproval]",p.current_step,p.person_pending_approve,o.userId),[4,(le=p,s.__awaiter(void 0,void 0,void 0,function(){return s.__generator(this,function(e){if(le.review_status===n.ReviewStatus.terminated)throw new Error("已中止审核.");if(le.current_step===n.Step.conclusion)throw new Error("已审核完成.");return[2,!0]})}))];case 2:return pe.sent(),[4,h(e,p,r)];case 3:return u=pe.sent(),[4,g(e,p)];case 4:return d=pe.sent(),u===n.Step.conclusion&&d?[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{is_skip_approver:!0})]:[3,8];case 5:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",p._id],{is_skip_approver:!0})];case 6:return pe.sent(),[4,j(e,p)];case 7:pe.sent(),pe.label=8;case 8:return[4,b(e,p,u)];case 9:if(v=pe.sent(),p.current_step!==n.Step.submitter_revisions||u!==n.Step.departmental_review&&u!==n.Step.personnel_review)return[3,23];m=[],pe.label=10;case 10:pe.trys.push([10,18,19,20]),f=s.__values(v),y=f.next(),pe.label=11;case 11:return y.done?[3,17]:(Y=y.value,O=(0,c.getApproverFieldByType)(Y.type),console.log("getApproverFieldByType",Y.type,O),O?[4,(0,c.getUserReviewedAllMaterialsStatus)(e,p._id,O)]:[3,16]);case 12:return A=pe.sent(),console.log("getUserReviewedAllMaterialsStatus",p._id,O,A),A!==n.ApprovalStatus.approved?[3,14]:(console.log("[advanceApproval] 自动更新审批单上的状态字段",t,((ae={})[O]=n.ApprovalStatus.approved,ae)),[4,e.getObject("pepsico_material_approval").directUpdate(t,(se={},se[O]=!0,se))]);case 13:return pe.sent(),[3,15];case 14:A===n.ApprovalStatus.pass?console.log("[advanceApproval] 部门已跳过,保持bypass状态",t,O):m.push(Y),pe.label=15;case 15:pe.label=16;case 16:return y=f.next(),[3,11];case 17:return[3,20];case 18:return P=pe.sent(),te={error:P},[3,20];case 19:try{y&&!y.done&&(re=f.return)&&re.call(f)}finally{if(te)throw te.error}return[7];case 20:return m.length>0?(v=m,[3,23]):[3,21];case 21:return u=n.Step.awaiting_deployment,[4,b(e,p,u)];case 22:v=pe.sent(),pe.label=23;case 23:return console.log("[advanceApproval] currentStepApprovalStatus:",r," nextStep:",u," nextApprovers:",v),I=[],k=[],(0,i.map)(v,function(e){I=(0,i.concat)(I,e.userIds),k=(0,i.concat)(k,e.clientUserIds)}),E={current_step:u,review_status:w(u),person_pending_approve:I,$push:{person_view:{$each:(0,i.compact)((0,i.uniq)((0,i.difference)(k,I)))},person_approved:{$each:p.person_pending_approve}}},p.current_step!==n.Step.draft?[3,25]:(E.draft_submitted=new Date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",p._id],{draft_submitted:E.draft_submitted})]);case 24:pe.sent(),pe.label=25;case 25:return p.current_step===n.Step.ai_review&&(E.ai_reviewed_date=new Date),p.current_step!==n.Step.departmental_review&&p.current_step!==n.Step.personnel_review||(E.re_reviewed_date=new Date),u!==n.Step.awaiting_deployment?[3,27]:(E.review_completed_date=new Date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",p._id],{review_completed_date:E.review_completed_date})]);case 26:pe.sent(),pe.label=27;case 27:return p.current_step===n.Step.awaiting_deployment&&(E.awaiting_deployment_date=new Date),p.current_step!==n.Step.conclusion?[3,29]:(E.conclusion_date=new Date,p.review_completed_date?[3,29]:(E.review_completed_date=E.conclusion_date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",p._id],{review_completed_date:E.review_completed_date})]));case 28:pe.sent(),pe.label=29;case 29:return p.current_step===n.Step.submitter_revisions&&(E.submitter_revision_date=new Date,console.log("[advanceApproval] 检测到修改后提交场景, 标记图片对比任务: ".concat(t)),E.image_comparison_status="pending",E.image_comparison_at=new Date,E.image_comparison_failed_count=0),[4,e.getObject("pepsico_material_approval").update(t,E)];case 30:return pe.sent(),[4,S(e,p,{nextStep:u,nextApprovers:v,description:""})];case 31:return pe.sent(),u!==n.Step.ai_review?[3,33]:(console.time("callAIReview: "+t),[4,(0,l.callAIReview)(e,t)]);case 32:pe.sent(),console.timeEnd("callAIReview: "+t),pe.label=33;case 33:pe.trys.push([33,69,70,71]),T=s.__values(v),R=T.next(),pe.label=34;case 34:return R.done?[3,68]:(C=R.value).type!==n.ProcessApprovalType.CA?[3,37]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{ca_approval_status:""})];case 35:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["ca_approval_status","=",!1]],{ca_approval_status:""})];case 36:pe.sent(),pe.label=37;case 37:return C.type!==n.ProcessApprovalType.Legal?[3,40]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{legal_approval_status:""})];case 38:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["legal_approval_status","=",!1]],{legal_approval_status:""})];case 39:pe.sent(),pe.label=40;case 40:return C.type!==n.ProcessApprovalType.NS?[3,43]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{ns_approval_status:""})];case 41:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["ns_approval_status","=",!1]],{ns_approval_status:""})];case 42:pe.sent(),pe.label=43;case 43:return C.type!==n.ProcessApprovalType.SRA?[3,46]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{sra_approval_status:""})];case 44:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["sra_approval_status","=",!1]],{sra_approval_status:""})];case 45:pe.sent(),pe.label=46;case 46:return C.type!==n.ProcessApprovalType.guding?[3,49]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{approval_status:""})];case 47:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["approval_status","=",!1]],{approval_status:""})];case 48:pe.sent(),pe.label=49;case 49:return C.type!==n.ProcessApprovalType.Kids?[3,52]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{kids_approval_status:""})];case 50:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["kids_approval_status","=",!1]],{kids_approval_status:""})];case 51:pe.sent(),pe.label=52;case 52:return C.type!==n.ProcessApprovalType.PreNS?[3,55]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_ns_approval_status:""})];case 53:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_ns_approval_status","=",!1]],{pre_ns_approval_status:""})];case 54:pe.sent(),pe.label=55;case 55:return C.type!==n.ProcessApprovalType.PreLegal?[3,58]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_legal_approval_status:""})];case 56:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_legal_approval_status","=",!1]],{pre_legal_approval_status:""})];case 57:pe.sent(),pe.label=58;case 58:return C.type!==n.ProcessApprovalType.PreSRA?[3,61]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_sra_approval_status:""})];case 59:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_sra_approval_status","=",!1]],{pre_sra_approval_status:""})];case 60:pe.sent(),pe.label=61;case 61:return C.type!==n.ProcessApprovalType.PreCA?[3,64]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_ca_approval_status:""})];case 62:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_ca_approval_status","=",!1]],{pre_ca_approval_status:""})];case 63:pe.sent(),pe.label=64;case 64:return C.type!==n.ProcessApprovalType.Preguding?[3,67]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_approval_status:""})];case 65:return pe.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_approval_status","=",!1]],{pre_approval_status:""})];case 66:pe.sent(),pe.label=67;case 67:return R=T.next(),[3,34];case 68:return[3,71];case 69:return x=pe.sent(),ne={error:x},[3,71];case 70:try{R&&!R.done&&(oe=T.return)&&oe.call(T)}finally{if(ne)throw ne.error}return[7];case 71:return u!==n.Step.departmental_review&&u!==n.Step.personnel_review?[3,73]:[4,j(e,p)];case 72:pe.sent(),pe.label=73;case 73:return p.current_step!==n.Step.departmental_review&&p.current_step!==n.Step.personnel_review?[3,75]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{materials_remove_share_link_from_onedrive_status:"pending"})];case 74:pe.sent(),pe.label=75;case 75:return u!==n.Step.awaiting_deployment?[3,77]:[4,D(e,t)];case 76:pe.sent(),pe.label=77;case 77:return u===n.Step.awaiting_deployment||u===n.Step.conclusion&&p.current_step===n.Step.ai_review?(U={materials_download_from_onedrive_status:"pending"},[4,e.getObject("pepsico_material_approval").directUpdate(t,U)]):[3,79];case 78:pe.sent(),pe.label=79;case 79:return r===n.ApprovalStatus.rejected&&(a="内容审批被驳回"),r!==n.ApprovalStatus.approved||u!==n.Step.departmental_review&&u!==n.Step.personnel_review||(a="请审批"),u===n.Step.awaiting_deployment&&(a="内容审批已通过待上线"),N=[],u!==n.Step.departmental_review&&u!==n.Step.personnel_review?[3,91]:(M=new Date,L=new Date(M.getTime()+2592e5),[4,e.getObject("pepsico_review_postpone").directFind({filters:[["pepsico_material_approval","=",t],["is_marker","=",!0]]})]);case 80:if(!((F=pe.sent())&&F.length>0))return[3,91];J=new Set(F.map(function(e){return e.department_type})),$=function(t){var r,a,n,c,p,l,_,u;return s.__generator(this,function(d){switch(d.label){case 0:if(!J.has(t.type))return[2,"continue"];r=t.userIds||[],a=F.filter(function(e){return e.department_type===t.type}),d.label=1;case 1:d.trys.push([1,6,7,8]),_=void 0,n=s.__values(a),c=n.next(),d.label=2;case 2:return c.done?[3,5]:(p=c.value,[4,e.getObject("pepsico_review_postpone").directUpdate(p._id,{is_marker:!1,visible_after:L,notification_sent:!1,postponed_user_ids:r.join(","),modified:M,modified_by:o.userId})]);case 3:d.sent(),d.label=4;case 4:return c=n.next(),[3,2];case 5:return[3,8];case 6:return l=d.sent(),_={error:l},[3,8];case 7:try{c&&!c.done&&(u=n.return)&&u.call(n)}finally{if(_)throw _.error}return[7];case 8:return N=(0,i.compact)((0,i.uniq)((0,i.concat)(N,r))),[2]}})},pe.label=81;case 81:pe.trys.push([81,86,87,88]),q=s.__values(v),B=q.next(),pe.label=82;case 82:return B.done?[3,85]:(Y=B.value,[5,$(Y)]);case 83:pe.sent(),pe.label=84;case 84:return B=q.next(),[3,82];case 85:return[3,88];case 86:return z=pe.sent(),ie={error:z},[3,88];case 87:try{B&&!B.done&&(ce=q.return)&&ce.call(q)}finally{if(ie)throw ie.error}return[7];case 88:return N.length>0?[4,e.getObject("pepsico_material_approval").findOne(t)]:[3,91];case 89:return K=pe.sent(),Z=K.review_postponed_users||[],V=(0,i.compact)((0,i.uniq)((0,i.concat)(Z,N))),G=K.postpone_marker_users||[],H=G.filter(function(e){return!N.includes(e)}),[4,e.getObject("pepsico_material_approval").directUpdate(t,{review_postponed_users:V,postpone_marker_users:H})];case 90:pe.sent(),console.log("[advanceApproval] 自动延后审核人: ".concat(N,", visibleAfter: ").concat(L)),pe.label=91;case 91:return W=N.length>0?I.filter(function(e){return!N.includes(e)}):I,[4,(0,_.sendNotifications)(e,p,W,a)];case 92:return pe.sent(),u!==n.Step.awaiting_deployment?[3,94]:(Q=p.owner,X=p.material_owner_id,Q&&X&&Q!==X?(console.log("[advanceApproval] 通知发起人审核完成: initiator=".concat(Q,", material_owner=").concat(X)),[4,(0,_.sendNotifications)(e,p,[Q],"审核完成")]):[3,94]);case 93:pe.sent(),pe.label=94;case 94:return[2,{}];case 95:throw ee=pe.sent(),console.error("[advanceApproval] Error:",ee.message,ee.stack),ee;case 96:return[2]}var le})})},t.terminate=function(e,t,r){return s.__awaiter(void 0,void 0,void 0,function(){var a,o,c,p,l,_,u,d,v;return s.__generator(this,function(g){switch(g.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:return(o=g.sent()).owner===a.userId||a.is_space_admin||(0,i.includes)(o.person_pending_approve,a.userId)?[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:o._id,current_step:n.Step.conclusion,owner:a.userId,space:o.space,created:new Date,created_by:a.userId,modified:new Date,modified_by:a.userId,approvalStatus:"terminate",name:r})]:[3,13];case 2:return g.sent(),[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",o._id],["approved","=","progess"]]})];case 3:c=g.sent(),g.label=4;case 4:g.trys.push([4,9,10,11]),p=s.__values(c),l=p.next(),g.label=5;case 5:return l.done?[3,8]:(_=l.value,[4,e.getObject("pepsico_approval_process").directUpdate(_._id,{approved:"",modified:new Date,modified_by:a.userId})]);case 6:g.sent(),g.label=7;case 7:return l=p.next(),[3,5];case 8:return[3,11];case 9:return u=g.sent(),d={error:u},[3,11];case 10:try{l&&!l.done&&(v=p.return)&&v.call(p)}finally{if(d)throw d.error}return[7];case 11:return[4,e.getObject("pepsico_material_approval").update(t,{current_step:n.Step.conclusion,review_status:n.ReviewStatus.terminated,termination_date:new Date,person_pending_approve:[],termination_type:o.owner===a.userId?"发起人中止":"审批人中止"})];case 12:return g.sent(),[2,{}];case 13:throw new Error("Sorry, you don’t have permission to terminate the review.")}})})};var D=function(e,t){return s.__awaiter(this,void 0,void 0,function(){return s.__generator(this,function(r){switch(r.label){case 0:return[4,e.getObject("pepsico_material_approval").update(t,{launch:"pending"})];case 1:return r.sent(),[2]}})})};t.confirmDeployment=function(e,r,a){return void 0===a&&(a={content_rule:null}),s.__awaiter(this,void 0,void 0,function(){var o,c;return s.__generator(this,function(s){switch(s.label){case 0:return o=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:if(c=s.sent(),o.userId!==c.material_owner_id)throw new Error("只有材料拥有者才能执行此操作.");return c.current_step!==n.Step.awaiting_deployment?[2,{}]:(0,i.includes)(c.person_pending_approve,o.userId)?[3,3]:[4,e.getObject("pepsico_material_approval").directUpdate(r,{person_pending_approve:[o.userId]})];case 2:s.sent(),c.person_pending_approve=[o.userId],s.label=3;case 3:return[4,y(e,c,{approvalStatus:n.ApprovalStatus.submit,approveField:""})];case 4:return s.sent(),[4,e.getObject("pepsico_material_approval").update(r,{launch:"launched",content_rule:a.content_rule,aunch_time:new Date})];case 5:return s.sent(),[4,(0,t.advanceApproval)(e,r,n.ApprovalStatus.submit)];case 6:return s.sent(),[4,(0,p.inventoryApprovalMaterial)(e,r)];case 7:return s.sent(),[2,{}]}})})},t.postponeDeployment=function(e,t,r){return s.__awaiter(this,void 0,void 0,function(){var a,o;return s.__generator(this,function(s){switch(s.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if(o=s.sent(),a.userId!==o.material_owner_id)throw new Error("只有材料拥有者才能执行此操作.");return o.current_step!==n.Step.awaiting_deployment?[3,5]:(0,i.includes)(o.person_pending_approve,a.userId)?[3,3]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{person_pending_approve:[a.userId]})];case 2:s.sent(),s.label=3;case 3:return[4,e.getObject("pepsico_material_approval").update(t,{launch:"postpone",postpone_launch_date:r.postpone_launch_date})];case 4:s.sent(),s.label=5;case 5:return[2,{}]}})})},t.approvalContent=function(e,r,a){var o=a.approveField,c=a.materialStatus,p=void 0===c?n.ApprovalStatus.approved:c;return s.__awaiter(this,void 0,void 0,function(){var a,c,l,_,u,d,v,g,m,f;return s.__generator(this,function(s){switch(s.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(c=s.sent()).current_step==n.Step.draft||(0,i.includes)(c.person_pending_approve,a.userId)?(l=p!==n.ApprovalStatus.pass||n.ApprovalStatus.pass,[4,O(e,r,o,l)]):[2,{}];case 2:return s.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 3:return _=s.sent(),u=!0===l?n.ApprovalStatus.approved:l,[4,y(e,_,{approvalStatus:u,approveField:o})];case 4:return s.sent(),!A[o]||!0!==l&&l!==n.ApprovalStatus.pass?[3,6]:[4,P(e,r,o,_)];case 5:s.sent(),s.label=6;case 6:if(d=function(e){return!0===e||e===n.ApprovalStatus.approved||e===n.ApprovalStatus.pass},v=function(e){return e===n.ApprovalStatus.pass},_.current_step===n.Step.departmental_review){if(!((0,t.isDeptReviewComplete)(_,"ns")&&(0,t.isDeptReviewComplete)(_,"legal")&&(0,t.isDeptReviewComplete)(_,"sra")&&(0,t.isDeptReviewComplete)(_,"ca")))return console.log("[approvalContent]: 有部门审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];(g=[(0,t.getDeptEffectiveStatus)(_,"ns"),(0,t.getDeptEffectiveStatus)(_,"legal"),(0,t.getDeptEffectiveStatus)(_,"sra"),(0,t.getDeptEffectiveStatus)(_,"ca")]).every(d)?(m=g.every(v),u=m?n.ApprovalStatus.pass:n.ApprovalStatus.approved):u=n.ApprovalStatus.rejected,console.log("[approvalContent]: 部门复审完成, 结果为:",u)}else if(_.current_step===n.Step.personnel_review){if(!(0,t.isDeptReviewComplete)(_,"approval"))return console.log("[approvalContent]: 固定人员审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];f=(0,t.getDeptEffectiveStatus)(_,"approval"),u=d(f)?v(f)?n.ApprovalStatus.pass:n.ApprovalStatus.approved:n.ApprovalStatus.rejected,console.log("[approvalContent]: 固定人员复审完成, 结果为:",u)}if("yes"==_.child_files){if(!(0,t.hasReviewed)(_.kids_approval_status))return console.log("[approvalContent]: kids审核人未审批, 只结束当前用户审批任务,不推进审批进度."),[2,{}];0==_.kids_approval_status&&(u=n.ApprovalStatus.rejected),console.log("[approvalContent]: kids审核完成, 结果为:",u)}return console.log("[approvalContent] 推进审批进度,参数为 审批单: ".concat(r," 当前步骤: ").concat(_.current_step," 审批结果为: ").concat(u)),[4,(0,t.advanceApproval)(e,r,u)];case 7:return s.sent(),[2,{}]}})})},t.rejectContent=function(e,r,a){var o=a.approveField;return s.__awaiter(this,void 0,void 0,function(){var a,c,p,l;return s.__generator(this,function(s){switch(s.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(c=s.sent()).current_step==n.Step.draft||(0,i.includes)(c.person_pending_approve,a.userId)?[4,O(e,r,o,!1)]:[2,{}];case 2:return s.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 3:return p=s.sent(),l=n.ApprovalStatus.rejected,[4,y(e,p,{approvalStatus:n.ApprovalStatus.rejected,approveField:o})];case 4:if(s.sent(),p.current_step===n.Step.departmental_review){if(!((0,t.isDeptReviewComplete)(p,"ns")&&(0,t.isDeptReviewComplete)(p,"legal")&&(0,t.isDeptReviewComplete)(p,"sra")&&(0,t.isDeptReviewComplete)(p,"ca")))return console.log("[rejectContent]: 有部门审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];console.log("[rejectContent]: 部门复审完成")}else if(p.current_step===n.Step.personnel_review){if(!(0,t.isDeptReviewComplete)(p,"approval"))return console.log("[rejectContent]: 固定人员审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];console.log("[rejectContent]: 固定人员复审完成")}if("yes"==p.child_files){if(!(0,t.hasReviewed)(p.kids_approval_status))return console.log("[rejectContent]: kids审核人未审批, 只结束当前用户审批任务,不推进审批进度."),[2,{}];console.log("[rejectContent]: kids审核完成")}return console.log("[rejectContent] 推进审批进度,参数为 审批单: ".concat(r," 当前步骤: ").concat(p.current_step," 审批结果为: ").concat(l)),[4,(0,t.advanceApproval)(e,r,l)];case 5:return s.sent(),[2,{}]}})})},t.submitKidsContent=function(e,r,a){return s.__awaiter(this,void 0,void 0,function(){var o;return s.__generator(this,function(s){switch(s.label){case 0:if(a!=n.ApprovalStatus.approved&&a!=n.ApprovalStatus.rejected)throw new Error("无效的审核状态.");return o="kids_approval_status",a!==n.ApprovalStatus.approved?[3,2]:[4,(0,t.approvalContent)(e,r,{approveField:o})];case 1:return s.sent(),[3,4];case 2:return[4,(0,t.rejectContent)(e,r,{approveField:o})];case 3:s.sent(),s.label=4;case 4:return[2]}})})},t.submitPreReviewContent=function(e,r,a){return s.__awaiter(this,void 0,void 0,function(){var o,c,p,l,_;return s.__generator(this,function(s){switch(s.label){case 0:if(a!=n.ApprovalStatus.approved&&a!=n.ApprovalStatus.rejected)throw new Error("无效的审核状态.");return o=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:if((c=s.sent()).current_step!==n.Step.departmental_review&&c.current_step!==n.Step.personnel_review)throw new Error("当前步骤不支持预审操作");if(!(0,i.includes)(c.person_pending_approve,o.userId))throw new Error("您不是当前预审人");return p="",c.pre_reviewer===o.userId?p="pre_approval_status":c.pre_ns_reviewer===o.userId?p="pre_ns_approval_status":c.pre_legal_reviewer===o.userId?p="pre_legal_approval_status":c.pre_sra_reviewer===o.userId?p="pre_sra_approval_status":c.pre_ca_reviewer===o.userId&&(p="pre_ca_approval_status"),p?[3,3]:[4,e.getObject("pepsico_approval_process").find({filters:[["owner","=",o.userId],["pepsico_material_approval","=",r],["current_step","=",c.current_step],["space","=",c.space],["approved","=","progess"]],top:1,sort:"modified desc"})];case 2:(l=s.sent()).length>0&&((_=l[0].type)===n.ProcessApprovalType.PreNS?p="pre_ns_approval_status":_===n.ProcessApprovalType.PreLegal?p="pre_legal_approval_status":_===n.ProcessApprovalType.PreSRA?p="pre_sra_approval_status":_===n.ProcessApprovalType.PreCA?p="pre_ca_approval_status":_===n.ProcessApprovalType.Preguding&&(p="pre_approval_status")),s.label=3;case 3:if(!p)throw new Error("无法确定预审字段");return a!==n.ApprovalStatus.approved?[3,5]:[4,(0,t.approvalContent)(e,r,{approveField:p})];case 4:return s.sent(),[3,7];case 5:return[4,(0,t.rejectContent)(e,r,{approveField:p})];case 6:s.sent(),s.label=7;case 7:return[2]}})})},t.submitContent=function(e,r,a,o){return s.__awaiter(this,void 0,void 0,function(){var p,l,u,d,v,g,m,h,b,w,O,S,j,A,P,D;return s.__generator(this,function(I){switch(I.label){case 0:return[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return p=I.sent(),l=e.meta.user,u=!1,p.current_step===n.Step.ai_review&&l.is_space_admin&&!0===o?(console.log("".concat(l.name,"(").concat(l.userId,")提交了AI审核步骤:"),r),u=!0,[4,e.getObject("pepsico_approval_process").find({filters:[["owner","=",process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID],["pepsico_material_approval","=",r],["current_step","=",n.Step.ai_review],["space","=",p.space],["approved","=","progess"]],top:1,sort:"modified desc"})]):[3,10];case 2:d=I.sent(),console.log("管理员提交了AI审核步骤, 修改审批历史: process.length:",d.length,JSON.stringify({filters:[["owner","=",process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID],["pepsico_material_approval","=",r],["current_step","=",n.Step.ai_review],["space","=",p.space],["approved","=","progess"]],top:1,sort:"modified desc"})),I.label=3;case 3:I.trys.push([3,8,9,10]),v=s.__values(d),g=v.next(),I.label=4;case 4:return g.done?[3,7]:(m=g.value,console.log("管理员提交了AI审核步骤, 修改审批历史: process Id:",m._id),[4,e.getObject("pepsico_approval_process").directUpdate(m._id,{submitted:new Date,modified:new Date,modified_by:l.userId,approved:"skip"})]);case 5:I.sent(),I.label=6;case 6:return g=v.next(),[3,4];case 7:return[3,10];case 8:return h=I.sent(),P={error:h},[3,10];case 9:try{g&&!g.done&&(D=v.return)&&D.call(v)}finally{if(P)throw P.error}return[7];case 10:if(1!=u&&p.current_step!=n.Step.draft&&!(0,i.includes)(p.person_pending_approve,l.userId))return[2,{}];if(!p.is_external||p.current_step!==n.Step.draft||1==p.external_submitted)return[3,14];if(p.owner!==l.userId)return[3,13];if(!p.internal_collaborator)throw new Error("请先选择内部协作者");return[4,e.getObject("pepsico_material_approval").directUpdate(r,{owner:p.internal_collaborator,external_submitted:!0})];case 11:return I.sent(),[4,(0,_.sendNotifications)(e,p,[p.internal_collaborator],"协助提交材料审批单")];case 12:I.sent(),I.label=13;case 13:return[2];case 14:return p.current_step!==n.Step.draft?[3,22]:[4,f(e,p)];case 15:return b=I.sent(),[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{approval_type:b})];case 16:return I.sent(),[3,19];case 17:return 1!=I.sent()?[2,{status:500,msg:"更新素材失败, 请稍后重试",data:{}}]:[4,(0,c.downloadBulkFromOneDriveDoc)(e,r)];case 18:if(1!=I.sent())return[2,{status:500,msg:"更新素材失败, 请稍后重试",data:{}}];I.label=19;case 19:return p&&p.material_owner?[4,e.getObject("space_users").find({filters:[["email","=",p.material_owner],["space","=",p.space]]})]:[3,22];case 20:return(w=I.sent())&&w.length>0?(O=w[0],[4,e.getObject("pepsico_material_approval").directUpdate(r,{material_owner_id:O.user})]):[3,22];case 21:I.sent(),I.label=22;case 22:return console.log("[submitContent] 步骤提交,参数为 审批单: ".concat(r," 当前步骤: ").concat(p.current_step," 审批结果为: ").concat(a)),p.current_step!==n.Step.ai_review||a!==n.ApprovalStatus.approved?[3,32]:[4,(0,c.getOneDriveMaterials)(e,r)];case 23:return S=I.sent(),"completed"==p.materials_xml_to_word_status?[3,26]:[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{materials_download_from_onedrive_failed_count:0,materials_download_from_onedrive_status:"not_started",materials_remove_share_link_from_onedrive_failed_count:0,materials_remove_share_link_from_onedrive_status:"not_started",materials_uploaded_to_onedrive_failed_count:0,materials_uploaded_to_onedrive_status:"not_started"})];case 24:return I.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 25:p=I.sent(),I.label=26;case 26:return"completed"==p.materials_uploaded_to_onedrive_status?[3,32]:(console.log("materials:",S.length),0!==S.length?[3,28]:[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{materials_uploaded_to_onedrive_status:"no_materials",materials_xml_to_word_status:"no_materials"})]);case 27:return I.sent(),[3,32];case 28:return j=S.filter(function(e){return!0!==e.xml_converted_word}),console.log("pendingXmlToWordMaterials:",j.length),j.length>0&&"no_materials"!=p.materials_xml_to_word_status?[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{materials_xml_to_word_status:"pending"})]:[3,30];case 29:return I.sent(),[2];case 30:return A=S.filter(function(e){return!0!==e.uploaded_to_onedrive}),console.log("pendingUploadMaterials:",A.length),A.length>0?[4,e.getObject("pepsico_material_approval").directUpdate(p._id,{materials_uploaded_to_onedrive_status:"pending"})]:[3,32];case 31:return I.sent(),[2];case 32:return console.time("updateUserStepStatus: "+r),[4,y(e,p,{approvalStatus:a,approveField:""})];case 33:return I.sent(),console.timeEnd("updateUserStepStatus: "+r),console.time("advanceApproval: "+r),[4,(0,t.advanceApproval)(e,r,a)];case 34:return I.sent(),console.timeEnd("advanceApproval: "+r),[2]}})})},t.hasReviewed=function(e){return!0===e||!1===e||e===n.ApprovalStatus.pass||e===n.ApprovalStatus.approved};var I=((a={})[n.ProcessApprovalType.NS]="ns_reviewer",a[n.ProcessApprovalType.Legal]="legal_reviewer",a[n.ProcessApprovalType.SRA]="sra_reviewer",a[n.ProcessApprovalType.CA]="ca_reviewer",a[n.ProcessApprovalType.guding]="reviewer",a[n.ProcessApprovalType.Kids]="kids_reviewer",a[n.ProcessApprovalType.PreNS]="pre_ns_reviewer",a[n.ProcessApprovalType.PreLegal]="pre_legal_reviewer",a[n.ProcessApprovalType.PreSRA]="pre_sra_reviewer",a[n.ProcessApprovalType.PreCA]="pre_ca_reviewer",a[n.ProcessApprovalType.Preguding]="pre_reviewer",a);t.postponeReview=function(e,t,r){return s.__awaiter(this,void 0,void 0,function(){var a,o,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,k,E,T,R;return s.__generator(this,function(C){switch(C.label){case 0:return a=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if((o=C.sent()).current_step!==n.Step.departmental_review&&o.current_step!==n.Step.personnel_review)throw new Error("当前步骤不支持延后审核操作");if(!(0,i.includes)(o.person_approved,a.userId))throw new Error("您不在当前已审批人列表中");return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["owner","=",a.userId],["approved","=","progess"],["space","=",o.space]]})];case 2:if(C.sent().length>0)throw new Error("您还有待处理的审批任务,无法执行延后审核");return[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",t],["owner","=",a.userId],["space","=",o.space]],sort:"created desc",top:1})];case 3:if(!(c=C.sent())||0===c.length)throw new Error("未找到您的审核记录");if(!(p=c[0].type))throw new Error("无法确定您所在的审核部门");return l=I[p],_=[],l&&o[l]&&(u=o[l],_=Array.isArray(u)?u:[u]),0===_.length&&(_=[a.userId]),d=new Date,[4,e.getObject("pepsico_review_postpone").directFind({filters:[["pepsico_material_approval","=",t],["postpone_by","=",a.userId],["space","=",o.space],["is_marker","=",!0]],sort:"created desc"})];case 4:return(v=C.sent())&&v.length>0?(g=v[0],[4,e.getObject("pepsico_review_postpone").directUpdate(g._id,{department_type:p,postpone_reason:r.postpone_reason||"",postpone_date:d,postponed_user_ids:_.join(","),notification_sent:!1,modified:d,modified_by:a.userId,name:"".concat(p," 延后审核标记 ").concat(d.toISOString())})]):[3,14];case 5:C.sent(),C.label=6;case 6:C.trys.push([6,11,12,13]),m=s.__values(v.slice(1)),f=m.next(),C.label=7;case 7:return f.done?[3,10]:(S=f.value,[4,e.getObject("pepsico_review_postpone").directUpdate(S._id,{is_marker:!1,notification_sent:!0,modified:d,modified_by:a.userId})]);case 8:C.sent(),C.label=9;case 9:return f=m.next(),[3,7];case 10:return[3,13];case 11:return h=C.sent(),k={error:h},[3,13];case 12:try{f&&!f.done&&(E=m.return)&&E.call(m)}finally{if(k)throw k.error}return[7];case 13:return[3,16];case 14:return[4,e.getObject("pepsico_review_postpone").insert({pepsico_material_approval:t,department_type:p,postpone_by:a.userId,postpone_reason:r.postpone_reason||"",postpone_date:d,is_marker:!0,notification_sent:!1,postponed_user_ids:_.join(","),space:o.space,created:d,created_by:a.userId,modified:d,modified_by:a.userId,name:"".concat(p," 延后审核标记 ").concat(d.toISOString())})];case 15:C.sent(),C.label=16;case 16:return console.log("[postponeReview] recordId=".concat(t,", departmentType=").concat(p,", deptUserIds=").concat(_,", markedForNextRound=true")),b=new Date(d.getTime()+2592e5),[4,e.getObject("pepsico_review_postpone").directFind({filters:[["pepsico_material_approval","=",t],["postpone_by","=",a.userId],["is_marker","=",!0],["space","=",o.space]]})];case 17:w=C.sent(),C.label=18;case 18:C.trys.push([18,23,24,25]),y=s.__values(w),O=y.next(),C.label=19;case 19:return O.done?[3,22]:(S=O.value,[4,e.getObject("pepsico_review_postpone").directUpdate(S._id,{is_marker:!1,visible_after:b,notification_sent:!1,postponed_user_ids:_.join(","),modified:d,modified_by:a.userId})]);case 20:C.sent(),C.label=21;case 21:return O=y.next(),[3,19];case 22:return[3,25];case 23:return j=C.sent(),T={error:j},[3,25];case 24:try{O&&!O.done&&(R=y.return)&&R.call(y)}finally{if(T)throw T.error}return[7];case 25:return[4,e.getObject("pepsico_material_approval").findOne(t)];case 26:return A=C.sent(),P=A.review_postponed_users||[],D=(0,i.compact)((0,i.uniq)((0,i.concat)(P,_))),[4,e.getObject("pepsico_material_approval").directUpdate(t,{review_postponed_users:D})];case 27:return C.sent(),console.log("[postponeReview] 立即激活延后: recordId=".concat(t,", deptUserIds=").concat(_,", visibleAfter=").concat(b)),[2,{}]}})})}},5584:e=>{e.exports=require("tslib")},6074:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateSpotCheckData=void 0;var a=r(5584);t.migrateSpotCheckData={rest:{method:"POST",fullPath:"/api/pepsico-content/material/migrate-spot-check-data"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l,_,u,d,v,g,m;return a.__generator(this,function(f){switch(f.label){case 0:return t=e.meta.user,e.getObject=this.getObject,[4,this.getLogger()];case 1:if(r=f.sent(),e.logger=r,!t||!t.is_space_admin)return[2,{status:403,msg:"只有管理员可以执行数据迁移",data:{}}];f.label=2;case 2:return f.trys.push([2,18,,19]),[4,e.getObject("pepsico_material").find({filters:[["spot_checked","=",!0],["pepsico_spot_check","!=",null]],fields:["_id","pepsico_spot_check","spot_check_time","pepsico_spot_check_status","spot_description","space"]})];case 3:s=f.sent(),null==r||r.info("Found ".concat(s.length," materials with spot check data to migrate")),n=0,o=0,f.label=4;case 4:f.trys.push([4,15,16,17]),i=a.__values(s),c=i.next(),f.label=5;case 5:return c.done?[3,14]:(p=c.value,[4,e.getObject("pepsico_material_spot_check_record").findOne({filters:[["pepsico_material","=",p._id],["spot_checker","=",p.pepsico_spot_check]]})]);case 6:if(f.sent())return o++,[3,13];if(l="",!p.pepsico_spot_check)return[3,10];f.label=7;case 7:return f.trys.push([7,9,,10]),[4,e.getObject("space_users").findOne({filters:["user","=",p.pepsico_spot_check]})];case 8:return _=f.sent(),l=(null==_?void 0:_.organization)||"",[3,10];case 9:return u=f.sent(),null==r||r.error("Error getting department for user ".concat(p.pepsico_spot_check),u),[3,10];case 10:return[4,e.getObject("pepsico_material_spot_check_record").insert({pepsico_material:p._id,spot_checker:p.pepsico_spot_check,spot_check_department:l,spot_check_time:p.spot_check_time||new Date,spot_check_status:void 0===p.pepsico_spot_check_status||p.pepsico_spot_check_status,spot_check_opinion:p.spot_description||"",space:p.space},t)];case 11:return f.sent(),[4,e.getObject("pepsico_material").directUpdate(p._id,{spot_checkers:[p.pepsico_spot_check],spot_check_departments:l?[l]:[],spot_check_overall_status:"checked"})];case 12:f.sent(),++n%100==0&&(null==r||r.info("Migrated ".concat(n," records..."))),f.label=13;case 13:return c=i.next(),[3,5];case 14:return[3,17];case 15:return d=f.sent(),g={error:d},[3,17];case 16:try{c&&!c.done&&(m=i.return)&&m.call(i)}finally{if(g)throw g.error}return[7];case 17:return null==r||r.info("Migration complete. Migrated: ".concat(n,", Skipped: ").concat(o)),[2,{status:0,msg:"数据迁移完成",data:{migrated:n,skipped:o,total:s.length}}];case 18:return v=f.sent(),null==r||r.error("Migration failed",v),[2,{status:500,msg:"数据迁移失败: ".concat(v.message),data:{}}];case 19:return[2]}})})}}},6293:e=>{e.exports=require("dayjs")},6586:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fixStuckPersonnelReview=void 0;var a=r(5584),s=r(8398),n=r(5510);t.fixStuckPersonnelReview={rest:{method:"GET",fullPath:"/api/pepsico-content/fix-stuck-personnel-review/:approvalId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S;return a.__generator(this,function(j){switch(j.label){case 0:return(t=e.meta.user)&&t.is_space_admin?(e.getObject=this.getObject,[4,this.getLogger()]):[2,{status:403,msg:"只有管理员可以执行此操作"}];case 1:return r=j.sent(),e.logger=r,(o=e.params.approvalId)?[4,e.getObject("pepsico_material_approval").findOne(o)]:[2,{status:400,msg:"请传入参数 approvalId"}];case 2:return(i=j.sent())?i.current_step!==s.Step.personnel_review?[2,{status:200,msg:"审批单当前步骤为 ".concat(i.current_step,",不是固定人员审核步骤,无需修复")}]:(0,n.isDeptReviewComplete)(i,"approval")?"yes"!==i.child_files||(0,n.hasReviewed)(i.kids_approval_status)?(c=function(e){return!0===e||e===s.ApprovalStatus.approved||e===s.ApprovalStatus.pass},p=function(e){return e===s.ApprovalStatus.pass},l=(0,n.getDeptEffectiveStatus)(i,"approval"),_=c(l)?p(l)?s.ApprovalStatus.pass:s.ApprovalStatus.approved:s.ApprovalStatus.rejected,"yes"===i.child_files&&!1===i.kids_approval_status&&(_=s.ApprovalStatus.rejected),[4,e.getObject("pepsico_approval_process").find({filters:[["pepsico_material_approval","=",o],["current_step","=",s.Step.personnel_review],["space","=",i.space],["submitted","!=",null]],sort:"submitted desc",top:1})]):[2,{status:200,msg:"kids审核人未审批,暂不能推进"}]:[2,{status:200,msg:"固定人员审核周期确实未完成,无需修复"}]:[2,{status:404,msg:"审批单不存在"}];case 3:return u=j.sent(),d=u.length>0&&u[0].submitted?new Date(u[0].submitted):null,console.log("[fixStuckPersonnelReview] 审批单: ".concat(o,", 修复推进, 审批结果: ").concat(_,", 使用提交时间: ").concat(d)),[4,this.advanceApproval(e,o,_)];case 4:return j.sent(),d?(v={re_reviewed_date:d},[4,e.getObject("pepsico_material_approval").findOne(o)]):[3,18];case 5:return(g=j.sent()).current_step===s.Step.awaiting_deployment&&g.review_completed_date?(v.review_completed_date=d,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",o],{review_completed_date:d})]):[3,7];case 6:j.sent(),j.label=7;case 7:return[4,e.getObject("pepsico_material_approval").directUpdate(o,v)];case 8:return j.sent(),m=g.current_step,[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",o],["current_step","=",m],["space","=",i.space]]})];case 9:f=j.sent(),j.label=10;case 10:j.trys.push([10,15,16,17]),h=a.__values(f),b=h.next(),j.label=11;case 11:return b.done?[3,14]:(w=b.value,[4,e.getObject("pepsico_approval_process").directUpdate(w._id,{created:d})]);case 12:j.sent(),j.label=13;case 13:return b=h.next(),[3,11];case 14:return[3,17];case 15:return y=j.sent(),O={error:y},[3,17];case 16:try{b&&!b.done&&(S=h.return)&&S.call(h)}finally{if(O)throw O.error}return[7];case 17:console.log("[fixStuckPersonnelReview] 已覆盖时间字段:",JSON.stringify(v),", 修正了 ".concat(f.length," 条 approval_process 记录的接收时间")),j.label=18;case 18:return[2,{status:200,msg:"审批单 ".concat(o," 已修复并推进到下一步"),data:{approvalId:o,result:_,submittedDate:d}}]}})})}}},6903:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.doUrgent=t.canUrgent=t.getUrgentQuota=void 0;var a=r(5584),s=r(8398);t.getUrgentQuota=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,o,i,c,p,l,_,u,d;return a.__generator(this,function(a){switch(a.label){case 0:return s=new Date,n=s.getFullYear(),o=s.getMonth()<6?1:2,[4,e.getObject("pepsico_urgent_quota").findOne({filters:[["user","=",t],["space","=",r],["year","=",n]]})];case 1:return i=a.sent(),c=(null==i?void 0:i.h1_used)||0,p=(null==i?void 0:i.h2_used)||0,1===o?(_=c,u=6,l=Math.max(0,6-c)):(d=Math.max(0,6-c),u=6+d,_=p,l=Math.max(0,u-p)),[2,{available:l,used:_,total:u,year:n,half:o}]}})})},t.canUrgent=function(e,r,n){return a.__awaiter(void 0,void 0,void 0,function(){var o,i;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(o=a.sent())?o.is_urgent?[2,{canUrgent:!1,reason:"该审批单已处于加急状态"}]:o.owner!==n?[2,{canUrgent:!1,reason:"只有发起人可以加急"}]:[s.Step.departmental_review,s.Step.personnel_review].includes(o.current_step)?(o.review_postponed_users||[]).length>0?[2,{canUrgent:!1,reason:"存在延后审核人,无法加急"}]:[4,(0,t.getUrgentQuota)(e,n,o.space)]:[2,{canUrgent:!1,reason:"当前步骤不支持加急"}]:[2,{canUrgent:!1,reason:"审批单不存在"}];case 2:return(i=a.sent()).available<=0?[2,{canUrgent:!1,reason:"暂无加急次数",quota:i}]:[2,{canUrgent:!0,quota:i}]}})})};var n=function(e,t,r,s,n,o){return a.__awaiter(void 0,void 0,void 0,function(){var i,c,p,l,_,u,d,v,g,m;return a.__generator(this,function(f){switch(f.label){case 0:return f.trys.push([0,2,,3]),[4,e.broker.call("notifications.add",{message:{name:"加急审批: ".concat(s),body:"发起人已标记为加急审核,请优先处理",related_to:{o:"pepsico_material_approval",ids:[r]},related_name:s,from:n,space:t},from:n,to:o})];case 1:return f.sent(),[3,3];case 2:return i=f.sent(),console.log("[urgent] sendUrgentNotification notification error",i),[3,3];case 3:return f.trys.push([3,15,,16]),[4,e.getObject("space_users").find({filters:[["user","=",o],["space","=",t]]})];case 4:c=f.sent(),f.label=5;case 5:f.trys.push([5,12,13,14]),p=a.__values(c),l=p.next(),f.label=6;case 6:if(l.done)return[3,11];if(!(_=l.value).email)return[3,10];f.label=7;case 7:return f.trys.push([7,9,,10]),[4,e.broker.call("@builder6/email.send",{to:_.email,subject:"[加急审核] ".concat(s),html:'\n <p>您有一份审批单被标记为<strong>加急审核</strong>,请优先处理。</p>\n <a href="'.concat(process.env.ROOT_URL,"/app/pepsico_content_review/pepsico_material_approval/view/").concat(r,'?side_object=pepsico_material_approval&side_listview_id=pending">').concat(s,"</a>\n ")})];case 8:return f.sent(),[3,10];case 9:return u=f.sent(),console.log("[urgent] sendUrgentNotification email error",u),[3,10];case 10:return l=p.next(),[3,6];case 11:return[3,14];case 12:return d=f.sent(),g={error:d},[3,14];case 13:try{l&&!l.done&&(m=p.return)&&m.call(p)}finally{if(g)throw g.error}return[7];case 14:return[3,16];case 15:return v=f.sent(),console.log("[urgent] sendUrgentNotification spaceUsers error",v),[3,16];case 16:return[2]}})})};t.doUrgent=function(e,r,s){return a.__awaiter(void 0,void 0,void 0,function(){var o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O,S,j;return a.__generator(this,function(A){switch(A.label){case 0:return[4,(0,t.canUrgent)(e,r,s)];case 1:if(!(o=A.sent()).canUrgent)throw new Error(o.reason);return[4,e.getObject("pepsico_material_approval").findOne(r)];case 2:return i=A.sent(),c=o.quota,p=c.year,l=c.half,_=c.used,u=c.total,[4,e.getObject("pepsico_urgent_quota").findOne({filters:[["user","=",s],["space","=",i.space],["year","=",p]]})];case 3:return d=A.sent(),v=1===l?"h1_used":"h2_used",d?[4,e.getObject("pepsico_urgent_quota").directUpdate(d._id,(O={},O[v]=(d[v]||0)+1,O))]:[3,5];case 4:return A.sent(),[3,7];case 5:return[4,e.getObject("pepsico_urgent_quota").insert({user:s,space:i.space,year:p,h1_used:1===l?1:0,h2_used:2===l?1:0})];case 6:A.sent(),A.label=7;case 7:return[4,e.getObject("pepsico_material_approval").directUpdate(r,{is_urgent:!0,urgent_times:(i.urgent_times||0)+1,urgent_at:new Date})];case 8:return A.sent(),[4,e.getObject("pepsico_urgent_log").insert({approval:r,approval_name:i.name,operator:s,space:i.space,year:p,half:l})];case 9:A.sent(),g=Array.isArray(i.person_pending_approve)?i.person_pending_approve:[],A.label=10;case 10:A.trys.push([10,15,16,17]),m=a.__values(g),f=m.next(),A.label=11;case 11:return f.done?[3,14]:(h=f.value,[4,n(e,i.space,r,i.name,s,h)]);case 12:A.sent(),A.label=13;case 13:return f=m.next(),[3,11];case 14:return[3,17];case 15:return b=A.sent(),S={error:b},[3,17];case 16:try{f&&!f.done&&(j=m.return)&&j.call(m)}finally{if(S)throw S.error}return[7];case 17:return w=_+1,y=Math.max(0,u-w),[2,{message:"加急成功!已使用 ".concat(w," 次,剩余 ").concat(y," 次"),used:w,available:y,total:u}]}})})}},6928:e=>{e.exports=require("path")},7065:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submit=void 0;var a=r(5584),s=r(256),n=r(8398);t.submit={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/submit/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,o;return a.__generator(this,function(a){switch(a.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=a.sent(),e.logger=t,[4,e.getObject("pepsico_material_approval").findOne(e.params.recordId)];case 2:return(r=a.sent()).current_step!==n.Step.draft||"non-top"==r.kol_classification||"top"==r.kol_classification?[3,5]:[4,(0,s.getDefApproverStepRule)(e)];case 3:return o=a.sent(),[4,e.getObject("pepsico_material_approval").directUpdate(e.params.recordId,{pepsico_flow_rule:o._id})];case 4:a.sent(),a.label=5;case 5:return console.time("submitContent: "+e.params.recordId),[4,this.submitContent(e,e.params.recordId,e.params.approvalStatus,e.params.skip)];case 6:return a.sent(),console.timeEnd("submitContent: "+e.params.recordId),[2,{}]}})})}}},7815:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateSpotCheckDepartments=void 0;var a=r(5584),s=r(8160);function n(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,(t=s.getDataSource("default").adapter).connect()];case 1:return r.sent(),[2,t.collection(e)]}})})}t.migrateSpotCheckDepartments={rest:{method:"GET",fullPath:"/api/pepsico-content/material/migrate-spot-check-departments"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w;return a.__generator(this,function(y){switch(y.label){case 0:return t=e.meta.user,e.getObject=this.getObject,[4,this.getLogger()];case 1:if(r=y.sent(),e.logger=r,!t||!t.is_space_admin)return[2,{status:403,msg:"只有管理员可以执行数据迁移",data:{}}];y.label=2;case 2:return y.trys.push([2,17,,18]),[4,n("pepsico_material")];case 3:return s=y.sent(),[4,n("space_users")];case 4:return o=y.sent(),[4,s.find({pepsico_spot_check:{$ne:null},$or:[{spot_check_departments:{$exists:!1}},{spot_check_departments:null},{spot_check_departments:{$size:0}}]},{projection:{_id:1,pepsico_spot_check:1,space:1}}).toArray()];case 5:i=y.sent(),null==r||r.info("Found ".concat(i.length," materials with missing spot_check_departments")),c=0,p=0,l=[],y.label=6;case 6:y.trys.push([6,14,15,16]),_=a.__values(i),u=_.next(),y.label=7;case 7:if(u.done)return[3,13];d=u.value,y.label=8;case 8:return y.trys.push([8,11,,12]),[4,o.findOne({user:d.pepsico_spot_check,space:d.space})];case 9:return(null==(v=y.sent())?void 0:v.organization)?(g=[v.organization],[4,s.updateOne({_id:d._id},{$set:{spot_check_departments:g}})]):(null==r||r.warn("No organization found for user ".concat(d.pepsico_spot_check,", material ").concat(d._id)),p++,[3,12]);case 10:return y.sent(),++c%100==0&&(null==r||r.info("Updated ".concat(c," records..."))),[3,12];case 11:return m=y.sent(),null==r||r.error("Error processing material ".concat(d._id),m),l.push(d._id),[3,12];case 12:return u=_.next(),[3,7];case 13:return[3,16];case 14:return f=y.sent(),b={error:f},[3,16];case 15:try{u&&!u.done&&(w=_.return)&&w.call(_)}finally{if(b)throw b.error}return[7];case 16:return null==r||r.info("Migration complete. Updated: ".concat(c,", Skipped: ").concat(p,", Errors: ").concat(l.length)),[2,{status:0,msg:"spot_check_departments 数据修正完成",data:{updated:c,skipped:p,errors:l.length,total:i.length}}];case 17:return h=y.sent(),null==r||r.error("Migration failed",h),[2,{status:500,msg:"数据修正失败: ".concat(h.message),data:{}}];case 18:return[2]}})})}}},7825:e=>{e.exports=require("lodash")},8152:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getBriefFlows=void 0;var a=r(5584);t.getBriefFlows={rest:{method:"GET",fullPath:"/api/pepsico-content/brief-flows"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p;return a.__generator(this,function(l){switch(l.label){case 0:return t=e.params.filters,r={fields:["_id","name"]},t&&(r.filters=JSON.parse(t)),c=(i=Promise).all,[4,this.getObject("pepsico_material_approval").find(r)];case 1:return p=[l.sent()],[4,this.getObject("pepsico_material_approval").count(r)];case 2:return[4,c.apply(i,[p.concat([l.sent()])])];case 3:return s=a.__read.apply(void 0,[l.sent(),2]),n=s[0],o=s[1],[2,{status:0,msg:"",data:{items:n,total:o}}]}})})}}},8160:e=>{e.exports=require("@steedos/objectql")},8330:e=>{e.exports=JSON.parse('{"name":"@steedos-labs/content-compliance","version":"0.7.8","description":"内容审核系统","main":"package.service.js","scripts":{"build":"tsc && webpack --config webpack.config.js","build:watch":"webpack --config webpack.config.js --watch","test":"jest --config jest.config.js","release":"yarn build && npm publish --registry https://registry.npmjs.org && cnpm sync @steedos-labs/content-compliance"},"dependencies":{"amis-formula":"~6.3.0","mime-types":"2.1.35","lodash":"4.17.21","dayjs":"1.11.13","moleculer-cron":"0.0.7"},"devDependencies":{"webpack":"^5.88.2","webpack-cli":"^5.1.4","webpack-node-externals":"^3.0.0","jest":"^29.0.0","ts-jest":"^29.0.3","@types/jest":"^29.5.0","@types/lodash":"^4.17.0","@types/node":"^20.0.0"},"publishConfig":{"access":"public"},"gitHead":"24d4f3c614efb07e373e34a97bef04e8a5929a5b"}')},8398:(e,t)=>{var r,a,s,n;Object.defineProperty(t,"__esModule",{value:!0}),t.ProcessApprovalType=t.ReviewStatus=t.ApprovalStatus=t.Step=void 0,(n=t.Step||(t.Step={})).draft="draft",n.conclusion="conclusion",n.ai_review="ai_review",n.departmental_review="departmental_review",n.personnel_review="personnel_review",n.submitter_revisions="submitter_revisions",n.awaiting_deployment="awaiting_deployment",(s=t.ApprovalStatus||(t.ApprovalStatus={})).approved="approved",s.rejected="rejected",s.pending="pending",s.submit="submit",s.pass="pass",(a=t.ReviewStatus||(t.ReviewStatus={})).draft="draft",a.under_review="under_review",a.rejected="rejected",a.approved="approved",a.terminated="terminated",(r=t.ProcessApprovalType||(t.ProcessApprovalType={})).NS="NS",r.Legal="Legal",r.SRA="SRA",r.CA="CA",r.Kids="Kids",r.guding="guding",r.AI="AI",r.Others="Others",r.PreNS="PreNS",r.PreLegal="PreLegal",r.PreSRA="PreSRA",r.PreCA="PreCA",r.Preguding="Preguding"},8509:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(5584),s=r(2045),n=r(256),o=r(8398),i=r(3833),c=r(4809),p=r(4665),l=r(2777),_=r(8160),u=r(7825),d=r(6928),v=r(8330),g=v.name,m=r(9861),f=r(3200),h=r(4716);function b(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,(t=_.getDataSource("default").adapter).connect()];case 1:return r.sent(),[2,t.collection(e)]}})})}var w=process.env.STEEDOS_CRON_ENABLED,y=Number(process.env.PEPSICO_CRON_SEND_DELAY_NOTIFICATION_INTERVAL_MINUTES||5),O="true"===process.env.PEPSICO_CRON_PASSWORD_EXPIRY_CHECK_DISABLE,S=[{name:"materialsUploadToOneDriveJob",cronTime:process.env.PEPSICO_CRON_MATERIAL_UPLOAD_ONEDRIVE,timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("materialsUploadToOneDriveJob run",new Date),[4,this.broker.call("".concat(g,".materialsUploadToOneDrive"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("materialsUploadToOneDriveJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("materialsUploadToOneDriveJob")},onComplete:function(){console.log("materialsUploadToOneDriveJob is stopped")}},{name:"materialsDownloadFromOneDriveJob",cronTime:process.env.PEPSICO_CRON_MATERIAL_DOWNLOAD_ONEDRIVE,timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("materialsDownloadFromOneDriveJob run",new Date),[4,this.broker.call("".concat(g,".materialsDownloadFromOneDrive"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("materialsDownloadFromOneDriveJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("materialsDownloadFromOneDriveJob")},onComplete:function(){console.log("materialsDownloadFromOneDriveJob is stopped")}},{name:"materialsRemoveShareLinkToOneDriveJob",cronTime:process.env.PEPSICO_CRON_MATERIAL_DOWNLOAD_ONEDRIVE,timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("materialsRemoveShareLinkToOneDriveJob run",new Date),[4,this.broker.call("".concat(g,".materialsRemoveShareLinkToOneDrive"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("materialsRemoveShareLinkToOneDriveJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("materialsRemoveShareLinkToOneDriveJob")},onComplete:function(){console.log("materialsRemoveShareLinkToOneDriveJob is stopped")}},{name:"sendDelayNotificationsJob",cronTime:"0 */".concat(y," * * * *"),timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("sendDelayNotificationsJob run",new Date),[4,this.broker.call("".concat(g,".sendDelayNotifications"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("sendDelayNotificationsJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("sendDelayNotificationsJob")},onComplete:function(){console.log("sendDelayNotificationsJob is stopped")}},{name:"processPostponeReviewNotificationsJob",cronTime:"0 */".concat(y," * * * *"),timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("processPostponeReviewNotificationsJob run",new Date),[4,this.broker.call("".concat(g,".processPostponeReviewNotifications"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("processPostponeReviewNotificationsJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("processPostponeReviewNotificationsJob")},onComplete:function(){console.log("processPostponeReviewNotificationsJob is stopped")}},{cronTime:process.env.PEPSICO_CRON_DASHBOARD_SYNC_DATA||"0 3 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("syncDashboard run",new Date),[4,this.broker.call("".concat(g,".dashboardSyncData"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("syncDashboard error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("syncDashboard")},onComplete:function(){console.log("syncDashboard is stopped")}},{name:"scanPLSFiles",cronTime:process.env.PEPSICO_CRON_PLS_SCAN||"0 23 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("scanPLSFiles run",new Date),[4,this.broker.call("".concat(g,".scanPLSFiles"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("scanPLSFiles error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("scanPLSFiles")},onComplete:function(){console.log("scanPLSFiles is stopped")}},{name:"scanInactiveUsers",cronTime:process.env.PEPSICO_CRON_INACTIVE_USERS_SCAN||"0 1 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("scanInactiveUsers run",new Date),[4,this.broker.call("".concat(g,".scanInactiveUsers"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("scanInactiveUsers error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("scanInactiveUsers")},onComplete:function(){console.log("scanInactiveUsers is stopped")}},{name:"sendMonthlySpotCheckReportJob",cronTime:process.env.PEPSICO_CRON_SEND_SPOT_REPORT||"0 10 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e,t;return a.__generator(this,function(r){switch(r.label){case 0:return r.trys.push([0,4,,5]),console.log("sendMonthlySpotCheckReportJob run",new Date),[4,this.broker.call("".concat(g,".getReportId"))];case 1:return(e=r.sent())?[4,this.broker.call("".concat(g,".sendMonthlySpotCheckReport"),{rid:e})]:[3,3];case 2:r.sent(),r.label=3;case 3:return[3,5];case 4:return t=r.sent(),console.log("sendMonthlySpotCheckReportJob error ",t),[3,5];case 5:return[2]}})})},onInitialize:function(){this.startJob("sendMonthlySpotCheckReportJob")},onComplete:function(){console.log("sendMonthlySpotCheckReportJob is stopped")}},{name:"scanApprovalAndDeletedMaterialFromSharepointJob",cronTime:process.env.PEPSICO_CRON_DELETE_MATERIAL_FROM_SHAREPOINT||"0 2 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,4,,5]),console.log("scanApprovalAndDeletedMaterialFromSharepointJob run",new Date),"true"!=process.env.PEPSICO_CRON_DELETE_MATERIAL_FROM_SHAREPOINT_DISABLE?[3,1]:(console.log("已停用自动批量删除Sharepoint过期素材"),[3,3]);case 1:return[4,this.broker.call("".concat(g,".scanApprovalAndDeletedMaterialFromSharepoint"))];case 2:t.sent(),t.label=3;case 3:return[3,5];case 4:return e=t.sent(),console.log("scanApprovalAndDeletedMaterialFromSharepointJob error ",e),[3,5];case 5:return[2]}})})},onInitialize:function(){this.startJob("scanApprovalAndDeletedMaterialFromSharepointJob")},onComplete:function(){console.log("scanApprovalAndDeletedMaterialFromSharepointJob is stopped")}},{name:"imageComparisonJob",cronTime:process.env.PEPSICO_CRON_IMAGE_COMPARISON||"*/30 * * * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),console.log("imageComparisonJob run",new Date),[4,this.broker.call("".concat(g,".processImageComparisons"))];case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("imageComparisonJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("imageComparisonJob")},onComplete:function(){console.log("imageComparisonJob is stopped")}},{name:"checkUserPasswordExpirationJob",cronTime:process.env.PEPSICO_CRON_PASSWORD_EXPIRY_CHECK||"0 10 * * *",timeZone:process.env.STEEDOS_CRON_TIME_ZONE||"Asia/Shanghai",manualStart:!1,onTick:function(){return a.__awaiter(this,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),O?(console.log("已停用 checkUserPasswordExpirationJob"),[2]):(console.log("checkUserPasswordExpirationJob run",new Date),[4,this.broker.call("".concat(g,".checkUserPasswordExpiration"))]);case 1:return t.sent(),[3,3];case 2:return e=t.sent(),console.log("checkUserPasswordExpirationJob error ",e),[3,3];case 3:return[2]}})})},onInitialize:function(){this.startJob("checkUserPasswordExpirationJob")},onComplete:function(){console.log("checkUserPasswordExpirationJob is stopped")}}];e.exports={name:g,namespace:"steedos",mixins:[f,m],settings:{cronJobs:1==w||"true"==w?S:null},metadata:{$package:{name:v.name,path:d.join(__dirname,".."),isPackage:!0}},dependencies:["~packages-standard-objects"],actions:a.__assign(a.__assign({},s),{materialsUploadToOneDrive:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,i,c,p,l,_;return a.__generator(this,function(d){switch(d.label){case 0:return[4,this.getLogger()];case 1:return t=d.sent(),[4,this.getObject("pepsico_material_approval").find({filters:[["current_step","=","ai_review"],["materials_uploaded_to_onedrive_status","in",["pending","failed"]]],top:10,sort:"modified desc"})];case 2:r=d.sent(),console.log("定时任务[素材上传到oneDrive] count: "+r.length,{objectName:"pepsico_material_approval",count:r.length,approvals:u.map(r,function(e){return u.pick(e,["_id","materials_uploaded_to_onedrive_failed_count","current_step","materials_uploaded_to_onedrive_status"])})}),e.meta.user={userId:process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID},e.getObject=this.getObject,e.logger=t,d.label=3;case 3:d.trys.push([3,13,14,15]),s=a.__values(r),n=s.next(),d.label=4;case 4:if(n.done)return[3,12];if((i=n.value).materials_uploaded_to_onedrive_failed_count&&!(i.materials_uploaded_to_onedrive_failed_count<5))return[3,11];d.label=5;case 5:return d.trys.push([5,9,,11]),[4,this.uploadBulkDocToOneDrive(e,i._id)];case 6:return d.sent()?[4,this.submitContent(e,i._id,o.ApprovalStatus.approved)]:[3,8];case 7:d.sent(),d.label=8;case 8:return[3,11];case 9:return c=d.sent(),[4,this.getObject("pepsico_material_approval").directUpdate(i._id,{materials_uploaded_to_onedrive_status:"failed",$inc:{materials_uploaded_to_onedrive_failed_count:1}})];case 10:return d.sent(),t.error("".concat(i._id,"-[素材上传到oneDrive失败]:").concat(c.message),{objectName:"pepsico_material_approval",_id:i._id}),[3,11];case 11:return n=s.next(),[3,4];case 12:return[3,15];case 13:return p=d.sent(),l={error:p},[3,15];case 14:try{n&&!n.done&&(_=s.return)&&_.call(s)}finally{if(l)throw l.error}return[7];case 15:return[2]}})})},materialsDownloadFromOneDrive:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l;return a.__generator(this,function(_){switch(_.label){case 0:return[4,this.getLogger()];case 1:return t=_.sent(),[4,this.getObject("pepsico_material_approval").find({filters:[["current_step","=",["awaiting_deployment","conclusion"]],["materials_download_from_onedrive_status","in",["pending","failed"]]],top:10,sort:"modified desc"})];case 2:r=_.sent(),console.log("定时任务[从oneDrive下载素材] count: "+r.length,{objectName:"pepsico_material_approval",count:r.length,approvals:u.map(r,function(e){return u.pick(e,["_id","materials_download_from_onedrive_failed_count","current_step","materials_download_from_onedrive_status"])})}),e.meta.user={userId:process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID},e.getObject=this.getObject,e.logger=t,_.label=3;case 3:_.trys.push([3,11,12,13]),s=a.__values(r),n=s.next(),_.label=4;case 4:if(n.done)return[3,10];if((o=n.value).materials_download_from_onedrive_failed_count&&!(o.materials_download_from_onedrive_failed_count<5))return[3,9];_.label=5;case 5:return _.trys.push([5,7,,9]),[4,this.downloadBulkFromOneDriveDoc(e,o._id)];case 6:return _.sent(),[3,9];case 7:return i=_.sent(),[4,this.getObject("pepsico_material_approval").directUpdate(o._id,{materials_download_from_onedrive_status:"failed",$inc:{materials_download_from_onedrive_failed_count:1}})];case 8:return _.sent(),t.error("".concat(o._id,"-[从oneDrive下载素材失败]:").concat(i.message),{objectName:"pepsico_material_approval",_id:o._id}),[3,9];case 9:return n=s.next(),[3,4];case 10:return[3,13];case 11:return c=_.sent(),p={error:c},[3,13];case 12:try{n&&!n.done&&(l=s.return)&&l.call(s)}finally{if(p)throw p.error}return[7];case 13:return[2]}})})},materialsRemoveShareLinkToOneDrive:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l;return a.__generator(this,function(_){switch(_.label){case 0:return[4,this.getLogger()];case 1:return t=_.sent(),[4,this.getObject("pepsico_material_approval").find({filters:[["current_step","=",["awaiting_deployment","conclusion"]],["materials_remove_share_link_from_onedrive_status","in",["pending","failed"]]],top:10,sort:"modified desc"})];case 2:r=_.sent(),console.log("定时任务[从oneDrive删除共享连接] count: "+r.length,{objectName:"pepsico_material_approval",count:r.length,approvals:u.map(r,function(e){return u.pick(e,["_id","materials_remove_share_link_from_onedrive_failed_count","current_step","materials_remove_share_link_from_onedrive_status"])})}),e.meta.user={userId:process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID},e.getObject=this.getObject,e.logger=t,_.label=3;case 3:_.trys.push([3,11,12,13]),s=a.__values(r),n=s.next(),_.label=4;case 4:if(n.done)return[3,10];if((o=n.value).materials_remove_share_link_from_onedrive_failed_count&&!(o.materials_remove_share_link_from_onedrive_failed_count<5))return[3,9];_.label=5;case 5:return _.trys.push([5,7,,9]),[4,this.deleteBulkDocOneDriveShareLink(e,o._id)];case 6:return _.sent(),[3,9];case 7:return i=_.sent(),[4,this.getObject("pepsico_material_approval").directUpdate(o._id,{materials_remove_share_link_from_onedrive_status:"failed",$inc:{materials_remove_share_link_from_onedrive_failed_count:1}})];case 8:return _.sent(),t.error("".concat(o._id,"-[从oneDrive删除共享连接失败]:").concat(i.message),{objectName:"pepsico_material_approval",_id:o._id}),[3,9];case 9:return n=s.next(),[3,4];case 10:return[3,13];case 11:return c=_.sent(),p={error:c},[3,13];case 12:try{n&&!n.done&&(l=s.return)&&l.call(s)}finally{if(p)throw p.error}return[7];case 13:return[2]}})})},sendDelayNotifications:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,this.getLogger()];case 1:return t=r.sent(),e.getObject=this.getObject,e.logger=t,[4,(0,i.sendDelayNotifications)(e,y)];case 2:return r.sent(),[2]}})})},processPostponeReviewNotifications:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,this.getLogger()];case 1:return t=r.sent(),e.getObject=this.getObject,e.logger=t,[4,(0,i.processPostponeReviewNotifications)(e,y)];case 2:return r.sent(),[2]}})})},processImageComparisons:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,this.getLogger()];case 1:return t=r.sent(),e.meta.user={userId:process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID},e.getObject=this.getObject,e.logger=t,[4,(0,p.processPendingImageComparisons)(e)];case 2:return r.sent(),[2]}})})},checkUserPasswordExpiration:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,this.getLogger()];case 1:return t=r.sent(),e.getObject=this.getObject,e.logger=t,[4,(0,l.checkUserPasswordExpiration)(e)];case 2:return r.sent(),[2]}})})},scanPLSFiles:{rest:{method:"GET",fullPath:"/api/pepsico-content/scan/pls"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return(t=e.meta.user)&&!t.is_space_admin?[2,{error:"没有权限"}]:[4,this.getLogger()];case 1:return r=a.sent(),e.getObject=this.getObject,e.logger=r,[4,(0,c.scanPLSFiles)(e)];case 2:return[2,{新增PLS记录数量:a.sent()}]}})})}},scanInactiveUsers:{rest:{method:"GET",fullPath:"/api/pepsico-content/scan/inactive-users"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l,_,u,d,v;return a.__generator(this,function(g){switch(g.label){case 0:return(t=e.meta.user)&&!t.is_space_admin?[2,{error:"没有权限"}]:[4,this.getLogger()];case 1:return r=g.sent(),e.getObject=this.getObject,e.logger=r,s=new Date,(n=new Date).setDate(s.getDate()-90),[4,b("users")];case 2:return o=g.sent(),[4,b("space_users")];case 3:return i=g.sent(),[4,o.updateMany({},{$set:{login_expired:!1}})];case 4:return g.sent(),[4,i.updateMany({},{$set:{login_expired:!1}})];case 5:return g.sent(),[4,o.find({$or:[{$and:[{last_logon:{$ne:null}},{last_logon:{$lt:n}}]},{$and:[{last_logon:null},{created:{$lt:n}}]}]}).toArray()];case 6:c=g.sent(),g.label=7;case 7:g.trys.push([7,13,14,15]),p=a.__values(c),l=p.next(),g.label=8;case 8:return l.done?[3,12]:(_=l.value,[4,this.getObject("users").directUpdate(_._id,{login_expired:!0})]);case 9:return g.sent(),[4,this.getObject("space_users").directUpdateMany(["user","=",_._id],{login_expired:!0})];case 10:g.sent(),g.label=11;case 11:return l=p.next(),[3,8];case 12:return[3,15];case 13:return u=g.sent(),d={error:u},[3,15];case 14:try{l&&!l.done&&(v=p.return)&&v.call(p)}finally{if(d)throw d.error}return[7];case 15:return[2,{新增90天未登录用户数量:c.length}]}})})}},getReportId:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o;return a.__generator(this,function(a){switch(a.label){case 0:return[4,this.getLogger()];case 1:return t=a.sent(),e.getObject=this.getObject,e.logger=t,r=h().subtract(1,"month").format("YYYY-MM"),[4,e.getObject("pepsico_spot_check_report").directFind({filters:["year_month","=",r]})];case 2:return a.sent().length>0?[2]:(s=h().get("date"),n=h().day(),[4,e.getObject("spaces").find({filters:[]})]);case 3:return o=a.sent(),s>=10&&0!=n&&6!=n?[4,e.getObject("pepsico_spot_check_report").directInsert({name:"Report-".concat(r),year_month:r,owner:o[0].owner,space:o[0]._id,created:new Date,modified:new Date,created_by:o[0].owner,modified_by:o[0].owner})]:[3,5];case 4:return[2,a.sent()._id];case 5:return[2]}})})},permanentDeleteMaterialFromSharePoint:{rest:{method:"POST",fullPath:"/api/pepsico-content/material/permanent-delete"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n;return a.__generator(this,function(a){switch(a.label){case 0:return(t=e.meta.user)&&!t.is_space_admin?[2,{error:"没有权限"}]:(e.getObject=this.getObject,r=e.params.id,[4,e.getObject("pepsico_material").findOne(r)]);case 1:if(!(s=a.sent()))return[2,{error:"无效的ID"}];a.label=2;case 2:return a.trys.push([2,6,,8]),[4,e.broker.call("content-version-bridge.material_permanentDeleteFromOneDrive",{material:s})];case 3:return a.sent(),[4,e.getObject("pepsico_material").directUpdate(s._id,{permanent_deleted:!0,permanent_deleted_date:new Date})];case 4:return a.sent(),[4,e.logger.info("[永久删除sharepoint素材]-".concat(s.pepsico_material_approval,"-").concat(s._id),{pepsico_material_approval:s.pepsico_material_approval,material:s._id})];case 5:return a.sent(),[3,8];case 6:return n=a.sent(),console.log("error",n),[4,e.logger.error("[永久删除sharepoint素材]-".concat(s.pepsico_material_approval,"-").concat(s._id),{pepsico_material_approval:s.pepsico_material_approval,material:s._id,error:n.message})];case 7:return a.sent(),[3,8];case 8:return[2,{}]}})})}},scanApprovalAndDeletedMaterialFromSharepoint:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c,p,l;return a.__generator(this,function(_){switch(_.label){case 0:return[4,this.getLogger()];case 1:return t=_.sent(),e.getObject=this.getObject,e.logger=t,r=h().subtract(3,"month").toDate(),[4,e.getObject("pepsico_material_approval").find({filters:[["permanent_deleted","!=",!0],["review_status","=","approved"],["current_step","=","conclusion"],["modified","<=",r]]})];case 2:s=_.sent(),_.label=3;case 3:_.trys.push([3,8,9,10]),n=a.__values(s),o=n.next(),_.label=4;case 4:return o.done?[3,7]:(i=o.value,[4,this.permanentlyDeleteApprovalAllMaterialFromSharePoint(e,i)]);case 5:_.sent(),_.label=6;case 6:return o=n.next(),[3,4];case 7:return[3,10];case 8:return c=_.sent(),p={error:c},[3,10];case 9:try{o&&!o.done&&(l=n.return)&&l.call(n)}finally{if(p)throw p.error}return[7];case 10:return[2]}})})},permanentlyDeleteApprovalAllMaterialFromSharePoint:{rest:{method:"POST",fullPath:"/api/pepsico-content/approval/permanent-delete"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n;return a.__generator(this,function(a){switch(a.label){case 0:return(t=e.meta.user)&&!t.is_space_admin?[2,{error:"没有权限"}]:[4,this.getLogger()];case 1:return r=a.sent(),e.getObject=this.getObject,e.logger=r,s=e.params.id,[4,e.getObject("pepsico_material_approval").findOne(s)];case 2:return(n=a.sent())?[4,this.permanentlyDeleteApprovalAllMaterialFromSharePoint(e,n)]:[2,{error:"无效的ID"}];case 3:return a.sent(),[2,{}]}})})}}}),events:{"pepsico_material_approval.mentioned":function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s;return a.__generator(this,function(a){switch(a.label){case 0:return t=e.params,r=t.recordId,s=t.userId,console.log("EVENT[pepsico_material_approval.mentioned]",r,s),r&&s?[4,this.getObject("pepsico_material_approval").directUpdate(r,{$addToSet:{person_view:s}})]:[3,2];case 1:a.sent(),a.label=2;case 2:return[2]}})})}},methods:a.__assign(a.__assign({},n),{permanentlyDeleteApprovalAllMaterialFromSharePoint:function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,s,o,i,c,p,l,_,u,d,v,g,m;return a.__generator(this,function(f){switch(f.label){case 0:return f.trys.push([0,24,,26]),[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",t._id],["permanent_deleted","!=",!0],["extension_type","in",["doc","docx","ppt","pptx"]]]})];case 1:r=f.sent(),s=!0,f.label=2;case 2:f.trys.push([2,18,19,20]),o=a.__values(r),i=o.next(),f.label=3;case 3:if(i.done)return[3,17];if(!0===(c=i.value).download_from_onedrive)return[3,10];p=!1,l=5,_=1,f.label=4;case 4:return _<=l?[4,e.logger.info("[永久删除sharepoint素材]-".concat(t._id,"-").concat(c._id,"-尝试下载素材(第").concat(_,"次)"),{pepsico_material_approval:t._id,material:c._id,attempt:_})]:[3,8];case 5:return f.sent(),[4,n.downloadDocFromOneDriveDoc(e,c)];case 6:if(!0===f.sent())return p=!0,[3,8];f.label=7;case 7:return _++,[3,4];case 8:return p?[3,10]:(s=!1,[4,e.logger.error("[永久删除sharepoint素材]-".concat(t._id,"-").concat(c._id),{pepsico_material_approval:t._id,material:c._id,error:"尝试下载素材".concat(l,"次后仍然失败, 跳过删除.")})]);case 9:return f.sent(),[3,16];case 10:return f.trys.push([10,14,,16]),[4,e.broker.call("content-version-bridge.material_permanentDeleteFromOneDrive",{material:c})];case 11:return f.sent(),[4,e.getObject("pepsico_material").directUpdate(c._id,{permanent_deleted:!0,permanent_deleted_date:new Date})];case 12:return f.sent(),[4,e.logger.info("[永久删除sharepoint素材]-".concat(t._id,"-").concat(c._id),{pepsico_material_approval:t._id,material:c._id})];case 13:return f.sent(),[3,16];case 14:return u=f.sent(),s=!1,console.log("error",u),[4,e.logger.error("[永久删除sharepoint素材]-".concat(t._id,"-").concat(c._id),{pepsico_material_approval:t._id,material:c._id,error:u.message})];case 15:return f.sent(),[3,16];case 16:return i=o.next(),[3,3];case 17:return[3,20];case 18:return d=f.sent(),g={error:d},[3,20];case 19:try{i&&!i.done&&(m=o.return)&&m.call(o)}finally{if(g)throw g.error}return[7];case 20:return s?[4,e.getObject("pepsico_material_approval").directUpdate(t._id,{permanent_deleted:!0,permanent_deleted_date:new Date})]:[3,23];case 21:return f.sent(),[4,e.logger.info("[永久删除sharepoint素材]-".concat(t._id),{pepsico_material_approval:t._id})];case 22:f.sent(),f.label=23;case 23:return[3,26];case 24:return v=f.sent(),[4,e.logger.info("[永久删除sharepoint素材]-".concat(t._id),{pepsico_material_approval:t._id,error:v.message})];case 25:return f.sent(),[3,26];case 26:return[2]}})})}}),created:function(){return a.__awaiter(this,void 0,void 0,function(){return a.__generator(this,function(e){return[2]})})},started:function(){return a.__awaiter(this,void 0,void 0,function(){return a.__generator(this,function(e){return[2]})})},stopped:function(){return a.__awaiter(this,void 0,void 0,function(){return a.__generator(this,function(e){return[2]})})}}},8862:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DCO_TYPES=void 0;var a=r(7825);t.DCO_TYPES=a.split(process.env.CONTENT_DCO_TYPES||"MD-PO1-PO18")},8864:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.clickReportSpotEmail=t.sendMonthlySpotCheckReport=t.clickSpotEmail=t.spotCheckMaterial=void 0;var a=r(5584),s=r(7825),n=r(8862),o=r(7825),i=r(1057),c=r(8938),p=r(4716),l=function(e,t,r,s,n,o){return a.__awaiter(void 0,void 0,void 0,function(){var i;return a.__generator(this,function(a){switch(a.label){case 0:return[4,c.default.post("".concat(process.env.LOCAL_ROOT_URL||process.env.ROOT_URL,"/api/v6/email/send"),{from:e,to:t,cc:o,subject:r,text:s,html:n},{headers:{Authorization:"Bearer apikey,".concat(process.env.STEEDOS_API_KEY)}})];case 1:return i=a.sent(),console.log("sendEmail===>","".concat(process.env.LOCAL_ROOT_URL||process.env.ROOT_URL,"/api/v6/email/send"),{from:e,to:t.email,subject:r,text:s,html:n},{headers:{Authorization:"Bearer apikey,".concat(process.env.STEEDOS_API_KEY)}},i),[2,JSON.stringify(i.data)]}})})};t.spotCheckMaterial={rest:{method:"POST",fullPath:"/api/pepsico-content/material/spot-check/:mid"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,c,p,_,u,d,v,g,m,f,h,b,w,y,O,S,j,A,P,D,I,k,E,T,R,C,x,U,N,M,L,F;return a.__generator(this,function(J){switch(J.label){case 0:return t=e.meta.user,r=e.params,c=r.mid,p=r.description,_=r.pepsico_spot_check_status,e.getObject=this.getObject,[4,this.getLogger()];case 1:return u=J.sent(),e.logger=u,c?[4,e.getObject("pepsico_material").findOne(c)]:[2,{status:500,msg:"无效的素材标识",data:{}}];case 2:return(d=J.sent())?[4,e.getObject("pepsico_material_spot_check_record").findOne({filters:[["pepsico_material","=",c],["spot_checker","=",t.userId]]})]:[2,{status:500,msg:"无效的素材标识",data:{}}];case 3:return J.sent()?[2,{status:500,msg:"您已经抽查过此素材, 请勿重复操作!",data:{}}]:[4,e.getObject("space_users").findOne({filters:["user","=",t.userId]})];case 4:return v=J.sent(),g=(null==v?void 0:v.organization)||"",[4,e.getObject("pepsico_material_spot_check_record").insert({pepsico_material:c,spot_checker:t.userId,spot_check_department:g,spot_check_time:new Date,spot_check_status:_,spot_check_opinion:p,space:d.space},t)];case 5:return J.sent(),[4,e.getObject("pepsico_material_spot_check_record").find({filters:["pepsico_material","=",c]})];case 6:return m=J.sent(),f=(0,s.uniq)(m.map(function(e){return e.spot_checker})),h=(0,s.uniq)((0,s.compact)(m.map(function(e){return e.spot_check_department}))),[4,e.getObject("pepsico_material").directUpdate(c,{spot_checked:!0,spot_check_time:new Date,pepsico_spot_check:t.userId,spot_description:p,pepsico_spot_check_status:_,spot_checkers:f,spot_check_departments:h,spot_check_overall_status:"checked"})];case 7:return J.sent(),[4,e.getObject("pepsico_material_approval").findOne(d.pepsico_material_approval)];case 8:return(b=J.sent())?!0===_&&o.includes(n.DCO_TYPES,b.classification)?[4,(0,i.sendByMaterial)(e,c)]:[3,10]:[2,{status:500,msg:"无效的素材审批标识",data:{}}];case 9:J.sent(),J.label=10;case 10:w=(0,s.uniq)((0,s.compact)([b.owner,b.created_by])),console.log("通知用户:",JSON.stringify(w)),J.label=11;case 11:J.trys.push([11,20,,21]),J.label=12;case 12:J.trys.push([12,17,18,19]),y=a.__values(w),O=y.next(),J.label=13;case 13:return O.done?[3,16]:(S=O.value,console.log("站内通知用户:",S),[4,e.broker.call("notifications.add",{message:{name:"素材抽检结果通知: ".concat(d.name),body:"请点击素材进行查看",related_to:{o:"pepsico_material_approval",ids:[b._id]},related_name:b.name,from:t.userId,space:b.space},from:t.userId,to:S})]);case 14:J.sent(),J.label=15;case 15:return O=y.next(),[3,13];case 16:return[3,19];case 17:return j=J.sent(),N={error:j},[3,19];case 18:try{O&&!O.done&&(M=y.return)&&M.call(y)}finally{if(N)throw N.error}return[7];case 19:return[3,21];case 20:return A=J.sent(),console.log(A),[3,21];case 21:return J.trys.push([21,33,,34]),[4,e.getObject("space_users").find({filters:["user","in",w]})];case 22:P=J.sent(),D="【系统通知】素材抽检结果通知",J.label=23;case 23:J.trys.push([23,30,31,32]),I=a.__values(P),k=I.next(),J.label=24;case 24:return k.done?[3,29]:(E=k.value,[4,e.getObject("pepsico_mail_send_log")._makeNewID()]);case 25:return T=J.sent(),R='\n <p>您提交的素材已经被抽查。请点击下面的链接登录系统查看抽查意见:</p>\n <a href="'.concat(process.env.ROOT_URL,"/api/pepsico-content/material/click/spot-check/").concat(c,"/").concat(T,'">').concat(b.name,":").concat(d.name,"</a>\n "),[4,l(process.env.B6_EMAIL_FROM,E.email,D,"",R,"")];case 26:return C=J.sent(),[4,e.getObject("pepsico_mail_send_log").insert({_id:T,name:D,created:new Date,content:R,type:"素材抽查",to:[E.user],pepsico_material:d._id,result:C,space:d.space},t)];case 27:J.sent(),J.label=28;case 28:return k=I.next(),[3,24];case 29:return[3,32];case 30:return x=J.sent(),L={error:x},[3,32];case 31:try{k&&!k.done&&(F=I.return)&&F.call(I)}finally{if(L)throw L.error}return[7];case 32:return[3,34];case 33:return U=J.sent(),console.log(U),null==u||u.error("[素材抽查]-".concat(c),{error:U.message}),[3,34];case 34:return[2,{status:0,data:{}}]}})})}},t.clickSpotEmail={rest:{method:"GET",authorization:!1,fullPath:"/api/pepsico-content/material/click/spot-check/:mid/:lid"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i,c;return a.__generator(this,function(a){switch(a.label){case 0:return t=e.meta.user,r=e.params,s=r.mid,n=r.lid,t?(e.getObject=this.getObject,[4,this.getLogger()]):(e.meta.$statusCode=302,e.meta.$location="/accounts/a/#/login?redirect_uri="+encodeURIComponent("/api/pepsico-content/material/click/spot-check/".concat(s,"/").concat(n)),[2]);case 1:return o=a.sent(),e.logger=o,s?[4,e.getObject("pepsico_material").findOne(s)]:[2,{status:500,msg:"无效的素材标识",data:{}}];case 2:return(i=a.sent())?[4,e.getObject("pepsico_material_approval").findOne(i.pepsico_material_approval)]:[2,{status:500,msg:"无效的素材标识",data:{}}];case 3:return(c=a.sent())?[4,e.getObject("pepsico_mail_visit_log").insert({owner:t.userId,created:new Date,type:"素材抽查",pepsico_material_approval:i.pepsico_material_approval,pepsico_material:i._id,pepsico_mail_send_log:n,space:i.space},t)]:[2,{status:500,msg:"无效的素材审批标识",data:{}}];case 4:return a.sent(),e.meta.$statusCode=302,e.meta.$location="/app/pepsico_content_review/pepsico_material_approval/view/".concat(c._id,"?side_object=pepsico_material_approval"),[2]}})})}},t.sendMonthlySpotCheckReport={rest:{method:"GET",fullPath:"/api/pepsico-content/material/send-report/spot-check/:rid"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,i,c,_,u,d,v,g,m,f,h,b,w,y,O;return a.__generator(this,function(S){switch(S.label){case 0:return t=e.meta.user,r=e.params.rid,e.getObject=this.getObject,[4,this.getLogger()];case 1:return s=S.sent(),e.logger=s,[4,e.getObject("pepsico_spot_check_report").findOne(r)];case 2:if(!(n=S.sent()))throw new Error("无效的id");return i=n.year_month,c=i.split("-"),_=function(e,t){if("number"!=typeof e||"number"!=typeof t)throw new Error("年份和月份必须是数字");if(t<1||t>12)throw new Error("月份必须在1-12之间");var r=p([e,t-1]);if(!r.isValid())throw new Error("无效的年份或月份");return{monthStart:r.startOf("month").toDate(),monthEnd:r.endOf("month").toDate()}}(Number(c[0]),Number(c[1])),u=_.monthStart,d=_.monthEnd,v=[{label:"乐事",value:"16541517620111040"},{label:"奇多",value:"1654151762046893"},{label:"Doritos/多力多滋",value:"16541517620141606"},{label:"Popcorners",value:"166686519900"},{label:"一口阳光",value:"1654151762018542"},{label:"妙脆角",value:"165788230400"},{label:"桂格",value:"16541517620103133"},{label:"百事食品",value:"1654151762014792"}],[4,e.getObject("pepsico_brand_leader").directFind({filters:[]})];case 3:g=S.sent(),m=function(s){var c,p,_,g,m,f,h,b,w;return a.__generator(this,function(a){switch(a.label){case 0:return[4,e.getObject("pepsico_material").directFind({filters:[["spot_checked","=",!0],["product","=",s.name],["classification","=",s.classification],["spot_check_time",">=",u],["spot_check_time","<=",d]]})];case 1:return a.sent().length>0?(c="【系统通知】".concat(s.remark,"月度抽查报告[").concat(i,"]"),p=o.find(v,function(e){return e.value===s.name}),s?[4,e.getObject("pepsico_mail_send_log")._makeNewID()]:[3,13]):[3,13];case 2:if(_=a.sent(),g="\n <p>亲爱的用户,</p>\n <p>本月".concat(p.label,"抽查素材报告已生成。 请点击下面链接查看").concat(p.label,'月度抽查报告,建议分享给团队成员进行学习。</p>\n <a href="').concat(process.env.ROOT_URL,"/api/pepsico-content/material/click/spot-report/").concat(r,"/").concat(_,'">').concat(s.remark,":").concat(i,"</a>\n <p>有任何疑问,请联系系统管理员。</p>\n <p>谢谢!</p>\n "),m=[],!s.to)return[3,6];a.label=3;case 3:return a.trys.push([3,5,,6]),[4,e.getObject("space_users").find({filters:["user","in",s.to]})];case 4:return m=a.sent(),[3,6];case 5:return f=a.sent(),console.log(f),[3,6];case 6:if(h=[],!s.cc)return[3,10];a.label=7;case 7:return a.trys.push([7,9,,10]),[4,e.getObject("space_users").find({filters:["user","in",s.cc]})];case 8:return h=a.sent(),[3,10];case 9:return b=a.sent(),console.log(b),[3,10];case 10:return[4,l(process.env.B6_EMAIL_FROM,o.join(o.map(m,"email"),";"),c,"",g,o.join(o.map(h,"email"),";"))];case 11:return w=a.sent(),[4,e.getObject("pepsico_mail_send_log").insert({_id:_,name:c,created:new Date,content:g,type:"月度抽查报告",to:s.to,cc:s.cc,product:p.value,classification:s.classification,pepsico_spot_check_report:r,result:w,space:n.space},t)];case 12:a.sent(),a.label=13;case 13:return[2]}})},S.label=4;case 4:S.trys.push([4,9,10,11]),f=a.__values(g),h=f.next(),S.label=5;case 5:return h.done?[3,8]:(b=h.value,[5,m(b)]);case 6:S.sent(),S.label=7;case 7:return h=f.next(),[3,5];case 8:return[3,11];case 9:return w=S.sent(),y={error:w},[3,11];case 10:try{h&&!h.done&&(O=f.return)&&O.call(f)}finally{if(y)throw y.error}return[7];case 11:return[4,e.getObject("pepsico_spot_check_report").directUpdate(r,{mail_send:!0,mail_send_date:new Date})];case 12:return S.sent(),[2]}})})}},t.clickReportSpotEmail={rest:{method:"GET",authorization:!1,fullPath:"/api/pepsico-content/material/click/spot-report/:rid/:lid"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r,s,n,o,i;return a.__generator(this,function(a){switch(a.label){case 0:return t=e.meta.user,r=e.params,s=r.rid,n=r.lid,t?(e.getObject=this.getObject,[4,this.getLogger()]):(e.meta.$statusCode=302,e.meta.$location="/accounts/a/#/login?redirect_uri="+encodeURIComponent("/api/pepsico-content/material/click/spot-report/".concat(s,"/").concat(n)),[2]);case 1:return o=a.sent(),e.logger=o,s?[4,e.getObject("pepsico_spot_check_report").findOne(s)]:[2,{status:500,msg:"无效的标识",data:{}}];case 2:return(i=a.sent())?[4,e.getObject("pepsico_mail_visit_log").insert({owner:t.userId,created:new Date,type:"月度抽查报告",pepsico_mail_send_log:n,space:i.space},t)]:[2,{status:500,msg:"无效的标识",data:{}}];case 3:return a.sent(),e.meta.$statusCode=302,e.meta.$location="/app/pepsico_content_review/page/pepsico_spot_check_report?rid=".concat(s,"&lid=").concat(n),[2]}})})}}},8938:e=>{e.exports=require("axios")},9082:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.dashboardSyncData=void 0;var a=r(5584);t.dashboardSyncData={rest:{method:"GET",fullPath:"/api/pepsico-content/dashboard/sync-data"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t,r;return a.__generator(this,function(a){switch(a.label){case 0:return[4,this.getLogger()];case 1:return t=a.sent(),e.logger=t,e.getObject=this.getObject,[4,this.dashboardSyncData(e)];case 2:return r=a.sent(),console.log("dashboardSyncData",r),[2,r]}})})}}},9435:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateReviewCompletedDate=void 0;var a=r(5584),s=r(8160);function n(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return[4,(t=s.getDataSource("default").adapter).connect()];case 1:return r.sent(),[2,t.collection(e)]}})})}t.migrateReviewCompletedDate={rest:{method:"GET",fullPath:"/api/pepsico-content/migrate-review-completed-date"},handler:function(e){var t;return a.__awaiter(this,void 0,void 0,function(){var r,s,o,i,c,p,l,_,u,d,v,g,m,f,h,b,w,y,O;return a.__generator(this,function(S){switch(S.label){case 0:return r=e.meta.user,e.getObject=this.getObject,[4,this.getLogger()];case 1:if(s=S.sent(),e.logger=s,!r||!r.is_space_admin)return[2,{status:403,msg:"只有管理员可以执行数据迁移",data:{}}];S.label=2;case 2:return S.trys.push([2,20,,21]),[4,n("pepsico_material_approval")];case 3:return o=S.sent(),[4,n("pepsico_approval_process")];case 4:return i=S.sent(),[4,n("pepsico_material")];case 5:return c=S.sent(),[4,o.find({current_step:{$in:["awaiting_deployment","conclusion"]},$or:[{review_completed_date:{$exists:!1}},{review_completed_date:null}]},{projection:{_id:1}}).toArray()];case 6:p=S.sent(),null==s||s.info("[migrateReviewCompletedDate] 待更新审批单数: ".concat(p.length)),l=0,_=0,u=[],S.label=7;case 7:S.trys.push([7,17,18,19]),d=a.__values(p),v=d.next(),S.label=8;case 8:return v.done?[3,16]:(g=v.value,[4,i.findOne({pepsico_material_approval:g._id,current_step:"awaiting_deployment"},{projection:{created:1}})]);case 9:return(m=S.sent())&&m.created?[3,11]:[4,i.findOne({pepsico_material_approval:g._id,current_step:"conclusion"},{projection:{created:1}})];case 10:m=S.sent(),S.label=11;case 11:return m&&m.created?[4,o.updateOne({_id:g._id},{$set:{review_completed_date:m.created}})]:[3,14];case 12:return S.sent(),[4,c.updateMany({pepsico_material_approval:g._id},{$set:{review_completed_date:m.created}})];case 13:return f=S.sent(),_+=f.matchedCount||(null===(t=f.result)||void 0===t?void 0:t.n)||0,l++,[3,15];case 14:u.push(g._id),S.label=15;case 15:return v=d.next(),[3,8];case 16:return[3,19];case 17:return h=S.sent(),y={error:h},[3,19];case 18:try{v&&!v.done&&(O=d.return)&&O.call(d)}finally{if(y)throw y.error}return[7];case 19:return b={approvalTotal:p.length,approvalUpdated:l,approvalSkipped:u.length,skippedIds:u,materialUpdated:_},null==s||s.info("[migrateReviewCompletedDate] 迁移完成",b),[2,{status:0,msg:"迁移完成",data:b}];case 20:return w=S.sent(),null==s||s.error("[migrateReviewCompletedDate] 迁移失败",w),[2,{status:500,msg:"迁移失败: ".concat(w.message),data:{}}];case 21:return[2]}})})}}},9536:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submitKids=void 0;var a=r(5584);t.submitKids={rest:{method:"POST",fullPath:"/api/pepsico-content/approve/kids/submit/:recordId"},handler:function(e){return a.__awaiter(this,void 0,void 0,function(){var t;return a.__generator(this,function(r){switch(r.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=r.sent(),e.logger=t,[4,this.submitKidsContent(e,e.params.recordId,e.params.approvalStatus)];case 2:return r.sent(),[2,{}]}})})}}},9861:e=>{e.exports=require("moleculer-cron")}},t={},r=function r(a){var s=t[a];if(void 0!==s)return s.exports;var n=t[a]={exports:{}};return e[a](n,n.exports,r),n.exports}(8509);module.exports=r})();
|