| force-app/main/default/classes/OPDPlanHandler.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/classes/RentalApplyFaultHandler.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/classes/RentalApplyFaultHandler.cls-meta.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/classes/RepairAndQISToPDFController.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/pages/ReceivingNotePDF.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/pages/ReceivingNoteQR.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/pages/ReceivingNoteWaitingReceipt.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/pages/RentalApplyBR.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/pages/RentalApplyQR.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/pages/TransferApplyPDF.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/pages/TransferApplyQR.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
force-app/main/default/classes/OPDPlanHandler.cls
@@ -556,6 +556,7 @@ } } if (Trigger.isInsert && String.isNotBlank(t.OriginalOpdPlan__c)) { reapplyopdMap.put(t.OriginalOpdPlan__c, t.Id); @@ -666,25 +667,73 @@ insert insertCloneList; } } List<Attachment> getAttachmentList = [SELECT Id, Body, Name, ParentId FROM Attachment WHERE ParentId In:reapplyopdMap.keySet()]; List<Attachment> insertAttachmentCloneList = new List<Attachment>(); if (getAttachmentList.size() > 0 ) { for(Attachment att :getAttachmentList){ Attachment attClone = new Attachment(); attClone = att.clone(); attClone.Id = null; attClone.Body = att.Body; attClone.Name = att.Name; attClone.ParentId = reapplyopdMap.get(att.ParentId); insertAttachmentCloneList.add(attClone); List<ContentDocumentLink> getdocLink = [SELECT ContentDocumentId,LinkedEntityId FROM ContentDocumentLink WHERE LinkedEntityId In:reapplyopdMap.keySet()]; List<Id> idList = new List<Id>(); for (ContentDocumentLink link : getdocLink) { idList.add(link.ContentDocumentId); } List<Id> linkIdList = new List<Id>(); for (ContentDocumentLink link : getdocLink) { linkIdList.add(link.LinkedEntityId); } List<ContentVersion> cvList = [SELECT VersionData,Title,PathOnClient,ContentDocumentId FROM ContentVersion WHERE ContentDocumentId In: idList]; List<ContentVersion> insertContentVersion = new List<ContentVersion>(); if (cvList.size()>0) { for (ContentVersion cv : cvList) { ContentVersion newCV = new ContentVersion(); newCV.VersionData = cv.VersionData; newCV.Title = cv.Title; newCV.PathOnClient = cv.PathOnClient; insertContentVersion.add(newCV); } if (insertContentVersion.size() > 0) { insert insertContentVersion; List<Id> versionIdList = new List<Id>(); for (ContentVersion ver : insertContentVersion) { versionIdList.add(ver.Id); } if (insertAttachmentCloneList.size() > 0) { insert insertAttachmentCloneList; List<ContentDocumentLink> insertContentDocumentLink = new List<ContentDocumentLink>(); List<ContentDocumentLink> getdocLinkList = [SELECT ContentDocumentId,LinkedEntityId FROM ContentDocumentLink WHERE ContentDocumentId In: idList AND LinkedEntityId In:linkIdList]; if (getdocLinkList.size()>0) { for (ContentVersion ver : insertContentVersion) { Id docId = [SELECT ContentDocumentId FROM ContentVersion WHERE Id = :ver.Id].ContentDocumentId; for (ContentDocumentLink cdl : getdocLinkList) { ContentDocumentLink newCDL = new ContentDocumentLink(); newCDL.ContentDocumentId = docId; // newCDL.LinkedEntityId = cdl.LinkedEntityId; newCDL.LinkedEntityId = reapplyopdMap.get(cdl.LinkedEntityId); newCDL.ShareType = 'I'; newCDL.Visibility = 'AllUsers'; insertContentDocumentLink.add(newCDL); } } if (insertContentDocumentLink.size()>0) { insert insertContentDocumentLink; } } } } // List<Attachment> getAttachmentList = [SELECT Id, Body, Name, ParentId // FROM Attachment // WHERE ParentId In:reapplyopdMap.keySet()]; // List<Attachment> insertAttachmentCloneList = new List<Attachment>(); // if (getAttachmentList.size() > 0 ) { // for(Attachment att :getAttachmentList){ // Attachment attClone = new Attachment(); // attClone = att.clone(); // attClone.Id = null; // attClone.Body = att.Body; // attClone.Name = att.Name; // attClone.ParentId = reapplyopdMap.get(att.ParentId); // insertAttachmentCloneList.add(attClone); // } // if (insertAttachmentCloneList.size() > 0) { // insert insertAttachmentCloneList; // } // } } private void updateOppPlan() { force-app/main/default/classes/RentalApplyFaultHandler.cls
New file @@ -0,0 +1,513 @@ public without sharing class RentalApplyFaultHandler extends Oly_TriggerHandler { private Map<Id, Rental_Apply_Fault__c> newMap; private Map<Id, Rental_Apply_Fault__c> oldMap; private List<Rental_Apply_Fault__c> newList; private List<Rental_Apply_Fault__c> oldList; public RentalApplyFaultHandler(){ this.newMap = (Map<Id, Rental_Apply_Fault__c>) Trigger.newMap; this.oldMap = (Map<Id, Rental_Apply_Fault__c>) Trigger.oldMap; this.newList = (List<Rental_Apply_Fault__c>) Trigger.new; this.oldList = (List<Rental_Apply_Fault__c>) Trigger.old; } protected override void beforeInsert() { //List 备品借出申请 List<String> raListIds = new List<String>(); Set<String> radListIds = new Set<String>(); //申请单Id, List<故障报告> Map<Id, List<Rental_Apply_Fault__c>> raMap = new Map<Id, List<Rental_Apply_Fault__c>>(); //Name 规则 : 备品借出申请单 + 001 ~999 for(Rental_Apply_Fault__c raf: newList){ //获取所有的申请单Id radListIds.add(raf.Rental_Apply_Equipment_Set_Detail__c); } // 获取申请单下所有明细的Id List<Rental_Apply_Equipment_Set_Detail__c> raesdList = [SELECT Id,Rental_Apply__c from Rental_Apply_Equipment_Set_Detail__c WHERE Id in :radListIds]; for(Rental_Apply_Equipment_Set_Detail__c rae : raesdList){ raListIds.add(rae.Rental_Apply__c); } raesdList = [SELECT Id,Rental_Apply__c from Rental_Apply_Equipment_Set_Detail__c WHERE Rental_Apply__c in :raListIds]; for(Rental_Apply_Equipment_Set_Detail__c rea : raesdList){ radListIds.add(rea.Id); } system.debug('radListIds===='+radListIds); //查出 申请单下全部的检测报告 List<Rental_Apply_Fault__c> raList = [SELECT Id, Rental_Apply_Equipment_Set_Detail__c, Rental_Apply_Equipment_Set_Detail__r.Rental_Apply__r.Id,Rental_Apply_Equipment_Set_Detail__r.Rental_Apply__r.Name from Rental_Apply_Fault__c where Rental_Apply_Equipment_Set_Detail__c in :radListIds]; //查出 所有申请单明细 Map<Id,Rental_Apply_Equipment_Set_Detail__c> radMap = new Map<Id,Rental_Apply_Equipment_Set_Detail__c>([ Select Id,Rental_Apply__r.Name, Rental_Apply__r.Id, Rental_Apply__r.Person_In_Charge__c, Rental_Apply__r.demo_purpose2__c, Rental_Apply__r.Rental_Assistant__c, Rental_Apply__r.Rental_Assistant2__c, Rental_Apply__r.Loaner_Storage_mail_address__c, Rental_Apply__r.ZongjianApprovalManager__c, Rental_Apply__r.BuchangApprovalManagerSales__c, SerialNumber_F__c, Rental_Apply__r.SalesManager__c, Rental_Apply__r.Loaner_centre_mail_address__c, Rental_Apply__r.Hospital__r.Name, Fixture_Model_No__c, Rental_Apply__r.OCM_dept_category__c, Rental_Apply__r.WorkPlace__c, (select id from Rental_Apply_Equipment_Set_Detail_Fault__r) from Rental_Apply_Equipment_Set_Detail__c where id in :radListIds]); system.debug('radMap===='+radMap); for (Rental_Apply_Fault__c raf : raList) { system.debug('raf.Rental_Apply_Equipment_Set_Detail__c==='+raf.Rental_Apply_Equipment_Set_Detail__c); system.debug('radMap.get(raf.Rental_Apply_Equipment_Set_Detail__c).Rental_Apply__r.Id===' + radMap.get(raf.Rental_Apply_Equipment_Set_Detail__c).Rental_Apply__r.Id); if(raMap.containsKey(radMap.get(raf.Rental_Apply_Equipment_Set_Detail__c).Rental_Apply__r.Id)){ raMap.get(radMap.get(raf.Rental_Apply_Equipment_Set_Detail__c).Rental_Apply__r.Id).add(raf); } else { List<Rental_Apply_Fault__c> tempList = new List<Rental_Apply_Fault__c>(); tempList.add(raf); raMap.put(radMap.get(raf.Rental_Apply_Equipment_Set_Detail__c).Rental_Apply__r.Id,tempList); } } system.debug('raMap===='+raMap); for(Rental_Apply_Fault__c raf : newList){ //当前借出明细Id String radId = raf.Rental_Apply_Equipment_Set_Detail__c; //当前申请单Id String raId = radMap.get(radId).Rental_Apply__r.Id; if( radMap.containsKey(raf.Rental_Apply_Equipment_Set_Detail__c) && radMap.get(raf.Rental_Apply_Equipment_Set_Detail__c).Rental_Apply_Equipment_Set_Detail_Fault__r.size() >= 1 ){ raf.addError('已存在检测分析报告'); } if(raMap.containsKey(raId)){ Integer rafSize = raMap.get(raId).size() + 1; system.debug('rafSize===='+rafSize); String rafSizeString = '000' + rafSize; String cutString = rafSizeString.substring(rafSizeString.length()-3, rafSizeString.length()); if(rafSize == 0) { raf.Name = radMap.get(radId).Rental_Apply__r.Name + '-JCBG-001'; }else{ raf.Name = radMap.get(radId).Rental_Apply__r.Name + '-JCBG-' + cutString; } }else{ raf.Name = radMap.get(radId).Rental_Apply__r.Name + '-JCBG-001'; } raf.RentalApplyNo__c = radMap.get(radId).Rental_Apply__r.Name; raf.demo_purpose2__c = radMap.get(radId).Rental_Apply__r.demo_purpose2__c; raf.HospitalText__c = radMap.get(radId).Rental_Apply__r.Hospital__r.Name; raf.Repair_product_body_number__c = radMap.get(radId).SerialNumber_F__c; raf.Fixture_Model_No__c = radMap.get(radId).Fixture_Model_No__c; raf.OCM_dept_category__c = radMap.get(radId).Rental_Apply__r.OCM_dept_category__c; raf.WorkPlace__c = radMap.get(radId).Rental_Apply__r.WorkPlace__c; raf.Person_In_Charge_User__c = radMap.get(radId).Rental_Apply__r.Person_In_Charge__c; raf.Rental_Assistant__c = radMap.get(radId).Rental_Apply__r.Rental_Assistant__c; raf.Rental_Assistant2__c = radMap.get(radId).Rental_Apply__r.Rental_Assistant2__c; raf.ZongjianApprovalManager__c = radMap.get(radId).Rental_Apply__r.ZongjianApprovalManager__c; raf.BuchangApprovalManagerSales__c = radMap.get(radId).Rental_Apply__r.BuchangApprovalManagerSales__c; raf.SalesManager__c = radMap.get(radId).Rental_Apply__r.SalesManager__c; raf.Loaner_centre_mail_address__c = radMap.get(radId).Rental_Apply__r.Loaner_centre_mail_address__c; raf.Loaner_Storage_mail_address__c = radMap.get(radId).Rental_Apply__r.Loaner_Storage_mail_address__c; raf.status__c = '草案中'; } } protected override void afterInsert() { // 给备品出借担当增加读写权限 List<Rental_Apply_Fault__Share> rafShareList = new List<Rental_Apply_Fault__Share>(); for (Rental_Apply_Fault__c raf: newList) { // 备品出借担当 if (raf.Person_In_Charge_User__c != null) { Rental_Apply_Fault__Share rafShare = new Rental_Apply_Fault__Share(); rafShare.AccessLevel = 'Edit'; rafShare.UserOrGroupId = raf.Person_In_Charge_User__c; rafShare.ParentID = raf.Id; rafShareList.add(rafShare); } Rental_Apply_Fault__c tempRaf = [select id, ZongjianApprovalManager__r.isActive, BuchangApprovalManagerSales__r.isActive, SalesManager__r.isActive from Rental_Apply_Fault__c where Id =:raf.id ]; System.debug('-------------temp.ZongjianApprovalManager__r.isActive-------------' + tempRaf.ZongjianApprovalManager__r.isActive); System.debug('-------------raf.ZongjianApprovalManager__r.isActive--------------' + raf.ZongjianApprovalManager__r.isActive); // CL4 高级总监 if (raf.ZongjianApprovalManager__c != null && tempRaf.ZongjianApprovalManager__r.isActive) { Rental_Apply_Fault__Share rafShare = new Rental_Apply_Fault__Share(); rafShare.AccessLevel = 'READ'; rafShare.UserOrGroupId = raf.ZongjianApprovalManager__c; rafShare.ParentID = raf.Id; rafShareList.add(rafShare); } // CL5 总监级 if (raf.BuchangApprovalManagerSales__c != null && tempRaf.BuchangApprovalManagerSales__r.isActive) { Rental_Apply_Fault__Share rafShare = new Rental_Apply_Fault__Share(); rafShare.AccessLevel = 'READ'; rafShare.UserOrGroupId = raf.BuchangApprovalManagerSales__c; rafShare.ParentID = raf.Id; rafShareList.add(rafShare); } // CL6 经理级 if (raf.SalesManager__c != null && tempRaf.SalesManager__r.isActive) { Rental_Apply_Fault__Share rafShare = new Rental_Apply_Fault__Share(); rafShare.AccessLevel = 'READ'; rafShare.UserOrGroupId = raf.SalesManager__c; rafShare.ParentID = raf.Id; rafShareList.add(rafShare); } } if (!rafShareList.isEmpty()) { insert rafShareList; } } protected override void beforeUpdate() { Date today = Date.today(); List<Rental_Apply_Fault__c> deleteAttachmentIds = new List<Rental_Apply_Fault__c>(); Set<Id> deleteIds = new Set<Id>(); for(Rental_Apply_Fault__c raf: newList){ Rental_Apply_Fault__c oldRaf = oldMap.get(raf.Id); if (raf.status__c == '已发送' && oldRaf.status__c != '已发送') { raf.SendDate__c = today; } if (raf.status__c == '已反馈' && oldRaf.status__c != '已反馈') { raf.LoanerFeedback_date__c = today; if (raf.UseExplain__c == null) { raf.adderror('【备品使用情况说明】不能为空'); return; } } if ((String.isBlank(raf.AttachmentId1__c) && !String.isBlank(oldRaf.AttachmentId1__c)) || (String.isBlank(raf.AttachmentId2__c) && !String.isBlank(oldRaf.AttachmentId2__c))) { deleteAttachmentIds.add(raf); if (String.isBlank(raf.AttachmentId1__c) && !String.isBlank(oldRaf.AttachmentId1__c)) { deleteIds.add(oldRaf.AttachmentId1__c); } if (String.isBlank(raf.AttachmentId2__c) && !String.isBlank(oldRaf.AttachmentId2__c)) { deleteIds.add(oldRaf.AttachmentId2__c); } } } if (!deleteAttachmentIds.isEmpty()) { List<Attachment> attList = [SELECT Id,ParentId FROM Attachment WHERE ParentId IN: deleteAttachmentIds Order by ParentId,Id]; Map<String, List<Attachment>> parentMap = new Map<String, List<Attachment>>(); for (Attachment att : attList) { if (!deleteIds.contains(att.Id)) { if (!parentMap.isEmpty() && parentMap.containskey(att.ParentId)) { List<Attachment> attTemp = parentMap.get(att.ParentId); attTemp.add(att); parentMap.put(att.ParentId, attTemp); } else { List<Attachment> attTemp = new List<Attachment>(); attTemp.add(att); parentMap.put(att.ParentId, attTemp); } } } for (Rental_Apply_Fault__c raf : deleteAttachmentIds) { if (!parentMap.isEmpty() && parentMap.containskey(raf.Id)) { Rental_Apply_Fault__c oldObj = oldMap.get(raf.Id); List<Attachment> attTemp = parentMap.get(raf.Id); System.debug('========================================' + attTemp); if (attTemp.size() == 1) { raf.AttachmentId1__c = attTemp[0].Id; raf.AttachmentId2__c = null; } else { raf.AttachmentId1__c = attTemp[0].Id; raf.AttachmentId2__c = attTemp[1].Id; } } } } } protected override void afterUpdate() { Set<Id> feedbackIds = new Set<Id>(); Set<Id> sendReportIds = new Set<Id>(); for(Rental_Apply_Fault__c raf: newList){ Rental_Apply_Fault__c oldRaf = oldMap.get(raf.Id); if (raf.status__c == '已发送' && oldRaf.status__c != '已发送') { sendReportIds.add(raf.Id); } if (raf.status__c == '已反馈' && oldRaf.status__c != '已反馈') { feedbackIds.add(raf.Id); } } if (!sendReportIds.isEmpty()) { //备品中心推送邮件给现场 sendEmail(sendReportIds, '1'); } if (!feedbackIds.isEmpty()) { //现场回复后推送的邮件 sendEmail(feedbackIds, '2'); } } //推送邮件处理 public void sendEmail(Set<Id> rafIds, String flag) { List<Rental_Apply_Fault__c> rafList = [ SELECT Id, Person_In_Charge_User__r.Email, Owner.Email, Rental_Assistant__r.Email, Rental_Assistant2__r.Email, Loaner_centre_mail_address__c, Loaner_Storage_mail_address__c, ZongjianApprovalManager__r.Email, BuchangApprovalManagerSales__r.Email, SalesManager__r.Email, Salesdept__c, StorageCheckEmail__c FROM Rental_Apply_Fault__c WHERE Id IN: rafIds]; EmailTemplate et = null; if (flag == '1') { et = [Select id from EmailTemplate where name = '备品检测分析报告' limit 1]; } else if (flag == '2') { et = [Select id from EmailTemplate where name = '备品检测分析报告操作不当提醒已回复' limit 1]; } else { return; } List<Messaging.SingleEmailMessage> emails = new List<Messaging.SingleEmailMessage>(); for (Rental_Apply_Fault__c raf : rafList) { String[] toAddresses = new String[]{}; String[] ccAddresses = new String[]{}; if (flag == '1') { //7月31日演示注释 start //To 申请人 //toAddresses.add(raf.Person_In_Charge_User__r.Email); //To 备品跟进助理 // if(raf.Rental_Assistant__r.Email != null) { // toAddresses.add(raf.Rental_Assistant__r.Email); // } // if(raf.Rental_Assistant2__r.Email != null){ // toAddresses.add(raf.Rental_Assistant2__r.Email); // } //CC 部外 备品审批流人员及所属总监---cl4总监邮箱 备品总窗口 //部内 白总、古部长,林部长 白科,古芳丽,林芳 // ocmasset公共邮箱 // 检测仓库公共邮箱 //ccAddresses = System.Label.RentalApplyFaultReplyToBuNei.split(';'); //cc 部外 备品审批流人员及所属总监---cl4总监邮箱 备品总窗口 //setEmailAddress(raf, ccAddresses); //7月31日演示注释 end if(raf.Loaner_Storage_mail_address__c!=null){ ccAddresses.add(raf.Loaner_Storage_mail_address__c); } ccAddresses.add(raf.Loaner_centre_mail_address__c); ccAddresses.add('sunxia@prec-tech.com'); toAddresses.add('lijinghuan@prec-tech.com'); //ccAddresses.add(raf.StorageCheckEmail__c); } else if (flag == '2') { //To ocmasset公共邮箱 检测仓库公共邮箱 检测担当 //7月31日演示注释 start // toAddresses.add(raf.Loaner_centre_mail_address__c); // toAddresses.add(raf.Loaner_Storage_mail_address__c); // //toAddresses.add(raf.StorageCheckEmail__c); // toAddresses.add(raf.Owner.Email); //部内 白总、古部长,林部长 //ccAddresses = System.Label.RentalApplyFaultReplyToBuNei.split(';'); //cc 部外 备品审批流人员及所属总监---cl4总监邮箱 备品总窗口 //setEmailAddress(raf, ccAddresses); //7月31日演示注释 end ccAddresses.add('sunxia@prec-tech.com'); toAddresses.add('lijinghuan@prec-tech.com'); //Cc 备品跟进助理 /*if(raf.Rental_Assistant__r.Email != null) { ccAddresses.add(raf.Rental_Assistant__r.Email); } if(raf.Rental_Assistant2__r.Email != null){ ccAddresses.add(raf.Rental_Assistant2__r.Email); }*/ } Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail = Messaging.renderStoredEmailTemplate(et.Id, null, raf.Id); mail.setSaveAsActivity(false); mail.setToAddresses(toAddresses); System.debug('=============' + ccAddresses); mail.setCcAddresses(ccAddresses); emails.add(mail); } Messaging.sendEmail(emails); } public void setEmailAddress(Rental_Apply_Fault__c rafObj, String[] ccAddr) { //本部 窗口 CL5总监(备品审批) CL4高级总监(备品审批) 建议抄送人1 建议抄送人2 备注 //华北 赵靖苹 是 否 慕海霞 李鸷 //东北 关贝妮 是 否 赵志成 李鸷 //西北 张媛媛 是 否 颜大庆 宋琰 //西南 赵雯雯 是 是 //华东 徐明楠 是 否 宋真 杨剑清 //华南 夏俊洁 是 是 俞澜 严蕊芳 //MA 无 是 否 陆吉 //SOLUTION 殷佳骊 是 否 //医疗服务本部 无 是 陆吉(理论上没有) //外科事业本部 李海红 是 否 //市场企划本部 无 是 陆吉(理论上没有) //消化.呼吸内镜事业本部 无 是 否 陆吉 //消化.呼吸领域解决方案本部 无 是 陆吉(理论上没有) if (rafObj.Salesdept__c == '医疗华北营业本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_Huabei) && System.Label.RentalApplyFaultReplyTo_Huabei != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_Huabei.split(';')); } } else if (rafObj.Salesdept__c == '医疗东北营业本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_Dongbei) && System.Label.RentalApplyFaultReplyTo_Dongbei != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_Dongbei.split(';')); } } else if (rafObj.Salesdept__c == '医疗西北营业本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_Xibei) && System.Label.RentalApplyFaultReplyTo_Xibei != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_Xibei.split(';')); } } else if (rafObj.Salesdept__c == '医疗西南营业本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (rafObj.ZongjianApprovalManager__c != null) { ccAddr.add(rafObj.ZongjianApprovalManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_Xinan) && System.Label.RentalApplyFaultReplyTo_Xinan != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_Xinan.split(';')); } } else if (rafObj.Salesdept__c == '医疗华东营业本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_Huadong) && System.Label.RentalApplyFaultReplyTo_Huadong != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_Huadong.split(';')); } } else if (rafObj.Salesdept__c == '医疗华南营业本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (rafObj.ZongjianApprovalManager__c != null) { ccAddr.add(rafObj.ZongjianApprovalManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_Huanan) && System.Label.RentalApplyFaultReplyTo_Huanan != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_Huanan.split(';')); } } else if (rafObj.Salesdept__c == 'MA本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_MA) && System.Label.RentalApplyFaultReplyTo_MA != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_MA.split(';')); } } else if (rafObj.Salesdept__c == 'Solution本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_SOLUTION) && System.Label.RentalApplyFaultReplyTo_SOLUTION != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_SOLUTION.split(';')); } } else if (rafObj.Salesdept__c == '医疗服务本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_Yiliao) && System.Label.RentalApplyFaultReplyTo_Yiliao != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_Yiliao.split(';')); } } else if (rafObj.Salesdept__c == '外科事业本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_Waike) && System.Label.RentalApplyFaultReplyTo_Waike != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_Waike.split(';')); } } else if (rafObj.Salesdept__c == '市场企划本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_Shichang) && System.Label.RentalApplyFaultReplyTo_Shichang != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_Shichang.split(';')); } } else if (rafObj.Salesdept__c == '消化·呼吸内镜事业本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_HXNJ) && System.Label.RentalApplyFaultReplyTo_HXNJ != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_HXNJ.split(';')); } } else if (rafObj.Salesdept__c == '消化·呼吸领域解决方案本部') { if (rafObj.BuchangApprovalManagerSales__c != null) { ccAddr.add(rafObj.BuchangApprovalManagerSales__r.Email); } if (rafObj.SalesManager__c != null) { ccAddr.add(rafObj.SalesManager__r.Email); } if (!String.isBlank(System.Label.RentalApplyFaultReplyTo_HXLY) && System.Label.RentalApplyFaultReplyTo_HXLY != 'null') { ccAddr.addAll(System.Label.RentalApplyFaultReplyTo_HXLY.split(';')); } } } } force-app/main/default/classes/RentalApplyFaultHandler.cls-meta.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <apiVersion>50.0</apiVersion> <status>Active</status> </ApexClass> force-app/main/default/classes/RepairAndQISToPDFController.cls
@@ -57,7 +57,7 @@ PageReference pdfPage ; List<Repair__c> updateRpr = new List<Repair__c>(); List<Attachment> attachments = new List<Attachment>(); // List<Attachment> attachments = new List<Attachment>(); for(Repair__c re : repList){ String generatedFields = re.GeneratedPDFField__c; if (checkFieldisGeneratedPDF('ProblemDescription__c',re)) { @@ -75,15 +75,29 @@ } else { pdfBody = pdfPage.getContentAsPDF(); } Attachment attach = new Attachment(); attach.Body = pdfBody; attach.Name = re.name + '_' + 'Problem_Discription.pdf'; attach.ParentId = re.id; attachments.add(attach); ContentVersion version = new ContentVersion(); version.VersionData = pdfBody; version.Title = re.name + '_' + 'Problem_Discription.pdf'; version.PathOnClient = re.name + '_' + 'Problem_Discription.pdf'+'.pdf'; insert version; Id docId = [SELECT ContentDocumentId FROM ContentVersion WHERE Id = :version.Id].ContentDocumentId; ContentDocumentLink cdl = new ContentDocumentLink(); cdl.ContentDocumentId = docId; cdl.LinkedEntityId = re.id; cdl.ShareType = 'I'; cdl.visibility = 'AllUser'; insert cdl; // Attachment attach = new Attachment(); // attach.Body = pdfBody; // attach.Name = re.name + '_' + 'Problem_Discription.pdf'; // attach.ParentId = re.id; // attachments.add(attach); re.GeneratedPDFField__c = 'ProblemDescription__c'; updateRpr.add(re); } insert attachments; // insert attachments; update updateRpr; return null; } @@ -94,7 +108,7 @@ System.debug('1111111111111111111111111111111111111111111111111generateAttachment执行了-----------'); List<QIS_Report__c> updateQis = new List<QIS_Report__c>(); List<Attachment> attachments = new List<Attachment>(); // List<Attachment> attachments = new List<Attachment>(); PageReference pdfPage ; for(QIS_Report__c qis : qisReports){ @@ -126,16 +140,30 @@ } else { pdfBody = pdfPage.getContentAsPDF(); } Attachment attach = new Attachment(); attach.Body = pdfBody; ContentVersion version = new ContentVersion(); version.VersionData = pdfBody; // Attachment attach = new Attachment(); // attach.Body = pdfBody; if ('problem_detail_photo__c'.equals(apiName)) { attach.Name = substringApiName(qis.name) + '_Problem_Discription.pdf'; // attach.Name = substringApiName(qis.name) + '_Problem_Discription.pdf'; version.Title = substringApiName(qis.name) + '_Problem_Discription.pdf'; }else { attach.Name = substringApiName(qis.name) + '_' + 'Problem_' + apiName.substring(0,apiName.length()-3) + '.pdf'; // attach.Name = substringApiName(qis.name) + '_' + 'Problem_' + apiName.substring(0,apiName.length()-3) + '.pdf'; version.Title = substringApiName(qis.name) + '_' + 'Problem_' + apiName.substring(0,apiName.length()-3) + '.pdf'; } attach.ParentId = qis.id; version.PathOnClient = substringApiName(qis.name) + '_' + 'Problem_' + apiName.substring(0,apiName.length()-3) + '.pdf'+'.pdf'; // attach.ParentId = qis.id; // attachments.add(attach); insert version; Id docId = [SELECT ContentDocumentId FROM ContentVersion WHERE Id = :version.Id].ContentDocumentId; ContentDocumentLink cdl = new ContentDocumentLink(); cdl.ContentDocumentId = docId; cdl.LinkedEntityId = qis.id; cdl.ShareType = 'I'; cdl.visibility = 'AllUser'; insert cdl; attachments.add(attach); if (generatedFields == null) { qis.GeneratedPDFField__c = apiName; }else { @@ -144,7 +172,7 @@ } updateQis.add(qis); } insert attachments; // insert attachments; update updateQis; return null; force-app/main/default/pages/ReceivingNotePDF.page
@@ -41,7 +41,7 @@ <!-- 合同编码 --> <td style="padding: 0;box-sizing: border-box;text-align:left;font-size:13px;width:13%;" colspan="1">合同编码:</td> <td style="padding: 0;box-sizing: border-box;text-align:left;font-size:13px;width:20%;" colspan="1">{!receivingNoteHeadShow.Sales_order_number__c}</td> <td rowspan="6" style="box-sizing: border-box;text-align:right" colspan="1"><img style="width: 90px; height: 90px;padding: 0px;margin-top: 0mm;" src="{!'/servlet/servlet.FileDownload?file=' + receivingNoteHeadShow.QRId__c}" /></td> <td rowspan="6" style="box-sizing: border-box;text-align:right" colspan="1"><img style="width: 90px; height: 90px;padding: 0px;margin-top: 0mm;" src="{!'/sfc/servlet.shepherd/version/download/' + receivingNoteHeadShow.QRId__c}" /></td> </tr> <tr> <!-- 订单编码 --> force-app/main/default/pages/ReceivingNoteQR.page
@@ -13,29 +13,59 @@ sforce.connection.sessionId = '{!GETSESSIONID()}'; //20210312 you WLIG-BV8CHF start var record = sforce.connection.query("select id from Attachment where ParentId = \'{!ReceivingNote__c.Id}\' and name = \'QRCode-{!ReceivingNote__c.ReceivingNoteNo_New__c}\'"); // var record = sforce.connection.query("select id from Attachment where ParentId = \'{!ReceivingNote__c.Id}\' and name = \'QRCode-{!ReceivingNote__c.ReceivingNoteNo_New__c}\'"); var record = sforce.connection.query("select Id,ContentDocumentId from ContentDocumentLink where LinkedEntityId = \'{!ReceivingNote__c.Id}\'"); if(record.size > 0){ var records = record.getArray("records"); var idList = records.map(obj => "'" + obj.ContentDocumentId + "'").join(","); record = sforce.connection.query("select Id from ContentDocument where Id in (" + idList + ") and Title = \'QRCode-{!ReceivingNote__c.ReceivingNoteNo_New__c}\'"); } //20210312 you WLIG-BV8CHF end // 不存在qr文件时,新生成一个,并连到清单上 if (record.size == 0) { var atta = new sforce.SObject("Attachment"); //20210312 you WLIG-BV8CHF start atta.Name = "QRCode-{!ReceivingNote__c.ReceivingNoteNo_New__c}"; //20210312 you WLIG-BV8CHF end atta.ParentId = "{!ReceivingNote__c.Id}"; atta.Body = src; var result = sforce.connection.create([atta]); var version = new sforce.SObject("ContentVersion"); version.VersionData = src; version.Title = "QRCode-{!ReceivingNote__c.ReceivingNoteNo_New__c}"; version.ContentLocation = 's'; version.PathOnClient= "QRCode-{!ReceivingNote__c.ReceivingNoteNo_New__c}.jpg"; var versionResult = sforce.connection.create([version]); record = sforce.connection.query("SELECT ContentDocumentId FROM ContentVersion WHERE Id =\'" + versionResult[0].id + "\'"); var records = record.getArray("records"); var link = new sforce.SObject("ContentDocumentLink"); link.ContentDocumentId = records[0].ContentDocumentId; link.LinkedEntityId = "{!ReceivingNote__c.Id}"; link.ShareType = 'I'; link.Visibility = 'AllUsers'; var result = sforce.connection.create([link]); // var atta = new sforce.SObject("Attachment"); // //20210312 you WLIG-BV8CHF start // atta.Name = "QRCode-{!ReceivingNote__c.ReceivingNoteNo_New__c}"; // //20210312 you WLIG-BV8CHF end // atta.ParentId = "{!ReceivingNote__c.Id}"; // atta.Body = src; // var result = sforce.connection.create([atta]); var es = new sforce.SObject("ReceivingNote__c"); es.Id = "{!ReceivingNote__c.Id}"; es.QRId__c = result[0].id; es.QRId__c = versionResult[0].id; result = sforce.connection.update([es]); // 存在qr时,绑到清单上 } else { var records = record.getArray("records"); var es = new sforce.SObject("ReceivingNote__c"); es.Id = "{!ReceivingNote__c.Id}"; es.QRId__c = records[0].Id; result = sforce.connection.update([es]); var version = new sforce.SObject("ContentVersion"); version = sforce.connection.query("select Id,ContentDocumentId from ContentVersion where ContentDocumentId = \'" + records[0].id + "\'"); version = version.getArray("records"); // 存在qr时,绑到清单上 if(version[0].Id != "{!ReceivingNote__c.QRId__c}"){ var es = new sforce.SObject("ReceivingNote__c"); es.Id = "{!ReceivingNote__c.Id}"; es.QRId__c = version[0].id; result = sforce.connection.update([es]); } } } force-app/main/default/pages/ReceivingNoteWaitingReceipt.page
@@ -5,6 +5,33 @@ <apex:stylesheet value="{!URLFOR($Resource.ReceivingNotePageCss)}"/> <apex:includeScript value="{!URLFOR($Resource.ReceivingNotePageJS)}"/> <apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/> <apex:stylesheet value="{!URLFOR($Resource.StyleUtilCss)}"/> <style type="text/css"> table.list .col_ReceivingNoteDetailNo__c {width:100px;} table.list .col_OT_CODE__c {width:100px;} table.list .col_Fixture_Model_No_F__c {width:100px;} table.list .col_Fixture_Model_Name_F__c {width:100px;} table.list .col_Fixture_Arrival_Process__c {width:100px;} table.list .col_Fixture_Arrival_Product__c {width:200px;} table.list .col_Internal_Asset_number_key__c {width:100px;} table.list .col_SerialNumber_Origin__c {width:100px;} table.list .col_SerialNumber__c {width:100px;} table.list .col_PeriodOfUse_Old_F__c {width:100px;} table.list .col_PeriodOfUse_Final__c {width:100px;} table.list .col_Packing_list_Fixture_F__c {width:100px;} table.list .col_RND_Status__c {width:100px;} table.list .col_Asset_loaner_category_F__c {width:100px;} table.list .col_EquipmentSet_Managment_Code__c {width:100px;} table.list .col_Salesdepartment__c {width:100px;} table.list .col_SalesProvince__c {width:100px;} table.list .col_Product_category__c {width:100px;} table.list .col_Equipment_Type__c {width:100px;} table.list .col_Manage_type__c {width:100px;} table.list .col_unknow_serial_NO_product__c {width:100px;} table.list .col_Loaner_accsessary__c {width:100px;} table.list .col_Change_Point__c {width:100px;} /* table.list .noClick .col_DataConfirmation__c {width:100px;} */ </style> <apex:form > <!-- 此处隐式生成二维码图片,防止PDF页上的二维码崩坏 --> <apex:includeScript value="{!URLFOR($Resource.qrcode)}"/> @@ -20,28 +47,61 @@ sforce.connection.sessionId = '{!GETSESSIONID()}'; // 20210312 you WLIG-BV8CHF start var record = sforce.connection.query("select id from Attachment where ParentId = \'{!pageB.rn.Id}\' and name = \'QRCode-{!pageB.rn.ReceivingNoteNo_New__c}\'"); // 20210312 you WLIG-BV8CHF end // var record = sforce.connection.query("select id from Attachment where ParentId = \'{!pageB.rn.Id}\' and name = \'QRCode-{!pageB.rn.ReceivingNoteNo_New__c}\'"); var record = sforce.connection.query("select Id,ContentDocumentId from ContentDocumentLink where LinkedEntityId = \'{!pageB.rn.Id}\'"); if(record.size > 0){ var records = record.getArray("records"); var idList = records.map(obj => "'" + obj.ContentDocumentId + "'").join(","); record = sforce.connection.query("select Id from ContentDocument where Id in (" + idList + ") and Title = \'QRCode-{!pageB.rn.ReceivingNoteNo_New__c}\'"); } // 20210312 you WLIG-BV8CHF end // 不存在qr文件时,新生成一个,并连到清单上 if (record.size == 0) { var atta = new sforce.SObject("Attachment"); // 20210312 you WLIG-BV8CHF start atta.Name = "QRCode-{!pageB.rn.ReceivingNoteNo_New__c}"; // 20210312 you WLIG-BV8CHF end atta.ParentId = "{!pageB.rn.Id}"; atta.Body = src; var result = sforce.connection.create([atta]); var version = new sforce.SObject("ContentVersion"); version.VersionData = src; version.Title = "QRCode-{!pageB.rn.ReceivingNoteNo_New__c}"; version.ContentLocation = 's'; version.PathOnClient= "QRCode-{!pageB.rn.ReceivingNoteNo_New__c}.jpg"; var versionResult = sforce.connection.create([version]); record = sforce.connection.query("SELECT ContentDocumentId FROM ContentVersion WHERE Id =\'" + versionResult[0].id + "\'"); var records = record.getArray("records"); var link = new sforce.SObject("ContentDocumentLink"); link.ContentDocumentId = records[0].ContentDocumentId; link.LinkedEntityId = "{!pageB.rn.Id}"; link.ShareType = 'I'; link.Visibility = 'AllUsers'; var result = sforce.connection.create([link]); // var atta = new sforce.SObject("Attachment"); // // 20210312 you WLIG-BV8CHF start // atta.Name = "QRCode-{!pageB.rn.ReceivingNoteNo_New__c}"; // // 20210312 you WLIG-BV8CHF end // atta.ParentId = "{!pageB.rn.Id}"; // atta.Body = src; // var result = sforce.connection.create([atta]); var es = new sforce.SObject("ReceivingNote__c"); es.Id = "{!pageB.rn.Id}"; es.QRId__c = result[0].id; es.QRId__c = versionResult[0].id; result = sforce.connection.update([es]); // 存在qr时,绑到清单上 } else { var records = record.getArray("records"); var version = new sforce.SObject("ContentVersion"); version = sforce.connection.query("select Id,ContentDocumentId from ContentVersion where ContentDocumentId = \'" + records[0].id + "\'"); version = version.getArray("records"); var es = new sforce.SObject("ReceivingNote__c"); es.Id = "{!pageB.rn.Id}"; es.QRId__c = records[0].Id; es.QRId__c = versionResult[0].id; result = sforce.connection.update([es]); // var records = record.getArray("records"); // var es = new sforce.SObject("ReceivingNote__c"); // es.Id = "{!pageB.rn.Id}"; // es.QRId__c = records[0].Id; // result = sforce.connection.update([es]); } } @@ -223,7 +283,8 @@ </td> </tr> </table> <table class="searchTable"> <table class="searchTable" style="margin-bottom:5px;margin-top:5px;"> <!-- <tr> --> <tr> <td> 收货状态: @@ -262,75 +323,60 @@ <table class="searchTable" style="width:100%"> <tr> <td> <td style="padding-top:5px;"> <!-- 所在地区(本部) --> {!$ObjectType.ReceivingNoteDetail__c.fields.Salesdepartment__c.label} <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.Salesdepartment__c.InlineHelpText}"/> <apex:selectList id="appSalesdepartment" value="{!pageB.assetInput.Salesdepartment__c}" size="1"> <!-- lightning改造 zyh start --> <br /> <!-- <apex:selectList id="appSalesdepartment" value="{!pageB.assetInput.Salesdepartment__c}" size="1"> --> <apex:selectList style="width:180px;" id="appSalesdepartment" value="{!pageB.assetInput.Salesdepartment__c}" size="1"> <!-- lightning改造 zyh end --> <apex:selectOptions value="{!SalesdepartmentOps}"/> </apex:selectList> </td> <!-- 所在地区(省) --> <td> <td style="padding-top:5px;"> {!$ObjectType.Asset.fields.SalesProvince__c.label} <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.SalesProvince__c.InlineHelpText}"/> <apex:selectList id="appSalesProvince" value="{!pageB.assetInput.SalesProvince__c}" size="1"> <!-- lightning改造 zyh start --> <br /> <!-- <apex:selectList id="appSalesProvince" value="{!pageB.assetInput.SalesProvince__c}" size="1"> --> <apex:selectList style="width:180px;" id="appSalesProvince" value="{!pageB.assetInput.SalesProvince__c}" size="1"> <!-- lightning改造 zyh end --> <apex:selectOptions value="{!SalesProvinceOps}"/> </apex:selectList> </td> <td> <td style="padding-top:5px;"> <!-- 产品分类(GI/SP) --> {!$ObjectType.Asset.fields.Product_category__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.Product_category__c.InlineHelpText}"/> <apex:selectList id="appProduct_category" value="{!pageB.assetInput.Product_category__c}" size="1"> <!-- lightning改造 zyh start --> <br /> <!-- <apex:selectList id="appProduct_category" value="{!pageB.assetInput.Product_category__c}" size="1"> --> <apex:selectList style="width:180px;" id="appProduct_category" value="{!pageB.assetInput.Product_category__c}" size="1"> <!-- lightning改造 zyh end --> <apex:selectOptions value="{!ProductCategoryOps}"/> </apex:selectList> </td> <td> <td style="padding-top:5px;"> <!-- 备品分类 --> {!$ObjectType.Asset.fields.Equipment_Type__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.Equipment_Type__c.InlineHelpText}"/> <apex:selectList id="appEquipment_Type" value="{!pageB.assetInput.Equipment_Type__c}" size="1"> <!-- lightning改造 zyh start --> <br /> <!-- <apex:selectList id="appEquipment_Type" value="{!pageB.assetInput.Equipment_Type__c}" size="1"> --> <apex:selectList style="width:180px;" id="appEquipment_Type" value="{!pageB.assetInput.Equipment_Type__c}" size="1"> <!-- lightning改造 zyh end --> <apex:selectOptions value="{!EquipmentTypeOps}"/> </apex:selectList> </td> <td> <!-- 管理种类 --> {!$ObjectType.Asset.fields.Manage_type__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.Manage_type__c.InlineHelpText}"/> <apex:selectList id="appManage_type" value="{!pageB.assetInput.Manage_type__c}" size="1"> <apex:selectOptions value="{!ManageTypeOps}"/> </apex:selectList> </td> <td> <!-- 无机身号码设备 --> {!$ObjectType.Asset.fields.unknow_serial_NO_product__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.unknow_serial_NO_product__c.InlineHelpText}"/> <apex:selectList id="appunknow_serial_NO_product" value="{!pageB.assetInput.unknow_serial_NO_product__c}" size="1"> <apex:selectOptions value="{!UnknowSerialNOProductOps}"/> </apex:selectList> </td> <td> <!-- 备品用途附属品 --> {!$ObjectType.Asset.fields.Loaner_accsessary__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.Loaner_accsessary__c.InlineHelpText}"/> <apex:selectList id="appLoaner_accsessary" value="{!pageB.assetInput.Loaner_accsessary__c}" size="1"> <apex:selectOptions value="{!LoanerAccsessaryOps}"/> </apex:selectList> </td> <td> <!-- 备品入库产品 --> {!$ObjectType.ReceivingNoteDetail__c.fields.Fixture_Arrival_Product__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.Fixture_Arrival_Product__c.InlineHelpText}"/> <apex:inputField id="appLoaner_fixture_arrival_product" value="{!rndInfo[0].Fixture_Arrival_Product__c}"/> <!-- value="{!pageB.assetInput.Fixture_Arrival_Product__c}" --> </td> <td> <td rowspan="2"> <span style="margin-left: 10px;"> <apex:commandButton value="编辑" onclick="blockme();" action="{!changeFixModel}" reRender="allForm,checEventFrame" oncomplete="unblockUI();windowResize();"/><!-- 20210804 ljh add checEventFrame --> <apex:commandButton value="编辑" style="margin-top: 10px;" onclick="blockme();" action="{!changeFixModel}" reRender="allForm,checEventFrame" oncomplete="unblockUI();windowResize();"/><!-- 20210804 ljh add checEventFrame --> </span> <span style="margin-left: 10px;"> <apex:commandButton value="适用" onclick="applyJs();return false;"/> <apex:commandButton value="适用" style="margin-top: 10px;" onclick="applyJs();return false;"/> <script type="text/javascript"> // 适用按钮 function applyJs() { @@ -559,20 +605,77 @@ </script> </span> <span style="margin-left: 10px;"> <apex:commandButton value="选择配套" action="{!selectRNS}" rendered="{!showSelectRnsButton}"/> <apex:commandButton value="保存" style="margin-top: 10px;" onclick="blockme();" action="{!saveRecord}"/> </span> <span style="margin-left: 10px;"> <apex:commandButton value="型号提醒邮件" onclick="return setEmailBody();" /> <apex:commandButton value="返回" style="margin-top: 10px;" onclick="window.close();"/> </span> <!-- lightning改造 zyh start --> <br /> <!-- lightning改造 zyh end --> <span style="margin-left: 10px;"> <apex:commandButton value="选择配套" style="margin-top: 10px;" action="{!selectRNS}" rendered="{!showSelectRnsButton}"/> </span> <span style="margin-left: 10px;"> <apex:commandButton value="保存" onclick="blockme();" action="{!saveRecord}"/> <apex:commandButton value="型号提醒邮件" style="margin-top: 10px;" onclick="return setEmailBody();" /> </span> <!-- lightning改造 zyh start --> <!-- <br /> --> <!-- lightning改造 zyh end --> <span style="margin-left: 10px;"> <apex:commandButton value="打印收货清单" onclick="window.open('/apex/ReceivingNotePDF?rnid={!parId}');return false;"/> <apex:commandButton value="打印收货清单" style="margin-top: 10px;" onclick="window.open('/apex/ReceivingNotePDF?rnid={!parId}');return false;"/> </span> <span style="margin-left: 10px;"> <apex:commandButton value="返回" onclick="window.close();"/> </span> </td> <!-- lightning改造 zyh start --> </tr> <tr> <!-- lightning改造 zyh end --> <td style="padding-top:5px;"> <!-- 管理种类 --> {!$ObjectType.Asset.fields.Manage_type__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.Manage_type__c.InlineHelpText}"/> <!-- lightning改造 zyh start --> <br /> <!-- <apex:selectList id="appManage_type" value="{!pageB.assetInput.Manage_type__c}" size="1"> --> <apex:selectList style="width:180px;" id="appManage_type" value="{!pageB.assetInput.Manage_type__c}" size="1"> <!-- lightning改造 zyh end --> <apex:selectOptions value="{!ManageTypeOps}"/> </apex:selectList> </td> <td style="padding-top:5px;"> <!-- 无机身号码设备 --> {!$ObjectType.Asset.fields.unknow_serial_NO_product__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.unknow_serial_NO_product__c.InlineHelpText}"/> <!-- lightning改造 zyh start --> <br /> <!-- <apex:selectList id="appunknow_serial_NO_product" value="{!pageB.assetInput.unknow_serial_NO_product__c}" size="1"> --> <apex:selectList style="width:180px;" id="appunknow_serial_NO_product" value="{!pageB.assetInput.unknow_serial_NO_product__c}" size="1"> <!-- lightning改造 zyh end --> <apex:selectOptions value="{!UnknowSerialNOProductOps}"/> </apex:selectList> </td> <td style="padding-top:5px;"> <!-- 备品用途附属品 --> {!$ObjectType.Asset.fields.Loaner_accsessary__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.Loaner_accsessary__c.InlineHelpText}"/> <!-- lightning改造 zyh start --> <br /> <!-- <apex:selectList id="appLoaner_accsessary" value="{!pageB.assetInput.Loaner_accsessary__c}" size="1"> --> <apex:selectList style="width:180px;" id="appLoaner_accsessary" value="{!pageB.assetInput.Loaner_accsessary__c}" size="1"> <!-- lightning改造 zyh end --> <apex:selectOptions value="{!LoanerAccsessaryOps}"/> </apex:selectList> </td> <td style="padding-top:5px;"> <!-- 备品入库产品 --> {!$ObjectType.ReceivingNoteDetail__c.fields.Fixture_Arrival_Product__c.label}: <img src="/img/s.gif" alt="" class="helpOrb" title="{!$ObjectType.ReceivingNoteDetail__c.fields.Fixture_Arrival_Product__c.InlineHelpText}"/> <!-- lightning改造 zyh start --> <br /> <!-- <apex:inputField id="appLoaner_fixture_arrival_product" value="{!rndInfo[0].Fixture_Arrival_Product__c}"/> --> <apex:inputField style="width:180px;" id="appLoaner_fixture_arrival_product" value="{!rndInfo[0].Fixture_Arrival_Product__c}"/> <!-- lightning改造 zyh end --> <!-- value="{!pageB.assetInput.Fixture_Arrival_Product__c}" --> </td> </tr> </table> @@ -676,7 +779,7 @@ </apex:outputPanel> <!-- <apex:inputField value="{!var.rnd[info.value]}" onchange="setChangeFlg('{!var.lineNo}')" rendered="{!info.value != 'Asset_loaner_category__c' || var.haveAsset }" style="{!IF('Fixture_Arrival_Product__c' == info.value, 'width:70%;', '')}"/> --> <apex:inputField value="{!var.rnd[info.value]}" onchange="setChangeFlg('{!var.lineNo}')" rendered="{!(info.value != 'Asset_loaner_category__c' || var.haveAsset) && ((var.rnd['Asset_loaner_category_F__c'] =='固定资产' && info.value != 'unknow_serial_NO_product__c' && info.value != 'Manage_type__c') || var.rnd['Asset_loaner_category_F__c'] !='固定资产')}" style="{!IF('Fixture_Arrival_Product__c' == info.value, 'width:70%;', '')}"/> <apex:inputField value="{!var.rnd[info.value]}" onchange="setChangeFlg('{!var.lineNo}')" rendered="{!(info.value != 'Asset_loaner_category__c' || var.haveAsset) && ((var.rnd['Asset_loaner_category_F__c'] =='固定资产' && info.value != 'unknow_serial_NO_product__c' && info.value != 'Manage_type__c') || var.rnd['Asset_loaner_category_F__c'] !='固定资产')}" style="{!IF('Fixture_Arrival_Product__c' == info.value || 'EquipmentSet_Managment_Code__c' == info.value, 'width:90%;', '')}"/> <!-- 20210804 ljh add id --> <!-- update by rentx 20210727 end 新品收货_集中备品_建立数据逻辑限制 --> </apex:outputPanel> force-app/main/default/pages/RentalApplyBR.page
@@ -52,29 +52,61 @@ src = srcNew.substring(22, srcNew.length); sforce.connection.sessionId = '{!GETSESSIONID()}'; var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Rental_Apply__c.Id}\' and name = \'BRCode-{!Rental_Apply__c.Name_No__c}\'"); // var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Rental_Apply__c.Id}\' and name = \'BRCode-{!Rental_Apply__c.Name_No__c}\'"); var record = sforce.connection.query("select ContentDocumentId from ContentDocumentLink where LinkedEntityId = \'{!Rental_Apply__c.Id}\'"); console.log("333333333333",record.size); if(record.size > 0){ var records = record.getArray("records"); var idList = records.map(obj => "'" + obj.ContentDocumentId + "'").join(","); record = sforce.connection.query("select Id from ContentDocument where Id in (" + idList + ") and Title = \'BRCode-{!Rental_Apply__c.Name_No__c}\'"); } // 既にあれば無視 if (record.size == 0) { var atta = new sforce.SObject("Attachment"); atta.Name = "BRCode-{!Rental_Apply__c.Name_No__c}"; atta.ParentId = "{!Rental_Apply__c.Id}"; atta.Body = src; var result = sforce.connection.create([atta]); var version = new sforce.SObject("ContentVersion"); version.VersionData = src; version.Title = "BRCode-{!Rental_Apply__c.Name_No__c}"; version.ContentLocation = 's'; version.PathOnClient= "BRCode-{!Rental_Apply__c.Name_No__c}.jpg"; var versionResult = sforce.connection.create([version]); record = sforce.connection.query("SELECT ContentDocumentId FROM ContentVersion WHERE Id =\'" + versionResult[0].id + "\'"); var records = record.getArray("records"); var link = new sforce.SObject("ContentDocumentLink"); link.ContentDocumentId = records[0].ContentDocumentId; link.LinkedEntityId = "{!Rental_Apply__c.Id}"; link.ShareType = 'I'; link.Visibility = 'AllUsers'; var result = sforce.connection.create([link]); // var atta = new sforce.SObject("Attachment"); // atta.Name = "BRCode-{!Rental_Apply__c.Name_No__c}"; // atta.ParentId = "{!Rental_Apply__c.Id}"; // atta.Body = src; // var result = sforce.connection.create([atta]); var es = new sforce.SObject("Rental_Apply__c"); es.Id = "{!Rental_Apply__c.Id}"; es.BRId__c = result[0].id; es.BRId__c = versionResult[0].id; result = sforce.connection.update([es]); //申请书更新失败的话再次更新 } else if ("{!Rental_Apply__c.BRId__c}" == '' || "{!Rental_Apply__c.BRId__c}" == null) { var records = record.getArray("records"); var es = new sforce.SObject("Rental_Apply__c"); es.Id = "{!Rental_Apply__c.Id}"; es.BRId__c = records[0].Id; result = sforce.connection.update([es]); // var records = record.getArray("records"); // var es = new sforce.SObject("Rental_Apply__c"); // es.Id = "{!Rental_Apply__c.Id}"; // es.BRId__c = records[0].Id; // result = sforce.connection.update([es]); // TODO Name変わる可能性あり、upsertにします var records = record.getArray("records"); var version = new sforce.SObject("ContentVersion"); version = sforce.connection.query("select Id,ContentDocumentId from ContentVersion where ContentDocumentId = \'" + records[0].id + "\'"); version = version.getArray("records"); if(version[0].Id != "{!Rental_Apply__c.QRId__c}"){ var es = new sforce.SObject("Rental_Apply__c"); es.Id = "{!Rental_Apply__c.Id}"; es.QRId__c = version[0].id; result = sforce.connection.update([es]); } } else { alert(record[0].id); // alert(record[0].id); } } // BRcode生成後、Attachmentを作成 force-app/main/default/pages/RentalApplyQR.page
@@ -13,29 +13,63 @@ sforce.connection.sessionId = '{!GETSESSIONID()}'; var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Rental_Apply__c.Id}\' and name = \'QRCode-{!Rental_Apply__c.Name}\'"); // 既にあれば無視 // var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Rental_Apply__c.Id}\' and name = \'QRCode-{!Rental_Apply__c.Name}\'"); console.log("22222222222222222222222222"); var record = sforce.connection.query("select ContentDocumentId from ContentDocumentLink where LinkedEntityId = \'{!Rental_Apply__c.Id}\'"); console.log("2222222222222222222--------",record.size); if(record.size > 0){ var records = record.getArray("records"); var idList = records.map(obj => "'" + obj.ContentDocumentId + "'").join(","); record = sforce.connection.query("select Id from ContentDocument where Id in (" + idList + ") and Title = \'QRCode-{!Rental_Apply__c.Name}\'"); } // 既にあれば無視 if (record.size == 0) { var atta = new sforce.SObject("Attachment"); atta.Name = "QRCode-{!Rental_Apply__c.Name}"; atta.ParentId = "{!Rental_Apply__c.Id}"; atta.Body = src; var result = sforce.connection.create([atta]); var version = new sforce.SObject("ContentVersion"); version.VersionData = src; version.Title = "QRCode-{!Rental_Apply__c.Name}"; version.ContentLocation = 's'; version.PathOnClient= "QRCode-{!Rental_Apply__c.Name}.jpg"; var versionResult = sforce.connection.create([version]); record = sforce.connection.query("SELECT ContentDocumentId FROM ContentVersion WHERE Id =\'" + versionResult[0].id + "\'"); var records = record.getArray("records"); var link = new sforce.SObject("ContentDocumentLink"); link.ContentDocumentId = records[0].ContentDocumentId; link.LinkedEntityId = "{!Rental_Apply__c.Id}"; link.ShareType = 'I'; link.Visibility = 'AllUsers'; var result = sforce.connection.create([link]); // var atta = new sforce.SObject("Attachment"); // atta.Name = "QRCode-{!Rental_Apply__c.Name}"; // atta.ParentId = "{!Rental_Apply__c.Id}"; // atta.Body = src; // var result = sforce.connection.create([atta]); var es = new sforce.SObject("Rental_Apply__c"); es.Id = "{!Rental_Apply__c.Id}"; es.QRId__c = result[0].id; es.QRId__c = versionResult[0].id; result = sforce.connection.update([es]); //申请书更新失败的话再次更新 } else if ("{!Rental_Apply__c.QRId__c}" == '' || "{!Rental_Apply__c.QRId__c}" == null) { var records = record.getArray("records"); var es = new sforce.SObject("Rental_Apply__c"); es.Id = "{!Rental_Apply__c.Id}"; es.QRId__c = records[0].Id; result = sforce.connection.update([es]); // var records = record.getArray("records"); // var es = new sforce.SObject("Rental_Apply__c"); // es.Id = "{!Rental_Apply__c.Id}"; // es.QRId__c = records[0].Id; // result = sforce.connection.update([es]); // TODO Name変わる可能性あり、upsertにします var records = record.getArray("records"); var version = new sforce.SObject("ContentVersion"); version = sforce.connection.query("select Id,ContentDocumentId from ContentVersion where ContentDocumentId = \'" + records[0].id + "\'"); version = version.getArray("records"); if(version[0].id != "{!Rental_Apply__c.QRId__c}"){ var es = new sforce.SObject("Rental_Apply__c"); es.Id = "{!Rental_Apply__c.Id}"; es.QRId__c = version[0].id; result = sforce.connection.update([es]); } } else { alert(record[0].id); // alert(record[0].Id); } } force-app/main/default/pages/TransferApplyPDF.page
@@ -47,7 +47,7 @@ <apex:outputText value="{!ApplyHeadShow.RecordTypeName__c}" /> </td> <td rowspan="4"> <img style="float: right; width: 55px; height: 55px;padding: 0px;margin-top: 0mm;" src="{!'/servlet/servlet.FileDownload?file=' + ApplyHeadShow.QRId__c}" /> <img style="float: right; width: 55px; height: 55px;padding: 0px;margin-top: 0mm;" src="{!'/sfc/servlet.shepherd/version/download/' + ApplyHeadShow.QRId__c}" /> </td> </tr> <tr> force-app/main/default/pages/TransferApplyQR.page
@@ -13,29 +13,68 @@ sforce.connection.sessionId = '{!GETSESSIONID()}'; var record = sforce.connection.query("select id from Attachment where ParentId = \'{!TransferApply__c.Id}\' and name = \'QRCode-{!TransferApply__c.Name}\'"); // var record = sforce.connection.query("select id from Attachment where ParentId = \'{!TransferApply__c.Id}\' and name = \'QRCode-{!TransferApply__c.Name}\'"); var record = sforce.connection.query("select Id,ContentDocumentId from ContentDocumentLink where LinkedEntityId = \'{!TransferApply__c.Id}\'"); if(record.size > 0){ var records = record.getArray("records"); var idList = records.map(obj => "'" + obj.ContentDocumentId + "'").join(","); record = sforce.connection.query("select Id from ContentDocument where Id in (" + idList + ") and Title = \'QRCode-{!TransferApply__c.Name}\'"); } console.log("qqqqqqqqqqqqqqqqq",record.size); // 既にあれば無視 if (record.size == 0) { var atta = new sforce.SObject("Attachment"); atta.Name = "QRCode-{!TransferApply__c.Name}"; atta.ParentId = "{!TransferApply__c.Id}"; atta.Body = src; var result = sforce.connection.create([atta]); var version = new sforce.SObject("ContentVersion"); version.VersionData = src; version.Title = "QRCode-{!TransferApply__c.Name}"; version.ContentLocation = 's'; version.PathOnClient= "QRCode-{!TransferApply__c.Name}.jpg"; var versionResult = sforce.connection.create([version]); record = sforce.connection.query("SELECT ContentDocumentId FROM ContentVersion WHERE Id =\'" + versionResult[0].id + "\'"); var records = record.getArray("records"); var link = new sforce.SObject("ContentDocumentLink"); link.ContentDocumentId = records[0].ContentDocumentId; link.LinkedEntityId = "{!TransferApply__c.Id}"; link.ShareType = 'I'; link.Visibility = 'AllUsers'; var result = sforce.connection.create([link]); // var atta = new sforce.SObject("Attachment"); // atta.Name = "QRCode-{!TransferApply__c.Name}"; // atta.ParentId = "{!TransferApply__c.Id}"; // atta.Body = src; // var result = sforce.connection.create([atta]); var es = new sforce.SObject("TransferApply__c"); es.Id = "{!TransferApply__c.Id}"; es.QRId__c = result[0].id; es.QRId__c = versionResult[0].id; result = sforce.connection.update([es]); //申请书更新失败的话再次更新 } else if ("{!TransferApply__c.QRId__c}" == '' || "{!TransferApply__c.QRId__c}" == null) { var records = record.getArray("records"); var es = new sforce.SObject("TransferApply__c"); es.Id = "{!TransferApply__c.Id}"; es.QRId__c = records[0].Id; result = sforce.connection.update([es]); var version = new sforce.SObject("ContentVersion"); version = sforce.connection.query("select Id,ContentDocumentId from ContentVersion where ContentDocumentId = \'" + records[0].Id + "\'"); version = version.getArray("records"); if(version[0].Id != "{!TransferApply__c.QRId__c}"){ var es = new sforce.SObject("TransferApply__c"); es.Id = "{!TransferApply__c.Id}"; es.QRId__c = version[0].id; result = sforce.connection.update([es]); } // TODO Name変わる可能性あり、upsertにします } else { alert(record[0].id); // var records = record.getArray("records"); // alert(records[0].Id); var records = record.getArray("records"); var version = new sforce.SObject("ContentVersion"); version = sforce.connection.query("select Id,ContentDocumentId from ContentVersion where ContentDocumentId = \'" + records[0].Id + "\'"); version = version.getArray("records"); // 存在qr时,绑到清单上 if(version[0].Id != "{!TransferApply__c.QRId__c}"){ var es = new sforce.SObject("TransferApply__c"); es.Id = "{!TransferApply__c.Id}"; es.QRId__c = version[0].id; result = sforce.connection.update([es]); } } }