19626
2023-07-12 fbd4bea7bd57b4d4a33cb9ed0ebc15d9bf6551c0
近日更新按钮,页面以及apex类
26个文件已添加
28个文件已修改
4723 ■■■■■ 已修改文件
force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/TransferApplyNew/TransferApplyNewController.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAura.cmp 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAura.cmp-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAura.css 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAuraController.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAuraHelper.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/AssetModifyBelongsController.cls 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ControllerUtil.cls 2711 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/MaintenanceProductDataController.cls 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/OPDNoReportApplicationController.cls 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ReportController.cls 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ReportControllerTest.cls 255 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/lexPCLLostReportLwcController.cls 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/lexSolutionProjectRequirementsController.cls 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexApplyAgainLwc/__tests__/lexApplyAgainLwc.test.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexApplyAgainLwc/lexApplyAgainLwc.html 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexApplyAgainLwc/lexApplyAgainLwc.js 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexApplyAgainLwc/lexApplyAgainLwc.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCBLBPNewLwc/lexCBLBPNewLwc.js 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexClosingCaseFlow/lexClosingCaseFlow.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCopyReport/__tests__/lexCopyReport.test.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCopyReport/lexCopyReport.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCopyReport/lexCopyReport.js 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCopyReport/lexCopyReport.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexNewOnLineSurvey/lexNewOnLineSurvey.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexNewSolutionProgramma/lexNewSolutionProgramma.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexNewSolutonProLwc/lexNewSolutonProLwc.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOPDReport/lexOPDReport.js 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOPDReportConsum/lexOPDReportConsum.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOPDReportConsum/lexOPDReportConsum.js 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOPDReportConsum/lexOPDReportConsum.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.css 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.html 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSpecSubmit/lexSpecSubmit.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSpecilaApplyCreateAch/lexSpecilaApplyCreateAch.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSubmitSolutionForApproval/lexSubmitSolutionForApproval.js 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSubmitSolutionSchemeForApproval/lexSubmitSolutionSchemeForApproval.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexTransferApplyNew/lexTransferApplyNew.html 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexTransferApplyNew/lexTransferApplyNew.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexTransferApplyNew/lexTransferApplyNew.js-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.html 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/AssetModifyBelongs.page 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/AttachmentPreview.page 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/DiscountProductApplicationTest.page 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/DiscountProductApplicationTest.page-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/MaintenanceProductData.page 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/OPDNoReportApplication.page 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/OPDNoReportApplication.page-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/SpecialPriceTest.page 477 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/SpecialPriceTest.page-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp
New file
@@ -0,0 +1,33 @@
<!--
 * @Description:
 * @Author: [lijinhuan]
 * @Date: 2023-04-26 17:25:35
 * @LastEditors: [lijinhuan]
 * @LastEditTime: 2023-07-03 16:17:03
-->
<aura:component
    implements="lightning:actionOverride,lightning:isUrlAddressable,force:lightningQuickAction,force:hasRecordId"
    access="global">
        <aura:html tag="style">
            .slds-modal__container{
            max-width: 65rem !important;
            width:100% !important;
            }
            .cuf-content {
            padding: 0 0rem !important;
            }
            .slds-p-around--medium {
            padding: 0rem !important;
            }
            .slds-modal__content{
            overflow-y:auto !important;
            height:unset !important;
            max-height:unset !important;
            min-height:8rem;
            }
            .slds-tile_board{
            padding:20px 40px;
            }
        </aura:html>
    <c:lexTransferApplyNew />
</aura:component>
force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp-meta.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>56.0</apiVersion>
    <description>A Lightning Component Bundle</description>
</AuraDefinitionBundle>
force-app/main/default/aura/TransferApplyNew/TransferApplyNewController.js
New file
@@ -0,0 +1,5 @@
({
    myAction : function(component, event, helper) {
    }
})
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAura.cmp
New file
@@ -0,0 +1,8 @@
<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:isUrlAddressable">
    <aura:attribute name="recordId" type="String" />
    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
    <div class="exampleHolder">
        <!-- <c:lexCustomDeleteLWC recordId="{!v.recordId}" /> -->
        <c:lexCBLBPNewLwc recordId="{!v.recordId}"/>
    </div>
</aura:component>
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAura.cmp-meta.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <description>A Lightning Component Bundle</description>
</AuraDefinitionBundle>
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAura.css
New file
@@ -0,0 +1,2 @@
.THIS {
}
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAuraController.js
New file
@@ -0,0 +1,7 @@
({
    doInit: function(component, event, helper) {
        var val=component.get('v.recordId');
        $A.get("e.force:closeQuickAction").fire();
        console.log('val',val);
    }
})
force-app/main/default/aura/lexCBLBPNewLwcAura/lexCBLBPNewLwcAuraHelper.js
New file
@@ -0,0 +1,5 @@
({
    helperMethod : function() {
    }
})
force-app/main/default/classes/AssetModifyBelongsController.cls
@@ -50,7 +50,7 @@
    public Boolean isShow { get; set; }
    public List<Attachment> attachments { get; set; }
    //CHAN-BC6BV2 XHL AddEnd 20190522
    public List<ContentDocument> contents { get; set; }
    //分页功能
    public Integer pageLimit {get; set;}
    public String soql {get; set;}
@@ -68,6 +68,14 @@
        pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize);
        attachments = new List<Attachment>();
        List<ContentDocumentLink> cdlList = [SELECT ContentDocumentId
                                                   FROM ContentDocumentLink
                                                   WHERE LinkedEntityId = :Id];
        List<ID> fileIDs = new List<ID>();
        for (ContentDocumentLink docLink : cdlList) {
            fileIDs.add(docLink.ContentDocumentId);
        }
        contents=[SELECT Title,OwnerId,ContentModifiedDate from ContentDocument WHERE id IN :fileIDs];
    }
    public boolean getcheckUser() {
@@ -170,7 +178,8 @@
        Map<String, AssetModifyBelongsChangeDetailInfo> MidMap = new Map<String, AssetModifyBelongsChangeDetailInfo>();
        List<Asset> asListed = new List<Asset>();
        soql = this.makeSoql1(text1, val1);
        asListed = Database.query(soql);
        System.debug('soql:'+soql);
        asListed = Database.query(soql);
        asListed = noSubmittedList(asListed);
        for (AssetModifyBelongsChangeDetailInfo bss : assetModifyBelongsChangeDetailRecordsview) {
            if (bss.check == true) {
@@ -260,7 +269,17 @@
        if (String.isNotBlank(val1)) {
            val1 = val1.trim();
        }
        String soql = 'select Id,name,SerialNumber,Asset_situation__c,Order_No__c,Account.Name,Status,Installation_Site__c,CurrentContract__c from Asset where AccountId = \'' + RawAccountId + '\'';
        String soql='';
        System.debug(RawAccountId);
        RawAccountId='';
        if(String.isBlank(RawAccountId)){
            soql = 'select Id,name,SerialNumber,Asset_situation__c,Order_No__c,Account.Name,Status,Installation_Site__c,CurrentContract__c from Asset where AccountId = \'\'';
            System.debug('id is null');
        }
        else {
            soql = 'select Id,name,SerialNumber,Asset_situation__c,Order_No__c,Account.Name,Status,Installation_Site__c,CurrentContract__c from Asset where AccountId = \'' + RawAccountId + '\'';
            System.debug('id is not null');
        }
        if (!String.isBlank(text1)) {
            if (text1 == 'Order_No__c' && checkexact) {
                soql += ' AND (' + text1 + ' = \'' + String.escapeSingleQuotes(val1) + '\' )';
@@ -325,6 +344,18 @@
    //跳转到上传附件页面
    public PageReference uploadingAttachment() {
        PageReference ref = new Pagereference('/p/attach/NoteAttach?pid=' + Id + '&retURL=%2Fapex/AssetModifyBelongs?Id=' + Id);
        //PageReference ref = new Pagereference('/lightning/n/Excel?objectApiName&context=RECORD_DETAIL&backgroundContext=%2Flightning%2Fr%2FAssetModifyBelongsChange__c%2F'+Id+'%2Fedit%3F0.source%3DalohaHeader&0.source='+Id+'&0.recordId='+Id+'');
        ref.setRedirect(true);
        return ref;
    }
    //跳转到上传附件页面(lightning)
    public PageReference uploadingAttachmentLightning() {
        //PageReference ref = new Pagereference('/p/attach/NoteAttach?pid=' + Id + '&retURL=%2Fapex/AssetModifyBelongs?Id=' + Id);
        PageReference ref = new Pagereference('/lightning/n/lightning?backgroundContext=%2Flightning%2Fr%2FAssetModifyBelongsChange__c%2F'+Id+'%2Fedit%3Fcount%3D1&0.recordId='+Id+'');
        ref.setRedirect(true);
        return ref;
    }
force-app/main/default/classes/ControllerUtil.cls
@@ -32,2690 +32,7 @@
    public ControllerUtil() {
        Integer i = 0;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
                i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
                i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
                i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
                i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
                i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
                i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
    }
    @AuraEnabled
    WebService static String selectCommonSequence(String valueField, String formatField) {
@@ -2800,6 +117,29 @@
    }
    
    public static void deleteAttachments(List<Attachment> atts) {
        if (atts.size() > 0) delete atts;
    }
    public static List<ContentDocument> getSmarmAttsLightning(String smarmId) {
        List<ContentDocumentLink> cdlList = [SELECT ContentDocumentId
                                                   FROM ContentDocumentLink
                                                   WHERE LinkedEntityId = :smarmId];
            List<ID> fileIDs = new List<ID>();
            for (ContentDocumentLink docLink : cdlList) {
                fileIDs.add(docLink.ContentDocumentId);
            }
        return [SELECT Title,OwnerId from ContentDocument WHERE id IN :fileIDs];
    }
    // public static void insertAttachmentsLightning(List<ContentDocument> atts) {
    //     if (atts.size() > 0) insert atts;
    // }
    public static void updateAttachmentsLightning(List<ContentDocument> atts) {
        if (atts.size() > 0) update atts;
    }
    public static void deleteAttachmentsLightning(List<ContentDocument> atts) {
        if (atts.size() > 0) delete atts;
    }
    
@@ -5494,6 +2834,7 @@
    /**
    OCM用,取消SI需求表
    */
    @AuraEnabled
    WebService static String setAbortSI(id isoID,String AbortReason){
        List<IS_Opportunity_Demand__c> updateList = new List<IS_Opportunity_Demand__c>();
        List<id> oppidList = new List<id>();
@@ -5734,7 +3075,7 @@
    }
    public class myException extends Exception {}
    @AuraEnabled
    WebService static String qureySoql(String soql) {
        List<SObject> rtnList = Database.query(soql);
        String rtnJSON = JSON.serialize(Database.query(soql), true);
force-app/main/default/classes/MaintenanceProductDataController.cls
@@ -83,7 +83,7 @@
    public Boolean editDelCommitBtnDisabled {get; private set;}
    public Boolean saveBtnDisabled { get; private set; }
    //public Boolean sorderBtnDisabled { get; private set; }
    private List<Attachment> attachmentinfo = new List<Attachment>();
    private List<ContentDocument> attachmentinfo = new List<ContentDocument>();
    //-----------
    private void initStandardController(){
@@ -474,8 +474,17 @@
                    mpdPrice.mpded.Intra_Trade_Service_RMB_Old__c = null;
                }
            }
            //附件
            attachmentinfo =[SELECT Id, Name,OwnerId FROM Attachment WHERE  parentid =:id  ];
            //附件(lightning)
            List<ContentDocumentLink> cdlList = [SELECT ContentDocumentId
                                                   FROM ContentDocumentLink
                                                   WHERE LinkedEntityId = :id];
            List<ID> fileIDs = new List<ID>();
            for (ContentDocumentLink docLink : cdlList) {
                fileIDs.add(docLink.ContentDocumentId);
            }
            attachmentinfo=[SELECT Title,OwnerId,ContentModifiedDate from ContentDocument WHERE id IN :fileIDs];
            // attachmentinfo =[SELECT Id, Name,OwnerId FROM Attachment WHERE  parentid =:id  ];
            if(attachmentinfo.size()>0){
                for (Integer i = 0; i < attachmentinfo.size(); i++) {
                    attachmentRecoeds.add(new MaintenanceProductDataDetailsInfo(attachmentinfo[i]));
@@ -1091,6 +1100,14 @@
        ref.setRedirect(true);
        return ref;
    }
    public PageReference FilesUploadLightning(){
        // PageReference ref = new Pagereference('/p/attach/NoteAttach?pid='+id+'&retURL=%2F' + '/apex/MaintenanceProductData?id=' +id);
        // ref.setRedirect(true);
        // return ref;
        PageReference ref = new Pagereference('/lightning/n/lightning?backgroundContext=%2Flightning%2Fr%2FAssetModifyBelongsChange__c%2F'+id+'%2Fedit%3Fcount%3D1&0.recordId='+id+'');
        ref.setRedirect(true);
        return ref;
    }
    // 提交按钮
    public PageReference Submitmpd() {
        //List<Maintenance_Product_Data__c> qs = New List<Maintenance_Product_Data__c>();
@@ -1351,7 +1368,7 @@
        public Boolean canSelect { get; set; }
        public Product2 Prod { get; set; }
        public Maintenance_Product_Data_Details__c mpdrdd {get; set;}
        public Attachment Concc { get; set; }
        public ContentDocument Concc { get; set; }
        public MaintenanceProductDataDetailsInfo(Maintenance_Product_Data_Details__c e) {
            check = true;
@@ -1368,7 +1385,7 @@
            canSelect = true;
        }
        //附件
        public MaintenanceProductDataDetailsInfo(Attachment e) {
        public MaintenanceProductDataDetailsInfo(ContentDocument e) {
            Concc = e;
        }
    }
force-app/main/default/classes/OPDNoReportApplicationController.cls
@@ -6,7 +6,7 @@
    //跳过上传附件判断 
    public Boolean IsHavFile { get; set; }
    //附件
    public List<Attachment> attachmentinfo { get; set; }
    public List<ContentDocument> attachmentinfo { get; set; }
    // //执行审批流成功标识
    public Boolean approvalFlag { get; set; }
@@ -45,7 +45,18 @@
            this.ModelLendingCodeId = opdPlan.ModelLending__c;
        }
        attachmentinfo = [SELECT Id, Name,OwnerId FROM Attachment WHERE  parentid = :paramId];
        //附件(lightning)
        List<ContentDocumentLink> cdlList = [SELECT ContentDocumentId
        FROM ContentDocumentLink
        WHERE LinkedEntityId = :paramId];
        List<ID> fileIDs = new List<ID>();
        for (ContentDocumentLink docLink : cdlList) {
        fileIDs.add(docLink.ContentDocumentId);
        }
        attachmentinfo=[SELECT Title,OwnerId,ContentModifiedDate from ContentDocument WHERE id IN :fileIDs];
        // attachmentinfo = [SELECT Id, Name,OwnerId FROM Attachment WHERE  parentid = :paramId];
        if(attachmentinfo.size()>0){
            IsHavFile =true;
        } else {
force-app/main/default/classes/ReportController.cls
@@ -293,10 +293,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
    //OPDtoSIS操作更新相应数据
@@ -309,10 +313,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
@@ -328,10 +336,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
    //完毕操作更新相应数据
@@ -345,10 +357,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
    //OCSM要报告操作更新相应数据
@@ -361,10 +377,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
@@ -378,10 +398,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',') + 1;
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
    //DispatchOCSMQARA操作更新相应数据
@@ -394,10 +418,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',');
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
    //OCSM不要报告操作更新相应数据
@@ -410,10 +438,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',');
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
@@ -427,10 +459,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',');
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
    
@@ -464,10 +500,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',');
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
@@ -481,14 +521,18 @@
            update rac;
            return null;
        } catch (Exception e) {
            System.debug(LoggingLevel.INFO, '*** e: ' + e);
            String exc = '' + e.getMessage();
            Integer left = exc.indexOf(':') + 1;
            Integer right = exc.lastIndexOf(':');
            String str = exc.substring(left,right);
            left = str.indexOf(',') +  1;
            String newStr = str.substring(left);
            return newStr;
            if (e.getMessage().contains(',')) {
                System.debug(LoggingLevel.INFO, '*** e: ' + e);
                String exc = '' + e.getMessage();
                Integer left = exc.indexOf(':') + 1;
                Integer right = exc.lastIndexOf(':');
                String str = exc.substring(left,right);
                left = str.indexOf(',') +  1;
                String newStr = str.substring(left);
                return newStr;
            }else {
                return e.getMessage();
            }
        }
    }
