@steedos-labs/content-compliance 0.6.30 → 0.6.31

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 CHANGED
@@ -1 +1 @@
1
- (()=>{"use strict";var e={45:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(584);a.__exportStar(r(65),t),a.__exportStar(r(754),t),a.__exportStar(r(298),t),a.__exportStar(r(875),t),a.__exportStar(r(222),t),a.__exportStar(r(264),t),a.__exportStar(r(536),t),a.__exportStar(r(180),t),a.__exportStar(r(334),t),a.__exportStar(r(727),t),a.__exportStar(r(932),t),a.__exportStar(r(458),t),a.__exportStar(r(152),t),a.__exportStar(r(82),t),a.__exportStar(r(826),t),a.__exportStar(r(864),t),a.__exportStar(r(74),t),a.__exportStar(r(418),t),a.__exportStar(r(676),t),a.__exportStar(r(189),t),a.__exportStar(r(435),t),a.__exportStar(r(815),t),a.__exportStar(r(586),t)},57:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendByMaterial=t.inventoryApprovalMaterial=void 0;var a=r(584),s=r(938),n=r(825),o=r(904),i=r(862),c=r(825),p=r(293),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,A,j,D,P,I,k,E,C,T,R,x,M,N,U,L,F,J,$,B,Y,z,q;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]:(A=S.value,j=null===(B=A.extension_type)||void 0===B?void 0:B.toLowerCase(),D=!1,"jpg"!==j&&"jpeg"!==j&&"png"!==j&&"gif"!==j&&"bmp"!==j&&"tiff"!==j&&"tif"!==j&&"svg"!==j&&"webp"!==j&&"ico"!==j&&"heif"!==j&&"heic"!==j&&"psd"!==j||(D=!0),"mp4"!==j&&"avi"!==j&&"mov"!==j&&"wmv"!==j&&"flv"!==j&&"mkv"!==j&&"webm"!==j&&"mpeg"!==j&&"mpg"!==j&&"3gp"!==j&&"m4v"!==j&&"qt"!==j||(D=!0),D&&g.push({workspaceId:+l,name:A.name,owner:f,url:"".concat(process.env.ROOT_URL,"/api/files/files/").concat(A.material,"?download=true"),materialGroupIdList:b,tagList:h}),A.supplement_materials&&!1===(0,n.isEmpty)(A.supplement_materials)&&(0,n.isArray)(A.supplement_materials)?[4,e.getObject("cfs_files_filerecord").find({filters:["_id","in",A.supplement_materials]})]:[3,7]);case 6:P=K.sent();try{for(J=void 0,I=a.__values(P),k=I.next();!k.done;k=I.next()){E=k.value;try{C=null===(Y=(0,o.extension)(E.original.type))||void 0===Y?void 0:Y.toLowerCase(),T=!1,"jpg"!==C&&"jpeg"!==C&&"png"!==C&&"gif"!==C&&"bmp"!==C&&"tiff"!==C&&"tif"!==C&&"svg"!==C&&"webp"!==C&&"ico"!==C&&"heif"!==C&&"heic"!==C&&"psd"!==C||(T=!0),"mp4"!==C&&"avi"!==C&&"mov"!==C&&"wmv"!==C&&"flv"!==C&&"mkv"!==C&&"webm"!==C&&"mpeg"!==C&&"mpg"!==C&&"3gp"!==C&&"m4v"!==C&&"qt"!==C||(T=!0),T&&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 R=K.sent(),L={error:R},[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 M=K.sent(),N=M.data,[4,null===(z=e.logger)||void 0===z?void 0:z.info("[调用 content hub API]-".concat(t),{result:N,materialList:g})];case 14:return K.sent(),[2,N];case 15:return U=K.sent(),[4,null===(q=e.logger)||void 0===q?void 0:q.error("[调用 content hub API]-".concat(t),{error:U.message,materialList:g})];case 16:return K.sent(),[2,U.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()]}})})}},65:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submit=void 0;var a=r(584),s=r(256),n=r(398);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,{}]}})})}}},74:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateSpotCheckData=void 0;var a=r(584);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]}})})}}},82:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.dashboardSyncData=void 0;var a=r(584);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]}})})}}},143:(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(584),s=r(398),n=r(825),o=r(904),i=r(862);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(A){switch(A.label){case 0:return c=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if(p=A.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=A.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=A.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=A.sent(),p.current_step!=s.Step.draft&&p.current_step!=s.Step.submitter_revisions)return[3,12];A.label=5;case 5:A.trys.push([5,10,11,12]),f=a.__values(m),h=f.next(),A.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:A.sent(),A.label=8;case 8:return h=f.next(),[3,6];case 9:return[3,12];case 10:return w=A.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]}})})}},152:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getBriefFlows=void 0;var a=r(584);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}}]}})})}}},160:e=>{e.exports=require("@steedos/objectql")},180:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submitPreReview=void 0;var a=r(584);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,{}]}})})}}},189:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getImageComparisonStatus=t.triggerImageComparison=void 0;var a=r(584);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(665)})];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]}})})}}},200:e=>{e.exports=require("@steedos/service-package-loader")},222:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.confirmDeployment=void 0;var a=r(584);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,{}]}})})}}},256:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(584);a.__exportStar(r(510),t),a.__exportStar(r(143),t),a.__exportStar(r(751),t),a.__exportStar(r(809),t),a.__exportStar(r(665),t),a.__exportStar(r(777),t)},264:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.postponeDeployment=void 0;var a=r(584);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,{}]}})})}}},293:e=>{e.exports=require("dayjs")},298:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addBulkMaterials=void 0;var a=r(584),s=r(825);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,{}]}})})}}},330:e=>{e.exports=JSON.parse('{"name":"@steedos-labs/content-compliance","version":"0.6.29","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"}')},334:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.calculateSpotCheckRates=void 0;var a=r(584);r(825),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}]}})})}}},398:(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"},401:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getReviewerAgentsInfo=void 0;var a=r(584),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]}})})}},418:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.bypassApproval=void 0;var a=r(584),s=r(398),n=r(825);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,A,j,D,P,I,k,E,C,T;return a.__generator(this,function(R){switch(R.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:if(t=R.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=R.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,(P={},P[l]=!0,P[_]=i,P[u]=o,P[d]=new Date,P))]:[3,4];case 3:R.sent(),R.label=4;case 4:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",r],["void_material","!=",!0]]})];case 5:g=R.sent(),R.label=6;case 6:R.trys.push([6,11,12,13]),m=a.__values(g),f=m.next(),R.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:R.sent(),t.info("User ".concat(i," (").concat(v,") bypassed material ").concat(h._id," via approval bypass")),R.label=9;case 9:return f=m.next(),[3,7];case 10:return[3,13];case 11:return w=R.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=R.sent(),R.label=15;case 15:R.trys.push([15,20,21,22]),S=a.__values(O),A=S.next(),R.label=16;case 16:return A.done?[3,19]:(j=A.value,[4,e.getObject("pepsico_approval_process").update(j._id,{submitted:new Date,modified:new Date,modified_by:i,approved:"pass",name:o})]);case 17:R.sent(),R.label=18;case 18:return A=S.next(),[3,16];case 19:return[3,22];case 20:return D=R.sent(),C={error:D},[3,22];case 21:try{A&&!A.done&&(T=S.return)&&T.call(S)}finally{if(C)throw C.error}return[7];case 22:return[4,this.approvalContent.call(this,e,r,{approveField:p,materialStatus:s.ApprovalStatus.pass})];case 23:return R.sent(),[2,{success:!0,message:"已跳过该审批单的".concat(v,"审核")}]}})})}}},425:e=>{e.exports=require("amis-formula")},435:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateReviewCompletedDate=void 0;var a=r(584),s=r(160);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]}})})}}},458:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getDownloadMaterialsProgress=t.getUploadMaterialsProgress=void 0;var a=r(584);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))}])}})})}}},509:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(584),s=r(45),n=r(256),o=r(398),i=r(833),c=r(809),p=r(665),l=r(777),_=r(160),u=r(825),d=r(928),v=r(330),g=v.name,m=r(861),f=r(200),h=r(716);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:"syncDashboard",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]}})})},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]})})}}},510:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),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 a=r(584),s=r(398),n=r(425),o=r(825),i=r(143),c=r(57),p=r(972),l=r(833),_=r(401),u=r(862),d=r(825);t.getDefApproverStepRule=function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,r;return a.__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 a.__awaiter(void 0,void 0,void 0,function(){var r,s,n;return a.__generator(this,function(a){switch(a.label){case 0:return t?[4,e.getObject("pepsico_flow_rule").findOne(t)]:[3,2];case 1:if(!(r=a.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(s=a.sent(),!(n=s.length>0?s[0]:null))throw new Error("未找到审批流规则");return[2,n]}})})};var v=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,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return(s=a.sent()).skip_approve?[2,(0,n.evaluate)(s.skip_approve,r)]:[2,!1]}})})};t.hasAnyPreReviewer=function(e,t){return t===s.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 g=function(e,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,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return o=a.sent(),[4,v(e,r)];case 2:return a.sent()?[2,s.Step.conclusion]:(i=(0,n.evaluate)(o.name,r),console.log("getApproverStep-".concat(r._id),i,typeof i,o.name,JSON.stringify(r)),[2,i?s.Step.personnel_review:s.Step.departmental_review])}})})},m=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var o;return a.__generator(this,function(a){switch(a.label){case 0:return[4,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return o=a.sent(),(0,n.evaluate)(o.name,r)?[2,s.Step.personnel_review]:[2,s.Step.departmental_review]}})})},f=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,o;return a.__generator(this,function(a){switch(a.label){case 0:switch(n=s.Step.draft,t.current_step){case s.Step.draft:return[3,1];case s.Step.ai_review:return[3,2];case s.Step.departmental_review:case s.Step.personnel_review:return[3,6];case s.Step.submitter_revisions:return[3,7];case s.Step.awaiting_deployment:return[3,9]}return[3,10];case 1:return n=d.includes(u.DCO_TYPES,t.classification)?s.Step.conclusion:s.Step.ai_review,[3,11];case 2:return r!=s.ApprovalStatus.approved?[3,4]:[4,g(e,t)];case 3:return o=a.sent(),[3,5];case 4:o=s.Step.draft,a.label=5;case 5:return n=o,[3,11];case 6:return n=r==s.ApprovalStatus.approved||r==s.ApprovalStatus.pass?s.Step.awaiting_deployment:s.Step.submitter_revisions,[3,11];case 7:return[4,g(e,t)];case 8:return n=a.sent(),[3,11];case 9:return n=s.Step.conclusion,[3,11];case 10:return[3,11];case 11:return console.log("[getNextStep]",JSON.stringify({action:r,nextStep:n})),[2,n]}})})},h=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,i,c,p,l,u,d,v,g,m,f,h;return a.__generator(this,function(b){switch(b.label){case 0:switch(n=[],r){case s.Step.draft:return[3,1];case s.Step.ai_review:return[3,2];case s.Step.departmental_review:return[3,3];case s.Step.personnel_review:return[3,22];case s.Step.submitter_revisions:return[3,29];case s.Step.awaiting_deployment:return[3,30]}return[3,31];case 1:return n=(0,o.concat)(n,{userIds:[t.owner],type:s.ProcessApprovalType.Others}),[3,32];case 2:return n=(0,o.concat)(n,{userIds:[process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID],type:s.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!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_ns_reviewer])]:[3,5];case 4:return i=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},i),{type:s.ProcessApprovalType.PreNS})),[3,7];case 5:return 1==t.ns_approval_status||t.ns_approval_status===s.ApprovalStatus.pass?[3,7]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.ns_reviewer)];case 6:c=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},c),{type:s.ProcessApprovalType.NS})),b.label=7;case 7:return t.pre_legal_reviewer&&1!=t.pre_legal_approval_status&&t.pre_legal_approval_status!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_legal_reviewer])]:[3,9];case 8:return p=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},p),{type:s.ProcessApprovalType.PreLegal})),[3,11];case 9:return 1==t.legal_approval_status||t.legal_approval_status===s.ApprovalStatus.pass?[3,11]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.legal_reviewer)];case 10:l=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},l),{type:s.ProcessApprovalType.Legal})),b.label=11;case 11:return t.pre_sra_reviewer&&1!=t.pre_sra_approval_status&&t.pre_sra_approval_status!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_sra_reviewer])]:[3,13];case 12:return u=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},u),{type:s.ProcessApprovalType.PreSRA})),[3,15];case 13:return 1==t.sra_approval_status||t.sra_approval_status===s.ApprovalStatus.pass?[3,15]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.sra_reviewer)];case 14:d=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},d),{type:s.ProcessApprovalType.SRA})),b.label=15;case 15:return t.pre_ca_reviewer&&1!=t.pre_ca_approval_status&&t.pre_ca_approval_status!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_ca_reviewer])]:[3,17];case 16:return v=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},v),{type:s.ProcessApprovalType.PreCA})),[3,19];case 17:return 1==t.ca_approval_status||t.ca_approval_status===s.ApprovalStatus.pass?[3,19]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.ca_reviewer)];case 18:g=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},g),{type:s.ProcessApprovalType.CA})),b.label=19;case 19:return"yes"!=t.child_files||1==t.kids_approval_status||t.kids_approval_status===s.ApprovalStatus.pass?[3,21]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.kids_reviewer])];case 20:h=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},h),{type:s.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!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_reviewer])]:[3,24];case 23:return m=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},m),{type:s.ProcessApprovalType.Preguding})),[3,26];case 24:return t.approval_status===s.ApprovalStatus.pass?[3,26]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.reviewer)];case 25:f=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},f),{type:s.ProcessApprovalType.guding})),b.label=26;case 26:return"yes"!=t.child_files||1==t.kids_approval_status||t.kids_approval_status===s.ApprovalStatus.pass?[3,28]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.kids_reviewer])];case 27:h=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},h),{type:s.ProcessApprovalType.Kids})),b.label=28;case 28:return[3,32];case 29:return n=(0,o.concat)(n,{userIds:[t.owner],type:s.ProcessApprovalType.Others}),[3,32];case 30:return n=(0,o.concat)(n,{userIds:[t.material_owner_id],type:s.ProcessApprovalType.Others}),[3,32];case 31:return[3,32];case 32:return[2,(0,o.uniq)(n)]}})})},b=function(e){return e===s.Step.draft?s.ReviewStatus.draft:e===s.Step.conclusion?s.ReviewStatus.approved:s.ReviewStatus.under_review},w=function(e,t,r){var s=r.approvalStatus,n=r.approveField;return a.__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 a.__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=a.__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:s||"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=a.__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]}})})},y=function(e,t,r,s){return a.__awaiter(void 0,void 0,void 0,function(){var n,i,c,p,l,_;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user.userId,r?((_={})[r]=s,i=_,n?[4,e.getObject("pepsico_material_approval").findOne(t)]:[3,2]):[3,4];case 1:c=a.sent(),p=c.person_pending_approve||[],-1!==(l=(0,o.findIndex)(p,function(e){return e===n}))&&(0,o.pullAt)(p,l),i.person_pending_approve=p,i.$push={person_approved:n},a.label=2;case 2:return console.log("[updateApproveFieldStatus]",JSON.stringify({recordId:t,set:i})),[4,e.getObject("pepsico_material_approval").update(t,i)];case 3:a.sent(),a.label=4;case 4:return[2]}})})},O=function(e,t,r){var n=r.nextStep,i=r.nextApprovers,c=r.description;return a.__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 a.__generator(this,function(A){switch(A.label){case 0:return console.log("[changeApprovalProcess]",n,i,c),r=e.meta.user,t.current_step&&t.current_step!=s.Step.draft?[3,3]:[4,e.getObject("pepsico_approval_process").count({filters:[["pepsico_material_approval","=",t._id],["space","=",t.space]]})];case 1:return 0!=A.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:s.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:A.sent(),A.label=3;case 3:switch(n){case s.Step.draft:case s.Step.ai_review:case s.Step.departmental_review:case s.Step.personnel_review:case s.Step.submitter_revisions:case s.Step.awaiting_deployment:return[3,4];case s.Step.conclusion:return[3,21]}return[3,23];case 4:A.trys.push([4,18,19,20]),l=a.__values(i),_=l.next(),A.label=5;case 5:if(_.done)return[3,17];u=_.value,A.label=6;case 6:A.trys.push([6,12,13,14]),y=void 0,d=a.__values(u.userIds),v=d.next(),A.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=A.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:n,approved:"progess",space:t.space,created:new Date,created_by:r.userId,modified:new Date,modified_by:r.userId,name:c})];case 9:A.sent(),A.label=10;case 10:return v=d.next(),[3,7];case 11:return[3,14];case 12:return f=A.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,o.toLower)(u.type))]=u.userIds,S))]:[3,16];case 15:A.sent(),A.label=16;case 16:return _=l.next(),[3,5];case 17:return[3,20];case 18:return h=A.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:s.Step.conclusion,space:t.space,created:new Date,created_by:r.userId,modified:new Date,modified_by:r.userId,name:c})];case 22:return A.sent(),[3,24];case 23:return[3,24];case 24:return[2]}})})},S=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n;return a.__generator(this,function(a){switch(a.label){case 0:return[4,m(e,t)];case 1:return r=a.sent(),n=[],r===s.Step.personnel_review?(n=(0,o.concat)(t.reviewer,t.assistance),t.pre_reviewer&&(n=(0,o.concat)(n,t.pre_reviewer))):(n=(0,o.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&&(n=(0,o.concat)(n,t.pre_ns_reviewer)),t.pre_legal_reviewer&&(n=(0,o.concat)(n,t.pre_legal_reviewer)),t.pre_sra_reviewer&&(n=(0,o.concat)(n,t.pre_sra_reviewer)),t.pre_ca_reviewer&&(n=(0,o.concat)(n,t.pre_ca_reviewer))),"yes"==t.child_files&&(n=(0,o.concat)(n,t.kids_reviewer)),[4,e.getObject("pepsico_material_approval").directUpdate(t._id,{$push:{person_view:{$each:(0,o.compact)((0,o.uniq)(n))}},approval_type:r})];case 2:return a.sent(),[2]}})})},A={pre_ns_approval_status:{reviewerField:"ns_reviewer",type:s.ProcessApprovalType.NS,statusField:"ns_approval_status"},pre_legal_approval_status:{reviewerField:"legal_reviewer",type:s.ProcessApprovalType.Legal,statusField:"legal_approval_status"},pre_sra_approval_status:{reviewerField:"sra_reviewer",type:s.ProcessApprovalType.SRA,statusField:"sra_approval_status"},pre_ca_approval_status:{reviewerField:"ca_reviewer",type:s.ProcessApprovalType.CA,statusField:"ca_approval_status"},pre_approval_status:{reviewerField:"reviewer",type:s.ProcessApprovalType.guding,statusField:"approval_status"}},j=function(e,t,r,n){return a.__awaiter(void 0,void 0,void 0,function(){var i,c,p,u,d,v,g,m,f,h,b,w,y,O,S,j,D,P,I;return a.__generator(this,function(k){switch(k.label){case 0:return(i=A[r])?!0===(c=n[i.statusField])||c===s.ApprovalStatus.pass||!(p=n[i.reviewerField])||Array.isArray(p)&&0===p.length?[2]:(u=Array.isArray(p)?p:[p],[4,(0,_.getReviewerAgentsInfo)(e,n.space,u)]):[2];case 1:d=k.sent(),v=e.meta.user,k.label=2;case 2:k.trys.push([2,8,9,10]),g=a.__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","=",n.space]]})]);case 4:return h=k.sent(),[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:n._id,owner:f,type:i.type,review_department:h.length>0?h[0].organization:null,current_step:n.current_step,approved:"progess",space:n.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(n._id,(D={},D["handler_".concat((0,o.toLower)(i.type))]=d.userIds,D))];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,o.compact)((0,o.uniq)((0,o.concat)(y,d.userIds))),[4,e.getObject("pepsico_material_approval").directUpdate(n._id,(P={person_pending_approve:O},P[i.statusField]="",P))];case 13:return k.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],[i.statusField,"=",!1]],(I={},I[i.statusField]="",I))];case 14:return k.sent(),console.log("[addFormalReviewerAfterPreApproval] 预审字段 ".concat(r," 通过, 追加正式审核人:"),d.userIds),[4,(0,l.sendNotifications)(e,n,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===s.ApprovalStatus.approved||e===s.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 a.__awaiter(void 0,void 0,void 0,function(){var n,c,_,u,d,g,m,w,y,A,j,P,I,k,E,C,T,R,x,M,N,U,L,F,J,$,B,Y;return a.__generator(this,function(z){switch(z.label){case 0:return z.trys.push([0,81,,82]),n="请查看",c=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:return _=z.sent(),console.log("[advanceApproval]",_.current_step,_.person_pending_approve,c.userId),[4,(q=_,a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(e){if(q.review_status===s.ReviewStatus.terminated)throw new Error("已中止审核.");if(q.current_step===s.Step.conclusion)throw new Error("已审核完成.");return[2,!0]})}))];case 2:return z.sent(),[4,f(e,_,r)];case 3:return u=z.sent(),[4,v(e,_)];case 4:return d=z.sent(),u===s.Step.conclusion&&d?[4,e.getObject("pepsico_material_approval").directUpdate(_._id,{is_skip_approver:!0})]:[3,8];case 5:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",_._id],{is_skip_approver:!0})];case 6:return z.sent(),[4,S(e,_)];case 7:z.sent(),z.label=8;case 8:return[4,h(e,_,u)];case 9:if(g=z.sent(),_.current_step!==s.Step.submitter_revisions||u!==s.Step.departmental_review&&u!==s.Step.personnel_review)return[3,23];m=[],z.label=10;case 10:z.trys.push([10,18,19,20]),w=a.__values(g),y=w.next(),z.label=11;case 11:return y.done?[3,17]:(A=y.value,j=(0,i.getApproverFieldByType)(A.type),console.log("getApproverFieldByType",A.type,j),j?[4,(0,i.getUserReviewedAllMaterialsStatus)(e,_._id,j)]:[3,16]);case 12:return P=z.sent(),console.log("getUserReviewedAllMaterialsStatus",_._id,j,P),P!==s.ApprovalStatus.approved?[3,14]:(console.log("[advanceApproval] 自动更新审批单上的状态字段",t,((J={})[j]=s.ApprovalStatus.approved,J)),[4,e.getObject("pepsico_material_approval").directUpdate(t,($={},$[j]=!0,$))]);case 13:return z.sent(),[3,15];case 14:P===s.ApprovalStatus.pass?console.log("[advanceApproval] 部门已跳过,保持bypass状态",t,j):m.push(A),z.label=15;case 15:z.label=16;case 16:return y=w.next(),[3,11];case 17:return[3,20];case 18:return I=z.sent(),L={error:I},[3,20];case 19:try{y&&!y.done&&(F=w.return)&&F.call(w)}finally{if(L)throw L.error}return[7];case 20:return m.length>0?(g=m,[3,23]):[3,21];case 21:return u=s.Step.awaiting_deployment,[4,h(e,_,u)];case 22:g=z.sent(),z.label=23;case 23:return console.log("[advanceApproval] currentStepApprovalStatus:",r," nextStep:",u," nextApprovers:",g),k=[],E=[],(0,o.map)(g,function(e){k=(0,o.concat)(k,e.userIds),E=(0,o.concat)(E,e.clientUserIds)}),C={current_step:u,review_status:b(u),person_pending_approve:k,$push:{person_view:{$each:(0,o.compact)((0,o.uniq)((0,o.difference)(E,k)))},person_approved:{$each:_.person_pending_approve}}},_.current_step!==s.Step.draft?[3,25]:(C.draft_submitted=new Date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",_._id],{draft_submitted:C.draft_submitted})]);case 24:z.sent(),z.label=25;case 25:return _.current_step===s.Step.ai_review&&(C.ai_reviewed_date=new Date),_.current_step!==s.Step.departmental_review&&_.current_step!==s.Step.personnel_review||(C.re_reviewed_date=new Date),u!==s.Step.awaiting_deployment?[3,27]:(C.review_completed_date=new Date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",_._id],{review_completed_date:C.review_completed_date})]);case 26:z.sent(),z.label=27;case 27:return _.current_step===s.Step.awaiting_deployment&&(C.awaiting_deployment_date=new Date),_.current_step!==s.Step.conclusion?[3,29]:(C.conclusion_date=new Date,_.review_completed_date?[3,29]:(C.review_completed_date=C.conclusion_date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",_._id],{review_completed_date:C.review_completed_date})]));case 28:z.sent(),z.label=29;case 29:return _.current_step===s.Step.submitter_revisions&&(C.submitter_revision_date=new Date,console.log("[advanceApproval] 检测到修改后提交场景, 标记图片对比任务: ".concat(t)),C.image_comparison_status="pending",C.image_comparison_at=new Date,C.image_comparison_failed_count=0),[4,e.getObject("pepsico_material_approval").update(t,C)];case 30:return z.sent(),[4,O(e,_,{nextStep:u,nextApprovers:g,description:""})];case 31:return z.sent(),u!==s.Step.ai_review?[3,33]:(console.time("callAIReview: "+t),[4,(0,p.callAIReview)(e,t)]);case 32:z.sent(),console.timeEnd("callAIReview: "+t),z.label=33;case 33:z.trys.push([33,69,70,71]),T=a.__values(g),R=T.next(),z.label=34;case 34:return R.done?[3,68]:(x=R.value).type!==s.ProcessApprovalType.CA?[3,37]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{ca_approval_status:""})];case 35:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["ca_approval_status","=",!1]],{ca_approval_status:""})];case 36:z.sent(),z.label=37;case 37:return x.type!==s.ProcessApprovalType.Legal?[3,40]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{legal_approval_status:""})];case 38:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["legal_approval_status","=",!1]],{legal_approval_status:""})];case 39:z.sent(),z.label=40;case 40:return x.type!==s.ProcessApprovalType.NS?[3,43]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{ns_approval_status:""})];case 41:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["ns_approval_status","=",!1]],{ns_approval_status:""})];case 42:z.sent(),z.label=43;case 43:return x.type!==s.ProcessApprovalType.SRA?[3,46]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{sra_approval_status:""})];case 44:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["sra_approval_status","=",!1]],{sra_approval_status:""})];case 45:z.sent(),z.label=46;case 46:return x.type!==s.ProcessApprovalType.guding?[3,49]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{approval_status:""})];case 47:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["approval_status","=",!1]],{approval_status:""})];case 48:z.sent(),z.label=49;case 49:return x.type!==s.ProcessApprovalType.Kids?[3,52]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{kids_approval_status:""})];case 50:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["kids_approval_status","=",!1]],{kids_approval_status:""})];case 51:z.sent(),z.label=52;case 52:return x.type!==s.ProcessApprovalType.PreNS?[3,55]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_ns_approval_status:""})];case 53:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_ns_approval_status","=",!1]],{pre_ns_approval_status:""})];case 54:z.sent(),z.label=55;case 55:return x.type!==s.ProcessApprovalType.PreLegal?[3,58]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_legal_approval_status:""})];case 56:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_legal_approval_status","=",!1]],{pre_legal_approval_status:""})];case 57:z.sent(),z.label=58;case 58:return x.type!==s.ProcessApprovalType.PreSRA?[3,61]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_sra_approval_status:""})];case 59:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_sra_approval_status","=",!1]],{pre_sra_approval_status:""})];case 60:z.sent(),z.label=61;case 61:return x.type!==s.ProcessApprovalType.PreCA?[3,64]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_ca_approval_status:""})];case 62:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_ca_approval_status","=",!1]],{pre_ca_approval_status:""})];case 63:z.sent(),z.label=64;case 64:return x.type!==s.ProcessApprovalType.Preguding?[3,67]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_approval_status:""})];case 65:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_approval_status","=",!1]],{pre_approval_status:""})];case 66:z.sent(),z.label=67;case 67:return R=T.next(),[3,34];case 68:return[3,71];case 69:return M=z.sent(),B={error:M},[3,71];case 70:try{R&&!R.done&&(Y=T.return)&&Y.call(T)}finally{if(B)throw B.error}return[7];case 71:return u!==s.Step.departmental_review&&u!==s.Step.personnel_review?[3,73]:[4,S(e,_)];case 72:z.sent(),z.label=73;case 73:return _.current_step!==s.Step.departmental_review&&_.current_step!==s.Step.personnel_review?[3,75]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{materials_remove_share_link_from_onedrive_status:"pending"})];case 74:z.sent(),z.label=75;case 75:return u!==s.Step.awaiting_deployment?[3,77]:[4,D(e,t)];case 76:z.sent(),z.label=77;case 77:return u===s.Step.awaiting_deployment||u===s.Step.conclusion&&_.current_step===s.Step.ai_review?(N={materials_download_from_onedrive_status:"pending"},[4,e.getObject("pepsico_material_approval").directUpdate(t,N)]):[3,79];case 78:z.sent(),z.label=79;case 79:return r===s.ApprovalStatus.rejected&&(n="内容审批被驳回"),r!==s.ApprovalStatus.approved||u!==s.Step.departmental_review&&u!==s.Step.personnel_review||(n="请审批"),u===s.Step.awaiting_deployment&&(n="内容审批已通过待上线"),[4,(0,l.sendNotifications)(e,_,k,n)];case 80:return z.sent(),[2,{}];case 81:throw U=z.sent(),console.error("[advanceApproval] Error:",U.message,U.stack),U;case 82:return[2]}var q})})},t.terminate=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,i,c,p,l,_,u,d,v;return a.__generator(this,function(g){switch(g.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:return(i=g.sent()).owner===n.userId||n.is_space_admin||(0,o.includes)(i.person_pending_approve,n.userId)?[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:i._id,current_step:s.Step.conclusion,owner:n.userId,space:i.space,created:new Date,created_by:n.userId,modified:new Date,modified_by:n.userId,approvalStatus:"terminate",name:r})]:[3,13];case 2:return g.sent(),[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",i._id],["approved","=","progess"]]})];case 3:c=g.sent(),g.label=4;case 4:g.trys.push([4,9,10,11]),p=a.__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:n.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:s.Step.conclusion,review_status:s.ReviewStatus.terminated,termination_date:new Date,person_pending_approve:[],termination_type:i.owner===n.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 a.__awaiter(this,void 0,void 0,function(){return a.__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,n){return void 0===n&&(n={content_rule:null}),a.__awaiter(this,void 0,void 0,function(){var i,p;return a.__generator(this,function(a){switch(a.label){case 0:return i=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:if(p=a.sent(),i.userId!==p.material_owner_id)throw new Error("只有材料拥有者才能执行此操作.");return p.current_step==s.Step.draft||(0,o.includes)(p.person_pending_approve,i.userId)?[4,w(e,p,{approvalStatus:s.ApprovalStatus.submit,approveField:""})]:[2,{}];case 2:return a.sent(),p.current_step===s.Step.awaiting_deployment&&(0,o.includes)(p.person_pending_approve,i.userId)?[4,e.getObject("pepsico_material_approval").update(r,{launch:"launched",content_rule:n.content_rule,aunch_time:new Date})]:[3,6];case 3:return a.sent(),[4,(0,t.advanceApproval)(e,r,s.ApprovalStatus.submit)];case 4:return a.sent(),[4,(0,c.inventoryApprovalMaterial)(e,r)];case 5:a.sent(),a.label=6;case 6:return[2,{}]}})})},t.postponeDeployment=function(e,t,r){return a.__awaiter(this,void 0,void 0,function(){var n,i;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if(i=a.sent(),n.userId!==i.material_owner_id)throw new Error("只有材料拥有者才能执行此操作.");return i.current_step===s.Step.awaiting_deployment&&(0,o.includes)(i.person_pending_approve,n.userId)?[4,e.getObject("pepsico_material_approval").update(t,{launch:"postpone",postpone_launch_date:r.postpone_launch_date})]:[3,3];case 2:a.sent(),a.label=3;case 3:return[2,{}]}})})},t.approvalContent=function(e,r,n){var i=n.approveField,c=n.materialStatus,p=void 0===c?s.ApprovalStatus.approved:c;return a.__awaiter(this,void 0,void 0,function(){var n,c,l,_,u,d,v,g,m,f;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(c=a.sent()).current_step==s.Step.draft||(0,o.includes)(c.person_pending_approve,n.userId)?(l=p!==s.ApprovalStatus.pass||s.ApprovalStatus.pass,[4,y(e,r,i,l)]):[2,{}];case 2:return a.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 3:return _=a.sent(),u=!0===l?s.ApprovalStatus.approved:l,[4,w(e,_,{approvalStatus:u,approveField:i})];case 4:return a.sent(),!A[i]||!0!==l&&l!==s.ApprovalStatus.pass?[3,6]:[4,j(e,r,i,_)];case 5:a.sent(),a.label=6;case 6:if(d=function(e){return!0===e||e===s.ApprovalStatus.approved||e===s.ApprovalStatus.pass},v=function(e){return e===s.ApprovalStatus.pass},_.current_step===s.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?s.ApprovalStatus.pass:s.ApprovalStatus.approved):u=s.ApprovalStatus.rejected,console.log("[approvalContent]: 部门复审完成, 结果为:",u)}else if(_.current_step===s.Step.personnel_review){if(!(0,t.isDeptReviewComplete)(_,"approval"))return console.log("[approvalContent]: 固定人员审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];f=(0,t.getDeptEffectiveStatus)(_,"approval"),u=d(f)?v(f)?s.ApprovalStatus.pass:s.ApprovalStatus.approved:s.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=s.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 a.sent(),[2,{}]}})})},t.rejectContent=function(e,r,n){var i=n.approveField;return a.__awaiter(this,void 0,void 0,function(){var n,c,p,l;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(c=a.sent()).current_step==s.Step.draft||(0,o.includes)(c.person_pending_approve,n.userId)?[4,y(e,r,i,!1)]:[2,{}];case 2:return a.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 3:return p=a.sent(),l=s.ApprovalStatus.rejected,[4,w(e,p,{approvalStatus:s.ApprovalStatus.rejected,approveField:i})];case 4:if(a.sent(),p.current_step===s.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===s.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 a.sent(),[2,{}]}})})},t.submitKidsContent=function(e,r,n){return a.__awaiter(this,void 0,void 0,function(){var o;return a.__generator(this,function(a){switch(a.label){case 0:if(n!=s.ApprovalStatus.approved&&n!=s.ApprovalStatus.rejected)throw new Error("无效的审核状态.");return o="kids_approval_status",n!==s.ApprovalStatus.approved?[3,2]:[4,(0,t.approvalContent)(e,r,{approveField:o})];case 1:return a.sent(),[3,4];case 2:return[4,(0,t.rejectContent)(e,r,{approveField:o})];case 3:a.sent(),a.label=4;case 4:return[2]}})})},t.submitPreReviewContent=function(e,r,n){return a.__awaiter(this,void 0,void 0,function(){var i,c,p,l,_;return a.__generator(this,function(a){switch(a.label){case 0:if(n!=s.ApprovalStatus.approved&&n!=s.ApprovalStatus.rejected)throw new Error("无效的审核状态.");return i=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:if((c=a.sent()).current_step!==s.Step.departmental_review&&c.current_step!==s.Step.personnel_review)throw new Error("当前步骤不支持预审操作");if(!(0,o.includes)(c.person_pending_approve,i.userId))throw new Error("您不是当前预审人");return p="",c.pre_reviewer===i.userId?p="pre_approval_status":c.pre_ns_reviewer===i.userId?p="pre_ns_approval_status":c.pre_legal_reviewer===i.userId?p="pre_legal_approval_status":c.pre_sra_reviewer===i.userId?p="pre_sra_approval_status":c.pre_ca_reviewer===i.userId&&(p="pre_ca_approval_status"),p?[3,3]:[4,e.getObject("pepsico_approval_process").find({filters:[["owner","=",i.userId],["pepsico_material_approval","=",r],["current_step","=",c.current_step],["space","=",c.space],["approved","=","progess"]],top:1,sort:"modified desc"})];case 2:(l=a.sent()).length>0&&((_=l[0].type)===s.ProcessApprovalType.PreNS?p="pre_ns_approval_status":_===s.ProcessApprovalType.PreLegal?p="pre_legal_approval_status":_===s.ProcessApprovalType.PreSRA?p="pre_sra_approval_status":_===s.ProcessApprovalType.PreCA?p="pre_ca_approval_status":_===s.ProcessApprovalType.Preguding&&(p="pre_approval_status")),a.label=3;case 3:if(!p)throw new Error("无法确定预审字段");return n!==s.ApprovalStatus.approved?[3,5]:[4,(0,t.approvalContent)(e,r,{approveField:p})];case 4:return a.sent(),[3,7];case 5:return[4,(0,t.rejectContent)(e,r,{approveField:p})];case 6:a.sent(),a.label=7;case 7:return[2]}})})},t.submitContent=function(e,r,n,c){return a.__awaiter(this,void 0,void 0,function(){var p,_,u,d,v,g,f,h,b,y,O,S,A,j,D,P;return a.__generator(this,function(I){switch(I.label){case 0:return[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return p=I.sent(),_=e.meta.user,u=!1,p.current_step===s.Step.ai_review&&_.is_space_admin&&!0===c?(console.log("".concat(_.name,"(").concat(_.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","=",s.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","=",s.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=a.__values(d),g=v.next(),I.label=4;case 4:return g.done?[3,7]:(f=g.value,console.log("管理员提交了AI审核步骤, 修改审批历史: process Id:",f._id),[4,e.getObject("pepsico_approval_process").directUpdate(f._id,{submitted:new Date,modified:new Date,modified_by:_.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(),D={error:h},[3,10];case 9:try{g&&!g.done&&(P=v.return)&&P.call(v)}finally{if(D)throw D.error}return[7];case 10:if(1!=u&&p.current_step!=s.Step.draft&&!(0,o.includes)(p.person_pending_approve,_.userId))return[2,{}];if(!p.is_external||p.current_step!==s.Step.draft||1==p.external_submitted)return[3,14];if(p.owner!==_.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,l.sendNotifications)(e,p,[p.internal_collaborator],"协助提交材料审批单")];case 12:I.sent(),I.label=13;case 13:return[2];case 14:return p.current_step!==s.Step.draft?[3,22]:[4,m(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,i.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(y=I.sent())&&y.length>0?(O=y[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(n)),p.current_step!==s.Step.ai_review||n!==s.ApprovalStatus.approved?[3,32]:[4,(0,i.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 A=S.filter(function(e){return!0!==e.xml_converted_word}),console.log("pendingXmlToWordMaterials:",A.length),A.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 j=S.filter(function(e){return!0!==e.uploaded_to_onedrive}),console.log("pendingUploadMaterials:",j.length),j.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,w(e,p,{approvalStatus:n,approveField:""})];case 33:return I.sent(),console.timeEnd("updateUserStepStatus: "+r),console.time("advanceApproval: "+r),[4,(0,t.advanceApproval)(e,r,n)];case 34:return I.sent(),console.timeEnd("advanceApproval: "+r),[2]}})})},t.hasReviewed=function(e){return!0===e||!1===e||e===s.ApprovalStatus.pass||e===s.ApprovalStatus.approved}},536:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submitKids=void 0;var a=r(584);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,{}]}})})}}},584:e=>{e.exports=require("tslib")},586:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fixStuckPersonnelReview=void 0;var a=r(584),s=r(398),n=r(510);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(A){switch(A.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=A.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=A.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=A.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 A.sent(),d?(v={re_reviewed_date:d},[4,e.getObject("pepsico_material_approval").findOne(o)]):[3,18];case 5:return(g=A.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:A.sent(),A.label=7;case 7:return[4,e.getObject("pepsico_material_approval").directUpdate(o,v)];case 8:return A.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=A.sent(),A.label=10;case 10:A.trys.push([10,15,16,17]),h=a.__values(f),b=h.next(),A.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:A.sent(),A.label=13;case 13:return b=h.next(),[3,11];case 14:return[3,17];case 15:return y=A.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 记录的接收时间")),A.label=18;case 18:return[2,{status:200,msg:"审批单 ".concat(o," 已修复并推进到下一步"),data:{approvalId:o,result:_,submittedDate:d}}]}})})}}},665:(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(584),s=r(938),n=r(398),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]}})})}},676:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.bypassMaterial=void 0;var a=r(584),s=r(398),n=r(825);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,A,j;return a.__generator(this,function(D){switch(D.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=D.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=D.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=D.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?(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?(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?(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&&(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])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 D.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=D.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&&(A=b.return)&&A.call(b)}finally{if(S)throw S.error}}return h||!_?[3,7]:[4,e.getObject("pepsico_material_approval").directUpdate(p._id,(j={},j[_]=!0,j[u]=i,j[d]=o,j[v]=new Date,j))];case 6:D.sent(),t.info("User ".concat(i," (").concat(g,") also marked approval ").concat(p._id," as bypassed (no pending materials)")),D.label=7;case 7:return[4,this.submitMaterial.call(this,e,r,"pass")];case 8:return D.sent(),[2,{success:!0,message:"已跳过该素材的".concat(g,"审核")}]}})})}}},716:e=>{e.exports=require("moment")},727:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.rule=void 0;var a=r(584);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)]}})})}}},751:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.dashboardSyncData=void 0;var a=r(584),s=r(825),n=r(716),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,A,j,D,P,I,k,E,C,T,R,x,M,N;return a.__generator(this,function(U){switch(U.label){case 0:if(!0===u)throw new Error("同步中, 请勿重复调用...");u=!0,t={success:0,fail:0},U.label=1;case 1:return U.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=U.sent()).length>0))return[3,29];U.label=3;case 3:U.trys.push([3,27,28,29]),d=a.__values(c),v=d.next(),U.label=4;case 4:if(v.done)return[3,26];g=v.value,U.label=5;case 5:return U.trys.push([5,23,,25]),[4,o(e,g.product)];case 6:return m=U.sent(),[4,l(e,g.classification)];case 7:return f=U.sent(),[4,e.getObject("organizations").findOne(g.owner_department)];case 8:return h=U.sent(),[4,i(e,g._id)];case 9:return b=U.sent(),[4,p(e,g._id)];case 10:return w=U.sent(),[4,_(e,g._id)];case 11:return y=U.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 A=U.sent(),O?[3,21]:[4,e.getObject("pepsico_material").directFind({filters:[["pepsico_material_approval","=",g._id]]})];case 13:if(!((j=U.sent()).length>0))return[3,21];U.label=14;case 14:U.trys.push([14,19,20,21]),M=void 0,D=a.__values(j),P=D.next(),U.label=15;case 15:return P.done?[3,18]:(I=P.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:A._id,pepsico_material:I._id,owner:g.owner,space:g.space,created:new Date,modified:new Date})]);case 16:U.sent(),U.label=17;case 17:return P=D.next(),[3,15];case 18:return[3,21];case 19:return k=U.sent(),M={error:k},[3,21];case 20:try{P&&!P.done&&(N=D.return)&&N.call(D)}finally{if(M)throw M.error}return[7];case 21:return[4,e.getObject("pepsico_material_approval").directUpdate(g._id,{synced:!0})];case 22:return U.sent(),t.success++,[3,25];case 23:return E=U.sent(),[4,e.logger.error("[Dashboard同步Data]",{pepsico_material_approval:g._id,error:E.message})];case 24:return U.sent(),t.fail++,[3,25];case 25:return v=d.next(),[3,4];case 26:return[3,29];case 27:return C=U.sent(),R={error:C},[3,29];case 28:try{v&&!v.done&&(x=d.return)&&x.call(d)}finally{if(R)throw R.error}return[7];case 29:return u=!1,[2,t];case 30:return T=U.sent(),u=!1,console.log("[Dashboard同步Data]",{error:T.message}),[4,e.logger.error("[Dashboard同步Data]",{error:T.message})];case 31:return U.sent(),[3,32];case 32:return[2]}var L})})}},754:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.terminate=void 0;var a=r(584);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,{}]}})})}}},777:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkUserPasswordExpiration=void 0;var a=r(584),s=r(716);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,A,j,D,P,I,k,E,C,T;return a.__generator(this,function(R){switch(R.label){case 0:return R.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=R.sent(),R.label=2;case 2:R.trys.push([2,22,23,24]),o=a.__values(n),i=o.next(),R.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}),R.label=4;case 4:R.trys.push([4,18,19,20]),k=void 0,_=a.__values(l),u=_.next(),R.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=R.sent(),console.log("[PasswordExpiry] Found ".concat(m.length," users to notify in space ").concat(c.name," for ").concat(d.type)),R.label=7;case 7:R.trys.push([7,14,15,16]),C=void 0,f=a.__values(m),h=f.next(),R.label=8;case 8:if(h.done)return[3,13];if(b=h.value,r.has(b._id))return[3,12];R.label=9;case 9:return R.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 R.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=R.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=R.sent(),C={error:S},[3,16];case 15:try{h&&!h.done&&(T=f.return)&&T.call(f)}finally{if(C)throw C.error}return[7];case 16:return u=_.next(),[3,5];case 17:return[3,20];case 18:return A=R.sent(),k={error:A},[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 j=R.sent(),P={error:j},[3,24];case 23:try{i&&!i.done&&(I=o.return)&&I.call(o)}finally{if(P)throw P.error}return[7];case 24:return[3,26];case 25:return D=R.sent(),console.error("[PasswordExpiry] Error:",D),[3,26];case 26:return[2]}})})}},809:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scanPLSFiles=void 0;var a=r(584),s=r(825),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,A,j,D,P,I,k,E,C,T,R,x,M;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]),T=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(),T={error:w},[3,17];case 16:try{h&&!h.done&&(R=f.return)&&R.call(f)}finally{if(T)throw T.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&&(C=u.return)&&C.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]:(A=S.value,[4,e.getObject("pepsico_km_pls_file").directInsert({name:l,ai_extract:!1,pls_file:A,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 j=N.sent(),x={error:j},[3,29];case 28:try{S&&!S.done&&(M=O.return)&&M.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 D=N.sent(),console.error("[scan pls files]-".concat(t),D,new Date),[4,e.logger.error("[scan pls files]-".concat(t),D.message)];case 32:return N.sent(),[3,33];case 33:return i=o.next(),[3,3];case 34:return[3,37];case 35:return P=N.sent(),I={error:P},[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]}})})}},815:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateSpotCheckDepartments=void 0;var a=r(584),s=r(160);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]}})})}}},825:e=>{e.exports=require("lodash")},826:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendToContentHub=void 0;var a=r(584),s=r(57);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()]}})})}}},833:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendDelayNotifications=t.sendNotifications=void 0;var a=r(584),s=r(716);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.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]}})})}},861:e=>{e.exports=require("moleculer-cron")},862:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DCO_TYPES=void 0;var a=r(825);t.DCO_TYPES=a.split(process.env.CONTENT_DCO_TYPES||"MD-PO1-PO18")},864:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.clickReportSpotEmail=t.sendMonthlySpotCheckReport=t.clickSpotEmail=t.spotCheckMaterial=void 0;var a=r(584),s=r(825),n=r(862),o=r(825),i=r(57),c=r(938),p=r(716),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,A,j,D,P,I,k,E,C,T,R,x,M,N,U,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 A=J.sent(),N={error:A},[3,19];case 18:try{O&&!O.done&&(U=y.return)&&U.call(y)}finally{if(N)throw N.error}return[7];case 19:return[3,21];case 20:return j=J.sent(),console.log(j),[3,21];case 21:return J.trys.push([21,33,,34]),[4,e.getObject("space_users").find({filters:["user","in",w]})];case 22:D=J.sent(),P="【系统通知】素材抽检结果通知",J.label=23;case 23:J.trys.push([23,30,31,32]),I=a.__values(D),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 C=J.sent(),T='\n <p>您提交的素材已经被抽查。请点击下面的链接登录系统查看抽查意见:</p>\n <a href="'.concat(process.env.ROOT_URL,"/api/pepsico-content/material/click/spot-check/").concat(c,"/").concat(C,'">').concat(b.name,":").concat(d.name,"</a>\n "),[4,l(process.env.B6_EMAIL_FROM,E.email,P,"",T,"")];case 26:return R=J.sent(),[4,e.getObject("pepsico_mail_send_log").insert({_id:C,name:P,created:new Date,content:T,type:"素材抽查",to:[E.user],pepsico_material:d._id,result:R,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 M=J.sent(),console.log(M),null==u||u.error("[素材抽查]-".concat(c),{error:M.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]}})})}}},875:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.approveMaterial=void 0;var a=r(584);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,{}]}})})}}},904:e=>{e.exports=require("mime-types")},928:e=>{e.exports=require("path")},932:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.hasDuplicateMaterials=void 0;var a=r(584);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()}]}})})}}},938:e=>{e.exports=require("axios")},972:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callAIReview=void 0;var a=r(584),s=r(938),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]}})})}}},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}(509);module.exports=r})();
1
+ (()=>{"use strict";var e={45:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(584);a.__exportStar(r(65),t),a.__exportStar(r(754),t),a.__exportStar(r(298),t),a.__exportStar(r(875),t),a.__exportStar(r(222),t),a.__exportStar(r(264),t),a.__exportStar(r(536),t),a.__exportStar(r(180),t),a.__exportStar(r(334),t),a.__exportStar(r(727),t),a.__exportStar(r(932),t),a.__exportStar(r(458),t),a.__exportStar(r(152),t),a.__exportStar(r(82),t),a.__exportStar(r(826),t),a.__exportStar(r(864),t),a.__exportStar(r(74),t),a.__exportStar(r(418),t),a.__exportStar(r(676),t),a.__exportStar(r(189),t),a.__exportStar(r(435),t),a.__exportStar(r(815),t),a.__exportStar(r(586),t)},57:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendByMaterial=t.inventoryApprovalMaterial=void 0;var a=r(584),s=r(938),n=r(825),o=r(904),i=r(862),c=r(825),p=r(293),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,A,j,D,P,I,k,E,C,T,R,x,M,N,U,L,F,J,$,B,Y,z,q;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]:(A=S.value,j=null===(B=A.extension_type)||void 0===B?void 0:B.toLowerCase(),D=!1,"jpg"!==j&&"jpeg"!==j&&"png"!==j&&"gif"!==j&&"bmp"!==j&&"tiff"!==j&&"tif"!==j&&"svg"!==j&&"webp"!==j&&"ico"!==j&&"heif"!==j&&"heic"!==j&&"psd"!==j||(D=!0),"mp4"!==j&&"avi"!==j&&"mov"!==j&&"wmv"!==j&&"flv"!==j&&"mkv"!==j&&"webm"!==j&&"mpeg"!==j&&"mpg"!==j&&"3gp"!==j&&"m4v"!==j&&"qt"!==j||(D=!0),D&&g.push({workspaceId:+l,name:A.name,owner:f,url:"".concat(process.env.ROOT_URL,"/api/files/files/").concat(A.material,"?download=true"),materialGroupIdList:b,tagList:h}),A.supplement_materials&&!1===(0,n.isEmpty)(A.supplement_materials)&&(0,n.isArray)(A.supplement_materials)?[4,e.getObject("cfs_files_filerecord").find({filters:["_id","in",A.supplement_materials]})]:[3,7]);case 6:P=K.sent();try{for(J=void 0,I=a.__values(P),k=I.next();!k.done;k=I.next()){E=k.value;try{C=null===(Y=(0,o.extension)(E.original.type))||void 0===Y?void 0:Y.toLowerCase(),T=!1,"jpg"!==C&&"jpeg"!==C&&"png"!==C&&"gif"!==C&&"bmp"!==C&&"tiff"!==C&&"tif"!==C&&"svg"!==C&&"webp"!==C&&"ico"!==C&&"heif"!==C&&"heic"!==C&&"psd"!==C||(T=!0),"mp4"!==C&&"avi"!==C&&"mov"!==C&&"wmv"!==C&&"flv"!==C&&"mkv"!==C&&"webm"!==C&&"mpeg"!==C&&"mpg"!==C&&"3gp"!==C&&"m4v"!==C&&"qt"!==C||(T=!0),T&&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 R=K.sent(),L={error:R},[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 M=K.sent(),N=M.data,[4,null===(z=e.logger)||void 0===z?void 0:z.info("[调用 content hub API]-".concat(t),{result:N,materialList:g})];case 14:return K.sent(),[2,N];case 15:return U=K.sent(),[4,null===(q=e.logger)||void 0===q?void 0:q.error("[调用 content hub API]-".concat(t),{error:U.message,materialList:g})];case 16:return K.sent(),[2,U.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()]}})})}},65:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submit=void 0;var a=r(584),s=r(256),n=r(398);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,{}]}})})}}},74:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateSpotCheckData=void 0;var a=r(584);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]}})})}}},82:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.dashboardSyncData=void 0;var a=r(584);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]}})})}}},143:(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(584),s=r(398),n=r(825),o=r(904),i=r(862);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(A){switch(A.label){case 0:return c=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if(p=A.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=A.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=A.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=A.sent(),p.current_step!=s.Step.draft&&p.current_step!=s.Step.submitter_revisions)return[3,12];A.label=5;case 5:A.trys.push([5,10,11,12]),f=a.__values(m),h=f.next(),A.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:A.sent(),A.label=8;case 8:return h=f.next(),[3,6];case 9:return[3,12];case 10:return w=A.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]}})})}},152:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getBriefFlows=void 0;var a=r(584);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}}]}})})}}},160:e=>{e.exports=require("@steedos/objectql")},180:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submitPreReview=void 0;var a=r(584);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,{}]}})})}}},189:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getImageComparisonStatus=t.triggerImageComparison=void 0;var a=r(584);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(665)})];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]}})})}}},200:e=>{e.exports=require("@steedos/service-package-loader")},222:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.confirmDeployment=void 0;var a=r(584);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,{}]}})})}}},256:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(584);a.__exportStar(r(510),t),a.__exportStar(r(143),t),a.__exportStar(r(751),t),a.__exportStar(r(809),t),a.__exportStar(r(665),t),a.__exportStar(r(777),t)},264:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.postponeDeployment=void 0;var a=r(584);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,{}]}})})}}},293:e=>{e.exports=require("dayjs")},298:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addBulkMaterials=void 0;var a=r(584),s=r(825);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,{}]}})})}}},330:e=>{e.exports=JSON.parse('{"name":"@steedos-labs/content-compliance","version":"0.6.31","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"}')},334:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.calculateSpotCheckRates=void 0;var a=r(584);r(825),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}]}})})}}},398:(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"},401:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getReviewerAgentsInfo=void 0;var a=r(584),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]}})})}},418:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.bypassApproval=void 0;var a=r(584),s=r(398),n=r(825);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,A,j,D,P,I,k,E,C,T;return a.__generator(this,function(R){switch(R.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:if(t=R.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=R.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,(P={},P[l]=!0,P[_]=i,P[u]=o,P[d]=new Date,P))]:[3,4];case 3:R.sent(),R.label=4;case 4:return[4,e.getObject("pepsico_material").find({filters:[["pepsico_material_approval","=",r],["void_material","!=",!0]]})];case 5:g=R.sent(),R.label=6;case 6:R.trys.push([6,11,12,13]),m=a.__values(g),f=m.next(),R.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:R.sent(),t.info("User ".concat(i," (").concat(v,") bypassed material ").concat(h._id," via approval bypass")),R.label=9;case 9:return f=m.next(),[3,7];case 10:return[3,13];case 11:return w=R.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=R.sent(),R.label=15;case 15:R.trys.push([15,20,21,22]),S=a.__values(O),A=S.next(),R.label=16;case 16:return A.done?[3,19]:(j=A.value,[4,e.getObject("pepsico_approval_process").update(j._id,{submitted:new Date,modified:new Date,modified_by:i,approved:"pass",name:o})]);case 17:R.sent(),R.label=18;case 18:return A=S.next(),[3,16];case 19:return[3,22];case 20:return D=R.sent(),C={error:D},[3,22];case 21:try{A&&!A.done&&(T=S.return)&&T.call(S)}finally{if(C)throw C.error}return[7];case 22:return[4,this.approvalContent.call(this,e,r,{approveField:p,materialStatus:s.ApprovalStatus.pass})];case 23:return R.sent(),[2,{success:!0,message:"已跳过该审批单的".concat(v,"审核")}]}})})}}},425:e=>{e.exports=require("amis-formula")},435:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateReviewCompletedDate=void 0;var a=r(584),s=r(160);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]}})})}}},458:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getDownloadMaterialsProgress=t.getUploadMaterialsProgress=void 0;var a=r(584);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))}])}})})}}},509:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=r(584),s=r(45),n=r(256),o=r(398),i=r(833),c=r(809),p=r(665),l=r(777),_=r(160),u=r(825),d=r(928),v=r(330),g=v.name,m=r(861),f=r(200),h=r(716);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:"syncDashboard",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]}})})},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]})})}}},510:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),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 a=r(584),s=r(398),n=r(425),o=r(825),i=r(143),c=r(57),p=r(972),l=r(833),_=r(401),u=r(862),d=r(825);t.getDefApproverStepRule=function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,r;return a.__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 a.__awaiter(void 0,void 0,void 0,function(){var r,s,n;return a.__generator(this,function(a){switch(a.label){case 0:return t?[4,e.getObject("pepsico_flow_rule").findOne(t)]:[3,2];case 1:if(!(r=a.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(s=a.sent(),!(n=s.length>0?s[0]:null))throw new Error("未找到审批流规则");return[2,n]}})})};var v=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,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return(s=a.sent()).skip_approve?[2,(0,n.evaluate)(s.skip_approve,r)]:[2,!1]}})})};t.hasAnyPreReviewer=function(e,t){return t===s.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 g=function(e,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,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return o=a.sent(),[4,v(e,r)];case 2:return a.sent()?[2,s.Step.conclusion]:(i=(0,n.evaluate)(o.name,r),console.log("getApproverStep-".concat(r._id),i,typeof i,o.name,JSON.stringify(r)),[2,i?s.Step.personnel_review:s.Step.departmental_review])}})})},m=function(e,r){return a.__awaiter(void 0,void 0,void 0,function(){var o;return a.__generator(this,function(a){switch(a.label){case 0:return[4,(0,t.getApproverStepRule)(e,r.pepsico_flow_rule)];case 1:return o=a.sent(),(0,n.evaluate)(o.name,r)?[2,s.Step.personnel_review]:[2,s.Step.departmental_review]}})})},f=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,o;return a.__generator(this,function(a){switch(a.label){case 0:switch(n=s.Step.draft,t.current_step){case s.Step.draft:return[3,1];case s.Step.ai_review:return[3,2];case s.Step.departmental_review:case s.Step.personnel_review:return[3,6];case s.Step.submitter_revisions:return[3,7];case s.Step.awaiting_deployment:return[3,9]}return[3,10];case 1:return n=d.includes(u.DCO_TYPES,t.classification)?s.Step.conclusion:s.Step.ai_review,[3,11];case 2:return r!=s.ApprovalStatus.approved?[3,4]:[4,g(e,t)];case 3:return o=a.sent(),[3,5];case 4:o=s.Step.draft,a.label=5;case 5:return n=o,[3,11];case 6:return n=r==s.ApprovalStatus.approved||r==s.ApprovalStatus.pass?s.Step.awaiting_deployment:s.Step.submitter_revisions,[3,11];case 7:return[4,g(e,t)];case 8:return n=a.sent(),[3,11];case 9:return n=s.Step.conclusion,[3,11];case 10:return[3,11];case 11:return console.log("[getNextStep]",JSON.stringify({action:r,nextStep:n})),[2,n]}})})},h=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,i,c,p,l,u,d,v,g,m,f,h;return a.__generator(this,function(b){switch(b.label){case 0:switch(n=[],r){case s.Step.draft:return[3,1];case s.Step.ai_review:return[3,2];case s.Step.departmental_review:return[3,3];case s.Step.personnel_review:return[3,22];case s.Step.submitter_revisions:return[3,29];case s.Step.awaiting_deployment:return[3,30]}return[3,31];case 1:return n=(0,o.concat)(n,{userIds:[t.owner],type:s.ProcessApprovalType.Others}),[3,32];case 2:return n=(0,o.concat)(n,{userIds:[process.env.PEPSICO_CONTENT_APPROVAL_AI_USERID],type:s.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!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_ns_reviewer])]:[3,5];case 4:return i=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},i),{type:s.ProcessApprovalType.PreNS})),[3,7];case 5:return 1==t.ns_approval_status||t.ns_approval_status===s.ApprovalStatus.pass?[3,7]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.ns_reviewer)];case 6:c=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},c),{type:s.ProcessApprovalType.NS})),b.label=7;case 7:return t.pre_legal_reviewer&&1!=t.pre_legal_approval_status&&t.pre_legal_approval_status!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_legal_reviewer])]:[3,9];case 8:return p=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},p),{type:s.ProcessApprovalType.PreLegal})),[3,11];case 9:return 1==t.legal_approval_status||t.legal_approval_status===s.ApprovalStatus.pass?[3,11]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.legal_reviewer)];case 10:l=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},l),{type:s.ProcessApprovalType.Legal})),b.label=11;case 11:return t.pre_sra_reviewer&&1!=t.pre_sra_approval_status&&t.pre_sra_approval_status!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_sra_reviewer])]:[3,13];case 12:return u=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},u),{type:s.ProcessApprovalType.PreSRA})),[3,15];case 13:return 1==t.sra_approval_status||t.sra_approval_status===s.ApprovalStatus.pass?[3,15]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.sra_reviewer)];case 14:d=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},d),{type:s.ProcessApprovalType.SRA})),b.label=15;case 15:return t.pre_ca_reviewer&&1!=t.pre_ca_approval_status&&t.pre_ca_approval_status!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_ca_reviewer])]:[3,17];case 16:return v=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},v),{type:s.ProcessApprovalType.PreCA})),[3,19];case 17:return 1==t.ca_approval_status||t.ca_approval_status===s.ApprovalStatus.pass?[3,19]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.ca_reviewer)];case 18:g=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},g),{type:s.ProcessApprovalType.CA})),b.label=19;case 19:return"yes"!=t.child_files||1==t.kids_approval_status||t.kids_approval_status===s.ApprovalStatus.pass?[3,21]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.kids_reviewer])];case 20:h=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},h),{type:s.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!==s.ApprovalStatus.pass?[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.pre_reviewer])]:[3,24];case 23:return m=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},m),{type:s.ProcessApprovalType.Preguding})),[3,26];case 24:return t.approval_status===s.ApprovalStatus.pass?[3,26]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,t.reviewer)];case 25:f=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},f),{type:s.ProcessApprovalType.guding})),b.label=26;case 26:return"yes"!=t.child_files||1==t.kids_approval_status||t.kids_approval_status===s.ApprovalStatus.pass?[3,28]:[4,(0,_.getReviewerAgentsInfo)(e,t.space,[t.kids_reviewer])];case 27:h=b.sent(),n=(0,o.concat)(n,a.__assign(a.__assign({},h),{type:s.ProcessApprovalType.Kids})),b.label=28;case 28:return[3,32];case 29:return n=(0,o.concat)(n,{userIds:[t.owner],type:s.ProcessApprovalType.Others}),[3,32];case 30:return n=(0,o.concat)(n,{userIds:[t.material_owner_id],type:s.ProcessApprovalType.Others}),[3,32];case 31:return[3,32];case 32:return[2,(0,o.uniq)(n)]}})})},b=function(e){return e===s.Step.draft?s.ReviewStatus.draft:e===s.Step.conclusion?s.ReviewStatus.approved:s.ReviewStatus.under_review},w=function(e,t,r){var s=r.approvalStatus,n=r.approveField;return a.__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 a.__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=a.__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:s||"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=a.__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]}})})},y=function(e,t,r,s){return a.__awaiter(void 0,void 0,void 0,function(){var n,i,c,p,l,_;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user.userId,r?((_={})[r]=s,i=_,n?[4,e.getObject("pepsico_material_approval").findOne(t)]:[3,2]):[3,4];case 1:c=a.sent(),p=c.person_pending_approve||[],-1!==(l=(0,o.findIndex)(p,function(e){return e===n}))&&(0,o.pullAt)(p,l),i.person_pending_approve=p,i.$push={person_approved:n},a.label=2;case 2:return console.log("[updateApproveFieldStatus]",JSON.stringify({recordId:t,set:i})),[4,e.getObject("pepsico_material_approval").update(t,i)];case 3:a.sent(),a.label=4;case 4:return[2]}})})},O=function(e,t,r){var n=r.nextStep,i=r.nextApprovers,c=r.description;return a.__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 a.__generator(this,function(A){switch(A.label){case 0:return console.log("[changeApprovalProcess]",n,i,c),r=e.meta.user,t.current_step&&t.current_step!=s.Step.draft?[3,3]:[4,e.getObject("pepsico_approval_process").count({filters:[["pepsico_material_approval","=",t._id],["space","=",t.space]]})];case 1:return 0!=A.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:s.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:A.sent(),A.label=3;case 3:switch(n){case s.Step.draft:case s.Step.ai_review:case s.Step.departmental_review:case s.Step.personnel_review:case s.Step.submitter_revisions:case s.Step.awaiting_deployment:return[3,4];case s.Step.conclusion:return[3,21]}return[3,23];case 4:A.trys.push([4,18,19,20]),l=a.__values(i),_=l.next(),A.label=5;case 5:if(_.done)return[3,17];u=_.value,A.label=6;case 6:A.trys.push([6,12,13,14]),y=void 0,d=a.__values(u.userIds),v=d.next(),A.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=A.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:n,approved:"progess",space:t.space,created:new Date,created_by:r.userId,modified:new Date,modified_by:r.userId,name:c})];case 9:A.sent(),A.label=10;case 10:return v=d.next(),[3,7];case 11:return[3,14];case 12:return f=A.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,o.toLower)(u.type))]=u.userIds,S))]:[3,16];case 15:A.sent(),A.label=16;case 16:return _=l.next(),[3,5];case 17:return[3,20];case 18:return h=A.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:s.Step.conclusion,space:t.space,created:new Date,created_by:r.userId,modified:new Date,modified_by:r.userId,name:c})];case 22:return A.sent(),[3,24];case 23:return[3,24];case 24:return[2]}})})},S=function(e,t){return a.__awaiter(void 0,void 0,void 0,function(){var r,n;return a.__generator(this,function(a){switch(a.label){case 0:return[4,m(e,t)];case 1:return r=a.sent(),n=[],r===s.Step.personnel_review?(n=(0,o.concat)(t.reviewer,t.assistance),t.pre_reviewer&&(n=(0,o.concat)(n,t.pre_reviewer))):(n=(0,o.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&&(n=(0,o.concat)(n,t.pre_ns_reviewer)),t.pre_legal_reviewer&&(n=(0,o.concat)(n,t.pre_legal_reviewer)),t.pre_sra_reviewer&&(n=(0,o.concat)(n,t.pre_sra_reviewer)),t.pre_ca_reviewer&&(n=(0,o.concat)(n,t.pre_ca_reviewer))),"yes"==t.child_files&&(n=(0,o.concat)(n,t.kids_reviewer)),[4,e.getObject("pepsico_material_approval").directUpdate(t._id,{$push:{person_view:{$each:(0,o.compact)((0,o.uniq)(n))}},approval_type:r})];case 2:return a.sent(),[2]}})})},A={pre_ns_approval_status:{reviewerField:"ns_reviewer",type:s.ProcessApprovalType.NS,statusField:"ns_approval_status"},pre_legal_approval_status:{reviewerField:"legal_reviewer",type:s.ProcessApprovalType.Legal,statusField:"legal_approval_status"},pre_sra_approval_status:{reviewerField:"sra_reviewer",type:s.ProcessApprovalType.SRA,statusField:"sra_approval_status"},pre_ca_approval_status:{reviewerField:"ca_reviewer",type:s.ProcessApprovalType.CA,statusField:"ca_approval_status"},pre_approval_status:{reviewerField:"reviewer",type:s.ProcessApprovalType.guding,statusField:"approval_status"}},j=function(e,t,r,n){return a.__awaiter(void 0,void 0,void 0,function(){var i,c,p,u,d,v,g,m,f,h,b,w,y,O,S,j,D,P,I;return a.__generator(this,function(k){switch(k.label){case 0:return(i=A[r])?!0===(c=n[i.statusField])||c===s.ApprovalStatus.pass||!(p=n[i.reviewerField])||Array.isArray(p)&&0===p.length?[2]:(u=Array.isArray(p)?p:[p],[4,(0,_.getReviewerAgentsInfo)(e,n.space,u)]):[2];case 1:d=k.sent(),v=e.meta.user,k.label=2;case 2:k.trys.push([2,8,9,10]),g=a.__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","=",n.space]]})]);case 4:return h=k.sent(),[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:n._id,owner:f,type:i.type,review_department:h.length>0?h[0].organization:null,current_step:n.current_step,approved:"progess",space:n.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(n._id,(D={},D["handler_".concat((0,o.toLower)(i.type))]=d.userIds,D))];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,o.compact)((0,o.uniq)((0,o.concat)(y,d.userIds))),[4,e.getObject("pepsico_material_approval").directUpdate(n._id,(P={person_pending_approve:O},P[i.statusField]="",P))];case 13:return k.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],[i.statusField,"=",!1]],(I={},I[i.statusField]="",I))];case 14:return k.sent(),console.log("[addFormalReviewerAfterPreApproval] 预审字段 ".concat(r," 通过, 追加正式审核人:"),d.userIds),[4,(0,l.sendNotifications)(e,n,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===s.ApprovalStatus.approved||e===s.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 a.__awaiter(void 0,void 0,void 0,function(){var n,c,_,u,d,g,m,w,y,A,j,P,I,k,E,C,T,R,x,M,N,U,L,F,J,$,B,Y;return a.__generator(this,function(z){switch(z.label){case 0:return z.trys.push([0,81,,82]),n="请查看",c=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:return _=z.sent(),console.log("[advanceApproval]",_.current_step,_.person_pending_approve,c.userId),[4,(q=_,a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(e){if(q.review_status===s.ReviewStatus.terminated)throw new Error("已中止审核.");if(q.current_step===s.Step.conclusion)throw new Error("已审核完成.");return[2,!0]})}))];case 2:return z.sent(),[4,f(e,_,r)];case 3:return u=z.sent(),[4,v(e,_)];case 4:return d=z.sent(),u===s.Step.conclusion&&d?[4,e.getObject("pepsico_material_approval").directUpdate(_._id,{is_skip_approver:!0})]:[3,8];case 5:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",_._id],{is_skip_approver:!0})];case 6:return z.sent(),[4,S(e,_)];case 7:z.sent(),z.label=8;case 8:return[4,h(e,_,u)];case 9:if(g=z.sent(),_.current_step!==s.Step.submitter_revisions||u!==s.Step.departmental_review&&u!==s.Step.personnel_review)return[3,23];m=[],z.label=10;case 10:z.trys.push([10,18,19,20]),w=a.__values(g),y=w.next(),z.label=11;case 11:return y.done?[3,17]:(A=y.value,j=(0,i.getApproverFieldByType)(A.type),console.log("getApproverFieldByType",A.type,j),j?[4,(0,i.getUserReviewedAllMaterialsStatus)(e,_._id,j)]:[3,16]);case 12:return P=z.sent(),console.log("getUserReviewedAllMaterialsStatus",_._id,j,P),P!==s.ApprovalStatus.approved?[3,14]:(console.log("[advanceApproval] 自动更新审批单上的状态字段",t,((J={})[j]=s.ApprovalStatus.approved,J)),[4,e.getObject("pepsico_material_approval").directUpdate(t,($={},$[j]=!0,$))]);case 13:return z.sent(),[3,15];case 14:P===s.ApprovalStatus.pass?console.log("[advanceApproval] 部门已跳过,保持bypass状态",t,j):m.push(A),z.label=15;case 15:z.label=16;case 16:return y=w.next(),[3,11];case 17:return[3,20];case 18:return I=z.sent(),L={error:I},[3,20];case 19:try{y&&!y.done&&(F=w.return)&&F.call(w)}finally{if(L)throw L.error}return[7];case 20:return m.length>0?(g=m,[3,23]):[3,21];case 21:return u=s.Step.awaiting_deployment,[4,h(e,_,u)];case 22:g=z.sent(),z.label=23;case 23:return console.log("[advanceApproval] currentStepApprovalStatus:",r," nextStep:",u," nextApprovers:",g),k=[],E=[],(0,o.map)(g,function(e){k=(0,o.concat)(k,e.userIds),E=(0,o.concat)(E,e.clientUserIds)}),C={current_step:u,review_status:b(u),person_pending_approve:k,$push:{person_view:{$each:(0,o.compact)((0,o.uniq)((0,o.difference)(E,k)))},person_approved:{$each:_.person_pending_approve}}},_.current_step!==s.Step.draft?[3,25]:(C.draft_submitted=new Date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",_._id],{draft_submitted:C.draft_submitted})]);case 24:z.sent(),z.label=25;case 25:return _.current_step===s.Step.ai_review&&(C.ai_reviewed_date=new Date),_.current_step!==s.Step.departmental_review&&_.current_step!==s.Step.personnel_review||(C.re_reviewed_date=new Date),u!==s.Step.awaiting_deployment?[3,27]:(C.review_completed_date=new Date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",_._id],{review_completed_date:C.review_completed_date})]);case 26:z.sent(),z.label=27;case 27:return _.current_step===s.Step.awaiting_deployment&&(C.awaiting_deployment_date=new Date),_.current_step!==s.Step.conclusion?[3,29]:(C.conclusion_date=new Date,_.review_completed_date?[3,29]:(C.review_completed_date=C.conclusion_date,[4,e.getObject("pepsico_material").directUpdateMany(["pepsico_material_approval","=",_._id],{review_completed_date:C.review_completed_date})]));case 28:z.sent(),z.label=29;case 29:return _.current_step===s.Step.submitter_revisions&&(C.submitter_revision_date=new Date,console.log("[advanceApproval] 检测到修改后提交场景, 标记图片对比任务: ".concat(t)),C.image_comparison_status="pending",C.image_comparison_at=new Date,C.image_comparison_failed_count=0),[4,e.getObject("pepsico_material_approval").update(t,C)];case 30:return z.sent(),[4,O(e,_,{nextStep:u,nextApprovers:g,description:""})];case 31:return z.sent(),u!==s.Step.ai_review?[3,33]:(console.time("callAIReview: "+t),[4,(0,p.callAIReview)(e,t)]);case 32:z.sent(),console.timeEnd("callAIReview: "+t),z.label=33;case 33:z.trys.push([33,69,70,71]),T=a.__values(g),R=T.next(),z.label=34;case 34:return R.done?[3,68]:(x=R.value).type!==s.ProcessApprovalType.CA?[3,37]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{ca_approval_status:""})];case 35:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["ca_approval_status","=",!1]],{ca_approval_status:""})];case 36:z.sent(),z.label=37;case 37:return x.type!==s.ProcessApprovalType.Legal?[3,40]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{legal_approval_status:""})];case 38:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["legal_approval_status","=",!1]],{legal_approval_status:""})];case 39:z.sent(),z.label=40;case 40:return x.type!==s.ProcessApprovalType.NS?[3,43]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{ns_approval_status:""})];case 41:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["ns_approval_status","=",!1]],{ns_approval_status:""})];case 42:z.sent(),z.label=43;case 43:return x.type!==s.ProcessApprovalType.SRA?[3,46]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{sra_approval_status:""})];case 44:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["sra_approval_status","=",!1]],{sra_approval_status:""})];case 45:z.sent(),z.label=46;case 46:return x.type!==s.ProcessApprovalType.guding?[3,49]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{approval_status:""})];case 47:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["approval_status","=",!1]],{approval_status:""})];case 48:z.sent(),z.label=49;case 49:return x.type!==s.ProcessApprovalType.Kids?[3,52]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{kids_approval_status:""})];case 50:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["kids_approval_status","=",!1]],{kids_approval_status:""})];case 51:z.sent(),z.label=52;case 52:return x.type!==s.ProcessApprovalType.PreNS?[3,55]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_ns_approval_status:""})];case 53:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_ns_approval_status","=",!1]],{pre_ns_approval_status:""})];case 54:z.sent(),z.label=55;case 55:return x.type!==s.ProcessApprovalType.PreLegal?[3,58]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_legal_approval_status:""})];case 56:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_legal_approval_status","=",!1]],{pre_legal_approval_status:""})];case 57:z.sent(),z.label=58;case 58:return x.type!==s.ProcessApprovalType.PreSRA?[3,61]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_sra_approval_status:""})];case 59:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_sra_approval_status","=",!1]],{pre_sra_approval_status:""})];case 60:z.sent(),z.label=61;case 61:return x.type!==s.ProcessApprovalType.PreCA?[3,64]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_ca_approval_status:""})];case 62:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_ca_approval_status","=",!1]],{pre_ca_approval_status:""})];case 63:z.sent(),z.label=64;case 64:return x.type!==s.ProcessApprovalType.Preguding?[3,67]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{pre_approval_status:""})];case 65:return z.sent(),[4,e.getObject("pepsico_material").directUpdateMany([["pepsico_material_approval","=",t],["pre_approval_status","=",!1]],{pre_approval_status:""})];case 66:z.sent(),z.label=67;case 67:return R=T.next(),[3,34];case 68:return[3,71];case 69:return M=z.sent(),B={error:M},[3,71];case 70:try{R&&!R.done&&(Y=T.return)&&Y.call(T)}finally{if(B)throw B.error}return[7];case 71:return u!==s.Step.departmental_review&&u!==s.Step.personnel_review?[3,73]:[4,S(e,_)];case 72:z.sent(),z.label=73;case 73:return _.current_step!==s.Step.departmental_review&&_.current_step!==s.Step.personnel_review?[3,75]:[4,e.getObject("pepsico_material_approval").directUpdate(t,{materials_remove_share_link_from_onedrive_status:"pending"})];case 74:z.sent(),z.label=75;case 75:return u!==s.Step.awaiting_deployment?[3,77]:[4,D(e,t)];case 76:z.sent(),z.label=77;case 77:return u===s.Step.awaiting_deployment||u===s.Step.conclusion&&_.current_step===s.Step.ai_review?(N={materials_download_from_onedrive_status:"pending"},[4,e.getObject("pepsico_material_approval").directUpdate(t,N)]):[3,79];case 78:z.sent(),z.label=79;case 79:return r===s.ApprovalStatus.rejected&&(n="内容审批被驳回"),r!==s.ApprovalStatus.approved||u!==s.Step.departmental_review&&u!==s.Step.personnel_review||(n="请审批"),u===s.Step.awaiting_deployment&&(n="内容审批已通过待上线"),[4,(0,l.sendNotifications)(e,_,k,n)];case 80:return z.sent(),[2,{}];case 81:throw U=z.sent(),console.error("[advanceApproval] Error:",U.message,U.stack),U;case 82:return[2]}var q})})},t.terminate=function(e,t,r){return a.__awaiter(void 0,void 0,void 0,function(){var n,i,c,p,l,_,u,d,v;return a.__generator(this,function(g){switch(g.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:return(i=g.sent()).owner===n.userId||n.is_space_admin||(0,o.includes)(i.person_pending_approve,n.userId)?[4,e.getObject("pepsico_approval_process").insert({pepsico_material_approval:i._id,current_step:s.Step.conclusion,owner:n.userId,space:i.space,created:new Date,created_by:n.userId,modified:new Date,modified_by:n.userId,approvalStatus:"terminate",name:r})]:[3,13];case 2:return g.sent(),[4,e.getObject("pepsico_approval_process").directFind({filters:[["pepsico_material_approval","=",i._id],["approved","=","progess"]]})];case 3:c=g.sent(),g.label=4;case 4:g.trys.push([4,9,10,11]),p=a.__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:n.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:s.Step.conclusion,review_status:s.ReviewStatus.terminated,termination_date:new Date,person_pending_approve:[],termination_type:i.owner===n.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 a.__awaiter(this,void 0,void 0,function(){return a.__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,n){return void 0===n&&(n={content_rule:null}),a.__awaiter(this,void 0,void 0,function(){var i,p;return a.__generator(this,function(a){switch(a.label){case 0:return i=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:if(p=a.sent(),i.userId!==p.material_owner_id)throw new Error("只有材料拥有者才能执行此操作.");return p.current_step==s.Step.draft||(0,o.includes)(p.person_pending_approve,i.userId)?[4,w(e,p,{approvalStatus:s.ApprovalStatus.submit,approveField:""})]:[2,{}];case 2:return a.sent(),p.current_step===s.Step.awaiting_deployment&&(0,o.includes)(p.person_pending_approve,i.userId)?[4,e.getObject("pepsico_material_approval").update(r,{launch:"launched",content_rule:n.content_rule,aunch_time:new Date})]:[3,6];case 3:return a.sent(),[4,(0,t.advanceApproval)(e,r,s.ApprovalStatus.submit)];case 4:return a.sent(),[4,(0,c.inventoryApprovalMaterial)(e,r)];case 5:a.sent(),a.label=6;case 6:return[2,{}]}})})},t.postponeDeployment=function(e,t,r){return a.__awaiter(this,void 0,void 0,function(){var n,i;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(t)];case 1:if(i=a.sent(),n.userId!==i.material_owner_id)throw new Error("只有材料拥有者才能执行此操作.");return i.current_step===s.Step.awaiting_deployment&&(0,o.includes)(i.person_pending_approve,n.userId)?[4,e.getObject("pepsico_material_approval").update(t,{launch:"postpone",postpone_launch_date:r.postpone_launch_date})]:[3,3];case 2:a.sent(),a.label=3;case 3:return[2,{}]}})})},t.approvalContent=function(e,r,n){var i=n.approveField,c=n.materialStatus,p=void 0===c?s.ApprovalStatus.approved:c;return a.__awaiter(this,void 0,void 0,function(){var n,c,l,_,u,d,v,g,m,f;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(c=a.sent()).current_step==s.Step.draft||(0,o.includes)(c.person_pending_approve,n.userId)?(l=p!==s.ApprovalStatus.pass||s.ApprovalStatus.pass,[4,y(e,r,i,l)]):[2,{}];case 2:return a.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 3:return _=a.sent(),u=!0===l?s.ApprovalStatus.approved:l,[4,w(e,_,{approvalStatus:u,approveField:i})];case 4:return a.sent(),!A[i]||!0!==l&&l!==s.ApprovalStatus.pass?[3,6]:[4,j(e,r,i,_)];case 5:a.sent(),a.label=6;case 6:if(d=function(e){return!0===e||e===s.ApprovalStatus.approved||e===s.ApprovalStatus.pass},v=function(e){return e===s.ApprovalStatus.pass},_.current_step===s.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?s.ApprovalStatus.pass:s.ApprovalStatus.approved):u=s.ApprovalStatus.rejected,console.log("[approvalContent]: 部门复审完成, 结果为:",u)}else if(_.current_step===s.Step.personnel_review){if(!(0,t.isDeptReviewComplete)(_,"approval"))return console.log("[approvalContent]: 固定人员审核周期未完成, 只结束当前用户审批任务,不推进审批进度."),[2,{}];f=(0,t.getDeptEffectiveStatus)(_,"approval"),u=d(f)?v(f)?s.ApprovalStatus.pass:s.ApprovalStatus.approved:s.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=s.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 a.sent(),[2,{}]}})})},t.rejectContent=function(e,r,n){var i=n.approveField;return a.__awaiter(this,void 0,void 0,function(){var n,c,p,l;return a.__generator(this,function(a){switch(a.label){case 0:return n=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return(c=a.sent()).current_step==s.Step.draft||(0,o.includes)(c.person_pending_approve,n.userId)?[4,y(e,r,i,!1)]:[2,{}];case 2:return a.sent(),[4,e.getObject("pepsico_material_approval").findOne(r)];case 3:return p=a.sent(),l=s.ApprovalStatus.rejected,[4,w(e,p,{approvalStatus:s.ApprovalStatus.rejected,approveField:i})];case 4:if(a.sent(),p.current_step===s.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===s.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 a.sent(),[2,{}]}})})},t.submitKidsContent=function(e,r,n){return a.__awaiter(this,void 0,void 0,function(){var o;return a.__generator(this,function(a){switch(a.label){case 0:if(n!=s.ApprovalStatus.approved&&n!=s.ApprovalStatus.rejected)throw new Error("无效的审核状态.");return o="kids_approval_status",n!==s.ApprovalStatus.approved?[3,2]:[4,(0,t.approvalContent)(e,r,{approveField:o})];case 1:return a.sent(),[3,4];case 2:return[4,(0,t.rejectContent)(e,r,{approveField:o})];case 3:a.sent(),a.label=4;case 4:return[2]}})})},t.submitPreReviewContent=function(e,r,n){return a.__awaiter(this,void 0,void 0,function(){var i,c,p,l,_;return a.__generator(this,function(a){switch(a.label){case 0:if(n!=s.ApprovalStatus.approved&&n!=s.ApprovalStatus.rejected)throw new Error("无效的审核状态.");return i=e.meta.user,[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:if((c=a.sent()).current_step!==s.Step.departmental_review&&c.current_step!==s.Step.personnel_review)throw new Error("当前步骤不支持预审操作");if(!(0,o.includes)(c.person_pending_approve,i.userId))throw new Error("您不是当前预审人");return p="",c.pre_reviewer===i.userId?p="pre_approval_status":c.pre_ns_reviewer===i.userId?p="pre_ns_approval_status":c.pre_legal_reviewer===i.userId?p="pre_legal_approval_status":c.pre_sra_reviewer===i.userId?p="pre_sra_approval_status":c.pre_ca_reviewer===i.userId&&(p="pre_ca_approval_status"),p?[3,3]:[4,e.getObject("pepsico_approval_process").find({filters:[["owner","=",i.userId],["pepsico_material_approval","=",r],["current_step","=",c.current_step],["space","=",c.space],["approved","=","progess"]],top:1,sort:"modified desc"})];case 2:(l=a.sent()).length>0&&((_=l[0].type)===s.ProcessApprovalType.PreNS?p="pre_ns_approval_status":_===s.ProcessApprovalType.PreLegal?p="pre_legal_approval_status":_===s.ProcessApprovalType.PreSRA?p="pre_sra_approval_status":_===s.ProcessApprovalType.PreCA?p="pre_ca_approval_status":_===s.ProcessApprovalType.Preguding&&(p="pre_approval_status")),a.label=3;case 3:if(!p)throw new Error("无法确定预审字段");return n!==s.ApprovalStatus.approved?[3,5]:[4,(0,t.approvalContent)(e,r,{approveField:p})];case 4:return a.sent(),[3,7];case 5:return[4,(0,t.rejectContent)(e,r,{approveField:p})];case 6:a.sent(),a.label=7;case 7:return[2]}})})},t.submitContent=function(e,r,n,c){return a.__awaiter(this,void 0,void 0,function(){var p,_,u,d,v,g,f,h,b,y,O,S,A,j,D,P;return a.__generator(this,function(I){switch(I.label){case 0:return[4,e.getObject("pepsico_material_approval").findOne(r)];case 1:return p=I.sent(),_=e.meta.user,u=!1,p.current_step===s.Step.ai_review&&_.is_space_admin&&!0===c?(console.log("".concat(_.name,"(").concat(_.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","=",s.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","=",s.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=a.__values(d),g=v.next(),I.label=4;case 4:return g.done?[3,7]:(f=g.value,console.log("管理员提交了AI审核步骤, 修改审批历史: process Id:",f._id),[4,e.getObject("pepsico_approval_process").directUpdate(f._id,{submitted:new Date,modified:new Date,modified_by:_.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(),D={error:h},[3,10];case 9:try{g&&!g.done&&(P=v.return)&&P.call(v)}finally{if(D)throw D.error}return[7];case 10:if(1!=u&&p.current_step!=s.Step.draft&&!(0,o.includes)(p.person_pending_approve,_.userId))return[2,{}];if(!p.is_external||p.current_step!==s.Step.draft||1==p.external_submitted)return[3,14];if(p.owner!==_.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,l.sendNotifications)(e,p,[p.internal_collaborator],"协助提交材料审批单")];case 12:I.sent(),I.label=13;case 13:return[2];case 14:return p.current_step!==s.Step.draft?[3,22]:[4,m(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,i.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(y=I.sent())&&y.length>0?(O=y[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(n)),p.current_step!==s.Step.ai_review||n!==s.ApprovalStatus.approved?[3,32]:[4,(0,i.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 A=S.filter(function(e){return!0!==e.xml_converted_word}),console.log("pendingXmlToWordMaterials:",A.length),A.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 j=S.filter(function(e){return!0!==e.uploaded_to_onedrive}),console.log("pendingUploadMaterials:",j.length),j.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,w(e,p,{approvalStatus:n,approveField:""})];case 33:return I.sent(),console.timeEnd("updateUserStepStatus: "+r),console.time("advanceApproval: "+r),[4,(0,t.advanceApproval)(e,r,n)];case 34:return I.sent(),console.timeEnd("advanceApproval: "+r),[2]}})})},t.hasReviewed=function(e){return!0===e||!1===e||e===s.ApprovalStatus.pass||e===s.ApprovalStatus.approved}},536:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.submitKids=void 0;var a=r(584);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,{}]}})})}}},584:e=>{e.exports=require("tslib")},586:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fixStuckPersonnelReview=void 0;var a=r(584),s=r(398),n=r(510);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(A){switch(A.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=A.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=A.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=A.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 A.sent(),d?(v={re_reviewed_date:d},[4,e.getObject("pepsico_material_approval").findOne(o)]):[3,18];case 5:return(g=A.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:A.sent(),A.label=7;case 7:return[4,e.getObject("pepsico_material_approval").directUpdate(o,v)];case 8:return A.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=A.sent(),A.label=10;case 10:A.trys.push([10,15,16,17]),h=a.__values(f),b=h.next(),A.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:A.sent(),A.label=13;case 13:return b=h.next(),[3,11];case 14:return[3,17];case 15:return y=A.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 记录的接收时间")),A.label=18;case 18:return[2,{status:200,msg:"审批单 ".concat(o," 已修复并推进到下一步"),data:{approvalId:o,result:_,submittedDate:d}}]}})})}}},665:(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(584),s=r(938),n=r(398),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]}})})}},676:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.bypassMaterial=void 0;var a=r(584),s=r(398),n=r(825);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,A,j;return a.__generator(this,function(D){switch(D.label){case 0:return e.getObject=this.getObject,[4,this.getLogger()];case 1:return t=D.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=D.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=D.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 D.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=D.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&&(A=b.return)&&A.call(b)}finally{if(S)throw S.error}}return h||!_?[3,7]:[4,e.getObject("pepsico_material_approval").directUpdate(p._id,(j={},j[_]=!0,j[u]=i,j[d]=o,j[v]=new Date,j))];case 6:D.sent(),t.info("User ".concat(i," (").concat(g,") also marked approval ").concat(p._id," as bypassed (no pending materials)")),D.label=7;case 7:return[4,this.submitMaterial.call(this,e,r,"pass")];case 8:return D.sent(),[2,{success:!0,message:"已跳过该素材的".concat(g,"审核")}]}})})}}},716:e=>{e.exports=require("moment")},727:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.rule=void 0;var a=r(584);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)]}})})}}},751:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.dashboardSyncData=void 0;var a=r(584),s=r(825),n=r(716),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,A,j,D,P,I,k,E,C,T,R,x,M,N;return a.__generator(this,function(U){switch(U.label){case 0:if(!0===u)throw new Error("同步中, 请勿重复调用...");u=!0,t={success:0,fail:0},U.label=1;case 1:return U.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=U.sent()).length>0))return[3,29];U.label=3;case 3:U.trys.push([3,27,28,29]),d=a.__values(c),v=d.next(),U.label=4;case 4:if(v.done)return[3,26];g=v.value,U.label=5;case 5:return U.trys.push([5,23,,25]),[4,o(e,g.product)];case 6:return m=U.sent(),[4,l(e,g.classification)];case 7:return f=U.sent(),[4,e.getObject("organizations").findOne(g.owner_department)];case 8:return h=U.sent(),[4,i(e,g._id)];case 9:return b=U.sent(),[4,p(e,g._id)];case 10:return w=U.sent(),[4,_(e,g._id)];case 11:return y=U.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 A=U.sent(),O?[3,21]:[4,e.getObject("pepsico_material").directFind({filters:[["pepsico_material_approval","=",g._id]]})];case 13:if(!((j=U.sent()).length>0))return[3,21];U.label=14;case 14:U.trys.push([14,19,20,21]),M=void 0,D=a.__values(j),P=D.next(),U.label=15;case 15:return P.done?[3,18]:(I=P.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:A._id,pepsico_material:I._id,owner:g.owner,space:g.space,created:new Date,modified:new Date})]);case 16:U.sent(),U.label=17;case 17:return P=D.next(),[3,15];case 18:return[3,21];case 19:return k=U.sent(),M={error:k},[3,21];case 20:try{P&&!P.done&&(N=D.return)&&N.call(D)}finally{if(M)throw M.error}return[7];case 21:return[4,e.getObject("pepsico_material_approval").directUpdate(g._id,{synced:!0})];case 22:return U.sent(),t.success++,[3,25];case 23:return E=U.sent(),[4,e.logger.error("[Dashboard同步Data]",{pepsico_material_approval:g._id,error:E.message})];case 24:return U.sent(),t.fail++,[3,25];case 25:return v=d.next(),[3,4];case 26:return[3,29];case 27:return C=U.sent(),R={error:C},[3,29];case 28:try{v&&!v.done&&(x=d.return)&&x.call(d)}finally{if(R)throw R.error}return[7];case 29:return u=!1,[2,t];case 30:return T=U.sent(),u=!1,console.log("[Dashboard同步Data]",{error:T.message}),[4,e.logger.error("[Dashboard同步Data]",{error:T.message})];case 31:return U.sent(),[3,32];case 32:return[2]}var L})})}},754:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.terminate=void 0;var a=r(584);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,{}]}})})}}},777:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkUserPasswordExpiration=void 0;var a=r(584),s=r(716);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,A,j,D,P,I,k,E,C,T;return a.__generator(this,function(R){switch(R.label){case 0:return R.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=R.sent(),R.label=2;case 2:R.trys.push([2,22,23,24]),o=a.__values(n),i=o.next(),R.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}),R.label=4;case 4:R.trys.push([4,18,19,20]),k=void 0,_=a.__values(l),u=_.next(),R.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=R.sent(),console.log("[PasswordExpiry] Found ".concat(m.length," users to notify in space ").concat(c.name," for ").concat(d.type)),R.label=7;case 7:R.trys.push([7,14,15,16]),C=void 0,f=a.__values(m),h=f.next(),R.label=8;case 8:if(h.done)return[3,13];if(b=h.value,r.has(b._id))return[3,12];R.label=9;case 9:return R.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 R.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=R.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=R.sent(),C={error:S},[3,16];case 15:try{h&&!h.done&&(T=f.return)&&T.call(f)}finally{if(C)throw C.error}return[7];case 16:return u=_.next(),[3,5];case 17:return[3,20];case 18:return A=R.sent(),k={error:A},[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 j=R.sent(),P={error:j},[3,24];case 23:try{i&&!i.done&&(I=o.return)&&I.call(o)}finally{if(P)throw P.error}return[7];case 24:return[3,26];case 25:return D=R.sent(),console.error("[PasswordExpiry] Error:",D),[3,26];case 26:return[2]}})})}},809:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scanPLSFiles=void 0;var a=r(584),s=r(825),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,A,j,D,P,I,k,E,C,T,R,x,M;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]),T=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(),T={error:w},[3,17];case 16:try{h&&!h.done&&(R=f.return)&&R.call(f)}finally{if(T)throw T.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&&(C=u.return)&&C.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]:(A=S.value,[4,e.getObject("pepsico_km_pls_file").directInsert({name:l,ai_extract:!1,pls_file:A,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 j=N.sent(),x={error:j},[3,29];case 28:try{S&&!S.done&&(M=O.return)&&M.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 D=N.sent(),console.error("[scan pls files]-".concat(t),D,new Date),[4,e.logger.error("[scan pls files]-".concat(t),D.message)];case 32:return N.sent(),[3,33];case 33:return i=o.next(),[3,3];case 34:return[3,37];case 35:return P=N.sent(),I={error:P},[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]}})})}},815:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.migrateSpotCheckDepartments=void 0;var a=r(584),s=r(160);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]}})})}}},825:e=>{e.exports=require("lodash")},826:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendToContentHub=void 0;var a=r(584),s=r(57);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()]}})})}}},833:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sendDelayNotifications=t.sendNotifications=void 0;var a=r(584),s=r(716);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.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]}})})}},861:e=>{e.exports=require("moleculer-cron")},862:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DCO_TYPES=void 0;var a=r(825);t.DCO_TYPES=a.split(process.env.CONTENT_DCO_TYPES||"MD-PO1-PO18")},864:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.clickReportSpotEmail=t.sendMonthlySpotCheckReport=t.clickSpotEmail=t.spotCheckMaterial=void 0;var a=r(584),s=r(825),n=r(862),o=r(825),i=r(57),c=r(938),p=r(716),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,A,j,D,P,I,k,E,C,T,R,x,M,N,U,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 A=J.sent(),N={error:A},[3,19];case 18:try{O&&!O.done&&(U=y.return)&&U.call(y)}finally{if(N)throw N.error}return[7];case 19:return[3,21];case 20:return j=J.sent(),console.log(j),[3,21];case 21:return J.trys.push([21,33,,34]),[4,e.getObject("space_users").find({filters:["user","in",w]})];case 22:D=J.sent(),P="【系统通知】素材抽检结果通知",J.label=23;case 23:J.trys.push([23,30,31,32]),I=a.__values(D),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 C=J.sent(),T='\n <p>您提交的素材已经被抽查。请点击下面的链接登录系统查看抽查意见:</p>\n <a href="'.concat(process.env.ROOT_URL,"/api/pepsico-content/material/click/spot-check/").concat(c,"/").concat(C,'">').concat(b.name,":").concat(d.name,"</a>\n "),[4,l(process.env.B6_EMAIL_FROM,E.email,P,"",T,"")];case 26:return R=J.sent(),[4,e.getObject("pepsico_mail_send_log").insert({_id:C,name:P,created:new Date,content:T,type:"素材抽查",to:[E.user],pepsico_material:d._id,result:R,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 M=J.sent(),console.log(M),null==u||u.error("[素材抽查]-".concat(c),{error:M.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]}})})}}},875:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.approveMaterial=void 0;var a=r(584);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,{}]}})})}}},904:e=>{e.exports=require("mime-types")},928:e=>{e.exports=require("path")},932:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.hasDuplicateMaterials=void 0;var a=r(584);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()}]}})})}}},938:e=>{e.exports=require("axios")},972:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callAIReview=void 0;var a=r(584),s=r(938),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]}})})}}},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}(509);module.exports=r})();
@@ -65,7 +65,7 @@ exports.bypassMaterial = {
65
65
  approveField = 'pre_legal_approval_status';
66
66
  reviewerType = 'Legal预审';
67
67
  }
68
- else if (_.includes(approval.handler_ca || approval.ca_reviewer, userId) && approval.ca_bypassed !== true) {
68
+ else if (_.includes(approval.handler_ca || approval.ca_reviewer, userId) && approval.ca_bypassed !== true && approval.ca_approval_status !== 'pass' && approval.ca_approval_status !== true && approval.ca_approval_status !== false) {
69
69
  approveField = 'ca_approval_status';
70
70
  bypassedField = 'ca_bypassed';
71
71
  bypassedByField = 'ca_bypassed_by';
@@ -73,7 +73,7 @@ exports.bypassMaterial = {
73
73
  bypassedAtField = 'ca_bypassed_at';
74
74
  reviewerType = 'CA';
75
75
  }
76
- else if (_.includes(approval.handler_sra || approval.sra_reviewer, userId) && approval.sra_bypassed !== true) {
76
+ else if (_.includes(approval.handler_sra || approval.sra_reviewer, userId) && approval.sra_bypassed !== true && approval.sra_approval_status !== 'pass' && approval.sra_approval_status !== true && approval.sra_approval_status !== false) {
77
77
  approveField = 'sra_approval_status';
78
78
  bypassedField = 'sra_bypassed';
79
79
  bypassedByField = 'sra_bypassed_by';
@@ -81,7 +81,7 @@ exports.bypassMaterial = {
81
81
  bypassedAtField = 'sra_bypassed_at';
82
82
  reviewerType = 'SRA';
83
83
  }
84
- else if (_.includes(approval.handler_ns || approval.ns_reviewer, userId) && approval.ns_bypassed !== true) {
84
+ else if (_.includes(approval.handler_ns || approval.ns_reviewer, userId) && approval.ns_bypassed !== true && approval.ns_approval_status !== 'pass' && approval.ns_approval_status !== true && approval.ns_approval_status !== false) {
85
85
  approveField = 'ns_approval_status';
86
86
  bypassedField = 'ns_bypassed';
87
87
  bypassedByField = 'ns_bypassed_by';
@@ -89,7 +89,7 @@ exports.bypassMaterial = {
89
89
  bypassedAtField = 'ns_bypassed_at';
90
90
  reviewerType = 'NS';
91
91
  }
92
- else if (_.includes(approval.handler_legal || approval.legal_reviewer, userId) && approval.legal_bypassed !== true) {
92
+ else if (_.includes(approval.handler_legal || approval.legal_reviewer, userId) && approval.legal_bypassed !== true && approval.legal_approval_status !== 'pass' && approval.legal_approval_status !== true && approval.legal_approval_status !== false) {
93
93
  approveField = 'legal_approval_status';
94
94
  bypassedField = 'legal_bypassed';
95
95
  bypassedByField = 'legal_bypassed_by';
@@ -123,7 +123,7 @@ exports.bypassMaterial = {
123
123
  if (!approveField) {
124
124
  throw new Error('您不是当前步骤的审核人,无权限跳过');
125
125
  }
126
- if (material[approveField] === true) {
126
+ if (material[approveField] === true || material[approveField] === 'pass') {
127
127
  throw new Error("\u8BE5\u7D20\u6750\u7684".concat(reviewerType, "\u5BA1\u6838\u5DF2\u5B8C\u6210"));
128
128
  }
129
129
  materialUpdate = (_a = {},
@@ -1 +1 @@
1
- {"version":3,"file":"bypassMaterial.js","sourceRoot":"","sources":["../../src/actions/bypassMaterial.ts"],"names":[],"mappings":";;;;AAIA,4CAAyC;AACzC,0BAA4B;AAEf,QAAA,cAAc,GAAG;IAC1B,IAAI,EAAE;QACF,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,wDAAwD;KACrE;IACK,OAAO,YAAC,GAAG;;;;;;;wBACb,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBAChB,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBAEZ,QAAQ,GAAK,GAAG,CAAC,MAAM,SAAf,CAAgB;wBACxB,MAAM,GAAK,GAAG,CAAC,MAAM,OAAf,CAAgB;wBACxB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBAGnB,WAAM,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;;wBAApE,QAAQ,GAAG,SAAyD;wBAE1E,IAAI,CAAC,QAAQ,EAAE;4BACX,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;yBAC5B;wBAED,IAAI,QAAQ,CAAC,aAAa,EAAE;4BACxB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;yBACjC;wBAGgB,WAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAA;;wBAAvG,QAAQ,GAAG,SAA4F;wBAE7G,IAAI,CAAC,QAAQ,EAAE;4BACX,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;yBAChC;wBAED,IAAI,QAAQ,CAAC,YAAY,KAAK,aAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,YAAY,KAAK,aAAI,CAAC,KAAK,EAAE;4BACnF,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;yBAClC;wBAGG,YAAY,GAAG,EAAE,CAAC;wBAClB,aAAa,GAAG,EAAE,CAAC;wBACnB,eAAe,GAAG,EAAE,CAAC;wBACrB,iBAAiB,GAAG,EAAE,CAAC;wBACvB,eAAe,GAAG,EAAE,CAAC;wBACrB,YAAY,GAAG,EAAE,CAAC;wBAEtB,IAAG,QAAQ,CAAC,YAAY,KAAK,aAAI,CAAC,mBAAmB,EAAC;4BAElD,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,sBAAsB,KAAK,MAAM,IAAI,QAAQ,CAAC,sBAAsB,KAAK,IAAI,EAAC;gCACpM,YAAY,GAAG,wBAAwB,CAAC;gCACxC,YAAY,GAAG,MAAM,CAAC;6BACzB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,uBAAuB,KAAK,MAAM,IAAI,QAAQ,CAAC,uBAAuB,KAAK,IAAI,EAAC;gCAC/M,YAAY,GAAG,yBAAyB,CAAC;gCACzC,YAAY,GAAG,OAAO,CAAC;6BAC1B;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,sBAAsB,KAAK,MAAM,IAAI,QAAQ,CAAC,sBAAsB,KAAK,IAAI,EAAC;gCAC1M,YAAY,GAAG,wBAAwB,CAAC;gCACxC,YAAY,GAAG,MAAM,CAAC;6BACzB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,yBAAyB,KAAK,MAAM,IAAI,QAAQ,CAAC,yBAAyB,KAAK,IAAI,EAAC;gCACzN,YAAY,GAAG,2BAA2B,CAAC;gCAC3C,YAAY,GAAG,SAAS,CAAC;6BAE5B;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,EAAC;gCACtG,YAAY,GAAG,oBAAoB,CAAC;gCACpC,aAAa,GAAG,aAAa,CAAC;gCAC9B,eAAe,GAAG,gBAAgB,CAAC;gCACnC,iBAAiB,GAAG,kBAAkB,CAAC;gCACvC,eAAe,GAAG,gBAAgB,CAAC;gCACnC,YAAY,GAAG,IAAI,CAAC;6BACvB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAC;gCACzG,YAAY,GAAG,qBAAqB,CAAC;gCACrC,aAAa,GAAG,cAAc,CAAC;gCAC/B,eAAe,GAAG,iBAAiB,CAAC;gCACpC,iBAAiB,GAAG,mBAAmB,CAAC;gCACxC,eAAe,GAAG,iBAAiB,CAAC;gCACpC,YAAY,GAAG,KAAK,CAAC;6BACxB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,EAAC;gCACtG,YAAY,GAAG,oBAAoB,CAAC;gCACpC,aAAa,GAAG,aAAa,CAAC;gCAC9B,eAAe,GAAG,gBAAgB,CAAC;gCACnC,iBAAiB,GAAG,kBAAkB,CAAC;gCACvC,eAAe,GAAG,gBAAgB,CAAC;gCACnC,YAAY,GAAG,IAAI,CAAC;6BACvB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,EAAC;gCAC/G,YAAY,GAAG,uBAAuB,CAAC;gCACvC,aAAa,GAAG,gBAAgB,CAAC;gCACjC,eAAe,GAAG,mBAAmB,CAAC;gCACtC,iBAAiB,GAAG,qBAAqB,CAAC;gCAC1C,eAAe,GAAG,mBAAmB,CAAC;gCACtC,YAAY,GAAG,OAAO,CAAC;6BAC1B;yBACJ;wBAED,IAAG,QAAQ,CAAC,YAAY,KAAK,aAAI,CAAC,gBAAgB,EAAC;4BAE/C,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,mBAAmB,KAAK,MAAM,IAAI,QAAQ,CAAC,mBAAmB,KAAK,IAAI,EAAC;gCAC5L,YAAY,GAAG,qBAAqB,CAAC;gCACrC,YAAY,GAAG,QAAQ,CAAC;6BAE3B;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAC;gCACzE,YAAY,GAAG,iBAAiB,CAAC;gCACjC,aAAa,GAAG,mBAAmB,CAAC;gCACpC,eAAe,GAAG,sBAAsB,CAAC;gCACzC,iBAAiB,GAAG,wBAAwB,CAAC;gCAC7C,eAAe,GAAG,sBAAsB,CAAC;gCACzC,YAAY,GAAG,MAAM,CAAC;6BACzB;yBACJ;wBAGD,IAAG,YAAY,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,EAAC;4BAC1F,YAAY,GAAG,sBAAsB,CAAC;4BACtC,aAAa,GAAG,eAAe,CAAC;4BAChC,eAAe,GAAG,kBAAkB,CAAC;4BACrC,iBAAiB,GAAG,oBAAoB,CAAC;4BACzC,eAAe,GAAG,kBAAkB,CAAC;4BACrC,YAAY,GAAG,MAAM,CAAC;yBACzB;wBAED,IAAG,CAAC,YAAY,EAAC;4BACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;yBACxC;wBAGD,IAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI,EAAC;4BAC/B,MAAM,IAAI,KAAK,CAAC,kCAAO,YAAY,mCAAO,CAAC,CAAC;yBAC/C;wBAGK,cAAc;4BAChB,GAAC,YAAY,IAAG,MAAM;+BACzB,CAAC;wBACF,IAAI,aAAa,EAAE;4BACf,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;4BACrC,cAAc,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;4BACzC,cAAc,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;4BAC3C,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;yBAChD;wBACD,WAAM,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAA;;wBAA9E,SAA8E,CAAC;wBAE/E,MAAM,CAAC,IAAI,CAAC,eAAQ,MAAM,eAAK,YAAY,iCAAuB,QAAQ,CAAE,CAAC,CAAC;wBAGzD,WAAM,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;gCAC9D,OAAO,EAAE;oCACL,CAAC,2BAA2B,EAAE,GAAG,EAAE,QAAQ,CAAC,yBAAyB,CAAC;oCACtE,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;iCAChC;6BACJ,CAAC,EAAA;;wBALI,YAAY,GAAG,SAKnB;wBAEE,mBAAmB,GAAG,KAAK,CAAC;;4BAChC,KAAkB,iBAAA,iBAAA,YAAY,CAAA,8GAAE;gCAArB,GAAG;gCAEV,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,MAAM,EAAE;oCAC5D,mBAAmB,GAAG,IAAI,CAAC;oCAC3B,MAAM;iCACT;6BACJ;;;;;;;;;6BAGG,CAAA,CAAC,mBAAmB,IAAI,aAAa,CAAA,EAArC,cAAqC;wBACrC,WAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG;gCACtE,GAAC,aAAa,IAAG,IAAI;gCACrB,GAAC,eAAe,IAAG,MAAM;gCACzB,GAAC,iBAAiB,IAAG,MAAM;gCAC3B,GAAC,eAAe,IAAG,IAAI,IAAI,EAAE;oCAC/B,EAAA;;wBALF,SAKE,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,eAAQ,MAAM,eAAK,YAAY,oCAA0B,QAAQ,CAAC,GAAG,wCAAqC,CAAC,CAAC;;4BAI5H,WAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAA;;wBAA3D,SAA2D,CAAC;wBAE5D,WAAO;gCACH,OAAO,EAAE,IAAI;gCACb,OAAO,EAAE,oDAAU,YAAY,iBAAI;6BACtC,EAAC;;;;KACL;CACJ,CAAA"}
1
+ {"version":3,"file":"bypassMaterial.js","sourceRoot":"","sources":["../../src/actions/bypassMaterial.ts"],"names":[],"mappings":";;;;AAIA,4CAAyC;AACzC,0BAA4B;AAEf,QAAA,cAAc,GAAG;IAC1B,IAAI,EAAE;QACF,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,wDAAwD;KACrE;IACK,OAAO,YAAC,GAAG;;;;;;;wBACb,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBAChB,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBAEZ,QAAQ,GAAK,GAAG,CAAC,MAAM,SAAf,CAAgB;wBACxB,MAAM,GAAK,GAAG,CAAC,MAAM,OAAf,CAAgB;wBACxB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBAGnB,WAAM,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;;wBAApE,QAAQ,GAAG,SAAyD;wBAE1E,IAAI,CAAC,QAAQ,EAAE;4BACX,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;yBAC5B;wBAED,IAAI,QAAQ,CAAC,aAAa,EAAE;4BACxB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;yBACjC;wBAGgB,WAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAA;;wBAAvG,QAAQ,GAAG,SAA4F;wBAE7G,IAAI,CAAC,QAAQ,EAAE;4BACX,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;yBAChC;wBAED,IAAI,QAAQ,CAAC,YAAY,KAAK,aAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,YAAY,KAAK,aAAI,CAAC,KAAK,EAAE;4BACnF,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;yBAClC;wBAGG,YAAY,GAAG,EAAE,CAAC;wBAClB,aAAa,GAAG,EAAE,CAAC;wBACnB,eAAe,GAAG,EAAE,CAAC;wBACrB,iBAAiB,GAAG,EAAE,CAAC;wBACvB,eAAe,GAAG,EAAE,CAAC;wBACrB,YAAY,GAAG,EAAE,CAAC;wBAEtB,IAAG,QAAQ,CAAC,YAAY,KAAK,aAAI,CAAC,mBAAmB,EAAC;4BAElD,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,sBAAsB,KAAK,MAAM,IAAI,QAAQ,CAAC,sBAAsB,KAAK,IAAI,EAAC;gCACpM,YAAY,GAAG,wBAAwB,CAAC;gCACxC,YAAY,GAAG,MAAM,CAAC;6BACzB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,uBAAuB,KAAK,MAAM,IAAI,QAAQ,CAAC,uBAAuB,KAAK,IAAI,EAAC;gCAC/M,YAAY,GAAG,yBAAyB,CAAC;gCACzC,YAAY,GAAG,OAAO,CAAC;6BAC1B;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,sBAAsB,KAAK,MAAM,IAAI,QAAQ,CAAC,sBAAsB,KAAK,IAAI,EAAC;gCAC1M,YAAY,GAAG,wBAAwB,CAAC;gCACxC,YAAY,GAAG,MAAM,CAAC;6BACzB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,yBAAyB,KAAK,MAAM,IAAI,QAAQ,CAAC,yBAAyB,KAAK,IAAI,EAAC;gCACzN,YAAY,GAAG,2BAA2B,CAAC;gCAC3C,YAAY,GAAG,SAAS,CAAC;6BAE5B;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,IAAI,QAAQ,CAAC,kBAAkB,KAAK,MAAM,IAAI,QAAQ,CAAC,kBAAkB,KAAK,IAAI,IAAI,QAAQ,CAAC,kBAAkB,KAAK,KAAK,EAAC;gCACjO,YAAY,GAAG,oBAAoB,CAAC;gCACpC,aAAa,GAAG,aAAa,CAAC;gCAC9B,eAAe,GAAG,gBAAgB,CAAC;gCACnC,iBAAiB,GAAG,kBAAkB,CAAC;gCACvC,eAAe,GAAG,gBAAgB,CAAC;gCACnC,YAAY,GAAG,IAAI,CAAC;6BACvB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,IAAI,QAAQ,CAAC,mBAAmB,KAAK,MAAM,IAAI,QAAQ,CAAC,mBAAmB,KAAK,IAAI,IAAI,QAAQ,CAAC,mBAAmB,KAAK,KAAK,EAAC;gCACvO,YAAY,GAAG,qBAAqB,CAAC;gCACrC,aAAa,GAAG,cAAc,CAAC;gCAC/B,eAAe,GAAG,iBAAiB,CAAC;gCACpC,iBAAiB,GAAG,mBAAmB,CAAC;gCACxC,eAAe,GAAG,iBAAiB,CAAC;gCACpC,YAAY,GAAG,KAAK,CAAC;6BACxB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,IAAI,QAAQ,CAAC,kBAAkB,KAAK,MAAM,IAAI,QAAQ,CAAC,kBAAkB,KAAK,IAAI,IAAI,QAAQ,CAAC,kBAAkB,KAAK,KAAK,EAAC;gCACjO,YAAY,GAAG,oBAAoB,CAAC;gCACpC,aAAa,GAAG,aAAa,CAAC;gCAC9B,eAAe,GAAG,gBAAgB,CAAC;gCACnC,iBAAiB,GAAG,kBAAkB,CAAC;gCACvC,eAAe,GAAG,gBAAgB,CAAC;gCACnC,YAAY,GAAG,IAAI,CAAC;6BACvB;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,IAAI,QAAQ,CAAC,qBAAqB,KAAK,MAAM,IAAI,QAAQ,CAAC,qBAAqB,KAAK,IAAI,IAAI,QAAQ,CAAC,qBAAqB,KAAK,KAAK,EAAC;gCACnP,YAAY,GAAG,uBAAuB,CAAC;gCACvC,aAAa,GAAG,gBAAgB,CAAC;gCACjC,eAAe,GAAG,mBAAmB,CAAC;gCACtC,iBAAiB,GAAG,qBAAqB,CAAC;gCAC1C,eAAe,GAAG,mBAAmB,CAAC;gCACtC,YAAY,GAAG,OAAO,CAAC;6BAC1B;yBACJ;wBAED,IAAG,QAAQ,CAAC,YAAY,KAAK,aAAI,CAAC,gBAAgB,EAAC;4BAE/C,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,mBAAmB,KAAK,MAAM,IAAI,QAAQ,CAAC,mBAAmB,KAAK,IAAI,EAAC;gCAC5L,YAAY,GAAG,qBAAqB,CAAC;gCACrC,YAAY,GAAG,QAAQ,CAAC;6BAE3B;iCAAK,IAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAC;gCACzE,YAAY,GAAG,iBAAiB,CAAC;gCACjC,aAAa,GAAG,mBAAmB,CAAC;gCACpC,eAAe,GAAG,sBAAsB,CAAC;gCACzC,iBAAiB,GAAG,wBAAwB,CAAC;gCAC7C,eAAe,GAAG,sBAAsB,CAAC;gCACzC,YAAY,GAAG,MAAM,CAAC;6BACzB;yBACJ;wBAGD,IAAG,YAAY,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,EAAC;4BAC1F,YAAY,GAAG,sBAAsB,CAAC;4BACtC,aAAa,GAAG,eAAe,CAAC;4BAChC,eAAe,GAAG,kBAAkB,CAAC;4BACrC,iBAAiB,GAAG,oBAAoB,CAAC;4BACzC,eAAe,GAAG,kBAAkB,CAAC;4BACrC,YAAY,GAAG,MAAM,CAAC;yBACzB;wBAED,IAAG,CAAC,YAAY,EAAC;4BACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;yBACxC;wBAGD,IAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,MAAM,EAAC;4BACpE,MAAM,IAAI,KAAK,CAAC,kCAAO,YAAY,mCAAO,CAAC,CAAC;yBAC/C;wBAGK,cAAc;4BAChB,GAAC,YAAY,IAAG,MAAM;+BACzB,CAAC;wBACF,IAAI,aAAa,EAAE;4BACf,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;4BACrC,cAAc,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;4BACzC,cAAc,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;4BAC3C,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;yBAChD;wBACD,WAAM,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAA;;wBAA9E,SAA8E,CAAC;wBAE/E,MAAM,CAAC,IAAI,CAAC,eAAQ,MAAM,eAAK,YAAY,iCAAuB,QAAQ,CAAE,CAAC,CAAC;wBAGzD,WAAM,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;gCAC9D,OAAO,EAAE;oCACL,CAAC,2BAA2B,EAAE,GAAG,EAAE,QAAQ,CAAC,yBAAyB,CAAC;oCACtE,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;iCAChC;6BACJ,CAAC,EAAA;;wBALI,YAAY,GAAG,SAKnB;wBAEE,mBAAmB,GAAG,KAAK,CAAC;;4BAChC,KAAkB,iBAAA,iBAAA,YAAY,CAAA,8GAAE;gCAArB,GAAG;gCAEV,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,MAAM,EAAE;oCAC5D,mBAAmB,GAAG,IAAI,CAAC;oCAC3B,MAAM;iCACT;6BACJ;;;;;;;;;6BAGG,CAAA,CAAC,mBAAmB,IAAI,aAAa,CAAA,EAArC,cAAqC;wBACrC,WAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG;gCACtE,GAAC,aAAa,IAAG,IAAI;gCACrB,GAAC,eAAe,IAAG,MAAM;gCACzB,GAAC,iBAAiB,IAAG,MAAM;gCAC3B,GAAC,eAAe,IAAG,IAAI,IAAI,EAAE;oCAC/B,EAAA;;wBALF,SAKE,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,eAAQ,MAAM,eAAK,YAAY,oCAA0B,QAAQ,CAAC,GAAG,wCAAqC,CAAC,CAAC;;4BAI5H,WAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAA;;wBAA3D,SAA2D,CAAC;wBAE5D,WAAO;gCACH,OAAO,EAAE,IAAI;gCACb,OAAO,EAAE,oDAAU,YAAY,iBAAI;6BACtC,EAAC;;;;KACL;CACJ,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos-labs/content-compliance",
3
- "version": "0.6.30",
3
+ "version": "0.6.31",
4
4
  "description": "内容审核系统",
5
5
  "main": "package.service.js",
6
6
  "scripts": {