buli
2022-05-13 2f4492ee18f90274582fcc2bb06f5e9bf64136e8
force-app/main/default/classes/NEWCreateSWOQuoteController.cls
@@ -28,10 +28,6 @@
    public Boolean aftORbef { get; set; }
    public Boolean aftORbef1 { get; set; }
    public String staticResource { get; private set; }// 20220311 PI改造 by Bright
    public String contactstaticResource { get; private set; }// 20220311 PI改造 by Bright
    public NEWCreateSWOQuoteController() {
        swoId = System.currentPageReference().getParameters().get('swoId');
        Id = System.currentPageReference().getParameters().get('Id');
@@ -45,9 +41,6 @@
            baseUrl += '/production';
        }
        rtUrl = System.currentPageReference().getParameters().get('retURL');
        staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('Quotes__c'));// 20220221 PI改造 by Bright
        contactstaticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact'));// 20220221 PI改造 by Bright
    }
    public NEWCreateSWOQuoteController(ApexPages.StandardController controller) {
@@ -238,9 +231,7 @@
        if (String.isNotBlank(Id)) {
            List<Quotes__c> quotesList = new List<Quotes__c>();
            quotesList = [SELECT  Id,
            AWS_Data_Id__c,CONTACT_NAME__r.Name,CONTACT_NAME__r.AWS_Data_Id__c, // 20220311 PI改造 by Bright
            Name, BILLING_SCHEDULE__c, BILL_TO__c, SHIP_TO__c, BILL_TO_SELECT__c, CATEGORY_1_INDUSTRY_SO__c, CATEGORY_2_USE_SO__c, COLLECTION_STATUS__c, CONTACT_EMAIL__c, CONTACT_FAX__c, CONTACT_NAME__c, CONTACT_PHONE__c, CONTRACT_NAME__c, CURRENCY__c, DATE__c, DISCOUNT_ITEM__c, DISCOUNT_ITEM_F__c, DISCOUNT_WORKFLOW_TYPE__c, EST_EXTENDED_COST__c, EST_GROSS_PROFIT__c, EST_GROSS_PROFIT_PERCENT__c, ESTIMATE__c, EXP_CLOSE__c, EXPIRES__c, FDA_REPORT_COMPLETE__c, GOVERNMENT_ORDER__c, GSA_ORDER__c, INCOTERM__c, INITIATE_APPROVAL_ROUTING__c, INVOICE_MESSAGING__c, IS_SELLER_IMPORTER_OF_RECORD__c, LEAD_SOURCE__c, LEAD_TIME__c, LOCATION__c, NO_CHARGE_TYPE__c, notSaveEmail__c, NSN__c, ONLINE_BILLING__c, ONLINE_BILLING_ADDRESS__c, OPPORTUNITY__c, ORDER_TYPE__c, PKMS_PO_FOR_RECEIPT__c, PO__c, PROBABILITY__c, PRODUCT_SEGMENT__c, QUOTE_TITLE__c, RATE__c, RepairPart__c, REVISION_NEEDED__c, RMA_NOTES__c, COMPANY__c, SALES_TEAM_AUTO_ASSIGNMENT_OVERRIDE__c, SALES_TEAM_AUTO_ASSIGN_ON_SAVE__c, SELECT_MESSAGE__c, SHIPPING_CARRIER__c, SHIPPING_COST__c, SHIPPING_TAX_CODE__c, SHIPPING_TAX_RATE__c, SHIP_TO_ENTITY_USE_CODE__c, SHIP_TO_SELECT__c, SHIP_VIA__c, STATUS__c, SUBSIDIARY__c, SUBTOTAL__c, SWO__c, SWOName__c, SWO_NUMBER__c, SWO_PART_NUMBERS__c, SWO_SERIAL__c, SWOStatus__c, TAX_ID__c, TAX_OVERRIDE__c, TERMS__c, TERMS_OVERRIDE__c, THROW_MESSAGE__c, TOTAL_TRANSACTION_ITEM_WEIGHT_KGS__c, VERTICAL_MARKET_SEGMENT_SO__c, QuotesType__c, CUSTOMER_MESSAGE__c, TOTAL__c, BILL_TO_ENTITY_USE_CODE__c, COMPANYId__c, COMPANYName__c, DISCOUNT_STATUS__c, DISCOUNT_STATUS_ROUTING__c, TAX_CODE__c, TAX_RATE__c, TAX__c, DISCOUNT__c, SWOStatusMark__c  FROM Quotes__c WHERE Id = :Id];
            quotesList = [SELECT  Id, Name, BILLING_SCHEDULE__c, BILL_TO__c, SHIP_TO__c, BILL_TO_SELECT__c, CATEGORY_1_INDUSTRY_SO__c, CATEGORY_2_USE_SO__c, COLLECTION_STATUS__c, CONTACT_EMAIL__c, CONTACT_FAX__c, CONTACT_NAME__c, CONTACT_PHONE__c, CONTRACT_NAME__c, CURRENCY__c, DATE__c, DISCOUNT_ITEM__c, DISCOUNT_ITEM_F__c, DISCOUNT_WORKFLOW_TYPE__c, EST_EXTENDED_COST__c, EST_GROSS_PROFIT__c, EST_GROSS_PROFIT_PERCENT__c, ESTIMATE__c, EXP_CLOSE__c, EXPIRES__c, FDA_REPORT_COMPLETE__c, GOVERNMENT_ORDER__c, GSA_ORDER__c, INCOTERM__c, INITIATE_APPROVAL_ROUTING__c, INVOICE_MESSAGING__c, IS_SELLER_IMPORTER_OF_RECORD__c, LEAD_SOURCE__c, LEAD_TIME__c, LOCATION__c, NO_CHARGE_TYPE__c, notSaveEmail__c, NSN__c, ONLINE_BILLING__c, ONLINE_BILLING_ADDRESS__c, OPPORTUNITY__c, ORDER_TYPE__c, PKMS_PO_FOR_RECEIPT__c, PO__c, PROBABILITY__c, PRODUCT_SEGMENT__c, QUOTE_TITLE__c, RATE__c, RepairPart__c, REVISION_NEEDED__c, RMA_NOTES__c, COMPANY__c, SALES_TEAM_AUTO_ASSIGNMENT_OVERRIDE__c, SALES_TEAM_AUTO_ASSIGN_ON_SAVE__c, SELECT_MESSAGE__c, SHIPPING_CARRIER__c, SHIPPING_COST__c, SHIPPING_TAX_CODE__c, SHIPPING_TAX_RATE__c, SHIP_TO_ENTITY_USE_CODE__c, SHIP_TO_SELECT__c, SHIP_VIA__c, STATUS__c, SUBSIDIARY__c, SUBTOTAL__c, SWO__c, SWOName__c, SWO_NUMBER__c, SWO_PART_NUMBERS__c, SWO_SERIAL__c, SWOStatus__c, TAX_ID__c, TAX_OVERRIDE__c, TERMS__c, TERMS_OVERRIDE__c, THROW_MESSAGE__c, TOTAL_TRANSACTION_ITEM_WEIGHT_KGS__c, VERTICAL_MARKET_SEGMENT_SO__c, QuotesType__c, CUSTOMER_MESSAGE__c, TOTAL__c, BILL_TO_ENTITY_USE_CODE__c, COMPANYId__c, COMPANYName__c, DISCOUNT_STATUS__c, DISCOUNT_STATUS_ROUTING__c, TAX_CODE__c, TAX_RATE__c, TAX__c, DISCOUNT__c, SWOStatusMark__c  FROM Quotes__c WHERE Id = :Id];
            if (quotesList.size() > 0) {
                QuotesPage = quotesList[0];
            }
@@ -298,8 +289,8 @@
            // Mail 页面初始化 Start
            List<String> mailIdList = new List<String>();
            List<FileAddress__c> attList = new List<FileAddress__c>();
            Map<String, List<FileAddress__c>> attMap = new Map<String, List<FileAddress__c>>();
            List<Attachment> attList = new List<Attachment>();
            Map<String, List<Attachment>> attMap = new Map<String, List<Attachment>>();
            Map<String, Mail_Merge__c> mailMap = new Map<String, Mail_Merge__c>([select id, FROM__c, ccName__c, SUBJECT__c, MESSAGE__c, DATE__c, toName__c, EMAIL_SENT__c from Mail_Merge__c where Quotes__c = :Id order by id]);
@@ -307,15 +298,15 @@
            if (mailMap != null) {
                mailIdList.addAll(mailMap.keySet());
                attList =  [select id, Name, FileName__c,ParentRecordId__c from FileAddress__c where ParentRecordId__c in :mailIdList order by ParentRecordId__c, id];
                attList =  [select id, Name, ParentId from Attachment where ParentId in :mailIdList order by ParentId, id];
                if (attList.size() > 0) {
                    for (FileAddress__c att : attList) {
                        if (attMap.containsKey(att.ParentRecordId__c)) {
                            attMap.get(att.ParentRecordId__c).add(att);
                    for (Attachment att : attList) {
                        if (attMap.containsKey(att.ParentId)) {
                            attMap.get(att.ParentId).add(att);
                        } else {
                            List<FileAddress__c> a = new List<FileAddress__c>();
                            List<Attachment> a = new List<Attachment>();
                            a.add(att);
                            attMap.put(att.ParentRecordId__c, a);
                            attMap.put(att.ParentId, a);
                        }
                    }
                }
@@ -333,6 +324,7 @@
        }
        //首先是从swo创建quotes,有了swoid,就是用新的静态资源显示的免责申明。
        //之后,编辑已经创建完了的quotes,15号之前创建的,显示的是旧的。旧的就是aftORbef==false。
        //当然,aftORbef==false具体指的是旧的也可以指查不到的(还没有存入数据库的,创建时)。
        if (String.isNotBlank(swoId)) {
            aftORbef1 = true;
        }else{
@@ -370,7 +362,7 @@
        if ('维修报价单'.equals(QuotesPage.QuotesType__c)) {
            QuotesPage.CUSTOMER_MESSAGE__c = '';
            //日期2121年11月15号之后的,用新的免责申明。
           if (aftORbef == true) {
           if (aftORbef == true || aftORbef1 == true) {
                QuotesPage.CUSTOMER_MESSAGE__c += '-维修质保只涵盖于本次维修的配件,维修质保期为仪器发货后三个月加八天。\n';
                Messages01 = '-维修质保只涵盖于本次维修的配件,维修质保期为仪器发货后三个月加八天。';
            }else{
@@ -388,8 +380,13 @@
            Messages05 = '日期:';
        } else if ('零件报价单'.equals(QuotesPage.QuotesType__c)) {
            QuotesPage.CUSTOMER_MESSAGE__c = '';
            QuotesPage.CUSTOMER_MESSAGE__c += '-奥林巴斯服务部售出的维修配件确保为质量符合奥林巴斯参数指标的新品,奥林巴斯对售出的维修配件不提供保修服务,同时也不提供退、换货服务。敬请您谨慎购买。\n';
            Messages01 = '-奥林巴斯服务部售出的维修配件确保为质量符合奥林巴斯参数指标的新品,奥林巴斯对售出的维修配件不提供保修服务,同时也不提供退、换货服务。敬请您谨慎购买。';
            if ('NDT'.equals(QuotesPage.PRODUCT_SEGMENT__c)) {
                QuotesPage.CUSTOMER_MESSAGE__c += '-仪景通光学科技(上海)有限公司北京分公司售出的维修配件为奥林巴斯原厂配件,仪景通公司对售出的维修配件不提供保修服务,也不提供退、换货服务,敬请您谨慎购买。\n';
                Messages01 = '-仪景通光学科技(上海)有限公司北京分公司售出的维修配件为奥林巴斯原厂配件,仪景通公司对售出的维修配件不提供保修服务,也不提供退、换货服务,敬请您谨慎购买。';
            }else {
                QuotesPage.CUSTOMER_MESSAGE__c += '-奥林巴斯服务部售出的维修配件确保为质量符合奥林巴斯参数指标的新品,奥林巴斯对售出的维修配件不提供保修服务,同时也不提供退、换货服务。敬请您谨慎购买。\n';
                Messages01 = '-奥林巴斯服务部售出的维修配件确保为质量符合奥林巴斯参数指标的新品,奥林巴斯对售出的维修配件不提供保修服务,同时也不提供退、换货服务。敬请您谨慎购买。';
            }
            QuotesPage.CUSTOMER_MESSAGE__c += '-用户在此确认此次报价,决定购买:\n';
            Messages02 = '-用户在此确认此次报价,决定购买:';
            QuotesPage.CUSTOMER_MESSAGE__c += '客户签字或盖章:\n';
@@ -404,6 +401,7 @@
        if (String.isNotBlank(swoId)) {
            QuotesPage.SWO__c = swoId;
            //日期2121年11月15号之后的,用新的免责申明。
            aftORbef = true;
        }
        if (!'Cancel'.equals(QuotesPage.STATUS__c)) {
@@ -730,16 +728,16 @@
    public class EmailInfo {
        public Mail_Merge__c mm {get; set; }
        public List<FileAddress__c> attList {get; set; }
        public List<Attachment> attList {get; set; }
        public String haveAtt {get; set;}
        public EmailInfo() {
        }
        public EmailInfo(Mail_Merge__c mm_in, List<FileAddress__c> attList_in) {
        public EmailInfo(Mail_Merge__c mm_in, List<Attachment> attList_in) {
            mm = mm_in;
            if (attList_in == null || attList_in.size() == 0) {
                haveAtt = 'No';
                attList = new List<FileAddress__c>();
                attList = new List<Attachment>();
            } else {
                attList = attList_in;
                haveAtt = 'Yes';