@@ -505,10 +549,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',');
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
    //VOC回答更新相应数据
@@ -517,7 +565,6 @@
        try {
            Report__c rac = [select Status__c,JingliApprovalManager__r.Id,BuchangApprovalManager__r.Id,SalesManager__r.Id,BuchangApprovalManagerSales__r.Id,ZongjianApprovalManager__c,Submit_time__c,Submit_report_day__c,Owner.Id from Report__c where Id = :recordId];
            // share
            rac.Id = recordId;
            User[] records = [SELECT  Job_Category__c FROM User WHERE Id = :createdById];
            List<String> userAccess = new List<String>();
            if (records[0].Job_Category__c == LightingButtonConstant.TYPE_OF_SALES_SERVICES) {
@@ -534,7 +581,7 @@
            userAccess.add(rac.ZongjianApprovalManager__c + LightingButtonConstant.USER_ACCESS_READ);
            String rtn = ControllerUtil.setSObjectShare(LightingButtonConstant.SOBJECT_NAME_OF_REPORT_SHARE,LightingButtonConstant.SOBJECT_NAME_OF_VOC_SHARE,recordId,userAccess,rac.Owner.Id);
            if (rtn != LightingButtonConstant.OK) {
            return null;
            return rtn;
            }
            rac.Status__c = LightingButtonConstant.STATUS_VOC_WRITE_OVER;
            rac.Submit_time__c = Date.today();
@@ -542,10 +589,14 @@
            update rac;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',');
            Integer right = eMessage.length();
            return eMessage.substring(left, right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
    //VOC判定更新相应数据
@@ -600,10 +651,14 @@
            update report;
            return null;
        } catch (Exception e) {
            String eMessage = e.getMessage();
            Integer left = eMessage.indexOf(',');
            Integer right = eMessage.length();
            return eMessage.substring(left,right);
            if (e.getMessage().contains(',')) {
                String eMessage = e.getMessage();
                Integer left = eMessage.indexOf(',');
                Integer right = eMessage.length();
                return eMessage.substring(left,right);
            }else {
                return e.getMessage();
            }
        }
    }
    @AuraEnabled
force-app/main/default/classes/ReportControllerTest.cls
@@ -1,123 +1,148 @@
@isTest
private  class ReportControllerTest {
    @TestSetup
    static void setData(){
        List<String> strList= new List<String>();
        strList.add('Agency_Contact__c');
        strList.add('Contact');
        TestDataUtility.CreatePIPolicyConfigurations(strList);
        Consum_Apply__c ca = new Consum_Apply__c();
        ca.DataMigration_Flag__c = true;
        insert ca;
        Address_Level__c al = new Address_Level__c();
        al.Name = '東京';
        al.Level1_Code__c = 'CN-99';
        al.Level1_Sys_No__c = '999999';
        insert al;
        // 市
        Address_Level2__c al2 = new Address_Level2__c();
        al2.Level1_Code__c = 'CN-99';
        al2.Level1_Sys_No__c = '999999';
        al2.Level1_Name__c = '東京';
        al2.Name = '渋谷区';
        al2.Level2_Code__c = 'CN-9999';
        al2.Level2_Sys_No__c = '9999999';
        al2.Address_Level__c = al.id;
        insert al2;
    static testMethod void methodName1(){
        Test.startTest();
            Report__c rac = new Report__c();
            rac.Id = 'a0B0l00000FD8o6EAD';
            rac.Status__c = '申請中';
            rac.Submit_time__c = Datetime.now();
            rac.Submit_report_day__c = Date.today();
            rac.Date__c = Date.today();
            update rac;
            Report__c res = [select Status__c,Submit_time__c,Submit_report_day__c from Report__c where Id = 'a0B0l00000FD8o6EAD'];
            System.debug(res);
        Test.stopTest();
        // 病院を作る
        Account hospital = new Account();
        hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
        hospital.Name = 'test hospital';
        hospital.Is_Active__c = '有効';
        hospital.Attribute_Type__c = '卫生部';
        hospital.Speciality_Type__c = '综合医院';
        hospital.Grade__c = '一级';
        hospital.OCM_Category__c = 'SLTV';
        hospital.Is_Medical__c = '医疗机构';
        hospital.State_Master__c = al.id;
        hospital.City_Master__c = al2.id;
        hospital.Town__c = '东京';
        insert hospital;
        // 戦略科室を得る
        Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
        // 診療科を作る
        Account dep = new Account();
        dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
        dep.Name = 'test dep';
        dep.AgentCode_Ext__c = '9999998';
        dep.ParentId = strategicDep[0].Id;
        dep.Department_Class__c = strategicDep[0].Id;
        dep.Hospital__c = hospital.Id;
        insert dep;
        Contact contact2 = new Contact();
        contact2.AccountId = dep.Id;
        contact2.FirstName = '責任者';
        contact2.LastName = 'test1经销商';
        insert contact2;
        // 产品
        Product2 pro5 = new Product2(Name='name05',IsActive=true,Family='SP',
                Fixture_Model_No__c='n05',Serial_Lot_No__c='S/N tracing',
                Fixture_Model_No_T__c = 'n05',
                ProductCode_Ext__c='pc05',Manual_Entry__c=false);
        insert pro5;
        //备品借出申请
        Rental_Apply__c raObj = new Rental_Apply__c();
        raObj.Name = 'testra';
        raObj.Product_category__c = 'GI';
        raObj.Demo_purpose1__c = '产品试用';
        raObj.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongwuxunjia');
        raObj.direct_send__c = '医疗机构';
        raObj.Loaner_received_staff__c = '王五';
        raObj.Loaner_received_staff_phone__c = '110';
        raObj.direct_shippment_address__c = '北京市';
        raObj.Hospital__c = hospital.Id;
        raObj.Strategic_dept__c = strategicDep[0].Id;
        raObj.Account__c = dep.Id;
        raObj.Request_shipping_day__c = Date.toDay();  // 希望到货日
        raObj.Hope_Lonaer_date_Num__c = 1;  // 希望借用天数
        // 预定归还日自动生成 预定归还日=(希望到货日+希望借用天数)-1
        // raObj.Request_return_day__c = Date.toDay();  // 预定归还日
        // B.OLY_OCM-669 入力规则: 希望借用天数不能为空
        raObj.Phone_number__c = '1234567890';
        raObj.Loaner_medical_Staff__c = contact2.Id;
        insert raObj;
        Report__c rep = new Report__c();
        rep.VOC_Informer_Contact__c = '139';
        rep.Comment__c = '测试';
        rep.Manual_Name__c = '测试医院/科室/经销商';
        insert rep;
    }
    static testMethod void methodName3(){
    static testMethod void methodName1(){
        Report__c rep = [select Id from Report__c limit 1];
        Rental_Apply__c re = [select Id from Rental_Apply__c limit 1];
        Consum_Apply__c ca = [select Id from Consum_Apply__c limit 1];
        Test.startTest();
        String recordId = 'a0B0l00000FDCPpEAP';
        String isVOC = 'VOC';
        String personId = '00510000002Z2o3AAC';
        Report__c r = [select Status__c,Submit_time__c from Report__c where Id = 'a0B0l00000FDCPpEAP' limit 1];
        Test.stopTest();
    }
    static testMethod void methodName2(){
        Test.startTest();
        String recordId = 'a0B0l00000FDCPpEAP';
        String isVOC = 'VOC';
        String personId = '00510000002Z2o3AAC';
        Report__c rac = new Report__c();
        rac.Id = recordId;
        List<Report__c> r = [select Id,OwnerId from Report__c where Id = :recordId limit 1];
        System.debug(r);
        if (isVOC == 'VOC') {
            // VOC対応者の経理部長総監を設定
            User[] records = [SELECT Id, Job_Category__c, JingliApprovalManager__c, SalesManager__c, BuchangApprovalManager__c, BuchangApprovalManagerSales__c, ZongjianApprovalManager__c FROM User WHERE Id = :personId];
            if (records[0].job_Category__c == '销售服务') {
                rac.VOC_jingli__c = records[0].JingliApprovalManager__c == null ? '' : records[0].JingliApprovalManager__c;
                rac.VOC_buzhang__c = records[0].BuchangApprovalManager__c == null ? '' : records[0].BuchangApprovalManager__c;
            } else {
                rac.VOC_jingli__c = records[0].SalesManager__c == null ? '' : records[0].SalesManager__c;
                rac.VOC_buzhang__c = records[0].BuchangApprovalManagerSales__c == null ? '' : records[0].BuchangApprovalManagerSales__c;
            }
            rac.VOC_zongjian__c = records[0].ZongjianApprovalManager__c == null ? '' : records[0].ZongjianApprovalManager__c;
            rac.Status__c = '判定完毕';
            rac.VOC_Finish__c = false;
            Date serverTimestamp = Date.today();
            rac.VOC_share_date__c = serverTimestamp;
            // share
            List<String> userAccess = new List<String>();
            userAccess.add(rac.Responsible_Person__r.Id + '_Edit');
            userAccess.add(rac.VOC_jingli__r.Id + '_Read');
            userAccess.add(rac.VOC_buzhang__r.Id + '_Read');
            userAccess.add(rac.VOC_zongjian__r.Id + '_Read');
            String rtn = ControllerUtil.setSObjectShare('Report__Share','VOCShare__c',recordId,userAccess,r[0].OwnerId);
            if (rtn != 'OK') {
                return;
            }
            update rac;
            } else {
                rac.Status__c = '完毕';
                rac.VOC_Finish__c = true;
                update rac;
            }
        Test.stopTest();
    }
    static testMethod void methodName4(){
        Test.startTest();
        String recordId = 'a0B0l00000FDbTOEA1';
        Report__c rac  = new Report__c();
        rac.Id = recordId;
        rac.Status__c = '回答完毕';
        update rac;
        Test.stopTest();
    }
    static testMethod void methodName5(){
        Test.startTest();
        String recordId = 'a0B0l00000FDbTOEA1';
        Report__c rac = new Report__c();
        String Satisfy = '是';
        String Satisfy1 = '';
        rac.Id = recordId;
        if (Satisfy == '是') {
            rac.Status__c = '结果确认完毕';
            } else if (Satisfy == '否') {
            // 対応結果(一回目)に値なければ、一回目の「否」と見なす
            if (Satisfy1 != '否') {
            Report__c[] records = [SELECT Id, VOC_Satisfy__c, VOC_Unsatisfy_Reason__c, VOC_follow_up_result__c, VOC_solution_category__c FROM Report__c WHERE Id = :recordId];
            rac.VOC_Satisfy__c = null;
            rac.VOC_Unsatisfy_Reason__c = null;
            rac.VOC_follow_up_result__c = null;
            rac.VOC_solution_category__c = null;
            rac.VOC_Satisfy1__c= records[0].VOC_Satisfy__c;
            rac.VOC_Unsatisfy_Reason1__c = records[0].VOC_Unsatisfy_Reason__c;
            rac.VOC_follow_up_result1__c = records[0].VOC_follow_up_result__c;
            rac.VOC_solution_category1__c = records[0].VOC_solution_category__c;
            rac.Status__c = '草案中';
            }
            // 対応結果(一回目)に値あれば、二回目の「否」と見なす
            else {
            rac.Status__c = '结果确认完毕';
            }
            }
        update rac;
        Test.stopTest();
        ReportController.initForASACEditorButton(rep.Id);
        ReportController.initForASRCEditorButton(rep.Id);
        ReportController.initForCancelButton(rep.Id);
        ReportController.initForCompleteButton(rep.Id);
        ReportController.initForNewOnLineSurveyButton(rep.Id);
        ReportController.initForOCSMNoToReportButton(rep.Id);
        ReportController.initForOCSMToReportButton(rep.Id);
        ReportController.initForOPDReportButton(re.Id);
        ReportController.initForOPDReportConsumButton(ca.Id);
        ReportController.initForOPDtoSISButton(rep.Id);
        ReportController.initForSIStoOPDButton(rep.Id);
        ReportController.initForSubmitCompetitorReportButton(rep.Id);
        ReportController.initForVOCAnswerButton(rep.Id);
        ReportController.initForVOCCheckButton(rep.Id);
        ReportController.initForVOCConfirmButton(rep.Id);
        ReportController.initForVOCFinishButton(rep.Id);
        ReportController.initForVOCSubmitButton(rep.Id);
        ReportController.updateForCancelButton(rep.Id);
        ReportController.updateForCancelButton('');
        ReportController.updateForCancelSubmitReportButton(rep.Id);
        ReportController.updateForCancelSubmitReportButton('');
        ReportController.updateForCompleteButton(rep.Id);
        ReportController.updateForCompleteButton('');
        ReportController.updateForDispatchOCSMQARAButton(rep.Id);
        ReportController.updateForDispatchOCSMQARAButton('');
        ReportController.updateForOCSMNoToReportButton(rep.Id);
        ReportController.updateForOCSMNoToReportButton('');
        ReportController.updateForOCSMToReportButton(rep.Id);
        ReportController.updateForOCSMToReportButton('');
        ReportController.updateForOPDtoSISButton(rep.Id);
        ReportController.updateForOPDtoSISButton('');
        ReportController.updateForSIStoOPDButton(rep.Id);
        ReportController.updateForSIStoOPDButton('');
        ReportController.updateForSubmitButton(rep.Id);
        ReportController.updateForSubmitButton('');
        ReportController.updateForSubmitCompetitorReportButton(rep.Id);
        ReportController.updateForSubmitCompetitorReportButton('');
        ReportController.updateForVOCAnswerButton(rep.Id);
        ReportController.updateForVOCAnswerButton('');
        ReportController.updateForVOCCheckButton(rep.Id,'VOC',UserInfo.getUserId());
        ReportController.updateForVOCConfirmButton(rep.Id,'否', '是');
        ReportController.updateForVOCFinishButton(rep.Id);
        ReportController.updateForVOCFinishButton('');
        ReportController.updateForVOCSubmitButton(rep.Id, UserInfo.getUserId());
        Test.stopTest();
    }
    
}
force-app/main/default/classes/lexPCLLostReportLwcController.cls
@@ -399,6 +399,27 @@
                    }
                }
            }
            if (report.lostReport.Report_Status__c != '草案') {
                ProcessInstance pro = [
                SELECT
                ProcessDefinition.Name,
                 (
                    SELECT
                    Id,
                    StepStatus,
                    IsPending,
                    Comments,
                    CreatedDate,
                    Actor.Name,
                    OriginalActor.Name,
                    ProcessNode.Name FROM StepsAndWorkitems order by IsPending DESC, CreatedDate DESC
                )
                FROM ProcessInstance where TargetObjectId =:reportId order by CreatedDate DESC
                ];
                List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>();
                items.addall(pro.StepsAndWorkitems);
                report.approvalHistorys = items;
            }
            // lostReportId = report.lostReport.id;
            system.debug('save---end:');
            messageMap.put('LostReport',JSON.serialize(report));
force-app/main/default/classes/lexSolutionProjectRequirementsController.cls
@@ -1,22 +1,45 @@
public with sharing class lexSolutionProjectRequirementsController {
    @AuraEnabled
    public static InitData initSubmitSolutionForApprovalButton(String recordId){
    public static Map<String,Object> initSubmitSolutionForApprovalButton(String recordId){
        InitData res = new InitData();
        Map<String,Object> maps = new Map<String,Object>();
        try {
            SolutionProjectRequirements__c so = [
                select
                Status__c,
                Submit_Date_YouWant__c,
                CreatedDate,
                Department_Class__r.Id,
                Department_Class__c,
                Product_Leader__c
                from SolutionProjectRequirements__c where Id =: recordId
            ];
            res.status = so.Status__c;
            res.submitDateYouWant = so.Submit_Date_YouWant__c;
            res.createdDate = so.CreatedDate;
            res.departmentClassId = so.Department_Class__r.Id;
            res.departmentClassId = so.Department_Class__c;
            res.productLeader = so.Product_Leader__c;
            res.userId = UserInfo.getUserId();
            res.userName = UserInfo.getUserName();
            maps.put('res', res);
        } catch (Exception e) {
            String message = e.getMessage();
            maps.put('error', message);
            return maps;
        }
        return maps;
    }
    @AuraEnabled
    public static InitData initForApplyAgainButton(String recordId){
        InitData res = new InitData();
        try {
            SolutionProjectRequirements__c so = [
                select
                Department_Class__c,
                Hospital__c
                from SolutionProjectRequirements__c where Id =: recordId
            ];
            res.hospital = so.Hospital__c;
            res.departmentClass = so.Department_Class__c;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
@@ -34,7 +57,7 @@
            ]; 
            res.status = so.Status__c;
            res.profileId = UserInfo.getProfileId();
            res.m2ProfileId = lexLightingButtonConstant.M2_PROFILE_NAME;
            res.m2ProfileId = [select Id from Profile where Name =: lexLightingButtonConstant.M2_PROFILE_NAME].Id;
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
@@ -133,5 +156,11 @@
        public String profileId;
        @AuraEnabled
        public String m2ProfileId;
        @AuraEnabled
        public String oldProjectNo;
        @AuraEnabled
        public String departmentClass;
        @AuraEnabled
        public String hospital;
    }
}
force-app/main/default/lwc/lexApplyAgainLwc/__tests__/lexApplyAgainLwc.test.js
New file
@@ -0,0 +1,25 @@
import { createElement } from 'lwc';
import LexApplyAgainLwc from 'c/lexApplyAgainLwc';
describe('c-lex-apply-again-lwc', () => {
    afterEach(() => {
        // The jsdom instance is shared across test cases in a single file so reset the DOM
        while (document.body.firstChild) {
            document.body.removeChild(document.body.firstChild);
        }
    });
    it('TODO: test case generated by CLI command, please fill in test logic', () => {
        // Arrange
        const element = createElement('c-lex-apply-again-lwc', {
            is: LexApplyAgainLwc
        });
        // Act
        document.body.appendChild(element);
        // Assert
        // const div = element.shadowRoot.querySelector('div');
        expect(1).toBe(1);
    });
});
force-app/main/default/lwc/lexApplyAgainLwc/lexApplyAgainLwc.html
New file
@@ -0,0 +1,14 @@
<!--
 * @Description:
 * @version:
 * @Author: chen jing wu
 * @Date: 2023-06-30 17:55:39
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-30 17:56:38
-->
<template>
    <div class="cancelReportHolder" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
    </div>
</template>
force-app/main/default/lwc/lexApplyAgainLwc/lexApplyAgainLwc.js
New file
@@ -0,0 +1,64 @@
/*
 * @Description:
 * @version:
 * @Author: chen jing wu
 * @Date: 2023-06-30 17:55:39
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-07-07 16:22:25
 */
import { LightningElement,wire,track,api} from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import init  from '@salesforce/apex/lexSolutionProjectRequirementsController.initForApplyAgainButton';
import { NavigationMixin } from 'lightning/navigation';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
export default class LexApplyAgainLwc extends NavigationMixin(LightningElement) {
    @api recordId;
    departmentClassId;
    hospitalId;
    @wire(CurrentPageReference)
     getStateParameters(currentPageReference) {
             console.log(111);
             console.log(currentPageReference);
         if (currentPageReference) {
           const urlValue = currentPageReference.state.recordId;
           if (urlValue) {
             let str = `${urlValue}`;
             console.log("str");
             console.log(str);
             this.recordId = str;
           }
         }
     }
     connectedCallback(){
        init({
            recordId: this.recordId
        }).then(result=>{
            console.log(result);
            this.departmentClassId = result.departmentClass;
            this.hospitalId = result.hospital;
            this.ApplyAgain();
        });
     }
     ApplyAgain(){
      const defaultValues = encodeDefaultFieldValues({
        old_Project_No__c: this.recordId,
        Department_Class__c: this.departmentClassId,
        Hospital__c: this.hospitalId
      });
      this[NavigationMixin.Navigate]({
          type: 'standard__objectPage',
          attributes: {
              objectApiName: 'SolutionProjectRequirements__c',
              actionName: 'new'
          },
          state: {
              nooverride: '1',
              defaultFieldValues: defaultValues
          }
      });
      this.dispatchEvent(new CloseActionScreenEvent());
     }
}
force-app/main/default/lwc/lexApplyAgainLwc/lexApplyAgainLwc.js-meta.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>54.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__RecordPage</target>
        <target>lightning__AppPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>
force-app/main/default/lwc/lexCBLBPNewLwc/lexCBLBPNewLwc.js
@@ -7,23 +7,23 @@
import { NavigationMixin } from 'lightning/navigation';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
export default class LexCBLBPNewLwc extends LightningElement {
export default class LexCBLBPNewLwc extends NavigationMixin(LightningElement) {
    @api recordId;
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
            console.log(111);
            console.log(currentPageReference);
    // @wire(CurrentPageReference)
    // getStateParameters(currentPageReference) {
    //         console.log(111);
    //         console.log(currentPageReference);
        if (currentPageReference) {
          const urlValue = currentPageReference.state.recordId;
          if (urlValue) {
            let str = `${urlValue}`;
            console.log("str");
            console.log(str);
            this.recordId = str;
          }
        }
    }
    //     if (currentPageReference) {
    //       const urlValue = currentPageReference.state.recordId;
    //       if (urlValue) {
    //         let str = `${urlValue}`;
    //         console.log("str");
    //         console.log(str);
    //         this.recordId = str;
    //       }
    //     }
    // }
    connectedCallback(){
      this.CBLBPNewLwc();
    }
force-app/main/default/lwc/lexClosingCaseFlow/lexClosingCaseFlow.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-06-21 11:23:56
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-21 17:51:15
 * @LastEditTime: 2023-07-07 13:29:49
 */
import { api, wire,LightningElement } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
force-app/main/default/lwc/lexCopyReport/__tests__/lexCopyReport.test.js
New file
@@ -0,0 +1,25 @@
import { createElement } from 'lwc';
import LexCopyReport from 'c/lexCopyReport';
describe('c-lex-copy-report', () => {
    afterEach(() => {
        // The jsdom instance is shared across test cases in a single file so reset the DOM
        while (document.body.firstChild) {
            document.body.removeChild(document.body.firstChild);
        }
    });
    it('TODO: test case generated by CLI command, please fill in test logic', () => {
        // Arrange
        const element = createElement('c-lex-copy-report', {
            is: LexCopyReport
        });
        // Act
        document.body.appendChild(element);
        // Assert
        // const div = element.shadowRoot.querySelector('div');
        expect(1).toBe(1);
    });
});
force-app/main/default/lwc/lexCopyReport/lexCopyReport.html
New file
@@ -0,0 +1,5 @@
<template>
    <div class="copyHolder" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
    </div>
</template>
force-app/main/default/lwc/lexCopyReport/lexCopyReport.js
New file
@@ -0,0 +1,46 @@
/*
 * @Description:
 * @version:
 * @Author: chen jing wu
 * @Date: 2023-07-03 17:04:07
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-07-03 17:55:07
 */
import { api, wire,LightningElement } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import { updateRecord } from 'lightning/uiRecordApi';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { NavigationMixin } from 'lightning/navigation';
export default class LexCopyReport extends NavigationMixin(LightningElement) {
    @api recordId;
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
            console.log(111);
            console.log(currentPageReference);
        if (currentPageReference) {
          const urlValue = currentPageReference.state.recordId;
          if (urlValue) {
            let str = `${urlValue}`;
            console.log("str");
            console.log(str);
            this.recordId = str;
          }
        }
    }
    connectedCallback(){
        this[NavigationMixin.Navigate]({
            type: 'standard__objectPage',
            attributes: {
                objectApiName: 'Report__c',
                actionName: 'clone',
                recordId: this.recordId
            },
            state: {
                nooverride: '1'
            }
        });
    }
}
force-app/main/default/lwc/lexCopyReport/lexCopyReport.js-meta.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>54.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__RecordPage</target>
        <target>lightning__AppPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>
force-app/main/default/lwc/lexNewOnLineSurvey/lexNewOnLineSurvey.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-06-29 13:45:26
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-29 16:43:33
 * @LastEditTime: 2023-07-07 09:12:29
 */
/*
 * @Description: 
@@ -14,7 +14,7 @@
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-29 14:29:53
 */
import { api, wire,LightningElement } from 'lwc';
import { api, wire,LightningElement, track } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import { updateRecord } from 'lightning/uiRecordApi';
@@ -30,6 +30,7 @@
    ownerId;
    selectedRecordTypeId;
    IsLoading = true;
    @track recordTypeOptions;
    @wire(getObjectInfo, { objectApiName: 'On_Line_Survey__c' })
    objectInfo({ error, data }) {
      if (data) {
@@ -60,6 +61,7 @@
        init({
            recordId: this.recordId
        }).then(result=>{
            console.log(result);
            this.date = result.datec;
            this.practitioner1 = result.practitioner1;
            this.ownerId = result.ownerId;
force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js
@@ -217,8 +217,7 @@
                                                Agency__c: this.agency1Id,
                                                StageName__c: this.opportunityStage,
                                                Change_To_Opportunity__c: this.recordId,
                                                Department_Cateogy__c: this.opportunityCategory,
                                                RecordTypeId: recTypeId
                                                Department_Cateogy__c: this.opportunityCategory
                                            });
                                            this[NavigationMixin.Navigate]({
                                                type: 'standard__objectPage',
@@ -229,6 +228,7 @@
                                                state: {
                                                    nooverride: '1',
                                                    defaultFieldValues: defaultValues,
                                                    recordTypeId: recTypeId
                                                }
                                            });
                                            this.dispatchEvent(new CloseActionScreenEvent());
force-app/main/default/lwc/lexNewSolutionProgramma/lexNewSolutionProgramma.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-06-26 11:10:52
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-26 14:18:17
 * @LastEditTime: 2023-07-10 14:11:57
 */
import { api, wire,LightningElement } from 'lwc';
@@ -17,7 +17,7 @@
import { NavigationMixin } from 'lightning/navigation';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
export default class LexNewSolutionProgramma extends LightningElement {
export default class LexNewSolutionProgramma extends NavigationMixin(LightningElement) {
  @api recordId;
  status;
  girWindowDirectorApproved;
@@ -51,6 +51,7 @@
    init({
      recordId: this.recordId
    }).then(result=>{
      console.log(result);
      this.status = result.status;
      this.girWindowDirectorApproved = result.girWindowDirectorApproved;
      this.hospitalOwnerId = result.hospitalOwnerId;
@@ -59,7 +60,10 @@
      this.newSolutionProgramma();
    });
  }
  newSolutionProgramma(){
  newSolutionProgramma(){
    this.profileId = this.m2profileId;
    this.girWindowDirectorApproved = true;
    console.log(this.profileId != this.m2profileId);
    if(this.profileId != this.m2profileId){
      this.showToast('只有GIR窗口才能新建方案','error');
      this.dispatchEvent(new CloseActionScreenEvent());
@@ -67,13 +71,16 @@
      this.showToast('结案后不能新建方案','error');
      this.dispatchEvent(new CloseActionScreenEvent());
    }else if(this.status == '01草案中' || this.status == '02需求已提交'){
      this.dispatchEvent(new CloseActionScreenEvent());
    }else if(!this.girWindowDirectorApproved){
      this.showToast('项目需求还未通过审批不能新建方案','error');
      this.dispatchEvent(new CloseActionScreenEvent());
    }else{
      console.log("start");
      console.log(this.hospitalOwnerId);
      const defaultValues = encodeDefaultFieldValues({
        SolutionProjectRequirements__c: this.recordId == undefined ? '' : this.recordId,
        Business_Promotion__c: this.hospitalOwnerId == undefined ? '' : this.hospitalOwnerId
        SolutionProjectRequirements__c: this.recordId,
        Business_Promotion__c: this.hospitalOwnerId
      });
      this[NavigationMixin.Navigate]({
          type: 'standard__objectPage',
force-app/main/default/lwc/lexNewSolutonProLwc/lexNewSolutonProLwc.js
@@ -39,6 +39,7 @@
        init({
            recordId: this.accountId
        }).then(result=>{
            console.log(result);
            this.hospitalId = result.hospitalId;
            this.hospitalOCMCategory = result.hospitalOCMCategory;
            this.hospitalSalesdepartmentHP = result.hospitalSalesdepartmentHP;
force-app/main/default/lwc/lexOPDReport/lexOPDReport.js
@@ -53,6 +53,7 @@
            recordId: this.recordId
        }).then(result=>{
            console.log(result);
            console.log("start");
            this.assetReturnDay2 = result.assetReturnDay2;
            this.demoPurpose2 = result.demoPurpose2;
            this.followUPOpp = result.followUPOpp;
@@ -74,21 +75,6 @@
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        }
        //var d = new Date("{!Rental_Apply__c.Asset_return_day2__c}");
        //var d15 = new Date("{!Rental_Apply__c.Asset_return_day2__c}");
        //d15.setDate(d.getDate()+7);
        //if(status == "已回寄" && ( new Date()< d || new Date() > d15)){
        // alert("备品借出状态:" + status + ",但不在回寄日之后7天之内,不能创建报告书!");
        // return;
        //}
        //2021/7/15 fxk Start
        // var str;
        // var url;
        // str='&RecordType=01210000000RLTi';
        // url = '/a0B/e?retURL=%2Fa0B%2Fo'+str;
        //2021/7/15 fxk End
        //SWAG-BVW8CW 20201217 让user自己选择recordtype
@@ -96,6 +82,7 @@
        var demo_purpose2 = this.demoPurpose2;
        // var strs ;
        if(demo_purpose2=='试用(有询价)'){
            console.log('y');
            const defaultValues = encodeDefaultFieldValues({
                Loaner_request_no1__c: this.recordId, // 关联主记录 ID
                Hospital_Reference__c: this.hospital,
@@ -119,11 +106,9 @@
                }
            });
            this.dispatchEvent(new CloseActionScreenEvent());
            // strs='&CF00N10000002DT68=' + this.followUPOpp +
            // '&CF00N10000002DT68_lkid=' + this.followUPOppId +
            // '&00N10000002DHk5=跟进询价'
            return;
        }
        console.log('n');
        //Before Update by LiJun 20220321 end
        //After Update by LiJun 20220321 start
        const defaultValues = encodeDefaultFieldValues({
@@ -146,16 +131,6 @@
            }
        });
        this.dispatchEvent(new CloseActionScreenEvent());
        // url = url + '&CF00N10000004maf3=' + this.name +
        // '&CF00N10000004maf3_lkid=' + this.recordId +
        // '&CF00N10000002DPUD=' + this.hospital +
        // '&CF00N10000002DPUD_lkid=' + this.hospitalId +
        // '&CF00N10000002Dh0f=' + this.strategicDept +
        // '&CF00N10000002Dh0f_lkid='+ this.strategicDeptId +
        // '&CF00N10000008ps6d=' + this.opdPlan +
        // '&CF00N10000008ps6d_lkid=' + this.opdPlanId +
        // '&CF00N10000002CWW4=' + this.account +
        // '&CF00N10000002CWW4_lkid=' + this.accountId;
        //After Update by LiJun 20220321 end
    }
}
force-app/main/default/lwc/lexOPDReportConsum/lexOPDReportConsum.html
New file
@@ -0,0 +1,5 @@
<template>
    <div class="holder" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
    </div>
</template>
force-app/main/default/lwc/lexOPDReportConsum/lexOPDReportConsum.js
New file
@@ -0,0 +1,124 @@
/*
 * @Description:
 * @version:
 * @Author: chen jing wu
 * @Date: 2023-06-09 16:41:45
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-07-06 09:34:39
 */
import { LightningElement,api, track, wire } from 'lwc';
import {CurrentPageReference} from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { NavigationMixin } from 'lightning/navigation';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
import init from '@salesforce/apex/ReportController.initForOPDReportConsumButton';
export default class LexOPDReportConsum extends NavigationMixin(LightningElement) {
    @api recordId;
    raStatus;
    productCategory;
    hospital;
    strategicDept;
    account;
    consumApplyId;
    recordTypeId;
    recordTypeId1;
    msg;
    Isloading = true;
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
            console.log(111);
            console.log(currentPageReference);
        if (currentPageReference) {
          const urlValue = currentPageReference.state.recordId;
          if (urlValue) {
            let str = `${urlValue}`;
            console.log("str");
            console.log(str);
            this.recordId = str;
          }
        }
    }
    showToast(msg,type) {
        const event = new ShowToastEvent({
            title: '',
            message: msg,
            variant: type
        });
        this.dispatchEvent(event);
        this.dispatchEvent(new CloseActionScreenEvent());
    }
    updateRecordView(recordId) {
        updateRecord({fields: { Id: recordId }});
    }
    connectedCallback(){
        init({
            recordId: this.recordId
        }).then(result=>{
            this.raStatus = result.raStatus;
            this.productCategory = result.productCategory;
            this.hospital = result.hospital;
            this.strategicDept = result.strategicDept;
            this.account = result.account;
            this.consumApplyId = result.consumApplyId;
            this.recordTypeId = result.recordTypeId;
            this.recordTypeId1 = result.recordTypeId1;
            this.OPDReportConsum();
        });
    }
    OPDReportConsum(){
        var status = this.raStatus;
        if(status != "已出库" && status != "申请者已收货" && status != "待消耗" && status != "已回寄" && status != "完了"){
            this.msg = "耗材借出状态:" + status + ",不能创建报告书!";
            this.showToast(this.msg,'error');
            return;
        }
        var Product_category = this.productCategory;
        var strs ;
        var url
        if(Product_category =='ET'){
            const defaultValues = encodeDefaultFieldValues({
                Consum_Apply__c: this.recordId, // 关联主记录 ID
                Hospital_Reference__c: this.hospital,
                Department_Class_Ref__c: this.strategicDept,
                Hospital_Department__c: this.account
            });
            this[NavigationMixin.Navigate]({
                type: 'standard__objectPage',
                attributes: {
                    objectApiName: 'Report__c',
                    actionName: 'new'
                },
                state: {
                    nooverride: '1',
                    defaultFieldValues: defaultValues,
                    recordTypeId: this.recordTypeId
                }
            });
        }else if(Product_category =='DISP'){
            const defaultValues = encodeDefaultFieldValues({
                Consum_Apply__c: this.recordId, // 关联主记录 ID
                Hospital_Reference__c: this.hospital,
                Department_Class_Ref__c: this.strategicDept,
                Hospital_Department__c: this.account
            });
            this[NavigationMixin.Navigate]({
                type: 'standard__objectPage',
                attributes: {
                    objectApiName: 'Report__c',
                    actionName: 'new'
                },
                state: {
                    nooverride: '1',
                    defaultFieldValues: defaultValues,
                    recordTypeId: this.recordTypeId1
                }
            });
        }
    }
}
force-app/main/default/lwc/lexOPDReportConsum/lexOPDReportConsum.js-meta.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>54.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.css
@@ -7,7 +7,13 @@
    margin-right: 10px;
}
/* .holder{
    position: relative;
    display: inline-block;
    width: 80px;
    height: 80px;
    text-align: center;
} */
.my-combobox {
    display: flex;
    align-items: center; 
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.html
@@ -4,9 +4,12 @@
 * @Author: chen jing wu
 * @Date: 2023-04-20 17:16:48
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-30 10:06:30
 * @LastEditTime: 2023-07-10 16:53:54
-->
<template>
    <div class="holder" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
    </div>
    <template if:true={isInit}>
        <template if:true={isCreateOrEdit}>
            <lightning-card id="my-element1" class="card"  variant="Narrow" data-id="my-card">
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-04-20 15:04:03
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-30 09:55:38
 * @LastEditTime: 2023-07-10 17:41:12
 */
const columns2=[
    { label: '--无--', value: '' },
@@ -88,6 +88,8 @@
    isSubmit = false;
    deleteBrandIdList = [];
    deleteProductIdList = [];
    IsLoading;
    newApprovalHistorys;
    connectedCallback(){
        init({
            oppId1: this.oppId,
@@ -108,7 +110,9 @@
                this.LostReport = report;
                this.LostReport.lostReport.LostTotalAmount__c = 0.0;
                this.LostReport.lostReport.InclusionUltrasound__c = '0';
                this.newProduct = JSON.parse(JSON.stringify(this.LostReport.LostBrands[0].LostProducts[0]));
                this.newApprovalHistorys = JSON.parse(JSON.stringify(this.LostReport.approvalHistorys));
                console.log(this.LostReport);
                this.isInit = true;
            }
@@ -240,6 +244,7 @@
    }
    submitJs() {
        console.log('1');
        this.IsLoading = true;
        submit({
            report1: JSON.stringify(this.LostReport),
            reportId: this.reportId
@@ -259,7 +264,9 @@
                this.submitFlag = JSON.parse(JSON.stringify(result.submitFlag));
                console.log(this.LostReport);
                this.updateRecordView(this.reportId);
                this.LostReport.lostReport.Report_Status__c = '申请中';
            }
            this.IsLoading = false;
        }).catch(error=>{
            console.log("error");
            console.log(error);
@@ -367,23 +374,27 @@
    }
    cancel() {
        // Navigate to the specified opportunity page using the NavigationMixin
            this[NavigationMixin.Navigate]({
                type: 'standard__recordPage',
                attributes: {
                    recordId: this.oppId,
                    actionName: 'view'
                }
            });
        this[NavigationMixin.Navigate]({
            type: 'standard__recordPage',
            attributes: {
                recordId: this.oppId,
                actionName: 'view'
            }
        });
    }
   
    saveBrandJs(event) {
        this.IsLoading = true;
        this.dataCheck();
        if(!this.flag){
            this.IsLoading = false;
            return;
        }
        console.log(this.LostReport);
        var newLostReport = JSON.parse(JSON.stringify(this.LostReport));
        newLostReport.approvalHistorys = this.newApprovalHistorys;
        dataEntry({
            report1 : JSON.stringify(this.LostReport),
            report1 : JSON.stringify(newLostReport),
            deleteBrandIdList: this.deleteBrandIdList,
            deleteProductIdList: this.deleteProductIdList
        }).then(result=>{
@@ -413,6 +424,7 @@
                this.showToast('保存成功','success');
                console.log(this.LostReport);
            }
            this.IsLoading = false;
        }).catch(error=>{
            console.log("error");
            console.log(error);
force-app/main/default/lwc/lexSpecSubmit/lexSpecSubmit.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-06-06 15:41:32
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-06 16:40:51
 * @LastEditTime: 2023-07-07 10:35:35
 */
import { api, wire,LightningElement } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
@@ -69,10 +69,12 @@
        if((reason == '招标质疑'||reason == '取消招标') && (file == false)){
            this.showToast('请上传附件。','error');
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        }
        if(status != '草案中'&& status != '驳回'){
            this.showToast('当前状态无法提交审批。','error');
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        }
        this.handleConfirmClick('一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?');
force-app/main/default/lwc/lexSpecilaApplyCreateAch/lexSpecilaApplyCreateAch.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-06-25 10:54:07
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-25 13:04:02
 * @LastEditTime: 2023-07-07 11:22:38
 */
import { LightningElement,api, track, wire } from 'lwc';
import {CurrentPageReference} from 'lightning/navigation';
@@ -40,7 +40,7 @@
        }).then(result=>{
            console.log(result);
            this.oppId = result.oppId;
            this.forecastStatus = result.forecastStatus;
            this.forecastStatus = result.oppForecastStatus;
            this.recordTypeId = result.recordTypeId;
            this.specilaApplyCreateAch();
        });
@@ -60,7 +60,7 @@
            },
            state: {
                defaultFieldValues: defaultValues,
                RecordTypeId: this.recordTypeId
                recordTypeId: this.recordTypeId
            }
        });
        this.dispatchEvent(new CloseActionScreenEvent());
force-app/main/default/lwc/lexSubmitSolutionForApproval/lexSubmitSolutionForApproval.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-06-20 14:37:24
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-20 17:50:52
 * @LastEditTime: 2023-07-07 16:11:12
 */
import { api, wire,LightningElement } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
@@ -58,13 +58,18 @@
        init({
            recordId: this.recordId
        }).then(result=>{
            this.status = result.status;
            this.submitDateYouWant = result.submitDateYouWant;
            this.createdDate = result.createdDate;
            this.departmentClassId = result.departmentClassId;
            this.userId = result.userId;
            this.userName = result.userName;
            this.submitSolutionForApproval();
            console.log(result);
            if(result.res){
                this.status = result.res.status;
                this.submitDateYouWant = new Date(result.res.submitDateYouWant);
                // this.createdDate = result.res.createdDate;
                this.createdDate = new Date(result.res.createdDate);
                this.productLeader = result.res.productLeader;
                this.departmentClassId = result.res.departmentClassId;
                this.userId = result.res.userId;
                this.userName = result.res.userName;
                this.submitSolutionForApproval();
            }
        });
    }
@@ -74,24 +79,27 @@
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        }
        if(this.submitDateYouWant < this.createdDate + 3){
            this.showToast('希望提交日期不得小于三天,如紧急需求请邮件联络Solution担当','error');
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        }
        console.log("start");
        queryForAttachments({
            Id: this.departmentClassId
        }).then(result=>{
            console.log("start");
            var records = result;
            var header = this.productLeader;
            var usrname = this.userName;
            var rtn = '';
            if(header.contains(usrname.replaceAll(' ', ''))){
            console.log("start");
            if(header.includes(usrname)){
                rtn = 'Y';
            }else{
                rtn = 'N';
            }
            if(records.length > 0){
                if(rtn != 'Y' && this.userId != records[0].Department_Class__r.OwnerId && this.userId != records[0].Department_Class__r.Owner.SalesManager__c){
                    this.showToast('只允其战略科室主担、产品担当及省经理提交solution项目需求!','error');
@@ -99,8 +107,6 @@
                    return;
                }
            }
            //111111111111111111111111111111111111111111
            this.handleConfirmClick('一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?');
            
        });
@@ -135,6 +141,7 @@
                    return;
                }
                this.updateRecordView(this.recordId);
                this.dispatchEvent(new CloseActionScreenEvent());
            });
            // isopd.Id = "{!SolutionProjectRequirements__c.Id}";
            // isopd.Submint_TF__c = true;
force-app/main/default/lwc/lexSubmitSolutionSchemeForApproval/lexSubmitSolutionSchemeForApproval.js
@@ -1,3 +1,11 @@
/*
 * @Description:
 * @version:
 * @Author: chen jing wu
 * @Date: 2023-06-21 09:17:25
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-07-07 16:35:41
 */
import { api, wire,LightningElement } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
force-app/main/default/lwc/lexTransferApplyNew/lexTransferApplyNew.html
New file
@@ -0,0 +1,3 @@
<template>
</template>
force-app/main/default/lwc/lexTransferApplyNew/lexTransferApplyNew.js
New file
@@ -0,0 +1,45 @@
/*
 * @Description: 新建调拨重写 No. 默认*
 * @Author: [lijinhuan]
 * @Date: 2023-07-03 15:55:28
 * @LastEditors: [lijinhuan]
 * @LastEditTime: 2023-07-07 09:50:38
 */
import { LightningElement,wire } from 'lwc';
import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
export default class LexTransferApplyNew extends NavigationMixin(LightningElement) {
    recordTypeId;
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
        if (currentPageReference) {
            const urlValue = currentPageReference.state.recordTypeId;
            console.log('****urlValue****',urlValue);
            let str = `${urlValue}`;
            this.recordTypeId = str;
            console.log('****str****',str);
            let defaultFieldValues = {};
            defaultFieldValues['Name'] = '*';
            let states =
                {
                    nooverride: '1',
                    navigationLocation: 'LIST_VIEW',
                    backgroundContext: '/lightning/o/TransferApply__c/list?filterName=Recent&0.source=alohaHeader',
                    defaultFieldValues: encodeDefaultFieldValues(defaultFieldValues),
                };
            if (urlValue) {
                states['recordTypeId'] =  this.recordTypeId;
                states['useRecordTypeCheck'] =  1;
            }
            this[NavigationMixin.Navigate]({
                type: 'standard__objectPage',
                attributes: {
                    objectApiName: 'TransferApply__c',
                    actionName: 'new'
                },
                state: states
            });
        }
    }
}
force-app/main/default/lwc/lexTransferApplyNew/lexTransferApplyNew.js-meta.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <isExposed>false</isExposed>
</LightningComponentBundle>
force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.html
@@ -1,6 +1,14 @@
<!--
 * @Description:
 * @version:
 * @Author: chen jing wu
 * @Date: 2023-06-14 16:06:52
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-07-12 13:50:00
-->
<template>
    <div class="vocSubmitHolder" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
        <!-- <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button> -->
    </div>
</template>
force-app/main/default/pages/AssetModifyBelongs.page
@@ -1,14 +1,16 @@
<apex:page standardController="AssetModifyBelongsChange__c" extensions="AssetModifyBelongsController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="最终用户变更申请" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:stylesheet value="{!URLFOR($Resource.StyleUtilCss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/>
<script>
function ClearJs(){
    blockme();
    document.getElementById("allPage:allForm:allBlock:searchBlock:text1").value = "";
    document.getElementById("allPage:allForm:allBlock:searchBlock:val1").value = "";
    searchConsumableorderdetails();
}
var selectedSize = 0;
@@ -136,7 +138,7 @@
        </apex:actionFunction>
         <apex:actionFunction name="DelConsumable" action="{!DelConsumable}" rerender="ConsumableorderdetailsSection, message" onComplete="unblockUI();CheckStatusAfter()">
        </apex:actionFunction>
        <apex:actionFunction name="uploadingAttachmentJs" action="{!uploadingAttachment}" rerender="ConsumableorderdetailsSection, message" onComplete="unblockUI();CheckStatusAfter()">
        <apex:actionFunction name="uploadingAttachmentJs" action="{!uploadingAttachmentLightning}" rerender="ConsumableorderdetailsSection, message" onComplete="unblockUI();CheckStatusAfter()">
        </apex:actionFunction>
        <apex:actionFunction name="returnChangePage" action="{!returnChangePage}" rerender="ConsumableorderdetailsSection, message" onComplete="unblockUI();CheckStatusAfter()">
        </apex:actionFunction>
@@ -145,12 +147,11 @@
        </apex:actionFunction>
        <!-- <apex:actionFunction name="UnabletoEdit" action="{!UnabletoEdit}" rerender="ConsumableorderdetailsSection, message" onComplete="unblockUI()">
        </apex:actionFunction> -->
        <apex:outputPanel id="allPanel">
            <apex:pageBlock id="allBlock" >
                <apex:pageBlock id="EDCline_1" >
                    <apex:commandButton style="display:none"/>
                    <apex:commandButton onclick="EditConsumable();"   value="编辑" style="margin-left:30px;width:180px" rerender="dummy" rendered="{!!(editAble)}"  disabled="{!IF(ambc.Change_status__c='已提交'||ambc.Change_status__c='批准'||ambc.Change_status__c='驳回',true,false)}"/>
                    <apex:commandButton onclick="SorderJs();"         value="提交订单" style="margin-left:30px;width:180px" rerender="dummy" rendered="{!!(editAble )}" disabled="{!IF(ambc.Change_status__c='已提交'||ambc.Change_status__c='批准',true,false)}"/>
                    <apex:commandButton onclick="saveJs();"           value="保存变更申请单" style="margin-left:30px;width:180px" rerender="dummy" rendered="{!IF((editAble) && ambc.Change_status__c !='驳回',true,false)}" />
                    <apex:commandButton onclick="saveJs();"           value="保存变更申请单" style="margin-left:30px;width:180px" rerender="dummy" rendered="{!IF(ambc.Change_status__c='驳回' && editAble,true,false)}" />
@@ -170,7 +171,7 @@
                            <col width="300px"/>
                        </colgroup>
                        <tr>
                        <tr style='line-height: 25px;'>
                            <td align="right" >申请单编码:</td>
                            <td align="left" ><apex:outputField id="OrderCode_out"  value="{!ambc.Name}" style="width:300px"/></td>
                            <td/>
@@ -178,7 +179,7 @@
                            <td align="left" ><apex:outputField id="OrderStatus_out" value="{!ambc.Change_status__c}" style="width:100px"/></td>
                            <td/>
                        </tr>
                        <tr>
                        <tr  style='line-height: 25px;'>
                            <td align="right" >原客户:</td>
                            <td align="left" ><apex:outputField value="{!ambc.rawAccount__r.Name}"/></td>
                            <td/>
@@ -187,7 +188,7 @@
                            <td/>
                        </tr> 
                        
                        <tr>
                        <tr  style='line-height: 25px;'>
                            <apex:outputPanel rendered="{!checkUser}">
                                <td align="right" >SPO表单号:</td>
                                <td align="left" ><apex:outputField value="{!ambc.SPOLink__c}"/></td>
@@ -200,7 +201,7 @@
                            </td>
                            <!-- CHAN-B9B68N Stop -->
                        </tr>
                        <tr>
                        <tr  style='line-height: 25px;'>
                            <td align="right">备注:</td>
                             <td align="left"><apex:outputField value="{!ambc.remark__c}" style="width:200px"/></td>
                            <!-- LZHU-BPJ8DF 20200513  Start -->
@@ -212,7 +213,7 @@
                            <!--  LZHU-BPJ8DF 20200513 End -->
                        </tr>
                        <!-- WLIG-BS7B4T ---20200806---update By rentongxiao---Start -->
                        <tr>
                        <tr  style='line-height: 25px;'>
                            <td align="right">共享:</td>
                             <td align="left"><apex:outputField value="{!ambc.share__c}" style="width:50px"/></td>
                            <td/>
@@ -251,7 +252,7 @@
                            id="val1" style="width:100px"/>
                            </td>
                            <td align="left"><div id="seachdiv">合同编码精确查询<apex:inputCheckbox value="{!checkexact}" id="RowCheckbox"/></div></td>
                            <td><apex:commandButton value="保有设备搜索" style="width: 100px;" onclick="searchProductJs('0');return false;" /></td>
                            <td><apex:commandButton value="保有设备搜索" style="width: 120px;" onclick="searchProductJs('0');return false;" /></td>
                            <td><input type="button" value="清空" style="width: 100px;" onclick="ClearJs();return false;" class="btn"/></td>
                            <td/>
                        </tr>
@@ -301,6 +302,7 @@
                 </apex:outputPanel>
                <apex:pageBlock title="保有设备所属变更明细" id="ConsumableorderdetailsSection">
                <input type="hidden" id="allPage:allForm:allBlock:ConsumableorderdetailsSection:ConsumableorderdetailsCount" value="{!ConsumableorderdetailsviewCount}" />
                <input type="hidden" id="allPage:allForm:allBlock:ConsumableorderdetailsSection:Id" value="{!Id}" />
                    <table class="list" border="0" cellpadding="0" cellspacing="0">
                        <tr class="headerRow">
                            <apex:variable var="v" value="" rendered="{!editAble}">
@@ -339,20 +341,22 @@
                    </table>
                </apex:pageBlock>
                <!-- CHAN-BC6BV2 XHL AddStart 20190522 -->
                <apex:pageBlock title="附件" id="accessory" rendered="{!isShow}">
                <apex:pageBlock title="文件" id="accessory" rendered="{!isShow}">
                
                    <apex:pageBlockButtons location="top">
                        <apex:commandButton value="附件上传"  onclick="uploadingAttachmentJs();" disabled="{!IF(ambc.Change_status__c='已提交'||ambc.Change_status__c='批准',true,false)}"/>
                        <apex:commandButton value="文件上传"  onclick="uploadingAttachmentJs();" disabled="{!IF(ambc.Change_status__c='已提交'||ambc.Change_status__c='批准',true,false)}"/>
                    </apex:pageBlockButtons>
                    <apex:pageBlockTable value="{!attachments}" var="attachment" >
                    <apex:pageBlockTable value="{!contents}" var="attachment" >
                        
                        
                        <apex:column headerValue="标题" style="width: 33%">
                            <apex:outputField value="{!attachment.Name}"/>
                            <apex:outputField value="{!attachment.Title}"/>
                        </apex:column>
                        <apex:column headerValue="上次修改时间" style="width: 33%">
                            <apex:outputField value="{!attachment.CreatedDate}"/>
                            <apex:outputField value="{!attachment.ContentModifiedDate}"/>
                        </apex:column>
                        <apex:column headerValue="创建人" style="width: 33%">
                            <apex:outputField value="{!attachment.OwnerId}"/>
@@ -365,5 +369,6 @@
        </apex:outputPanel>
    </apex:form>
<script>
</script>
</apex:page>
force-app/main/default/pages/AttachmentPreview.page
@@ -1,6 +1,7 @@
<apex:page action="{!init}" controller="AttachmentPreviewController" id="allPage" showheader="false" sidebar="false">
<apex:page action="{!init}" controller="AttachmentPreviewController" id="allPage" showheader="false" sidebar="false" lightningStylesheets="true">
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}">
    </apex:stylesheet>
    <apex:stylesheet value="{!URLFOR($Resource.StyleUtilCss)}"/>
    <apex:includescript value="{!URLFOR($Resource.jquery183minjs)}">
    </apex:includescript>
    <apex:includescript value="{!URLFOR($Resource.PleaseWaitDialog)}">
@@ -115,18 +116,18 @@
    <body>
        <div style="height: 40px;background-color:#0f218b;width: 100%; ">
            <h1 style="color: white;margin-left: 45%;font-size: 24px;">
               附件一览表
               文件一览表
            </h1>
        </div>
        <table class="pure-table pure-table-horizontal" id="theTable_header" styleclass="list" style="width: 100%">
            <thead>
                <tr style="text-align: center;">
                    <th scope="col" style="width:60%; font-size: 13px;text-align: center;">
                        附件名称
                        文件名称
                    </th>
                    <apex:variable rendered="{!IF(attachmentInfo.isShow,true,false)}" value="Society" var="Society">
                        <th scope="col" style="width: 40%;font-size: 13px;text-align: center;">
                            附件类型
                            文件类型
                        </th>
                    </apex:variable>
                    <!--  <td scope="col" style="width: 40%;height: 30px;">
force-app/main/default/pages/DiscountProductApplicationTest.page
New file
@@ -0,0 +1,224 @@
<apex:page standardController="DiscountProductApplication__c" extensions="DiscountProductApplicationController"  action="{!init}"  showHeader="false"   sidebar="true" id="dpaPage"  title="特价产品申请信息" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/>
<apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
    <script>
function setFocusOnLoad() {}
function bodyOnLoad(){setFocusOnLoad();}
        function searchAimsAccount1(){
            // openPopup('/apex/searchAimsAccount?accId={!dpa.RawAccount__c }', 'setsearch', 800, 600, 'width=900,height=600,scrollbars=yes,toolbar=no,status=no,directories=no,menubar=no,resizable=1', true);
            var flag = {!ispage};
            if (flag == true) {
                // var accid = j$(escapeVfId('dpaPage:dpaForm:dpaBlock:rawAccountId_lkid')).value();
                var accid = j$(escapeVfId('dpaPage:dpaForm:dpaBlock:rawAccountId')).value();
                openPopup('/apex/searchAimsAccount?accName='+accid, 'setsearch', 800, 600, 'width=900,height=600,scrollbars=yes,toolbar=no,status=no,directories=no,menubar=no,resizable=1', true);
            }else{
                openPopup('/apex/searchAimsAccount?accId={!dpa.RawAccount__c }', 'setsearch', 800, 600, 'width=900,height=600,scrollbars=yes,toolbar=no,status=no,directories=no,menubar=no,resizable=1', true);
            }
        }
        function checkAll() {
            blockme();
            selectedSize = 0;
            var productCount = j$(escapeVfId('dpaPage:dpaForm:ConsumableorderdetailsSection:unCheckedDpadCount')).value();
            if (j$(escapeVfId('checker')).attr('checked') == 'checked') {
                for (var i = 0; i < productCount; i++) {
                    j$(escapeVfId('dpaPage:dpaForm:ConsumableorderdetailsSection:Product2List:' + i + ':variableinfo' + ':Product2Check')).attr('checked',true);
                    selectedSize ++;
                    //alert(selectedSize);
                }
            } else {
                //var outer = 0;
                for (var i = 0; i < productCount; i++) {
                    //outer = Math.floor(i / 1000);
                    j$(escapeVfId('dpaPage:dpaForm:ConsumableorderdetailsSection:Product2List:' + i + ':variableinfo' + ':Product2Check')).attr('checked',false);
                    //selectedSize --;
                }
            }
        }
        // function pdValue(j){
        //     var z;
        //     var a = j.id;
        //     var i=a.substring(0,a.lastIndexOf(':'));
        //     z  =  parseFloat(j$(escapeVfId(i+':ProductDiscount')).value());
        //     if(isNaN(z)){z=0.00;}
        //     var y = parseFloat(j$(escapeVfId(i+':ProductDiscountmoney')).value());
        //     if(y == null || (y != z && z!=null&&z!=0&&z!='')){
        //     j$(escapeVfId(i+':variableinfo:Product2Check')).attr('checked',true);
        //     }else{
        //     j$(escapeVfId(i+':variableinfo:Product2Check')).attr('checked',false);
        //     }
        // }
        function pdValue(j){
            var a = j.id;
            var i=a.substring(0,a.lastIndexOf(':'));
            var strz = j$(escapeVfId(i+':ProductDiscount')).value();
            strz = strz.replace(',','');
            var z  =  parseFloat(strz+"");
            console.log('z:'+z);
            console.log('strz:'+strz);
            var strOldValue = j$(escapeVfId(i+':ProductDiscountmoney')).value();
            var oldValue = parseFloat(strOldValue);
            console.log('oldValue:'+oldValue);
            if (isNaN(z) && isNaN(oldValue)) {
                j$(escapeVfId(i+':variableinfo:Product2Check')).attr('checked',false);
            }else{
                if (z != oldValue) {
                    console.log('12');
                    j$(escapeVfId(i+':variableinfo:Product2Check')).attr('checked',true);
                }else if (z == oldValue) {
                    j$(escapeVfId(i+':variableinfo:Product2Check')).attr('checked',false);
                }
            }
        }
        function SearchJs(){
        }
        //add by rentx 2021-2-20
        function searchAccount() {
            // body...
            openPopup('/apex/searchAccount', 'setsearch', 800, 600, 'width=900,height=600,scrollbars=yes,toolbar=no,status=no,directories=no,menubar=no,resizable=1', true);
        }
        function searchFn() {
            blockme();
            search();
            j$(escapeVfId("dpaPage:dpaForm:dpaBlock:tempid")).val('tempId');
            // j$(escapeVfId('dpaPage:dpaForm:dpaBlock:tempid')).value() = 'tempid';
        }
        //add by rentx 2021-2-20
    </script>
    <apex:form id="dpaForm" >
        <apex:actionFunction name="search" action="{!searchAllProduct2}" oncomplete="unblockUI();" reRender="ConsumableorderdetailsSection,message" />
        <apex:pageBlock title="特价产品申请信息" id="dpaBlock" >
            <apex:pageBlockButtons location="top"  >
                <apex:commandButton value="保存" disabled="{!IF(dpa.ApplicationStatus__c='申请中'||dpa.ApplicationStatus__c='批准'||dpa.ApplicationStatus__c='驳回',true,false)}" onclick="blockme();" style="margin-left:30px;width:100px" action="{!savesaveDiscountProduct}" onComplete="unblockUI();CheckStatusAfter();" reRender="ConsumableorderdetailsSection,message"/>
            </apex:pageBlockButtons>
            <table style="width: 900px;margin: auto;">
                <tr>
                    <td align="right" >经销商:</td>
                    <td align="left">
                        <!-- //update by rentx 2021-2-22 start -->
                        <apex:outputField rendered="{!!isPage}" value="{!dpa.RawAccount__c}" style="width:300px"/>
                        <apex:inputField id="rawAccountId" rendered="{!isPage}" required="true" value="{!dpa.RawAccount__c}" />
                        <!-- //update by rentx 2021-2-22 end -->
                    </td>
                    <td/>
                    <td align="right">医院:
                    </td>
                    <td width="100px"><apex:inputText id="AimsAccount" disabled="{!IF(dpa.ApplicationStatus__c='申请中'||dpa.ApplicationStatus__c='批准'||dpa.ApplicationStatus__c='驳回',true,false)}" style="width:150px" value="{!AimsAccount}" onclick="searchAimsAccount1()"
                        onfocus="if (j$(escapeVfId('dpaPage:dpaForm:dpaBlock:tempid')).value() != 'tempId' && j$(escapeVfId('dpaPage:dpaForm:dpaBlock:tempid')).value() != '') {searchFn()}" />
                    </td>
                    <td style="display:none"><apex:inputText style="display:none" id="AimsAccountId" value="{!AimsAccountId}"/></td>
                    <td style="display:none"><apex:inputText style="display:none"  value="{!dpa.ApplicationStatus__c }"/></td>
                    <apex:inputHidden id="tempid" value="{!tempVal}"/>
                    <td>
                        <!-- <apex:commandButton value="保存" disabled="{!IF(dpa.ApplicationStatus__c='申请中'||dpa.ApplicationStatus__c='批准'||dpa.ApplicationStatus__c='驳回',true,false)}" onclick="blockme();" style="margin-left:30px;width:180px" action="{!savesaveDiscountProduct}" onComplete="unblockUI();CheckStatusAfter();" reRender="ConsumableorderdetailsSection,message"/> -->
                        <!-- <apex:commandButton value="保存" disabled="{!IF(dpa.ApplicationStatus__c='申请中'||dpa.ApplicationStatus__c='批准'||dpa.ApplicationStatus__c='驳回',true,false)}" onclick="blockme();saveAimsAccountId();" style="margin-left:30px;width:180px" action="{!savesaveDiscountProduct}" onComplete="unblockUI();CheckStatusAfter();" reRender="ConsumableorderdetailsSection,message"/> -->
                    </td>
                    <!-- <td/> -->
                </tr>
                <tr style="height: 10px" />
                <tr>
                    <td align="right" >产品名称:</td>
                    <td align="left"><apex:inputText disabled="{!IF(dpa.ApplicationStatus__c='申请中'||dpa.ApplicationStatus__c='批准'||dpa.ApplicationStatus__c='驳回',true,false)}" value="{!text1}" style="width:300"/>
                    </td>
                    <td/>
                    <td align="right" >产品编码:</td>
                    <td align="left"><apex:inputText disabled="{!IF(dpa.ApplicationStatus__c='申请中'||dpa.ApplicationStatus__c='批准'||dpa.ApplicationStatus__c='驳回',true,false)}" value="{!text2}" style="width:150px"/>
                    </td>
                    <td><apex:commandButton value="检索" disabled="{!IF(dpa.ApplicationStatus__c='申请中'||dpa.ApplicationStatus__c='批准'||dpa.ApplicationStatus__c='驳回',true,false)}" onclick="blockme();" style="margin-left:30px;width:100px" action="{!searchAllProduct2}" oncomplete="unblockUI();" reRender="ConsumableorderdetailsSection,message"/>
                    </td>
                </tr>
            </table>
        </apex:pageBlock>
        <apex:outputPanel id="message" >
            <apex:pageMessages />
        </apex:outputPanel>
            <apex:pageBlock title="特价产品明细" id="ConsumableorderdetailsSection">
                <input type="hidden" id="dpaPage:dpaForm:ConsumableorderdetailsSection:unCheckedDpadCount" value="{!unCheckedDpadCount}" />
                <table class="list" border="0" cellpadding="0" cellspacing="0">
                    <colgroup>
                        <col width="4%" />
                        <col width="34%" />
                        <col width="9%" />
                        <col width="9%" />
                        <col width="9%" />
                        <col width="9%" />
                        <col width="9%" />
                        <col width="9%" />
                        <col width="8%" />
                    </colgroup>
                    <tr class="headerRow">
                        <apex:variable var="" value="" >
                            <th  type='checkbox' onClick='checkAll()'>
                                <input disabled="{!IF(dpa.ApplicationStatus__c='申请中'||dpa.ApplicationStatus__c='批准'||dpa.ApplicationStatus__c='驳回',true,false)}" type='checkbox' onClick='checkAll()' id='checker'/>选择</th>
                        </apex:variable>
                        <!-- update by rentx 2021-01-17 -->
                        <!-- <th>产品检索用</th> -->
                        <th>产品名称</th>
                        <!-- update by rentx 2021-01-17 -->
                        <th>产品编码</th>
                        <th>NMPA状态</th>
                        <!-- <th>内贸定价(RMB)</th>
                        <th>外贸定价(USD)</th> -->
                        <th>第2分类</th>
                        <th>第3分类</th>
                        <th>第4分类</th>
                        <th>第5分类</th>
                        <th>产品特价</th>
                    </tr>
                        <apex:repeat value="{!DiscountProductApplicationDetailList}" var="dpad" id="Product2List">
                        <tr class="dataRow">
                           <apex:variable var="v" value="" id="variableinfo">
                                <td>
                                <apex:inputCheckbox value="{!dpad.check}" disabled="{!IF(dpa.ApplicationStatus__c='申请中'||dpa.ApplicationStatus__c='批准'||dpa.ApplicationStatus__c='驳回',true,false)}" onclick="CheckSize(this);" id="Product2Check"/>
                                <apex:inputHidden value="{!dpad.dp.id}"/>
                                </td>
                            </apex:variable>
                            <td class="dataCell" style="display:none">{!dpad.pr2.id}</td>
                            <td class="dataCell">{!dpad.pr2.Name__c}</td>
                            <td class="dataCell">{!dpad.pr2.OT_CODE_Text__c}</td>
                            <td class="dataCell">{!dpad.pr2.SFDA_Status__c}</td>
                            <!-- <td class="dataCell">{!dpad.pr2.Intra_Trade_List_RMB__c}</td>
                            <td class="dataCell">{!dpad.pr2.Foreign_Trade_List_US__c}</td> -->
                            <td class="dataCell">{!dpad.pr2.Category2__c}</td>
                            <td class="dataCell">{!dpad.pr2.Category3__c}</td>
                            <td class="dataCell">{!dpad.pr2.Category4__c}</td>
                            <td class="dataCell">{!dpad.pr2.Category5__c}</td>
                            <td class="dataCell">
                                <apex:inputField rendered="{!IF(dpa.ApplicationStatus__c='草案中' || dpa.ApplicationStatus__c='',true,false)}" onblur="pdValue(this)" id="ProductDiscount" value="{!dpad.dp.ProductDiscount__c}" style="width: 100px;"/>
                                <apex:outputField rendered="{!IF(dpa.ApplicationStatus__c !='草案中' && dpa.ApplicationStatus__c !='',true,false)}" value="{!dpad.dp.ProductDiscount__c}" />
                                <apex:inputHidden id="ProductDiscountmoney" value="{!dpad.dismoney}"/>
                            </td>
                        </tr>
                        </apex:repeat>
                </table>
             </apex:pageBlock>
    </apex:form>
</apex:page>
force-app/main/default/pages/DiscountProductApplicationTest.page-meta.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <label>DiscountProductApplicationTest</label>
</ApexPage>
force-app/main/default/pages/MaintenanceProductData.page
@@ -853,7 +853,7 @@
        </apex:actionFunction>
        <apex:actionFunction name="setEditAble" action="{!setEditAble}" rerender="mpdDetailsSection,edmpdDetails, message" onComplete="unblockUI();">
        </apex:actionFunction>
        <apex:actionFunction name="FilesUpload" action="{!FilesUpload}" rerender="mpdDetailsSection,edmpdDetails, message" onComplete="unblockUI();">
        <apex:actionFunction name="FilesUpload" action="{!FilesUploadLightning}" rerender="mpdDetailsSection,edmpdDetails, message" onComplete="unblockUI();">
        </apex:actionFunction>
        <apex:actionFunction name="Submitmpd" action="{!Submitmpd}" rerender="mpdDetailsSection,edmpdDetails, message" onComplete="unblockUI();init();">
        </apex:actionFunction>
@@ -864,7 +864,7 @@
        <apex:pageBlock id="EDCline_1" >
            <apex:commandButton onclick="EditMpd();"   value="编辑" style="margin-left:30px;width:180px" rerender="mpdDetailsSection,edmpdDetails,message" rendered="{!!editAble }" disabled="{!IF(mpd.Status__c ='草案中'||mpd.Status__c='已驳回'||!editDisabled,false,true)}"/>
            <apex:commandButton onclick="FilesUploadJs();" value="上传附件" style="margin-left:30px;width:180px" rerender="mpdDetailsSection,message" rendered="{!!(EditDelCommitBtnDisabled||editAble)}" disabled="{!IF(mpd.Status__c ='草案中'||mpd.Status__c='已驳回'||!editDisabled,false,true)}"/>
            <apex:commandButton onclick="FilesUploadJs();" value="上传文件" style="margin-left:30px;width:180px" rerender="mpdDetailsSection,message" rendered="{!!(EditDelCommitBtnDisabled||editAble)}" disabled="{!IF(mpd.Status__c ='草案中'||mpd.Status__c='已驳回'||!editDisabled,false,true)}"/>
           <apex:commandButton onclick="SubmitmpdJs();"    value="提交待审批" style="margin-left:30px;width:180px" rerender="unEditable" rendered="{!!(EditDelCommitBtnDisabled||editAble)}" disabled="{!IF(mpd.Status__c ='草案中'||mpd.Status__c='已驳回',false,true)}"/>
            <apex:commandButton onclick="Update();" value="保存维护记录" style="margin-left:30px;width:180px" rerender="edmpdDetails" rendered="{!IF(editAble,true,false)}" />
@@ -1213,7 +1213,7 @@
                <apex:pageblocksection title="{!IF(editAble,'产品主数据维护','产品主数据维护(蓝色为新值)')}" id="edmpdDetails" rendered="{!IF(mpdDetailsRecordsCount >0,true,false)}" html-style="width: 100%;overflow:auto;">
                <apex:outputLabel style="width: 100%;">
                <input type="hidden" id="allPage:allForm:allBlock:edmpdDetails:mpdDetailsRecordsCount" value="{!mpdDetailsRecordsCount}" />
                    <table class="list" border="0" cellpadding="0" cellspacing="0"  >
                    <table class="list" border="0" cellpadding="0" cellspacing="0">
                        <tr class="headerRow">
                            <apex:variable var="v" value="" rendered="{!IF(editAble&&RecordTypeName='GuranteeMain'&&mpd.Status__c='服务填写',true,false)}">
                               <th>选择</th>
@@ -1255,7 +1255,7 @@
                                        <apex:variable var="edv" value="" rendered="{!editAble}" id="edvariable">
                                            <apex:outputPanel rendered="{!(edc.size==1)}" layout="none">
                                                <apex:outputPanel layout="none" rendered="{!IF((RecordTypeName = 'GuranteeMain'&& !contains(GuranteeMainProductService,edc[0]))||RecordTypeName != 'GuranteeMain',true , false)}">
                                                    <apex:InputField value="{!aa.mpded[edc[0]]}"  id="edtheValue" style="max-width: 120px;min-width: 10px"/>
                                                    <apex:InputField value="{!aa.mpded[edc[0]]}"  id="edtheValue" style="max-width: 120px;min-width: 10px;margin-bottom: 0px;"/>
                                                </apex:outputPanel>
                                                <apex:outputPanel layout="none" rendered="{!IF((RecordTypeName = 'GuranteeMain'&& !contains(GuranteeMainProductService,edc[0]))||RecordTypeName != 'GuranteeMain',false , true)}">
                                                    <apex:outputField value="{!aa.mpded[edc[0]]}"/>
@@ -1353,11 +1353,11 @@
            </apex:pageBlock>
        </apex:outputPanel>
    </apex:form>
    <apex:pageBlock title="附件" id="mpdataSection" rendered="{!!editAble}">
    <apex:pageBlock title="文件" id="mpdataSection" rendered="{!!editAble}">
        <apex:pageBlockTable value="{!AttachmentRecoeds}" var="a" >
        <apex:column headerValue="标题" style="width: 33%">
        <apex:outputLink value="/{!a.Concc.Id}?retURL={!URLENCODE('/apex/MaintenanceProductData?id='+id)}" target="_self">
            {!a.Concc.name}
            {!a.Concc.Title}
        </apex:outputLink>
        </apex:column>
        <apex:column headerValue="创建人">
force-app/main/default/pages/OPDNoReportApplication.page
@@ -1,4 +1,4 @@
<apex:page standardController="OPDPlan__c"   extensions="OPDNoReportApplicationController" showHeader="false" sidebar="false" id="allPage" title="无报告申请" action="{!init}"  docType="html-5.0">
<apex:page standardController="OPDPlan__c"   extensions="OPDNoReportApplicationController" showHeader="false" sidebar="false" id="allPage" title="无报告申请" action="{!init}"  docType="html-5.0"  lightningStylesheets="true">
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
@@ -617,13 +617,14 @@
                </apex:pageBlockSectionItem>
            </apex:pageBlockSection>
            <!-- 附件页面 -->
            <apex:pageBlockSection title="附件" id="tableListH"  collapsible="false" dir="LTR" >
            <apex:pageBlockSection title="文件" id="tableListH"  collapsible="false" dir="LTR" >
                <apex:pageBlockTable value="{!attachmentinfo}" var="a" style="margin-left: 50%; width: 150%;">
                <apex:column headerValue="标题" style="width: 50%">
                    <apex:outputLink value="https://ocsm--stagefull--c.documentforce.com/servlet/servlet.FileDownload?file={!a.id}" target="_self">
                    <!-- <apex:outputLink value="https://ocsm--stagefull--c.documentforce.com/servlet/servlet.FileDownload?file={!a.id}" target="_self"> -->
                    <apex:outputLink value="https://ocsm--partial.sandbox.my.salesforce.com/{!a.id}" target="_self">
                    <!-- https://ocsm--c.ap0.content.force.com/servlet/servlet.FileDownload?file -->
                    <!-- https://ocsm--stagefull--c.documentforce.com/servlet/servlet.FileDownload?file= -->
                          {!a.name}
                          {!a.Title}
                    </apex:outputLink>
                </apex:column>
                <apex:column headerValue="创建人">
@@ -635,8 +636,10 @@
            <apex:outputPanel id="popupBox" layout="block" style="display:none">
                <input type="file" id="file_input" name="attFile"/><br/>
                <center>
                    <apex:commandButton value="确认" onclick="saveAttachment(); return false;" style="width: 20%; margin: 20px 10px 0px 10px" />
                    <apex:commandButton value="取消" onclick="popupBox.hide();" style="width: 20%; margin: 20px 10px 0px 10px" />
                    <span><apex:commandButton value="确认" onclick="saveAttachment(); return false;" style="width: 20%; margin: 20px 10px 0px 10px" /></span>
                    <span><apex:commandButton value="取消" onclick="popupBox.hide();" style="width: 20%; margin: 20px 10px 0px 10px" /></span>
                </center>
            </apex:outputPanel>
        
force-app/main/default/pages/OPDNoReportApplication.page-meta.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>46.0</apiVersion>
    <availableInTouch>false</availableInTouch>
    <availableInTouch>true</availableInTouch>
    <confirmationTokenRequired>false</confirmationTokenRequired>
    <label>OPDNoReportApplication</label>
</ApexPage>
force-app/main/default/pages/SpecialPriceTest.page
New file
@@ -0,0 +1,477 @@
<apex:page Controller="SpecialPriceController" showHeader="true" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/>
<apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
<script>
// window.sfdcPage.appendToOnloadQueue(function() { calonLoad() });
function onLoad() {
    calonLoad();
}
window.onload = onLoad;
// window.calonLoad = calonLoad;
function calonLoad() {
    var isInput = {!isInput};
    if (isInput) {
        //说明状态不是草案中 则设置页面锁定不可编辑
        //1.查询条件锁定
        j$(escapeVfId('allPage:allForm:searchBlock:StateMaster')).attr("disabled", true);
        j$(escapeVfId('allPage:allForm:searchBlock:StateMaster2')).attr("disabled", true);
        j$(escapeVfId('allPage:allForm:searchBlock:StateMaster3')).attr("disabled", true);
        j$(escapeVfId('allPage:allForm:searchBlock:StateMaster4')).attr("disabled", true);
        j$(escapeVfId('allPage:allForm:searchBlock:StateMaster5')).attr("disabled", true);
        j$(escapeVfId('allPage:allForm:searchBlock:importId')).attr("disabled", true);
        var productCount = j$(escapeVfId('allPage:allForm:productInfoSection:productRecoedsCount')).value();
        for (var i = 0; i < productCount; i++) {
            j$(escapeVfId('allPage:allForm:productInfoSection:productInfoListview:' + i + ':consumablesCountproRowCheckbox')).attr('disabled',true);
            j$(escapeVfId('allPage:allForm:productInfoSection:productInfoListview:' + i + ':inputSD')).attr('disabled',true);
            j$(escapeVfId('allPage:allForm:productInfoSection:productInfoListview:' + i + ':inputSDC')).attr('disabled',true);
        }
    }
}
function refreshPageSizeJs() {
    refreshPageSize();
}
function checkAll() {
    var productCount = j$(escapeVfId('allPage:allForm:productInfoSection:productRecoedsCount')).value();
    if (j$(escapeVfId('checker')).attr('checked') == 'checked') {
        //console.log(productCount);
        for (var i = 0; i < productCount; i++) {
            j$(escapeVfId('allPage:allForm:productInfoSection:productInfoListview:' + i + ':consumablesCountproRowCheckbox')).attr('checked',true);
        }
    } else {
        for (var i = 0; i < productCount; i++) {
            j$(escapeVfId('allPage:allForm:productInfoSection:productInfoListview:' + i + ':consumablesCountproRowCheckbox')).attr('checked',false);
        }
    }
}
function setCheckBox(j,oldvalue,oldvalue2) {
    var z,x,v;
    var a = j.id;
    var i = a.substring(0,a.lastIndexOf(':'));
    v = j$(escapeVfId(i+':inputSD')).value().trim();
    // z = parseFloat(j$(escapeVfId(i+':inputSD')).value());
    // if(v!='' && isNaN(v)){
    //     window.alert("特殊折扣必须是数字!");
    //     document.getElementById(i+':inputSD').value = "";
    //     return;
    // }
    if(v!='' && (v>100 || v<0)){
        window.alert("特殊折扣不正确,请输入0~100的数字!");
        document.getElementById(i+':inputSD').value = "";
        return;
    }
    if( v!=oldvalue && oldvalue!='0'){
        document.getElementById(i+':inputSDC').value = "";
        j$(escapeVfId(i+':consumablesCountproRowCheckbox')).attr('checked',true);
    }else{
        // //需要判断之前的金额有没有值,如果有 要设置选中
        // document.getElementById(i+':inputSDC').value = "";
        // j$(escapeVfId(i+':consumablesCountproRowCheckbox')).attr('checked',false);
        document.getElementById(i+':inputSDC').value = "";
        if (oldvalue2 != '0') {
            j$(escapeVfId(i+':consumablesCountproRowCheckbox')).attr('checked',true);
        }else{
            j$(escapeVfId(i+':consumablesCountproRowCheckbox')).attr('checked',false);
        }
    }
    if (v != null && v != '' && oldvalue == '0') {
        j$(escapeVfId(i +':consumablesCountproRowCheckbox')).attr('checked',true);
    }
}
// <!-- //add by rentx 2020-12-22  -->
function setCheckBoxSDC(j,oldvalue,oldvalue2) {
    var z,x,v;
    var a = j.id;
    var i = a.substring(0,a.lastIndexOf(':'));
    v = j$(escapeVfId(i+':inputSDC')).value().trim();
    // z = parseFloat(j$(escapeVfId(i+':inputSDC')).value());
    // if(v!='' && isNaN(v)){
    //     window.alert("特殊折扣必须是数字!");
    //     document.getElementById(i+':inputSDC').value = "";
    //     return;
    // }
    console.log('当前输入的值::'+v);
    console.log('特殊折扣(金额)::'+oldvalue);
    console.log('特殊折扣(%)::'+oldvalue2);
    if(v!='' && v<0){
        window.alert("特殊折扣不正确,请输入正确的数字!");
        document.getElementById(i+':inputSDC').value = "";
        return;
    }
    if( v!=oldvalue && oldvalue!='0'){
        document.getElementById(i+':inputSD').value = "";
        j$(escapeVfId(i+':consumablesCountproRowCheckbox')).attr('checked',true);
    }else{
        //需要判断之前的%有没有值,如果有值,则设置选中
        // document.getElementById(i+':inputSD').value = "";
        // j$(escapeVfId(i+':consumablesCountproRowCheckbox')).attr('checked',false);
        document.getElementById(i+':inputSD').value = "";
        if (oldvalue2 != '0') {
            j$(escapeVfId(i+':consumablesCountproRowCheckbox')).attr('checked',true);
        }else{
            j$(escapeVfId(i+':consumablesCountproRowCheckbox')).attr('checked',false);
        }
    }
    if (v != null && v != '' && oldvalue == '0') {
        j$(escapeVfId(i +':consumablesCountproRowCheckbox')).attr('checked',true);
    }
}
// <!-- //add by rentx 2020-12-22  -->
function fillJs() {
    //var cnt = {!productRecoedsCount};
    var cnt = j$(escapeVfId('allPage:allForm:productInfoSection:productRecoedsCount')).value();
    var specialDiscount = j$(escapeVfId('allPage:allForm:productInfoSection:BlockTablefill:0:Special_Discount')).value();
    if(specialDiscount!='' && isNaN(specialDiscount)){
        window.alert("特殊折扣必须是数字!");
        return;
    }
    if(specialDiscount!='' && (specialDiscount>100 || specialDiscount<0)){
        window.alert("特殊折扣不正确,请输入0~100的数字!");
        return;
    }
    for (var i = 0; i < cnt; i++) {
        if(j$(escapeVfId('allPage:allForm:productInfoSection:productInfoListview:' + i + ':consumablesCountproRowCheckbox')).attr('checked') == 'checked'){
            document.getElementById('allPage:allForm:productInfoSection:productInfoListview:' + i + ':inputSD').value = specialDiscount;
            document.getElementById('allPage:allForm:productInfoSection:productInfoListview:' + i + ':inputSDC').value = null;
        }
    }
}
// gzw add 20210802
function fillJ1s() {
    //var cnt = {!productRecoedsCount};
    var cnt = j$(escapeVfId('allPage:allForm:productInfoSection:productRecoedsCount')).value();
    var specialDiscount = j$(escapeVfId('allPage:allForm:productInfoSection:BlockTablefill1:0:Special_Discount1')).value();
    if(specialDiscount!='' && isNaN(specialDiscount)){
        window.alert("折扣金额必须是数字!");
        return;
    }
    // if(specialDiscount!='' && (specialDiscount>100 || specialDiscount<0)){
    //     window.alert("特殊折扣不正确,请输入0~100的数字!");
    //     return;
    // }
    for (var i = 0; i < cnt; i++) {
        if(j$(escapeVfId('allPage:allForm:productInfoSection:productInfoListview:' + i + ':consumablesCountproRowCheckbox')).attr('checked') == 'checked'){
            document.getElementById('allPage:allForm:productInfoSection:productInfoListview:' + i + ':inputSDC').value = specialDiscount;
            document.getElementById('allPage:allForm:productInfoSection:productInfoListview:' + i + ':inputSD').value = null;
        }
    }
}
// gzw add 20210802
function saveJs() {
    blockme();
    //beforeSaveJs();
    save();
}
function searchProductJs() {
    blockme();
    searchProduct();
}
function showcategory2Js() {
    showcategory2();
}
function showcategory3Js() {
    showcategory3();
}
function showcategory4Js() {
    showcategory4();
}
function showcategory5Js() {
    showcategory5();
}
</script>
    <apex:form id="allForm">
        <apex:actionFunction name="refreshPageSize" action="{!refreshPageSize}" status="fetchStatus" reRender="productInfoSection,messageText" />
        <apex:actionFunction name="save" action="{!save}" rerender="message,messageText" onComplete="unblockUI();">
        </apex:actionFunction>
        <apex:actionFunction name="showcategory2" action="{!showcategory2}" rerender="searchBlock, message,messageText">
        </apex:actionFunction>
        <apex:actionFunction name="showcategory3" action="{!showcategory3}" rerender="searchBlock, message,messageText">
        </apex:actionFunction>
        <apex:actionFunction name="showcategory4" action="{!showcategory4}" rerender="searchBlock, message,messageText">
        </apex:actionFunction>
        <apex:actionFunction name="showcategory5" action="{!showcategory5}" rerender="searchBlock, message,messageText">
        </apex:actionFunction>
        <apex:actionFunction name="searchProduct" action="{!searchProduct}" rerender="productInfoSection, message,messageText" onComplete="unblockUI();">
        </apex:actionFunction>
        <apex:outputPanel id="allPanel">
            <apex:outputPanel id="messageText">
                <table>
                        <tr>
                            <td>
                            <div id="ErrorName" style="color: red;font-weight: bold;" >{!alertMessage}</div>
                            </td>
                        </tr>
                </table>
            </apex:outputPanel>
            <apex:outputPanel id="message">
                <apex:pageMessages />
            </apex:outputPanel>
            <apex:pageBlock id="searchBlock">
                <table>
                    <colgroup>
                        <col width="50px"/>
                        <col width="100px"/>
                        <col width="60px"/>
                        <col width="20px"/>
                        <col width="100px"/>
                        <col width="60px"/>
                        <col width="20px"/>
                        <col width="100px"/>
                        <col width="60px"/>
                        <col width="20px"/>
                        <col width="100px"/>
                        <col width="60px"/>
                        <col width="20px"/>
                        <col width="100px"/>
                        <col width="60px"/>
                        <col width="20px"/>
                        <col width="80px"/>
                    </colgroup>
                    <tr>
                        <td align="right"></td>
                        <td align="right">管理编码:</td>
                        <td style="text-align:left; width:70px;" colspan = "2">
                        <apex:outputField value="{!acc.Parent.Management_Code__c}"/>
                        </td>
                        <td align="right">经销商名称:</td>
                        <td style="text-align:left; width:70px;" colspan = "3">
                        <apex:outputField value="{!acc.Parent.Name}"/>
                        </td>
                        <td align="right" colspan = "3">经销商合同名称:</td>
                        <td style="text-align:left; width:70px;" colspan = "4">
                        <apex:outputField value="{!acc.Name}"/>
                        </td>
                        <td align="right"></td>
                    </tr>
                    <tr>
                        <td colspan = "16" style="height: 10px"></td>
                    </tr>
                    <tr>
                        <td align="right"></td>
                        <td align="right">第1分类:</td>
                        <td style="text-align:left; width:70px;">
                        <apex:selectList id="StateMaster" value="{!category1}" size="1" style="width:90px"  onchange="showcategory2Js();return false;">
                            <apex:selectOptions value="{!category1OptionList}"/>
                        </apex:selectList>
                        </td>
                        <td/>
                        <td align="right">第2分类:</td>
                        <td style="text-align:left; width:70px;">
                            <apex:selectList id="StateMaster2" value="{!category2}" size="1" style="width:90px" onchange="showcategory3Js();return false;">
                            <apex:selectOptions value="{!category2OptionList}"/>
                        </apex:selectList>
                        </td>
                        <td/>
                        <td align="right">第3分类:</td>
                        <td style="text-align:left; width:70px;">
                            <apex:selectList id="StateMaster3" value="{!category3}" size="1" style="width:90px"  onchange="showcategory4Js();return false;">
                            <apex:selectOptions value="{!category3OptionList}"/>
                        </apex:selectList>
                        </td>
                        <td/>
                        <td align="right">第4分类:</td>
                        <td style="text-align:left; width:70px;">
                            <apex:selectList id="StateMaster4" value="{!category4}" size="1" style="width:90px"  onchange="showcategory5Js();return false;" >
                            <apex:selectOptions value="{!category4OptionList}"/>
                        </apex:selectList>
                        </td>
                        <td/>
                        <td align="right">第5分类:</td>
                        <td style="text-align:left; width:70px;">
                            <apex:selectList id="StateMaster5" value="{!category5}" size="1" style="width:90px">
                            <apex:selectOptions value="{!category5OptionList}"/>
                        </apex:selectList>
                        </td>
                        <td align="right" rowspan = "3"><apex:commandButton disabled="{!isInput}" value="检索" style="width: 100px;margin-top: 50px" onclick="searchProductJs();return false;" /></td>
                    </tr>
                    <tr>
                        <td colspan = "15" style="height: 10px"></td>
                    </tr>
                    <tr>
                        <td align="right"></td>
                        <td align="right">关键字:</td>
                        <td style="text-align:left; width:70px;" colspan = "3">
                            <apex:inputText id="importId" value="{!keyword}"/>
                            <c:helpicon helpText="可以使用关键字检索产品型号和产品名称。"/>
                        </td>
                        <!-- <td align="right" >特约店产品</td>
                        <td  align="left"><apex:inputCheckbox value="{!Pro2DealerFlag}" id="Pro2DealerFlag"  style="width:20px"/>
                        </td> -->
                    </tr>
                </table>
            </apex:pageBlock>
            <apex:pageBlock title="产品信息" id="productInfoSection">
            <apex:pageBlockButtons location="top"  >
                <apex:commandButton onclick="saveJs();" disabled="{!isInput}" value="保存" style="margin-left:30px;width:100px" rerender="dummy" />
            </apex:pageBlockButtons>
            <apex:outputPanel style="float:right;"  >
                <apex:pageBlockTable value="{!dpc}" var="a" id="BlockTablefill1">
                    <apex:column headerValue="特殊折扣(金额)" >
                        <apex:inputField id="Special_Discount1" value="{!a.Special_Campaign_Price__c}" style="width: 80px;"/>
                    </apex:column>
                    <apex:column >
                        <apex:commandButton onclick="fillJ1s();" disabled="{!isInput}" value="应用金额" style="margin-left:10px;width:100px" rerender="dummy" />
                    </apex:column>
                </apex:pageBlockTable>
            </apex:outputPanel>
            <apex:outputPanel style="float:right;"  >
                <apex:pageBlockTable value="{!dpc}" var="a" id="BlockTablefill">
                    <apex:column headerValue="特殊折扣(%)" >
                        <apex:inputField id="Special_Discount" value="{!a.Special_Discount__c}" style="width: 80px;"/>
                    </apex:column>
                    <apex:column >
                        <apex:commandButton onclick="fillJs();" disabled="{!isInput}" value="应用折扣" style="margin-left:10px;width:100px" rerender="dummy" />
                    </apex:column>
                </apex:pageBlockTable>
            </apex:outputPanel>
            <apex:inputHidden id="productRecoedsCount" value="{!productRecoedsCount}"/>
                <table class="list" border="0" cellpadding="0" cellspacing="0">
                    <colgroup>
                        <col width="6%" />
                        <col width="34%" />
                        <col width="10%" />
                        <col width="10%" />
                        <col width="10%" />
                        <col width="10%" />
                        <col width="10%" />
                        <col width="10%" />
                    </colgroup>
                    <tr class="headerRow">
                        <th><input type='checkbox' onClick='checkAll()' id='checker'/>选择</th>
                        <th style="width:40%">产品名称</th>
                        <th style="width:10%">第1分类</th>
                        <th style="width:10%">第2分类</th>
                        <th style="width:10%">第3分类</th>
                        <th style="width:10%">第4分类</th>
                        <th style="width:10%">第5分类</th>
                        <!-- <th style="width:10%">特殊折扣</th> -->
                        <th style="width:10%">特殊折扣(%)</th>
                        <th style="width:10%">特殊折扣(金额)</th>
                        <!-- <th style="width:10%">(%)</th> -->
                        <!-- <th style="width:10%">(金额)</th> -->
                    </tr>
                    <apex:repeat value="{!productInfoListview}" var="records" id="productInfoListview">
                        <tr class="dataRow">
                            <td>
                            <apex:inputCheckbox value="{!records.check}" id="consumablesCountproRowCheckbox"/>
                            </td>
                             <td class="dataCell">
                                <apex:outputField value="{!records.pro.Name__c}"/>
                            </td>
                            <td class="dataCell">
                                <apex:outputField value="{!records.pro.Category1__c}"/>
                            </td>
                            <td class="dataCell">
                                <apex:outputField value="{!records.pro.Category2__c}"/>
                            </td>
                            <td class="dataCell">
                                <apex:outputField value="{!records.pro.Category3__c}"/>
                            </td>
                            <td class="dataCell">
                                <apex:outputField value="{!records.pro.Category4__c}"/>
                            </td>
                            <td class="dataCell">
                                <apex:outputField value="{!records.pro.Category5__c}"/>
                            </td>
                            <!-- //add by rentx 2020-12-22  -->
                            <td class="dataCell" >
                                <apex:inputField style="width: 80px;" onclick="setCheckBox(this,{!IF(records.dealerPro.Special_Discount__c!=null,records.dealerPro.Special_Discount__c,0)},{!IF(records.dealerPro.Special_Campaign_Price__c!=null,records.dealerPro.Special_Campaign_Price__c,0)})" onblur="setCheckBox(this,{!IF(records.dealerPro.Special_Discount__c!=null,records.dealerPro.Special_Discount__c,0)},{!IF(records.dealerPro.Special_Campaign_Price__c!=null,records.dealerPro.Special_Campaign_Price__c,0)})" value="{!records.dpac.Special_Discount__c}" id="inputSD"/>
                            </td>
                            <td class="dataCell" >
                                <apex:inputField style="width: 80px;" onclick="setCheckBoxSDC(this,{!IF(records.dealerPro.Special_Campaign_Price__c!=null,records.dealerPro.Special_Campaign_Price__c,0)},{!IF(records.dealerPro.Special_Discount__c!=null,records.dealerPro.Special_Discount__c,0)})" onblur="setCheckBoxSDC(this,{!IF(records.dealerPro.Special_Campaign_Price__c!=null,records.dealerPro.Special_Campaign_Price__c,0)},{!IF(records.dealerPro.Special_Discount__c!=null,records.dealerPro.Special_Discount__c,0)})" value="{!records.dpac.ProductDiscount__c}" id="inputSDC"/>
                            </td>
                            <!-- <td class="dataCell" > -->
                                <!-- <apex:outputField style="width: 80px;" value="{!records.dealerPro.Special_Discount__c}" /> -->
                            <!-- </td> -->
                            <!-- //add by rentx 2020-12-22  -->
                            <!-- <td class="dataCell" > -->
                                <!-- <apex:outputField style="width: 80px;" value="{!records.dealerPro.Special_Campaign_Price__c}"/> -->
                            <!-- </td> -->
                            <!-- //add by rentx 2020-12-22 -->
                        </tr>
                    </apex:repeat>
                </table>
                <table style="width: 100%">
                    <tr>
                        <td>
                            <!-- Page X of Y -->
                            <!-- PageNumber:当前页面所在位置,ResultSize:记录总条数,PageSize:每页记录条数 -->
                            <apex:outputText value="{!(currentpage * pagesize)+1-pagesize}-{!IF((currentpage * pagesize)>totalcount, totalcount,
                             (currentpage * pagesize))} 共 {!totalcount} 个" />
                        </td>
                        <td align="center" style="padding-left: 470px;">
                            <div class="paginator line1">
                            <span class="prevNextLinks">
                            <span class="prevNext">
                            <apex:commandLink status="fetchStatus" reRender="ConsumableorderdetailsSection" action="{!moveToFirst}" oncomplete="refreshPageSizeJs();" title="首页" >
                            <img src="/s.gif" title="首页" alt="首页" class="{!if((hasPrevious),'first','firstoff')}"/>
                            </apex:commandLink>
                            </span>
                            <span class="prevNext">
                            <apex:commandLink status="fetchStatus" reRender="ConsumableorderdetailsSection"  action="{!moveToPrevious}" oncomplete="refreshPageSizeJs();"  title="上一页">
                            <img src="/s.gif" title="上一页" alt="上一页" class="{!if((hasPrevious),'prev','prevoff')}"/>上一页
                            </apex:commandLink>
                            </span>
                            <!--  -->
                            <span class="prevNext" >
                            <apex:commandLink status="fetchStatus" reRender="ConsumableorderdetailsSection" action="{!moveToNext}" oncomplete="refreshPageSizeJs();" title="下一页">下一页
                            <img src="/s.gif" title="下一页" alt="下一页" class="{!if((hasNext),'next','nextoff')}"/>
                            </apex:commandLink>
                            </span>
                            <span class="prevNext">
                            <apex:commandLink status="fetchStatus" reRender="ConsumableorderdetailsSection" action="{!moveToLast}"  oncomplete="refreshPageSizeJs();" title="尾页">
                            <img src="/s.gif" title="尾页" alt="尾页" class="{!if((hasNext),'last','lastoff')}"/>
                            </apex:commandLink>
                            </span>
                            </span>
                            </div>
                         </td>
                         <td align="right" width="20%">
                        </td>
                    </tr>
                </table>
            </apex:pageBlock>
        </apex:outputPanel>
    </apex:form>
</apex:page>
force-app/main/default/pages/SpecialPriceTest.page-meta.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <label>SpecialPriceTest</label>
</ApexPage>