| | |
| | | { |
| | | "target-org": "OlympusProd" |
| | | "target-org": "OlympusStageEnv" |
| | | } |
| | |
| | | <ltng:require scripts="{! $Resource.jquery183minjs }" /> |
| | | <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" afterScriptsLoaded="{!c.scriptsLoaded}" /> |
| | | <aura:renderIf isTrue="{!v.login}"> |
| | | <div class="slds-spinner_container height100vh"> |
| | | <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert"> |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | </div> |
| | | <!-- add by Deloitte-Link 2023-6-19 --> |
| | | <div class="weeklyReportSpinner"> |
| | | <div class="slds-spinner_container"> |
| | | <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert"> |
| | | <span id="aa" class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </aura:renderIf> |
| | | <form class="slds-form--inline"> |
| | | <div class="slds-form-element"> |
| | |
| | | |
| | | <div class="slds-truncate"> |
| | | <a href="{!'/partner/s/agency-contact/' + item.Id}" style="position: relative;"> |
| | | {!item.Name} |
| | | <span class="encrypt">{!item.Name}</span> |
| | | <span class="decrypt">{!item.awsdata.name}</span> |
| | | </a> |
| | | </div> |
| | | </th> |
| | |
| | | |
| | | .THIS tr:hover .encrypt{ |
| | | display: none; |
| | | } |
| | | } |
| | | |
| | | /* add by Deloitte-Link 2023-6-19 start*/ |
| | | .THIS .weeklyReportSpinner{ |
| | | top:100px; |
| | | } |
| | | |
| | | .THIS .slds-spinner_container{ |
| | | position: absolute; |
| | | top:100px; |
| | | } |
| | | /* add by Deloitte-Link 2023-6-19 end*/ |
| | |
| | | <aura:component |
| | | controller="CreateTargetCmp" |
| | | implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes" |
| | | access="global" |
| | | > |
| | | <aura:handler name="init" value="{!this}" action="{!c.doInit}" /> |
| | | <aura:attribute name="recordId" type="Id" /> |
| | | <aura:attribute name="hospital" type="string" default="" /> |
| | | <aura:attribute name="test" type="string" default="1" /> |
| | | <aura:handler event="force:refreshView" action="{!c.isRefreshed}" /> |
| | | <aura:attribute name="hospitalId" type="string" default="" /> |
| | | <aura:attribute name="GIAmount" type="string" default="0.00" /> |
| | | <aura:attribute name="BFAmount" type="string" default="0.00" /> |
| | | <aura:attribute name="ETAmount" type="string" default="0.00" /> |
| | | <aura:attribute name="GSAmount" type="string" default="0.00" /> |
| | | <aura:attribute name="UROAmount" type="string" default="0.00" /> |
| | | <aura:attribute name="GYNAmount" type="string" default="0.00" /> |
| | | <aura:attribute name="ENTAmount" type="string" default="0.00" /> |
| | | <aura:attribute name="OTHAmount" type="string" default="0.00" /> |
| | | <aura:attribute name="OCMTerm" type="string" default="" /> |
| | | <aura:attribute name="button_text" type="string" default="新建" /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.record.Agency_Hospital__c}" |
| | | action="{!c.hosChange}" |
| | | /> |
| | | <aura:attribute name="hospitalList" type="sobject[]" /> |
| | | <aura:attribute |
| | | name="record" |
| | | type="Agency_Opportunity__c" |
| | | default="{'sobjectType':'Agency_Opportunity__c'}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordET.Product_Category1__c}" |
| | | action="{!c.productcategoryETChange1}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordET.Product_Category2__c}" |
| | | action="{!c.productcategoryETChange2}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordET.Product_Category3__c}" |
| | | action="{!c.productcategoryETChange3}" |
| | | /> |
| | | <aura:component controller="CreateTargetCmp" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes" access="global" > |
| | | <aura:handler name="init" value="{!this}" action="{!c.doInit}"/> |
| | | <aura:attribute name="recordId" type="Id" /> |
| | | <aura:attribute name="hospital" type="string" default=""/> |
| | | <aura:attribute name="test" type="string" default="1"/> |
| | | <aura:handler event="force:refreshView" action="{!c.isRefreshed}" /> |
| | | <aura:attribute name="hospitalId" type="string" default=""/> |
| | | <aura:attribute name="GIAmount" type="string" default="0.00"/> |
| | | <aura:attribute name="BFAmount" type="string" default="0.00"/> |
| | | <aura:attribute name="ETAmount" type="string" default="0.00"/> |
| | | <aura:attribute name="GSAmount" type="string" default="0.00"/> |
| | | <aura:attribute name="UROAmount" type="string" default="0.00"/> |
| | | <aura:attribute name="GYNAmount" type="string" default="0.00"/> |
| | | <aura:attribute name="ENTAmount" type="string" default="0.00"/> |
| | | <aura:attribute name="OTHAmount" type="string" default="0.00"/> |
| | | <aura:attribute name="OCMTerm" type="string" default=""/> |
| | | <aura:attribute name="button_text" type="string" default="新建"/> |
| | | <aura:handler name="change" value="{!v.record.Agency_Hospital__c}" action="{!c.hosChange}"/> |
| | | <aura:attribute name="hospitalList" type="sobject[]" /> |
| | | <aura:attribute name="record" type="Agency_Opportunity__c" default="{'sobjectType':'Agency_Opportunity__c'}"/> |
| | | <aura:handler name="change" value="{!v.recordET.Product_Category1__c}" action="{!c.productcategoryETChange1}"/> |
| | | <aura:handler name="change" value="{!v.recordET.Product_Category2__c}" action="{!c.productcategoryETChange2}"/> |
| | | <aura:handler name="change" value="{!v.recordET.Product_Category3__c}" action="{!c.productcategoryETChange3}"/> |
| | | |
| | | |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordBF.Product_Category1__c}" |
| | | action="{!c.productcategoryBFChange1}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordBF.Product_Category2__c}" |
| | | action="{!c.productcategoryBFChange2}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordBF.Product_Category3__c}" |
| | | action="{!c.productcategoryBFChange3}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordGS.Product_Category1__c}" |
| | | action="{!c.productcategoryGSChange1}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordGS.Product_Category2__c}" |
| | | action="{!c.productcategoryGSChange2}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordGS.Product_Category3__c}" |
| | | action="{!c.productcategoryGSChange3}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordURO.Product_Category1__c}" |
| | | action="{!c.productcategoryUROChange1}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordURO.Product_Category2__c}" |
| | | action="{!c.productcategoryUROChange2}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordURO.Product_Category3__c}" |
| | | action="{!c.productcategoryUROChange3}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordGYN.Product_Category1__c}" |
| | | action="{!c.productcategoryGYNChange1}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordGYN.Product_Category2__c}" |
| | | action="{!c.productcategoryGYNChange2}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordGYN.Product_Category3__c}" |
| | | action="{!c.productcategoryGYNChange3}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordENT.Product_Category1__c}" |
| | | action="{!c.productcategoryENTChange1}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordENT.Product_Category2__c}" |
| | | action="{!c.productcategoryENTChange2}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordENT.Product_Category3__c}" |
| | | action="{!c.productcategoryENTChange3}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordOTH.Product_Category1__c}" |
| | | action="{!c.productcategoryOTHChange1}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordOTH.Product_Category2__c}" |
| | | action="{!c.productcategoryOTHChange2}" |
| | | /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.recordOTH.Product_Category3__c}" |
| | | action="{!c.productcategoryOTHChange3}" |
| | | /> |
| | | <div class="button_area"> |
| | | <ui:button label="{!v.button_text}" press="{!c.toggle_report}" /> |
| | | </div> |
| | | <div |
| | | aura:id="modal_window" |
| | | role="dialog" |
| | | tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large" |
| | | aria-labelledby="headerTarget" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <button |
| | | class="slds-button slds-modal__close slds-button--icon-inverse" |
| | | title="Close" |
| | | onclick="{!c.toggle_report}" |
| | | > |
| | | <lightning:icon |
| | | iconName="utility:close" |
| | | size="medium" |
| | | alternative-text="close" |
| | | variant="inverse" |
| | | /> |
| | | <span class="slds-assistive-text">Close</span> |
| | | </button> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium"> |
| | | 目标({!v.OCMTerm}) |
| | | </h2> |
| | | </div> |
| | | <div class="slds-modal__content slds-grow slds-p-around--medium"> |
| | | <div class="slds-box slds-theme--shade"> |
| | | <fieldset class="slds-form--compound"> |
| | | <div class="slds-form-element__group"> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-form-element slds-size--1-of-2"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >医院</label |
| | | > |
| | | <!-- <force:inputField value="{!v.record.Agency_Hospital__c}" aura:id="input-hos"/> --> |
| | | <lightning:recordEditForm |
| | | objectApiName="Agency_Opportunity__c" |
| | | > |
| | | <lightning:inputField |
| | | variant="label-hidden" |
| | | fieldName="Agency_Hospital__c" |
| | | value="{!v.record.Agency_Hospital__c}" |
| | | aura:id="input-hos" |
| | | /> |
| | | </lightning:recordEditForm> |
| | | </div> |
| | | </div> |
| | | <!-- <h4 class="slds-section__title">访问目标</h4> |
| | | <aura:handler name="change" value="{!v.recordBF.Product_Category1__c}" action="{!c.productcategoryBFChange1}"/> |
| | | <aura:handler name="change" value="{!v.recordBF.Product_Category2__c}" action="{!c.productcategoryBFChange2}"/> |
| | | <aura:handler name="change" value="{!v.recordBF.Product_Category3__c}" action="{!c.productcategoryBFChange3}"/> |
| | | <aura:handler name="change" value="{!v.recordGS.Product_Category1__c}" action="{!c.productcategoryGSChange1}"/> |
| | | <aura:handler name="change" value="{!v.recordGS.Product_Category2__c}" action="{!c.productcategoryGSChange2}"/> |
| | | <aura:handler name="change" value="{!v.recordGS.Product_Category3__c}" action="{!c.productcategoryGSChange3}"/> |
| | | <aura:handler name="change" value="{!v.recordURO.Product_Category1__c}" action="{!c.productcategoryUROChange1}"/> |
| | | <aura:handler name="change" value="{!v.recordURO.Product_Category2__c}" action="{!c.productcategoryUROChange2}"/> |
| | | <aura:handler name="change" value="{!v.recordURO.Product_Category3__c}" action="{!c.productcategoryUROChange3}"/> |
| | | <aura:handler name="change" value="{!v.recordGYN.Product_Category1__c}" action="{!c.productcategoryGYNChange1}"/> |
| | | <aura:handler name="change" value="{!v.recordGYN.Product_Category2__c}" action="{!c.productcategoryGYNChange2}"/> |
| | | <aura:handler name="change" value="{!v.recordGYN.Product_Category3__c}" action="{!c.productcategoryGYNChange3}"/> |
| | | <aura:handler name="change" value="{!v.recordENT.Product_Category1__c}" action="{!c.productcategoryENTChange1}"/> |
| | | <aura:handler name="change" value="{!v.recordENT.Product_Category2__c}" action="{!c.productcategoryENTChange2}"/> |
| | | <aura:handler name="change" value="{!v.recordENT.Product_Category3__c}" action="{!c.productcategoryENTChange3}"/> |
| | | <aura:handler name="change" value="{!v.recordOTH.Product_Category1__c}" action="{!c.productcategoryOTHChange1}"/> |
| | | <aura:handler name="change" value="{!v.recordOTH.Product_Category2__c}" action="{!c.productcategoryOTHChange2}"/> |
| | | <aura:handler name="change" value="{!v.recordOTH.Product_Category3__c}" action="{!c.productcategoryOTHChange3}"/> |
| | | <div class="button_area"> |
| | | <ui:button label="{!v.button_text}" press="{!c.toggle_report}"/> |
| | | </div> |
| | | <div aura:id="modal_window" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget"> |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <button class="slds-button slds-modal__close slds-button--icon-inverse" title="Close" onclick="{!c.toggle_report}"> |
| | | <lightning:icon iconName="utility:close" size="medium" alternative-text="close" variant="inverse"/> |
| | | <span class="slds-assistive-text">Close</span> |
| | | </button> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium">目标({!v.OCMTerm})</h2> |
| | | </div> |
| | | <div class="slds-modal__content slds-grow slds-p-around--medium"> |
| | | <div class="slds-box slds-theme--shade "> |
| | | <fieldset class="slds-form--compound"> |
| | | <div class="slds-form-element__group"> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-form-element slds-size--1-of-2"> |
| | | <label class="slds-form-element__label" for="input-hos">医院</label> |
| | | <!-- <force:inputField value="{!v.record.Agency_Hospital__c}" aura:id="input-hos"/> --> |
| | | <lightning:recordEditForm objectApiName="Agency_Opportunity__c"> |
| | | <lightning:inputField variant="label-hidden" fieldName="Agency_Hospital__c" value="{!v.record.Agency_Hospital__c}" aura:id="input-hos"/> |
| | | </lightning:recordEditForm> |
| | | </div> |
| | | </div> |
| | | <!-- <h4 class="slds-section__title">访问目标</h4> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-form-element slds-size-1-of-2"> |
| | | <label class="slds-form-element__label" for="input-target">目标医院</label> |
| | | <force:inputField value="{!v.record2.TargetHospital__c}" aura:id="input-target"/> |
| | | </div> |
| | | </div> --> |
| | | <h4 class="slds-section__title">产品目标</h4> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px">消化科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分1</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_GI1" |
| | | class="slds-select" |
| | | change="{!c.productcategoryGIChange1}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_GI4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分2</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_GI2" |
| | | class="slds-select" |
| | | change="{!c.productcategoryGIChange2}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_GI4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分3</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_GI3" |
| | | class="slds-select" |
| | | change="{!c.productcategoryGIChange3}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_GI4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px">ET耗材</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分1</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_ET1" |
| | | class="slds-select" |
| | | change="{!c.productcategoryETChange1}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_ET4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分2</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_ET2" |
| | | class="slds-select" |
| | | change="{!c.productcategoryETChange2}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_ET4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分3</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_ET3" |
| | | class="slds-select" |
| | | change="{!c.productcategoryETChange3}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_ET4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px">呼吸科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分1</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_BF1" |
| | | class="slds-select" |
| | | change="{!c.productcategoryBFChange1}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_BF4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分2</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_BF2" |
| | | class="slds-select" |
| | | change="{!c.productcategoryBFChange2}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_BF4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分3</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_BF3" |
| | | class="slds-select" |
| | | change="{!c.productcategoryBFChange3}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_BF4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px">普外科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分1</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_GS1" |
| | | class="slds-select" |
| | | change="{!c.productcategoryGSChange1}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_GS4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分2</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_GS2" |
| | | class="slds-select" |
| | | change="{!c.productcategoryGSChange2}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_GS4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分3</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_GS3" |
| | | class="slds-select" |
| | | change="{!c.productcategoryGSChange3}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_GS4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px">泌尿科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分1</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_URO1" |
| | | class="slds-select" |
| | | change="{!c.productcategoryUROChange1}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_URO4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分2</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_URO2" |
| | | class="slds-select" |
| | | change="{!c.productcategoryUROChange2}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_URO4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分3</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_URO3" |
| | | class="slds-select" |
| | | change="{!c.productcategoryUROChange3}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_URO4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px">妇科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分1</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_GYN1" |
| | | class="slds-select" |
| | | change="{!c.productcategoryGYNChange1}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_GYN4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分2</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_GYN2" |
| | | class="slds-select" |
| | | change="{!c.productcategoryGYNChange2}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_GYN4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分3</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_GYN3" |
| | | class="slds-select" |
| | | change="{!c.productcategoryGYNChange3}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_GYN4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px">耳鼻喉科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分1</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_ENT1" |
| | | class="slds-select" |
| | | change="{!c.productcategoryENTChange1}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_ENT4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分2</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_ENT2" |
| | | class="slds-select" |
| | | change="{!c.productcategoryENTChange2}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_ENT4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分3</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_ENT3" |
| | | class="slds-select" |
| | | change="{!c.productcategoryENTChange3}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_ENT4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px">其他</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分1</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_OTH1" |
| | | class="slds-select" |
| | | change="{!c.productcategoryOTHChange1}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_OTH4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分2</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_OTH2" |
| | | class="slds-select" |
| | | change="{!c.productcategoryOTHChange2}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_OTH4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >产品区分3</label |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_OTH3" |
| | | class="slds-select" |
| | | change="{!c.productcategoryOTHChange3}" |
| | | /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos" |
| | | >金额目标(不含税)</label |
| | | > |
| | | <ui:inputText aura:id="select_OTH4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | | <div class="slds-modal__footer slds-grid slds-grid--align-spread"> |
| | | <div class="slds-order--1" /> |
| | | <ui:button |
| | | aura:id="save_button" |
| | | label="保存" |
| | | class="slds-button slds-button--brand slds-order--2" |
| | | press="{!c.createTarget}" |
| | | /> |
| | | <div class="slds-order--3" /> |
| | | </div> |
| | | <h4 class="slds-section__title">产品目标</h4> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px;">消化科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分1</label> |
| | | <ui:inputSelect aura:id="select_GI1" class="slds-select" change="{!c.productcategoryGIChange1}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_GI4_1" class="slds-select"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分2</label> |
| | | <ui:inputSelect aura:id="select_GI2" class="slds-select" change="{!c.productcategoryGIChange2}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_GI4_2" class="slds-select"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分3</label> |
| | | <ui:inputSelect aura:id="select_GI3" class="slds-select" change="{!c.productcategoryGIChange3}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_GI4_3" class="slds-select"/> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px;">ET耗材</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分1</label> |
| | | <ui:inputSelect aura:id="select_ET1" class="slds-select" change="{!c.productcategoryETChange1}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_ET4_1" class="slds-select"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分2</label> |
| | | <ui:inputSelect aura:id="select_ET2" class="slds-select" change="{!c.productcategoryETChange2}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_ET4_2" class="slds-select"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分3</label> |
| | | <ui:inputSelect aura:id="select_ET3" class="slds-select" change="{!c.productcategoryETChange3}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_ET4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px;">呼吸科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分1</label> |
| | | <ui:inputSelect aura:id="select_BF1" class="slds-select" change="{!c.productcategoryBFChange1}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_BF4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分2</label> |
| | | <ui:inputSelect aura:id="select_BF2" class="slds-select" change="{!c.productcategoryBFChange2}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_BF4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分3</label> |
| | | <ui:inputSelect aura:id="select_BF3" class="slds-select" change="{!c.productcategoryBFChange3}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_BF4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px;">普外科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分1</label> |
| | | <ui:inputSelect aura:id="select_GS1" class="slds-select" change="{!c.productcategoryGSChange1}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_GS4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分2</label> |
| | | <ui:inputSelect aura:id="select_GS2" class="slds-select" change="{!c.productcategoryGSChange2}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_GS4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分3</label> |
| | | <ui:inputSelect aura:id="select_GS3" class="slds-select" change="{!c.productcategoryGSChange3}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_GS4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px;">泌尿科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分1</label> |
| | | <ui:inputSelect aura:id="select_URO1" class="slds-select" change="{!c.productcategoryUROChange1}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_URO4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分2</label> |
| | | <ui:inputSelect aura:id="select_URO2" class="slds-select" change="{!c.productcategoryUROChange2}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_URO4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分3</label> |
| | | <ui:inputSelect aura:id="select_URO3" class="slds-select" change="{!c.productcategoryUROChange3}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_URO4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px;">妇科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分1</label> |
| | | <ui:inputSelect aura:id="select_GYN1" class="slds-select" change="{!c.productcategoryGYNChange1}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_GYN4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分2</label> |
| | | <ui:inputSelect aura:id="select_GYN2" class="slds-select" change="{!c.productcategoryGYNChange2}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_GYN4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分3</label> |
| | | <ui:inputSelect aura:id="select_GYN3" class="slds-select" change="{!c.productcategoryGYNChange3}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_GYN4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px;">耳鼻喉科</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分1</label> |
| | | <ui:inputSelect aura:id="select_ENT1" class="slds-select" change="{!c.productcategoryENTChange1}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_ENT4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分2</label> |
| | | <ui:inputSelect aura:id="select_ENT2" class="slds-select" change="{!c.productcategoryENTChange2}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_ENT4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分3</label> |
| | | <ui:inputSelect aura:id="select_ENT3" class="slds-select" change="{!c.productcategoryENTChange3}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_ENT4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | <div class="slds-form-element__row"> |
| | | <div class="slds-size--1-of-7 slds-grid--align-center"> |
| | | <div style="margin-top: 32px;">其他</div> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分1</label> |
| | | <ui:inputSelect aura:id="select_OTH1" class="slds-select" change="{!c.productcategoryOTHChange1}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_OTH4_1" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分2</label> |
| | | <ui:inputSelect aura:id="select_OTH2" class="slds-select" change="{!c.productcategoryOTHChange2}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_OTH4_2" class="slds-select" /> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">产品区分3</label> |
| | | <ui:inputSelect aura:id="select_OTH3" class="slds-select" change="{!c.productcategoryOTHChange3}"/> |
| | | </div> |
| | | <div class="slds-form-element slds-size--1-of-7"> |
| | | <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label> |
| | | <ui:inputText aura:id="select_OTH4_3" class="slds-select" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | | <div class="slds-modal__footer slds-grid slds-grid--align-spread"> |
| | | <div class="slds-order--1" /> |
| | | <ui:button aura:id="save_button" label="保存" class="slds-button slds-button--brand slds-order--2" press="{!c.createTarget}"/> |
| | | <div class="slds-order--3" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | aura:id="modal_bg" |
| | | class="disp_none slds-backdrop slds-backdrop--open" |
| | | ></div> |
| | | </aura:component> |
| | | <div aura:id="modal_bg" class="disp_none slds-backdrop slds-backdrop--open"></div> |
| | | </aura:component> |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>42.0</apiVersion> |
| | | <description>A Lightning Component Bundle</description> |
| | |
| | | .THIS.button_area { |
| | | text-align: right; |
| | | text-align: right; |
| | | } |
| | | .THIS.disp_none { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | .THIS select { |
| | | --lwc-lineHeightButton: 36px; |
| | | --lwc-heightInput: 36px; |
| | | min-height: 0px !important; |
| | | height: 36px !important; |
| | | } |
| | | --lwc-lineHeightButton:36px; |
| | | --lwc-heightInput:36px; |
| | | min-height: 0px !important; |
| | | height: 36px !important; |
| | | } |
| | |
| | | ({ |
| | | doinit: function (component, event, helper) { |
| | | component.set("v.OCMTerm", this.getOCMTerm()); |
| | | if (component.get("v.recordId")) { |
| | | component.set("v.button_text", "编辑"); |
| | | var recordId = component.get("v.recordId"); |
| | | var action = component.get("c.getHospital"); |
| | | action.setParams({ recordId: recordId }); |
| | | action.setCallback(this, function (response) { |
| | | var state = response.getState(); |
| | | console.log("state1:" + state); |
| | | if (state === "SUCCESS") { |
| | | var ah = response.getReturnValue(); |
| | | var select_ah = ah.Id; |
| | | var select_ah_name = ah.Name; |
| | | // component.set('v.record.Agency_Hospital__c', select_ah); |
| | | //add by Deloitte 2023-6-8 |
| | | let agency = component.get("v.record"); |
| | | agency.Agency_Hospital__c = select_ah; |
| | | // component.set("v.record", agency); |
| | | // alert(JSON.stringify(component.find('input-hos').get("v.body")[0].get('v.values'))); |
| | | if ($A.get("$Browser.formFactor") == "DESKTOP") { |
| | | console.log("flag1"); |
| | | var values = [ |
| | | { |
| | | type: "Agency_Hospital_Link__c", |
| | | id: select_ah, |
| | | label: select_ah_name, |
| | | icon: { |
| | | url: "/img/icon/t4v35/custom/custom24_120.png", |
| | | backgroundColor: "dc71d1", |
| | | alt: "Agency_Hospital_Link__c" |
| | | doinit : function(component, event, helper) { |
| | | component.set("v.OCMTerm", this.getOCMTerm()); |
| | | if (component.get("v.recordId")) { |
| | | component.set("v.button_text", "编辑"); |
| | | var recordId = component.get("v.recordId"); |
| | | var action = component.get("c.getHospital"); |
| | | action.setParams({recordId: recordId}); |
| | | action.setCallback(this, function(response) { |
| | | var state = response.getState(); |
| | | console.log("state1:"+state); |
| | | if(state === "SUCCESS") { |
| | | var ah = response.getReturnValue(); |
| | | var select_ah = ah.Id; |
| | | var select_ah_name = ah.Name; |
| | | // component.set('v.record.Agency_Hospital__c', select_ah); |
| | | //add by Deloitte 2023-6-8 |
| | | let agency = component.get("v.record"); |
| | | agency.Agency_Hospital__c = select_ah; |
| | | // component.set("v.record", agency); |
| | | // alert(JSON.stringify(component.find('input-hos').get("v.body")[0].get('v.values'))); |
| | | if ($A.get("$Browser.formFactor") == 'DESKTOP') { |
| | | console.log("flag1"); |
| | | var values = [{ |
| | | type: 'Agency_Hospital_Link__c', |
| | | id: select_ah, |
| | | label: select_ah_name, |
| | | icon : { |
| | | url:'/img/icon/t4v35/custom/custom24_120.png', |
| | | backgroundColor:'dc71d1', |
| | | alt:'Agency_Hospital_Link__c' |
| | | } |
| | | }]; |
| | | // component.find('input-hos').get("v.body")[0].set('v.values', values); |
| | | //add by Deloitte 2023-6-8 |
| | | if(component.find('input-hos').get("v.body") && component.find('input-hos').get("v.body").length>0){ |
| | | component.find('input-hos').get("v.body")[0].set('v.values', values); |
| | | } |
| | | } else { |
| | | // component.find('input-hos').get("v.body")[0].set('v.selectedLabel', select_ah_name); |
| | | //add by Deloitte 2023-6-8 |
| | | if(component.find('input-hos').get("v.body") && component.find('input-hos').get("v.body").length>0){ |
| | | component.find('input-hos').get("v.body")[0].set('v.selectedLabel', select_ah_name); |
| | | } |
| | | } |
| | | |
| | | } else if (state === "ERROR") { |
| | | var errors = response.getError(); |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | "title": "错误", |
| | | "type":"error", |
| | | "message": errors[0].message |
| | | }); |
| | | toastEvent.fire(); |
| | | |
| | | } |
| | | } |
| | | ]; |
| | | // component.find('input-hos').get("v.body")[0].set('v.values', values); |
| | | //add by Deloitte 2023-6-8 |
| | | if ( |
| | | component.find("input-hos").get("v.body") && |
| | | component.find("input-hos").get("v.body").length > 0 |
| | | ) { |
| | | component |
| | | .find("input-hos") |
| | | .get("v.body")[0] |
| | | .set("v.values", values); |
| | | }); |
| | | $A.enqueueAction(action); |
| | | } |
| | | |
| | | var action = component.get("c.getProductList"); |
| | | action.setCallback(this, function(response) { |
| | | var state = response.getState(); |
| | | console.log("state2:"+state); |
| | | if(state === "SUCCESS") { |
| | | var opts = response.getReturnValue(); |
| | | // alert(JSON.stringify(opts["GI"])); |
| | | component.find("select_GI1").set("v.options", JSON.parse(JSON.stringify(opts["GI"]))); |
| | | component.find("select_GI2").set("v.options", JSON.parse(JSON.stringify(opts["GI"]))); |
| | | component.find("select_GI3").set("v.options", JSON.parse(JSON.stringify(opts["GI"]))); |
| | | |
| | | component.find("select_GS1").set("v.options", JSON.parse(JSON.stringify(opts["GS"]))); |
| | | component.find("select_GS2").set("v.options", JSON.parse(JSON.stringify(opts["GS"]))); |
| | | component.find("select_GS3").set("v.options", JSON.parse(JSON.stringify(opts["GS"]))); |
| | | |
| | | component.find("select_GYN1").set("v.options", JSON.parse(JSON.stringify(opts["GYN"]))); |
| | | component.find("select_GYN2").set("v.options", JSON.parse(JSON.stringify(opts["GYN"]))); |
| | | component.find("select_GYN3").set("v.options", JSON.parse(JSON.stringify(opts["GYN"]))); |
| | | |
| | | component.find("select_URO1").set("v.options", JSON.parse(JSON.stringify(opts["URO"]))); |
| | | component.find("select_URO2").set("v.options", JSON.parse(JSON.stringify(opts["URO"]))); |
| | | component.find("select_URO3").set("v.options", JSON.parse(JSON.stringify(opts["URO"]))); |
| | | |
| | | component.find("select_ENT1").set("v.options", JSON.parse(JSON.stringify(opts["ENT"]))); |
| | | component.find("select_ENT2").set("v.options", JSON.parse(JSON.stringify(opts["ENT"]))); |
| | | component.find("select_ENT3").set("v.options", JSON.parse(JSON.stringify(opts["ENT"]))); |
| | | |
| | | component.find("select_OTH1").set("v.options", JSON.parse(JSON.stringify(opts["OTH"]))); |
| | | component.find("select_OTH2").set("v.options", JSON.parse(JSON.stringify(opts["OTH"]))); |
| | | component.find("select_OTH3").set("v.options", JSON.parse(JSON.stringify(opts["OTH"]))); |
| | | |
| | | component.find("select_ET1").set("v.options", JSON.parse(JSON.stringify(opts["ET"]))); |
| | | component.find("select_ET2").set("v.options", JSON.parse(JSON.stringify(opts["ET"]))); |
| | | component.find("select_ET3").set("v.options", JSON.parse(JSON.stringify(opts["ET"]))); |
| | | |
| | | component.find("select_BF1").set("v.options", JSON.parse(JSON.stringify(opts["BF"]))); |
| | | component.find("select_BF2").set("v.options", JSON.parse(JSON.stringify(opts["BF"]))); |
| | | component.find("select_BF3").set("v.options", JSON.parse(JSON.stringify(opts["BF"]))); |
| | | } else if (state === "ERROR") { |
| | | var errors = response.getError(); |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "错误", |
| | | type:"error", |
| | | message: errors[0].message |
| | | }); |
| | | toastEvent.fire(); |
| | | |
| | | } |
| | | } else { |
| | | // component.find('input-hos').get("v.body")[0].set('v.selectedLabel', select_ah_name); |
| | | //add by Deloitte 2023-6-8 |
| | | if ( |
| | | component.find("input-hos").get("v.body") && |
| | | component.find("input-hos").get("v.body").length > 0 |
| | | ) { |
| | | component |
| | | .find("input-hos") |
| | | .get("v.body")[0] |
| | | .set("v.selectedLabel", select_ah_name); |
| | | } |
| | | } |
| | | } else if (state === "ERROR") { |
| | | var errors = response.getError(); |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "错误", |
| | | type: "error", |
| | | message: errors[0].message |
| | | }); |
| | | toastEvent.fire(); |
| | | }); |
| | | $A.enqueueAction(action); |
| | | }, |
| | | |
| | | toggle_report : function(component, event, helper) { |
| | | var modal_window = component.find('modal_window'); |
| | | var modal_bg = component.find('modal_bg'); |
| | | $A.util.toggleClass(modal_window, 'disp_none'); |
| | | $A.util.toggleClass(modal_bg, 'disp_none'); |
| | | |
| | | if ($A.util.hasClass(modal_window, 'disp_none') && !component.get("v.recordId")) { |
| | | $A.get('e.force:refreshView').fire(); |
| | | } |
| | | }); |
| | | $A.enqueueAction(action); |
| | | } |
| | | }, |
| | | |
| | | var action = component.get("c.getProductList"); |
| | | action.setCallback(this, function (response) { |
| | | var state = response.getState(); |
| | | console.log("state2:" + state); |
| | | if (state === "SUCCESS") { |
| | | var opts = response.getReturnValue(); |
| | | // alert(JSON.stringify(opts["GI"])); |
| | | component |
| | | .find("select_GI1") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["GI"]))); |
| | | component |
| | | .find("select_GI2") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["GI"]))); |
| | | component |
| | | .find("select_GI3") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["GI"]))); |
| | | productcategoryChange : function(component, event, helper, dept, index) { |
| | | var cmpId = 'select_'+dept; |
| | | var myId; |
| | | var o1Id; |
| | | var o2Id; |
| | | if (index == 1) { |
| | | myId = cmpId + '1'; |
| | | o1Id = cmpId + '2'; |
| | | o2Id = cmpId + '3'; |
| | | } else if (index == 2){ |
| | | myId = cmpId + '2'; |
| | | o1Id = cmpId + '1'; |
| | | o2Id = cmpId + '3'; |
| | | } else { |
| | | myId = cmpId + '3'; |
| | | o1Id = cmpId + '1'; |
| | | o2Id = cmpId + '2'; |
| | | } |
| | | |
| | | component |
| | | .find("select_GS1") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["GS"]))); |
| | | component |
| | | .find("select_GS2") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["GS"]))); |
| | | component |
| | | .find("select_GS3") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["GS"]))); |
| | | var product_category_id = component.find(myId).get('v.value'); |
| | | var pcId1 = component.find(o1Id).get('v.value'); |
| | | var pcId2 = component.find(o2Id).get('v.value'); |
| | | var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined; |
| | | var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined; |
| | | var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined; |
| | | if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) { |
| | | this.warning('不能选择同样的产品区分'); |
| | | component.find(myId).set('v.value',''); |
| | | } |
| | | }, |
| | | |
| | | component |
| | | .find("select_GYN1") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["GYN"]))); |
| | | component |
| | | .find("select_GYN2") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["GYN"]))); |
| | | component |
| | | .find("select_GYN3") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["GYN"]))); |
| | | selectHos : function(component, event, helper) { |
| | | |
| | | component |
| | | .find("select_URO1") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["URO"]))); |
| | | component |
| | | .find("select_URO2") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["URO"]))); |
| | | component |
| | | .find("select_URO3") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["URO"]))); |
| | | var accid = component.get("v.record.Agency_Hospital__c"); |
| | | var action = component.get("c.getDeptAmount"); |
| | | action.setParams({ hospitalId : accid }); |
| | | action.setCallback(this, function(response) { |
| | | var state = response.getState(); |
| | | if (state === "SUCCESS") { |
| | | var amountMap = response.getReturnValue(); |
| | | var GIProduct_Category1 = ''; |
| | | var GIProduct_Category2 = ''; |
| | | var GIProduct_Category3 = ''; |
| | | var GIAim_Price__c1 = ''; |
| | | var GIAim_Price__c2 = ''; |
| | | var GIAim_Price__c3 = ''; |
| | | if (amountMap.GI.length > 0) { |
| | | GIProduct_Category1 = amountMap.GI[0].Product_Category__c; |
| | | if (amountMap.GI.length > 1) { |
| | | GIProduct_Category2 = amountMap.GI[1].Product_Category__c; |
| | | } |
| | | if (amountMap.GI.length > 2) { |
| | | GIProduct_Category3 = amountMap.GI[2].Product_Category__c; |
| | | } |
| | | GIAim_Price__c1 = amountMap.GI[0].Aim_Price__c; |
| | | GIAim_Price__c2 = amountMap.GI[1].Aim_Price__c; |
| | | GIAim_Price__c3 = amountMap.GI[2].Aim_Price__c; |
| | | console.warn(GIAim_Price__c1+"-"+GIAim_Price__c2+"-"+GIAim_Price__c3); |
| | | |
| | | component |
| | | .find("select_ENT1") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["ENT"]))); |
| | | component |
| | | .find("select_ENT2") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["ENT"]))); |
| | | component |
| | | .find("select_ENT3") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["ENT"]))); |
| | | } |
| | | component.find('select_GI1').set('v.value',GIProduct_Category1); |
| | | component.find('select_GI2').set('v.value',GIProduct_Category2); |
| | | component.find('select_GI3').set('v.value',GIProduct_Category3); |
| | | component.find('select_GI4_1').set('v.value',GIAim_Price__c1); |
| | | component.find('select_GI4_2').set('v.value',GIAim_Price__c2); |
| | | component.find('select_GI4_3').set('v.value',GIAim_Price__c3); |
| | | |
| | | component |
| | | .find("select_OTH1") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["OTH"]))); |
| | | component |
| | | .find("select_OTH2") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["OTH"]))); |
| | | component |
| | | .find("select_OTH3") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["OTH"]))); |
| | | |
| | | component |
| | | .find("select_ET1") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["ET"]))); |
| | | component |
| | | .find("select_ET2") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["ET"]))); |
| | | component |
| | | .find("select_ET3") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["ET"]))); |
| | | var ETProduct_Category1 = ''; |
| | | var ETProduct_Category2 = ''; |
| | | var ETProduct_Category3 = ''; |
| | | var ETAim_Price__c1 = ''; |
| | | var ETAim_Price__c2 = ''; |
| | | var ETAim_Price__c3 = ''; |
| | | if (amountMap.ET.length > 0) { |
| | | ETProduct_Category1 = amountMap.ET[0].Product_Category__c; |
| | | if (amountMap.ET.length > 1) { |
| | | ETProduct_Category2 = amountMap.ET[1].Product_Category__c; |
| | | } |
| | | if (amountMap.ET.length > 2) { |
| | | ETProduct_Category3 = amountMap.ET[2].Product_Category__c; |
| | | } |
| | | ETAim_Price__c1 = amountMap.ET[0].Aim_Price__c; |
| | | ETAim_Price__c2 = amountMap.ET[1].Aim_Price__c; |
| | | ETAim_Price__c3 = amountMap.ET[2].Aim_Price__c; |
| | | } |
| | | component.find('select_ET1').set('v.value',ETProduct_Category1); |
| | | component.find('select_ET2').set('v.value',ETProduct_Category2); |
| | | component.find('select_ET3').set('v.value',ETProduct_Category3); |
| | | component.find('select_ET4_1').set('v.value',ETAim_Price__c1); |
| | | component.find('select_ET4_2').set('v.value',ETAim_Price__c2); |
| | | component.find('select_ET4_3').set('v.value',ETAim_Price__c3); |
| | | |
| | | component |
| | | .find("select_BF1") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["BF"]))); |
| | | component |
| | | .find("select_BF2") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["BF"]))); |
| | | component |
| | | .find("select_BF3") |
| | | .set("v.options", JSON.parse(JSON.stringify(opts["BF"]))); |
| | | } else if (state === "ERROR") { |
| | | var errors = response.getError(); |
| | | |
| | | var BFProduct_Category1 = ''; |
| | | var BFProduct_Category2 = ''; |
| | | var BFProduct_Category3 = ''; |
| | | var BFAim_Price__c1 = ''; |
| | | var BFAim_Price__c2 = ''; |
| | | var BFAim_Price__c3 = ''; |
| | | if (amountMap.BF.length > 0) { |
| | | BFProduct_Category1 = amountMap.BF[0].Product_Category__c; |
| | | if (amountMap.BF.length > 1) { |
| | | BFProduct_Category2 = amountMap.BF[1].Product_Category__c; |
| | | } |
| | | if (amountMap.BF.length > 2) { |
| | | BFProduct_Category3 = amountMap.BF[2].Product_Category__c; |
| | | } |
| | | BFAim_Price__c1 = amountMap.BF[0].Aim_Price__c; |
| | | BFAim_Price__c2 = amountMap.BF[1].Aim_Price__c; |
| | | BFAim_Price__c3 = amountMap.BF[2].Aim_Price__c; |
| | | } |
| | | component.find('select_BF1').set('v.value',BFProduct_Category1); |
| | | component.find('select_BF2').set('v.value',BFProduct_Category2); |
| | | component.find('select_BF3').set('v.value',BFProduct_Category3); |
| | | component.find('select_BF4_1').set('v.value',BFAim_Price__c1); |
| | | component.find('select_BF4_2').set('v.value',BFAim_Price__c2); |
| | | component.find('select_BF4_3').set('v.value',BFAim_Price__c3); |
| | | |
| | | |
| | | var OTHProduct_Category1 = ''; |
| | | var OTHProduct_Category2 = ''; |
| | | var OTHProduct_Category3 = ''; |
| | | var OTHAim_Price__c1 = ''; |
| | | var OTHAim_Price__c2 = ''; |
| | | var OTHAim_Price__c3 = ''; |
| | | if (amountMap.OTH.length > 0) { |
| | | |
| | | OTHProduct_Category1 = amountMap.OTH[0].Product_Category__c; |
| | | if (amountMap.OTH.length > 1) { |
| | | OTHProduct_Category2 = amountMap.OTH[1].Product_Category__c; |
| | | } |
| | | if (amountMap.OTH.length > 2) { |
| | | OTHProduct_Category3 = amountMap.OTH[2].Product_Category__c; |
| | | } |
| | | OTHAim_Price__c1 = amountMap.OTH[0].Aim_Price__c; |
| | | OTHAim_Price__c2 = amountMap.OTH[1].Aim_Price__c; |
| | | OTHAim_Price__c3 = amountMap.OTH[2].Aim_Price__c; |
| | | } |
| | | component.find('select_OTH1').set('v.value',OTHProduct_Category1); |
| | | component.find('select_OTH2').set('v.value',OTHProduct_Category2); |
| | | component.find('select_OTH3').set('v.value',OTHProduct_Category3); |
| | | component.find('select_OTH4_1').set('v.value',OTHAim_Price__c1); |
| | | component.find('select_OTH4_2').set('v.value',OTHAim_Price__c2); |
| | | component.find('select_OTH4_3').set('v.value',OTHAim_Price__c3); |
| | | |
| | | var GSProduct_Category1 = ''; |
| | | var GSProduct_Category2 = ''; |
| | | var GSProduct_Category3 = ''; |
| | | var GSPAim_Price__c1 = ''; |
| | | var GSPAim_Price__c2 = ''; |
| | | var GSPAim_Price__c3 = ''; |
| | | if (amountMap.GS.length > 0) { |
| | | GSProduct_Category1 = amountMap.GS[0].Product_Category__c; |
| | | if (amountMap.GS.length > 1) { |
| | | GSProduct_Category2 = amountMap.GS[1].Product_Category__c; |
| | | } |
| | | if (amountMap.GS.length > 2) { |
| | | GSProduct_Category3 = amountMap.GS[2].Product_Category__c; |
| | | } |
| | | GSPAim_Price__c1 = amountMap.GS[0].Aim_Price__c; |
| | | GSPAim_Price__c2 = amountMap.GS[1].Aim_Price__c; |
| | | GSPAim_Price__c3= amountMap.GS[2].Aim_Price__c; |
| | | } |
| | | component.find('select_GS1').set('v.value',GSProduct_Category1); |
| | | component.find('select_GS2').set('v.value',GSProduct_Category2); |
| | | component.find('select_GS3').set('v.value',GSProduct_Category3); |
| | | component.find('select_GS4_1').set('v.value',GSPAim_Price__c1); |
| | | component.find('select_GS4_2').set('v.value',GSPAim_Price__c2); |
| | | component.find('select_GS4_3').set('v.value',GSPAim_Price__c3); |
| | | |
| | | var UROProduct_Category1 = ''; |
| | | var UROProduct_Category2 = ''; |
| | | var UROProduct_Category3 = ''; |
| | | var UROAim_Price__c1 = ''; |
| | | var UROAim_Price__c2 = ''; |
| | | var UROAim_Price__c3 = ''; |
| | | if (amountMap.URO.length > 0) { |
| | | |
| | | UROProduct_Category1 = amountMap.URO[0].Product_Category__c; |
| | | if (amountMap.URO.length > 1) { |
| | | UROProduct_Category2 = amountMap.URO[1].Product_Category__c; |
| | | } |
| | | if (amountMap.URO.length > 2) { |
| | | UROProduct_Category3 = amountMap.URO[2].Product_Category__c; |
| | | } |
| | | UROAim_Price__c1 = amountMap.URO[0].Aim_Price__c; |
| | | UROAim_Price__c2 = amountMap.URO[1].Aim_Price__c; |
| | | UROAim_Price__c3 = amountMap.URO[2].Aim_Price__c; |
| | | } |
| | | component.find('select_URO1').set('v.value',UROProduct_Category1); |
| | | component.find('select_URO2').set('v.value',UROProduct_Category2); |
| | | component.find('select_URO3').set('v.value',UROProduct_Category3); |
| | | component.find('select_URO4_1').set('v.value',UROAim_Price__c1); |
| | | component.find('select_URO4_2').set('v.value',UROAim_Price__c2); |
| | | component.find('select_URO4_3').set('v.value',UROAim_Price__c3); |
| | | |
| | | |
| | | var GYNProduct_Category1 = ''; |
| | | var GYNProduct_Category2 = ''; |
| | | var GYNProduct_Category3 = ''; |
| | | var GYNAim_Price__c1 = ''; |
| | | var GYNAim_Price__c2 = ''; |
| | | var GYNAim_Price__c3 = ''; |
| | | if (amountMap.GYN.length > 0) { |
| | | |
| | | GYNProduct_Category1 = amountMap.GYN[0].Product_Category__c; |
| | | if (amountMap.GYN.length > 1) { |
| | | GYNProduct_Category2 = amountMap.GYN[1].Product_Category__c; |
| | | } |
| | | if (amountMap.GYN.length > 2) { |
| | | GYNProduct_Category3 = amountMap.GYN[2].Product_Category__c; |
| | | } |
| | | GYNAim_Price__c1= amountMap.GYN[0].Aim_Price__c; |
| | | GYNAim_Price__c2 = amountMap.GYN[1].Aim_Price__c; |
| | | GYNAim_Price__c3 = amountMap.GYN[2].Aim_Price__c; |
| | | } |
| | | component.find('select_GYN1').set('v.value',GYNProduct_Category1); |
| | | component.find('select_GYN2').set('v.value',GYNProduct_Category2); |
| | | component.find('select_GYN3').set('v.value',GYNProduct_Category3); |
| | | component.find('select_GYN4_1').set('v.value',GYNAim_Price__c1); |
| | | component.find('select_GYN4_2').set('v.value',GYNAim_Price__c2); |
| | | component.find('select_GYN4_3').set('v.value',GYNAim_Price__c3); |
| | | |
| | | |
| | | var ENTProduct_Category1 = ''; |
| | | var ENTProduct_Category2 = ''; |
| | | var ENTProduct_Category3 = ''; |
| | | var ENTAim_Price__c1 = ''; |
| | | var ENTAim_Price__c2 = ''; |
| | | var ENTAim_Price__c3 = ''; |
| | | if (amountMap.ENT.length > 0) { |
| | | |
| | | ENTProduct_Category1 = amountMap.ENT[0].Product_Category__c; |
| | | if (amountMap.ENT.length > 1) { |
| | | ENTProduct_Category2 = amountMap.ENT[1].Product_Category__c; |
| | | } |
| | | if (amountMap.ENT.length > 2) { |
| | | ENTProduct_Category3 = amountMap.ENT[2].Product_Category__c; |
| | | } |
| | | ENTAim_Price__c1 = amountMap.ENT[0].Aim_Price__c; |
| | | ENTAim_Price__c2 = amountMap.ENT[1].Aim_Price__c; |
| | | ENTAim_Price__c3 = amountMap.ENT[2].Aim_Price__c; |
| | | } |
| | | component.find('select_ENT1').set('v.value',ENTProduct_Category1); |
| | | component.find('select_ENT2').set('v.value',ENTProduct_Category2); |
| | | component.find('select_ENT3').set('v.value',ENTProduct_Category3); |
| | | component.find('select_ENT4_1').set('v.value',ENTAim_Price__c1); |
| | | component.find('select_ENT4_2').set('v.value',ENTAim_Price__c2); |
| | | component.find('select_ENT4_3').set('v.value',ENTAim_Price__c3); |
| | | |
| | | } |
| | | }); |
| | | $A.enqueueAction(action); |
| | | console.log(JSON.stringify(component.find('input-hos').get("v.body")[0].get('v'))); |
| | | }, |
| | | |
| | | getOCMTerm : function() { |
| | | var today = new Date(); |
| | | var year = today.getFullYear(); |
| | | var month = today.getMonth(); |
| | | |
| | | if (month < 3) year -= 1; |
| | | var thisYearOCMPeriod = String(year - 1867) + 'P'; |
| | | |
| | | return thisYearOCMPeriod; |
| | | }, |
| | | |
| | | createTarget : function(component, event, helper) { |
| | | var action = component.get("c.createSFTarget"); |
| | | // alert(component.get("v.GIAmount")); |
| | | |
| | | |
| | | |
| | | var p1_1 = component.find('select_GI4_1').get('v.value') ; |
| | | var p1_2 = component.find('select_GI4_2').get('v.value') ; |
| | | var p1_3 = component.find('select_GI4_3').get('v.value') ; |
| | | |
| | | if (p1_1 == undefined || p1_1 == "") { |
| | | p1_1 = 0; |
| | | } |
| | | if (p1_2 == undefined || p1_2 == "") { |
| | | p1_2 = 0; |
| | | } |
| | | if (p1_3 == undefined || p1_3 == "") { |
| | | p1_3 = 0; |
| | | } |
| | | console.warn(p1_1+"-"+p1_2+"-"+p1_3); |
| | | |
| | | var p2_1 = component.find('select_ET4_1').get('v.value') ; |
| | | var p2_2 = component.find('select_ET4_2').get('v.value') ; |
| | | var p2_3 = component.find('select_ET4_3').get('v.value') ; |
| | | if (p2_1 == undefined || p2_1 == "") { |
| | | p2_1 = 0; |
| | | } |
| | | if (p2_2 == undefined || p2_2 == "") { |
| | | p2_2 = 0; |
| | | } |
| | | if (p2_3 == undefined || p2_3 == "") { |
| | | p2_3 = 0; |
| | | } |
| | | |
| | | |
| | | var p3_1 = component.find('select_BF4_1').get('v.value') ; |
| | | var p3_2 = component.find('select_BF4_2').get('v.value') ; |
| | | var p3_3 = component.find('select_BF4_3').get('v.value') ; |
| | | if (p3_1 == undefined || p3_1 == "") { |
| | | p3_1 = 0; |
| | | } |
| | | if (p3_2 == undefined || p3_2 == "") { |
| | | p3_2 = 0; |
| | | } |
| | | if (p3_3 == undefined || p3_3 == "") { |
| | | p3_3 = 0; |
| | | } |
| | | |
| | | |
| | | |
| | | var p4_1 = component.find('select_OTH4_1').get('v.value') ; |
| | | var p4_2 = component.find('select_OTH4_2').get('v.value') ; |
| | | var p4_3 = component.find('select_OTH4_3').get('v.value') ; |
| | | if (p4_1 == undefined || p4_1 == "") { |
| | | p4_1 = 0; |
| | | } |
| | | if (p4_2 == undefined || p4_2 == "") { |
| | | p4_2 = 0; |
| | | } |
| | | if (p4_3 == undefined || p4_3 == "") { |
| | | p4_3 = 0; |
| | | } |
| | | |
| | | |
| | | |
| | | var p5_1 = component.find('select_GS4_1').get('v.value') ; |
| | | var p5_2 = component.find('select_GS4_2').get('v.value') ; |
| | | var p5_3 = component.find('select_GS4_3').get('v.value') ; |
| | | if (p5_1 == undefined || p5_1 == "") { |
| | | p5_1 = 0; |
| | | } |
| | | if (p5_2 == undefined || p5_2 == "") { |
| | | p5_2 = 0; |
| | | } |
| | | if (p5_3 == undefined || p5_3 == "") { |
| | | p5_3 = 0; |
| | | } |
| | | |
| | | |
| | | |
| | | var p6_1 = component.find('select_URO4_1').get('v.value') ; |
| | | var p6_2 = component.find('select_URO4_2').get('v.value') ; |
| | | var p6_3 = component.find('select_URO4_3').get('v.value') ; |
| | | if (p6_1 == undefined || p6_1 == "") { |
| | | p6_1 = 0; |
| | | } |
| | | if (p6_2 == undefined || p6_2 == "") { |
| | | p6_2 = 0; |
| | | } |
| | | if (p6_3 == undefined || p6_3 == "") { |
| | | p6_3 = 0; |
| | | } |
| | | |
| | | var p7_1 = component.find('select_GYN4_1').get('v.value') ; |
| | | var p7_2 = component.find('select_GYN4_2').get('v.value') ; |
| | | var p7_3 = component.find('select_GYN4_3').get('v.value') ; |
| | | if (p7_1 == undefined || p7_1 == "") { |
| | | p7_1 = 0; |
| | | } |
| | | if (p7_2 == undefined || p7_2 == "") { |
| | | p7_2 = 0; |
| | | } |
| | | if (p7_3 == undefined || p7_3 == "") { |
| | | p7_3 = 0; |
| | | } |
| | | |
| | | |
| | | |
| | | var p8_1 = component.find('select_ENT4_1').get('v.value') ; |
| | | var p8_2 = component.find('select_ENT4_2').get('v.value') ; |
| | | var p8_3 = component.find('select_ENT4_3').get('v.value') ; |
| | | if (p8_1 == undefined || p8_1 == "") { |
| | | p8_1 = 0; |
| | | } |
| | | if (p8_2 == undefined || p8_2 == "") { |
| | | p8_2 = 0; |
| | | } |
| | | if (p8_3 == undefined || p8_3 == "") { |
| | | p8_3 = 0; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | action.setParams({ |
| | | "hospitalId" : component.get("v.record.Agency_Hospital__c"), |
| | | "GIProduct" : [component.find('select_GI1').get('v.value'),component.find('select_GI2').get('v.value'),component.find('select_GI3').get('v.value'),p1_1,p1_2,p1_3], |
| | | "ETProduct" : [component.find('select_ET1').get('v.value'),component.find('select_ET2').get('v.value'),component.find('select_ET3').get('v.value'),p2_1, p2_2,p2_3 ], |
| | | "BFProduct" : [component.find('select_BF1').get('v.value'),component.find('select_BF2').get('v.value'),component.find('select_BF3').get('v.value'),p3_1 ,p3_2 ,p3_3 ], |
| | | "OTHProduct" : [component.find('select_OTH1').get('v.value'),component.find('select_OTH2').get('v.value'),component.find('select_OTH3').get('v.value'),p4_1,p4_2 ,p4_3], |
| | | "GSProduct" : [component.find('select_GS1').get('v.value'),component.find('select_GS2').get('v.value'),component.find('select_GS3').get('v.value'),p5_1,p5_2,p5_3], |
| | | "UROProduct" : [component.find('select_URO1').get('v.value'),component.find('select_URO2').get('v.value'),component.find('select_URO3').get('v.value'),p6_1,p6_2 ,p6_2 ], |
| | | "GYNProduct" : [component.find('select_GYN1').get('v.value'),component.find('select_GYN2').get('v.value'),component.find('select_GYN3').get('v.value'),p7_1,p7_2 ,p7_3 ], |
| | | "ENTProduct" : [component.find('select_ENT1').get('v.value'),component.find('select_ENT2').get('v.value'),component.find('select_ENT3').get('v.value'),p8_1 ,p8_2 ,p8_3], |
| | | "OCMTerm" : component.get("v.OCMTerm") |
| | | }); |
| | | action.setCallback(this, function(response) { |
| | | console.warn(response); |
| | | var state = response.getState(); |
| | | if (state === "SUCCESS") { |
| | | var modal_window = component.find('modal_window'); |
| | | var modal_bg = component.find('modal_bg'); |
| | | $A.util.toggleClass(modal_window, 'disp_none'); |
| | | $A.util.toggleClass(modal_bg, 'disp_none'); |
| | | |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "成功", |
| | | type:"success", |
| | | message: "保存成功" |
| | | }); |
| | | toastEvent.fire(); |
| | | |
| | | $A.get('e.force:refreshView').fire(); |
| | | } else if (state === "INCOMPLETE") { |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "未完成!", |
| | | type:"error", |
| | | message: "未完成" |
| | | }); |
| | | toastEvent.fire(); |
| | | } else if (state === "ERROR") { |
| | | var errors = response.getError(); |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "错误", |
| | | type:"error", |
| | | message: errors[0].message |
| | | }); |
| | | toastEvent.fire(); |
| | | |
| | | } |
| | | }); |
| | | $A.enqueueAction(action); |
| | | }, |
| | | |
| | | warning : function(message) { |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "错误", |
| | | type: "error", |
| | | message: errors[0].message |
| | | title: "警告!", |
| | | message: message, |
| | | type:"warning", |
| | | duration : "10000" |
| | | }); |
| | | toastEvent.fire(); |
| | | } |
| | | }); |
| | | $A.enqueueAction(action); |
| | | }, |
| | | |
| | | toggle_report: function (component, event, helper) { |
| | | var modal_window = component.find("modal_window"); |
| | | var modal_bg = component.find("modal_bg"); |
| | | $A.util.toggleClass(modal_window, "disp_none"); |
| | | $A.util.toggleClass(modal_bg, "disp_none"); |
| | | |
| | | if ( |
| | | $A.util.hasClass(modal_window, "disp_none") && |
| | | !component.get("v.recordId") |
| | | ) { |
| | | $A.get("e.force:refreshView").fire(); |
| | | } |
| | | }, |
| | | |
| | | productcategoryChange: function (component, event, helper, dept, index) { |
| | | var cmpId = "select_" + dept; |
| | | var myId; |
| | | var o1Id; |
| | | var o2Id; |
| | | if (index == 1) { |
| | | myId = cmpId + "1"; |
| | | o1Id = cmpId + "2"; |
| | | o2Id = cmpId + "3"; |
| | | } else if (index == 2) { |
| | | myId = cmpId + "2"; |
| | | o1Id = cmpId + "1"; |
| | | o2Id = cmpId + "3"; |
| | | } else { |
| | | myId = cmpId + "3"; |
| | | o1Id = cmpId + "1"; |
| | | o2Id = cmpId + "2"; |
| | | } |
| | | |
| | | var product_category_id = component.find(myId).get("v.value"); |
| | | var pcId1 = component.find(o1Id).get("v.value"); |
| | | var pcId2 = component.find(o2Id).get("v.value"); |
| | | var p1bool = pcId1 != "" && pcId1 != null && pcId1 != undefined; |
| | | var p2bool = pcId2 != "" && pcId2 != null && pcId2 != undefined; |
| | | var p0bool = |
| | | product_category_id != "" && |
| | | product_category_id != null && |
| | | product_category_id != undefined; |
| | | if ( |
| | | (p1bool && p0bool && product_category_id == pcId1) || |
| | | (p2bool && p0bool && product_category_id == pcId2) |
| | | ) { |
| | | this.warning("不能选择同样的产品区分"); |
| | | component.find(myId).set("v.value", ""); |
| | | } |
| | | }, |
| | | |
| | | selectHos: function (component, event, helper) { |
| | | var accid = component.get("v.record.Agency_Hospital__c"); |
| | | var action = component.get("c.getDeptAmount"); |
| | | action.setParams({ hospitalId: accid }); |
| | | action.setCallback(this, function (response) { |
| | | var state = response.getState(); |
| | | if (state === "SUCCESS") { |
| | | var amountMap = response.getReturnValue(); |
| | | var GIProduct_Category1 = ""; |
| | | var GIProduct_Category2 = ""; |
| | | var GIProduct_Category3 = ""; |
| | | var GIAim_Price__c1 = ""; |
| | | var GIAim_Price__c2 = ""; |
| | | var GIAim_Price__c3 = ""; |
| | | if (amountMap.GI.length > 0) { |
| | | GIProduct_Category1 = amountMap.GI[0].Product_Category__c; |
| | | if (amountMap.GI.length > 1) { |
| | | GIProduct_Category2 = amountMap.GI[1].Product_Category__c; |
| | | } |
| | | if (amountMap.GI.length > 2) { |
| | | GIProduct_Category3 = amountMap.GI[2].Product_Category__c; |
| | | } |
| | | GIAim_Price__c1 = amountMap.GI[0].Aim_Price__c; |
| | | GIAim_Price__c2 = amountMap.GI[1].Aim_Price__c; |
| | | GIAim_Price__c3 = amountMap.GI[2].Aim_Price__c; |
| | | console.warn( |
| | | GIAim_Price__c1 + "-" + GIAim_Price__c2 + "-" + GIAim_Price__c3 |
| | | ); |
| | | } |
| | | component.find("select_GI1").set("v.value", GIProduct_Category1); |
| | | component.find("select_GI2").set("v.value", GIProduct_Category2); |
| | | component.find("select_GI3").set("v.value", GIProduct_Category3); |
| | | component.find("select_GI4_1").set("v.value", GIAim_Price__c1); |
| | | component.find("select_GI4_2").set("v.value", GIAim_Price__c2); |
| | | component.find("select_GI4_3").set("v.value", GIAim_Price__c3); |
| | | |
| | | var ETProduct_Category1 = ""; |
| | | var ETProduct_Category2 = ""; |
| | | var ETProduct_Category3 = ""; |
| | | var ETAim_Price__c1 = ""; |
| | | var ETAim_Price__c2 = ""; |
| | | var ETAim_Price__c3 = ""; |
| | | if (amountMap.ET.length > 0) { |
| | | ETProduct_Category1 = amountMap.ET[0].Product_Category__c; |
| | | if (amountMap.ET.length > 1) { |
| | | ETProduct_Category2 = amountMap.ET[1].Product_Category__c; |
| | | } |
| | | if (amountMap.ET.length > 2) { |
| | | ETProduct_Category3 = amountMap.ET[2].Product_Category__c; |
| | | } |
| | | ETAim_Price__c1 = amountMap.ET[0].Aim_Price__c; |
| | | ETAim_Price__c2 = amountMap.ET[1].Aim_Price__c; |
| | | ETAim_Price__c3 = amountMap.ET[2].Aim_Price__c; |
| | | } |
| | | component.find("select_ET1").set("v.value", ETProduct_Category1); |
| | | component.find("select_ET2").set("v.value", ETProduct_Category2); |
| | | component.find("select_ET3").set("v.value", ETProduct_Category3); |
| | | component.find("select_ET4_1").set("v.value", ETAim_Price__c1); |
| | | component.find("select_ET4_2").set("v.value", ETAim_Price__c2); |
| | | component.find("select_ET4_3").set("v.value", ETAim_Price__c3); |
| | | |
| | | var BFProduct_Category1 = ""; |
| | | var BFProduct_Category2 = ""; |
| | | var BFProduct_Category3 = ""; |
| | | var BFAim_Price__c1 = ""; |
| | | var BFAim_Price__c2 = ""; |
| | | var BFAim_Price__c3 = ""; |
| | | if (amountMap.BF.length > 0) { |
| | | BFProduct_Category1 = amountMap.BF[0].Product_Category__c; |
| | | if (amountMap.BF.length > 1) { |
| | | BFProduct_Category2 = amountMap.BF[1].Product_Category__c; |
| | | } |
| | | if (amountMap.BF.length > 2) { |
| | | BFProduct_Category3 = amountMap.BF[2].Product_Category__c; |
| | | } |
| | | BFAim_Price__c1 = amountMap.BF[0].Aim_Price__c; |
| | | BFAim_Price__c2 = amountMap.BF[1].Aim_Price__c; |
| | | BFAim_Price__c3 = amountMap.BF[2].Aim_Price__c; |
| | | } |
| | | component.find("select_BF1").set("v.value", BFProduct_Category1); |
| | | component.find("select_BF2").set("v.value", BFProduct_Category2); |
| | | component.find("select_BF3").set("v.value", BFProduct_Category3); |
| | | component.find("select_BF4_1").set("v.value", BFAim_Price__c1); |
| | | component.find("select_BF4_2").set("v.value", BFAim_Price__c2); |
| | | component.find("select_BF4_3").set("v.value", BFAim_Price__c3); |
| | | |
| | | var OTHProduct_Category1 = ""; |
| | | var OTHProduct_Category2 = ""; |
| | | var OTHProduct_Category3 = ""; |
| | | var OTHAim_Price__c1 = ""; |
| | | var OTHAim_Price__c2 = ""; |
| | | var OTHAim_Price__c3 = ""; |
| | | if (amountMap.OTH.length > 0) { |
| | | OTHProduct_Category1 = amountMap.OTH[0].Product_Category__c; |
| | | if (amountMap.OTH.length > 1) { |
| | | OTHProduct_Category2 = amountMap.OTH[1].Product_Category__c; |
| | | } |
| | | if (amountMap.OTH.length > 2) { |
| | | OTHProduct_Category3 = amountMap.OTH[2].Product_Category__c; |
| | | } |
| | | OTHAim_Price__c1 = amountMap.OTH[0].Aim_Price__c; |
| | | OTHAim_Price__c2 = amountMap.OTH[1].Aim_Price__c; |
| | | OTHAim_Price__c3 = amountMap.OTH[2].Aim_Price__c; |
| | | } |
| | | component.find("select_OTH1").set("v.value", OTHProduct_Category1); |
| | | component.find("select_OTH2").set("v.value", OTHProduct_Category2); |
| | | component.find("select_OTH3").set("v.value", OTHProduct_Category3); |
| | | component.find("select_OTH4_1").set("v.value", OTHAim_Price__c1); |
| | | component.find("select_OTH4_2").set("v.value", OTHAim_Price__c2); |
| | | component.find("select_OTH4_3").set("v.value", OTHAim_Price__c3); |
| | | |
| | | var GSProduct_Category1 = ""; |
| | | var GSProduct_Category2 = ""; |
| | | var GSProduct_Category3 = ""; |
| | | var GSPAim_Price__c1 = ""; |
| | | var GSPAim_Price__c2 = ""; |
| | | var GSPAim_Price__c3 = ""; |
| | | if (amountMap.GS.length > 0) { |
| | | GSProduct_Category1 = amountMap.GS[0].Product_Category__c; |
| | | if (amountMap.GS.length > 1) { |
| | | GSProduct_Category2 = amountMap.GS[1].Product_Category__c; |
| | | } |
| | | if (amountMap.GS.length > 2) { |
| | | GSProduct_Category3 = amountMap.GS[2].Product_Category__c; |
| | | } |
| | | GSPAim_Price__c1 = amountMap.GS[0].Aim_Price__c; |
| | | GSPAim_Price__c2 = amountMap.GS[1].Aim_Price__c; |
| | | GSPAim_Price__c3 = amountMap.GS[2].Aim_Price__c; |
| | | } |
| | | component.find("select_GS1").set("v.value", GSProduct_Category1); |
| | | component.find("select_GS2").set("v.value", GSProduct_Category2); |
| | | component.find("select_GS3").set("v.value", GSProduct_Category3); |
| | | component.find("select_GS4_1").set("v.value", GSPAim_Price__c1); |
| | | component.find("select_GS4_2").set("v.value", GSPAim_Price__c2); |
| | | component.find("select_GS4_3").set("v.value", GSPAim_Price__c3); |
| | | |
| | | var UROProduct_Category1 = ""; |
| | | var UROProduct_Category2 = ""; |
| | | var UROProduct_Category3 = ""; |
| | | var UROAim_Price__c1 = ""; |
| | | var UROAim_Price__c2 = ""; |
| | | var UROAim_Price__c3 = ""; |
| | | if (amountMap.URO.length > 0) { |
| | | UROProduct_Category1 = amountMap.URO[0].Product_Category__c; |
| | | if (amountMap.URO.length > 1) { |
| | | UROProduct_Category2 = amountMap.URO[1].Product_Category__c; |
| | | } |
| | | if (amountMap.URO.length > 2) { |
| | | UROProduct_Category3 = amountMap.URO[2].Product_Category__c; |
| | | } |
| | | UROAim_Price__c1 = amountMap.URO[0].Aim_Price__c; |
| | | UROAim_Price__c2 = amountMap.URO[1].Aim_Price__c; |
| | | UROAim_Price__c3 = amountMap.URO[2].Aim_Price__c; |
| | | } |
| | | component.find("select_URO1").set("v.value", UROProduct_Category1); |
| | | component.find("select_URO2").set("v.value", UROProduct_Category2); |
| | | component.find("select_URO3").set("v.value", UROProduct_Category3); |
| | | component.find("select_URO4_1").set("v.value", UROAim_Price__c1); |
| | | component.find("select_URO4_2").set("v.value", UROAim_Price__c2); |
| | | component.find("select_URO4_3").set("v.value", UROAim_Price__c3); |
| | | |
| | | var GYNProduct_Category1 = ""; |
| | | var GYNProduct_Category2 = ""; |
| | | var GYNProduct_Category3 = ""; |
| | | var GYNAim_Price__c1 = ""; |
| | | var GYNAim_Price__c2 = ""; |
| | | var GYNAim_Price__c3 = ""; |
| | | if (amountMap.GYN.length > 0) { |
| | | GYNProduct_Category1 = amountMap.GYN[0].Product_Category__c; |
| | | if (amountMap.GYN.length > 1) { |
| | | GYNProduct_Category2 = amountMap.GYN[1].Product_Category__c; |
| | | } |
| | | if (amountMap.GYN.length > 2) { |
| | | GYNProduct_Category3 = amountMap.GYN[2].Product_Category__c; |
| | | } |
| | | GYNAim_Price__c1 = amountMap.GYN[0].Aim_Price__c; |
| | | GYNAim_Price__c2 = amountMap.GYN[1].Aim_Price__c; |
| | | GYNAim_Price__c3 = amountMap.GYN[2].Aim_Price__c; |
| | | } |
| | | component.find("select_GYN1").set("v.value", GYNProduct_Category1); |
| | | component.find("select_GYN2").set("v.value", GYNProduct_Category2); |
| | | component.find("select_GYN3").set("v.value", GYNProduct_Category3); |
| | | component.find("select_GYN4_1").set("v.value", GYNAim_Price__c1); |
| | | component.find("select_GYN4_2").set("v.value", GYNAim_Price__c2); |
| | | component.find("select_GYN4_3").set("v.value", GYNAim_Price__c3); |
| | | |
| | | var ENTProduct_Category1 = ""; |
| | | var ENTProduct_Category2 = ""; |
| | | var ENTProduct_Category3 = ""; |
| | | var ENTAim_Price__c1 = ""; |
| | | var ENTAim_Price__c2 = ""; |
| | | var ENTAim_Price__c3 = ""; |
| | | if (amountMap.ENT.length > 0) { |
| | | ENTProduct_Category1 = amountMap.ENT[0].Product_Category__c; |
| | | if (amountMap.ENT.length > 1) { |
| | | ENTProduct_Category2 = amountMap.ENT[1].Product_Category__c; |
| | | } |
| | | if (amountMap.ENT.length > 2) { |
| | | ENTProduct_Category3 = amountMap.ENT[2].Product_Category__c; |
| | | } |
| | | ENTAim_Price__c1 = amountMap.ENT[0].Aim_Price__c; |
| | | ENTAim_Price__c2 = amountMap.ENT[1].Aim_Price__c; |
| | | ENTAim_Price__c3 = amountMap.ENT[2].Aim_Price__c; |
| | | } |
| | | component.find("select_ENT1").set("v.value", ENTProduct_Category1); |
| | | component.find("select_ENT2").set("v.value", ENTProduct_Category2); |
| | | component.find("select_ENT3").set("v.value", ENTProduct_Category3); |
| | | component.find("select_ENT4_1").set("v.value", ENTAim_Price__c1); |
| | | component.find("select_ENT4_2").set("v.value", ENTAim_Price__c2); |
| | | component.find("select_ENT4_3").set("v.value", ENTAim_Price__c3); |
| | | } |
| | | }); |
| | | $A.enqueueAction(action); |
| | | console.log( |
| | | JSON.stringify(component.find("input-hos").get("v.body")[0].get("v")) |
| | | ); |
| | | }, |
| | | |
| | | getOCMTerm: function () { |
| | | var today = new Date(); |
| | | var year = today.getFullYear(); |
| | | var month = today.getMonth(); |
| | | |
| | | if (month < 3) year -= 1; |
| | | var thisYearOCMPeriod = String(year - 1867) + "P"; |
| | | |
| | | return thisYearOCMPeriod; |
| | | }, |
| | | |
| | | createTarget: function (component, event, helper) { |
| | | var action = component.get("c.createSFTarget"); |
| | | // alert(component.get("v.GIAmount")); |
| | | |
| | | var p1_1 = component.find("select_GI4_1").get("v.value"); |
| | | var p1_2 = component.find("select_GI4_2").get("v.value"); |
| | | var p1_3 = component.find("select_GI4_3").get("v.value"); |
| | | |
| | | if (p1_1 == undefined || p1_1 == "") { |
| | | p1_1 = 0; |
| | | } |
| | | if (p1_2 == undefined || p1_2 == "") { |
| | | p1_2 = 0; |
| | | } |
| | | if (p1_3 == undefined || p1_3 == "") { |
| | | p1_3 = 0; |
| | | } |
| | | console.warn(p1_1 + "-" + p1_2 + "-" + p1_3); |
| | | |
| | | var p2_1 = component.find("select_ET4_1").get("v.value"); |
| | | var p2_2 = component.find("select_ET4_2").get("v.value"); |
| | | var p2_3 = component.find("select_ET4_3").get("v.value"); |
| | | if (p2_1 == undefined || p2_1 == "") { |
| | | p2_1 = 0; |
| | | } |
| | | if (p2_2 == undefined || p2_2 == "") { |
| | | p2_2 = 0; |
| | | } |
| | | if (p2_3 == undefined || p2_3 == "") { |
| | | p2_3 = 0; |
| | | } |
| | | |
| | | var p3_1 = component.find("select_BF4_1").get("v.value"); |
| | | var p3_2 = component.find("select_BF4_2").get("v.value"); |
| | | var p3_3 = component.find("select_BF4_3").get("v.value"); |
| | | if (p3_1 == undefined || p3_1 == "") { |
| | | p3_1 = 0; |
| | | } |
| | | if (p3_2 == undefined || p3_2 == "") { |
| | | p3_2 = 0; |
| | | } |
| | | if (p3_3 == undefined || p3_3 == "") { |
| | | p3_3 = 0; |
| | | } |
| | | |
| | | var p4_1 = component.find("select_OTH4_1").get("v.value"); |
| | | var p4_2 = component.find("select_OTH4_2").get("v.value"); |
| | | var p4_3 = component.find("select_OTH4_3").get("v.value"); |
| | | if (p4_1 == undefined || p4_1 == "") { |
| | | p4_1 = 0; |
| | | } |
| | | if (p4_2 == undefined || p4_2 == "") { |
| | | p4_2 = 0; |
| | | } |
| | | if (p4_3 == undefined || p4_3 == "") { |
| | | p4_3 = 0; |
| | | } |
| | | |
| | | var p5_1 = component.find("select_GS4_1").get("v.value"); |
| | | var p5_2 = component.find("select_GS4_2").get("v.value"); |
| | | var p5_3 = component.find("select_GS4_3").get("v.value"); |
| | | if (p5_1 == undefined || p5_1 == "") { |
| | | p5_1 = 0; |
| | | } |
| | | if (p5_2 == undefined || p5_2 == "") { |
| | | p5_2 = 0; |
| | | } |
| | | if (p5_3 == undefined || p5_3 == "") { |
| | | p5_3 = 0; |
| | | } |
| | | |
| | | var p6_1 = component.find("select_URO4_1").get("v.value"); |
| | | var p6_2 = component.find("select_URO4_2").get("v.value"); |
| | | var p6_3 = component.find("select_URO4_3").get("v.value"); |
| | | if (p6_1 == undefined || p6_1 == "") { |
| | | p6_1 = 0; |
| | | } |
| | | if (p6_2 == undefined || p6_2 == "") { |
| | | p6_2 = 0; |
| | | } |
| | | if (p6_3 == undefined || p6_3 == "") { |
| | | p6_3 = 0; |
| | | } |
| | | |
| | | var p7_1 = component.find("select_GYN4_1").get("v.value"); |
| | | var p7_2 = component.find("select_GYN4_2").get("v.value"); |
| | | var p7_3 = component.find("select_GYN4_3").get("v.value"); |
| | | if (p7_1 == undefined || p7_1 == "") { |
| | | p7_1 = 0; |
| | | } |
| | | if (p7_2 == undefined || p7_2 == "") { |
| | | p7_2 = 0; |
| | | } |
| | | if (p7_3 == undefined || p7_3 == "") { |
| | | p7_3 = 0; |
| | | } |
| | | |
| | | var p8_1 = component.find("select_ENT4_1").get("v.value"); |
| | | var p8_2 = component.find("select_ENT4_2").get("v.value"); |
| | | var p8_3 = component.find("select_ENT4_3").get("v.value"); |
| | | if (p8_1 == undefined || p8_1 == "") { |
| | | p8_1 = 0; |
| | | } |
| | | if (p8_2 == undefined || p8_2 == "") { |
| | | p8_2 = 0; |
| | | } |
| | | if (p8_3 == undefined || p8_3 == "") { |
| | | p8_3 = 0; |
| | | } |
| | | |
| | | action.setParams({ |
| | | hospitalId: component.get("v.record.Agency_Hospital__c"), |
| | | GIProduct: [ |
| | | component.find("select_GI1").get("v.value"), |
| | | component.find("select_GI2").get("v.value"), |
| | | component.find("select_GI3").get("v.value"), |
| | | p1_1, |
| | | p1_2, |
| | | p1_3 |
| | | ], |
| | | ETProduct: [ |
| | | component.find("select_ET1").get("v.value"), |
| | | component.find("select_ET2").get("v.value"), |
| | | component.find("select_ET3").get("v.value"), |
| | | p2_1, |
| | | p2_2, |
| | | p2_3 |
| | | ], |
| | | BFProduct: [ |
| | | component.find("select_BF1").get("v.value"), |
| | | component.find("select_BF2").get("v.value"), |
| | | component.find("select_BF3").get("v.value"), |
| | | p3_1, |
| | | p3_2, |
| | | p3_3 |
| | | ], |
| | | OTHProduct: [ |
| | | component.find("select_OTH1").get("v.value"), |
| | | component.find("select_OTH2").get("v.value"), |
| | | component.find("select_OTH3").get("v.value"), |
| | | p4_1, |
| | | p4_2, |
| | | p4_3 |
| | | ], |
| | | GSProduct: [ |
| | | component.find("select_GS1").get("v.value"), |
| | | component.find("select_GS2").get("v.value"), |
| | | component.find("select_GS3").get("v.value"), |
| | | p5_1, |
| | | p5_2, |
| | | p5_3 |
| | | ], |
| | | UROProduct: [ |
| | | component.find("select_URO1").get("v.value"), |
| | | component.find("select_URO2").get("v.value"), |
| | | component.find("select_URO3").get("v.value"), |
| | | p6_1, |
| | | p6_2, |
| | | p6_2 |
| | | ], |
| | | GYNProduct: [ |
| | | component.find("select_GYN1").get("v.value"), |
| | | component.find("select_GYN2").get("v.value"), |
| | | component.find("select_GYN3").get("v.value"), |
| | | p7_1, |
| | | p7_2, |
| | | p7_3 |
| | | ], |
| | | ENTProduct: [ |
| | | component.find("select_ENT1").get("v.value"), |
| | | component.find("select_ENT2").get("v.value"), |
| | | component.find("select_ENT3").get("v.value"), |
| | | p8_1, |
| | | p8_2, |
| | | p8_3 |
| | | ], |
| | | OCMTerm: component.get("v.OCMTerm") |
| | | }); |
| | | action.setCallback(this, function (response) { |
| | | console.warn(response); |
| | | var state = response.getState(); |
| | | if (state === "SUCCESS") { |
| | | var modal_window = component.find("modal_window"); |
| | | var modal_bg = component.find("modal_bg"); |
| | | $A.util.toggleClass(modal_window, "disp_none"); |
| | | $A.util.toggleClass(modal_bg, "disp_none"); |
| | | |
| | | }, |
| | | |
| | | error : function(message) { |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "成功", |
| | | type: "success", |
| | | message: "保存成功" |
| | | title: "错误!", |
| | | message: message, |
| | | type:"error", |
| | | duration : "10000" |
| | | }); |
| | | toastEvent.fire(); |
| | | }, |
| | | |
| | | $A.get("e.force:refreshView").fire(); |
| | | } else if (state === "INCOMPLETE") { |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "未完成!", |
| | | type: "error", |
| | | message: "未完成" |
| | | }); |
| | | toastEvent.fire(); |
| | | } else if (state === "ERROR") { |
| | | var errors = response.getError(); |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "错误", |
| | | type: "error", |
| | | message: errors[0].message |
| | | }); |
| | | toastEvent.fire(); |
| | | } |
| | | }); |
| | | $A.enqueueAction(action); |
| | | }, |
| | | |
| | | warning: function (message) { |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "警告!", |
| | | message: message, |
| | | type: "warning", |
| | | duration: "10000" |
| | | }); |
| | | toastEvent.fire(); |
| | | }, |
| | | |
| | | error: function (message) { |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams({ |
| | | title: "错误!", |
| | | message: message, |
| | | type: "error", |
| | | duration: "10000" |
| | | }); |
| | | toastEvent.fire(); |
| | | } |
| | | }); |
| | | }) |
| | |
| | | <!-- |
| | | * @Author: Thhto 997058689@qq.com |
| | | * @Date: 2022-07-08 10:47:25 |
| | | * @LastEditors: Thhto 997058689@qq.com |
| | | * @LastEditTime: 2023-02-03 15:25:46 |
| | | * @FilePath: \ceshihuanj\force-app\main\default\aura\DealerPersonnelInformationImport\DealerPersonnelInformationImport.cmp |
| | | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
| | | --> |
| | | <aura:component controller="DealerPersonnelController" |
| | | implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes" |
| | | access="global"> |
| | |
| | | </aura:renderIf> |
| | | <!-- 批量添加周报 start--> |
| | | <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv" style="z-index: 10001"> |
| | | <ui:inputText aura:id="articleURL" /> |
| | | <!-- <ui:inputText aura:id="articleURL" /> --> |
| | | <div class="demo-only" style="height: 8rem;"> |
| | | <div class="slds-notify_container slds-is-relative"> |
| | | <div class="slds-notify slds-notify_toast slds-theme_error" role="status"> |
| | |
| | | class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large"> |
| | | <lightning:icon alternativeText="error" iconName="utility:error" size="small" |
| | | class="buttonColor slds-m-right_small" /> |
| | | <h2 class="slds-text-heading_small ">{!v.errorMessage}</h2> |
| | | <!-- DB202301262139 SFDC经销商人员导入功能改进 start --> |
| | | <!-- <h2 class="slds-text-heading_small ">{!v.errorMessage}</h2> --> |
| | | <pre class="slds-text-heading_small ">{!v.errorMessage}</pre> |
| | | <!-- DB202301262139 SFDC经销商人员导入功能改进 end --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv01"> |
| | | <ui:inputText aura:id="articleURL" /> |
| | | <!-- <ui:inputText aura:id="articleURL" /> --> |
| | | <div class="demo-only" style="height: 8rem;"> |
| | | <div class="slds-notify_container slds-is-relative"> |
| | | <div class="slds-notify slds-notify_toast slds-theme_success" role="alert"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div > |
| | | <div class="slds-modal__header "> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium">客户人员批量导入</h2> |
| | |
| | | <aura:set attribute="else"> |
| | | <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent}" /> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button label="保存" variant="brand" onclick="{!c.processFileContent}" /> |
| | | <lightning:button aura:id="save_con" label="保存" variant="brand" onclick="{!c.processFileContent}" disabled="false" /> |
| | | <lightning:button label="取消" variant="brand" onclick="{!c.cancel}" /> |
| | | </div> |
| | | <aura:if isTrue="{!v.showErrorInfo}"> |
| | |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <div style="height: 300px;overflow-x:scroll"> |
| | | <lightning:datatable keyField="id" data="{! v.errorData }" columns="{! v.errorColumns }" |
| | | hideCheckboxColumn="true" minColumnWidth="120"/> |
| | | hideCheckboxColumn="true"/> |
| | | </div> |
| | | </div> |
| | | </aura:if> |
| | |
| | | }; |
| | | reader.readAsDataURL(file); |
| | | }, |
| | | isNumber: function(str) { |
| | | return /^\d+$/.test(str); |
| | | }, |
| | | saveRecords: function (component, event, helper) { |
| | | component.set('v.login', true); |
| | | var action = component.get("c.processData"); |
| | |
| | | res1 += ress[i].substr(7) + '\n'; |
| | | if (ress[i] != '') { |
| | | let errorData = {} |
| | | if(!this.isNumber(ress[i].substr(7).substring(1, 2))){ |
| | | continue |
| | | } |
| | | let index = errorDataRow.indexOf(ress[i].substr(7).substring(1, 2)); |
| | | if (index == -1) { |
| | | errorData.errorRow = ress[i].substr(7).substring(1, 2); |
| | | errorDataRow.push(errorData.errorRow); |
| | | errorData.errorInfo = ress[i].substr(7).substring(6); |
| | | errorData.errorInfo = ress[i].substr(7).substring(5); |
| | | errorDatas.push(errorData); |
| | | } else { |
| | | errorDatas[index].errorInfo += '; ' + ress[i].substr(7).substring(6); |
| | | errorDatas[index].errorInfo += '; ' + ress[i].substr(7).substring(5); |
| | | } |
| | | } |
| | | } |
| | | var fileContentData = component.get("v.fileContentData").split('\n'); |
| | | let errorColumns = [ |
| | | { label: '错误行', fieldName: 'errorRow', type: 'text', hideDefaultActions: true, initialWidth: 50 }, |
| | | { label: '错误行', fieldName: 'errorRow', type: 'text', hideDefaultActions: true, initialWidth: 100 }, |
| | | { label: '错误信息', fieldName: 'errorInfo', type: 'text', hideDefaultActions: true,initialWidth: 300,wrapText: true } |
| | | ]; |
| | | for (var i = 0; i < fileContentData[0].split(',').length - 1; i++) { |
| | | errorColumns.push({ |
| | | label: fileContentData[0].split(',')[i], fieldName: 'field' + i, type: 'text', hideDefaultActions: true,wrapText: true |
| | | label: fileContentData[0].split(',')[i], |
| | | fieldName: 'field' + i, |
| | | type: 'text', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 120 |
| | | }); |
| | | } |
| | | |
| | | for(var i = 0; i < errorDatas.length; i++){ |
| | | let data = fileContentData[errorDatas[i].errorRow]; |
| | | console.log('data = ' + JSON.stringify(data)); |
| | | for(var j = 0; j < data.split(',').length; j++){ |
| | | let label = 'field' + j; |
| | | errorDatas[i][label] = data.split(',')[j]; |
| | | if(data){ |
| | | for(var j = 0; j < data.split(',').length; j++){ |
| | | let label = 'field' + j; |
| | | errorDatas[i][label] = data.split(',')[j]; |
| | | } |
| | | } |
| | | } |
| | | console.log('errorDatas = ' + JSON.stringify(errorDatas)) |
| | |
| | | component.set('v.errorMessage', res1 + "请修改后重新上传"); |
| | | this.showErrorToast(component); |
| | | component.set('v.login', false); |
| | | component.find('save_con').set('v.disabled', true); |
| | | } else { |
| | | // this.success('导入成功'); |
| | | component.set('v.successMessage', '导入成功'); |
| | | this.showSuccessToast01(component); |
| | | component.set("v.showMain", true); |
| | | component.set('v.login', false); |
| | | component.find('save_con').set('v.disabled', false); |
| | | } |
| | | } |
| | | else if (state === "INCOMPLETE") { |
| | |
| | | window.setTimeout($A.getCallback(function () { |
| | | $A.util.addClass(component.find('errorDiv'), 'slds-hide'); |
| | | }), |
| | | 4000 |
| | | 7000 |
| | | ); |
| | | }, |
| | | success: function (message) { |
| | |
| | | downloadCSV: function (component, csv) { |
| | | var link = document.createElement('a'); |
| | | // 设置字符集和文件头 |
| | | let bom = "\uFEFF"; |
| | | link.href = 'data:text/csv;charset=utf-8,' + encodeURIComponent(bom+csv); |
| | | var bom = "\uFEFF"; |
| | | link.href = 'data:text/csv;charset=utf-8,' + encodeURIComponent(bom + csv); |
| | | //link.href = URL.createObjectURL(csvFile); |
| | | link.download = 'data.csv'; |
| | | document.body.appendChild(link); |
| | | link.click(); |
| New file |
| | |
| | | <aura:documentation> |
| | | <aura:description>Documentation</aura:description> |
| | | <aura:example name="ExampleName" ref="exampleComponentName" label="Label"> |
| | | Example Description |
| | | </aura:example> |
| | | </aura:documentation> |
| New file |
| | |
| | | <!-- |
| | | @description : |
| | | @author : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | @group : |
| | | @last modified on : 07-08-2022 |
| | | @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | --> |
| | | <aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global" |
| | | controller="NewAgencyContactController"> |
| | | |
| | | <aura:attribute name = "recordId" type = "Id" default = ""/> |
| | | <aura:attribute name="title" type="string"/> |
| | | <aura:handler name="init" value="{!this}" action="{!c.doInit}" /> |
| | | <aura:attribute name="layout" type="LayoutDescriberHelper.LayoutWrapper"/> |
| | | <aura:attribute name="record_data" type="Map"/> |
| | | <aura:attribute name="section_names" type="List"/> |
| | | <aura:attribute name="showSpinner" type="Boolean" default = "False"/> |
| | | <aura:attribute name="staticResource" type="Map"/> |
| | | <aura:attribute name="pi_fields_map" type="Map"/> |
| | | <aura:attribute name="isClone" type="Boolean" default = "False"/> |
| | | <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" /> |
| | | <ltng:require scripts="{! $Resource.jquery183minjs }" /> |
| | | <aura:registerEvent name="NewAgencyContactEvent" type="c:NewAgencyContactEvent"/> |
| | | <aura:attribute name="agencyHospitalId" type="String"/> |
| | | |
| | | <div class="slds-modal__container"> |
| | | <!-- header --> |
| | | <header class="slds-modal__header"> |
| | | <h2 id="modal-heading-01" class="slds-modal__title slds-hyphenate"> |
| | | {!v.title} |
| | | </h2> |
| | | </header> |
| | | |
| | | <div class="slds-modal__content slds-p-around_medium"> |
| | | <aura:if isTrue="{!v.showSpinner}"> |
| | | <lightning:spinner alternativeText="Loading" size="medium" /> |
| | | </aura:if> |
| | | |
| | | |
| | | <lightning:recordEditForm objectApiName="Agency_Contact__c" onload="{!c.handleLoad}"> |
| | | |
| | | <lightning:accordion activeSectionName="{! v.section_names }" allowMultipleSectionsOpen="true" class="greyyyy" > |
| | | <aura:iteration items="{!v.layout}" var="section"> |
| | | <aura:if isTrue="{! section.editHeading }"> |
| | | <lightning:accordionSection name="{! section.label }" label="{! section.label }"> |
| | | |
| | | <aura:iteration items="{! section.layoutColumns}" var="col"> |
| | | <aura:iteration items="{! col.layoutItems}" var="field"> |
| | | <aura:if isTrue="{! field.behavior != 'Readonly' }"> |
| | | <lightning:inputField required="{! field.behavior == 'Required' }" aura:id="field" fieldName="{! field.field}" value="{! field.value}" /> |
| | | |
| | | </aura:if> |
| | | </aura:iteration> |
| | | |
| | | </aura:iteration> |
| | | |
| | | |
| | | </lightning:accordionSection> |
| | | </aura:if> |
| | | </aura:iteration> |
| | | </lightning:accordion> |
| | | </lightning:recordEditForm> |
| | | |
| | | <div style="text-align:center;margin: 5px;"> |
| | | <lightning:button class="slds-button slds-button_neutral" label="取消" onclick="{! c.cancelClick }" /> |
| | | <lightning:button class="slds-button slds-button_brand" variant="brand" label="保存" onclick="{! c.saveClick }" /> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </aura:component> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>55.0</apiVersion> |
| | | <description>A Lightning Component Bundle</description> |
| | | </AuraDefinitionBundle> |
| New file |
| | |
| | | .THIS { |
| | | } |
| | | |
| | | .THIS .greyyyy .slds-button_reset{ |
| | | display: flex; |
| | | align-items: center; |
| | | background: var(--lwc-colorBackground,rgb(243, 242, 242)); |
| | | cursor: pointer; |
| | | width: 100%; |
| | | height: 2rem; |
| | | text-align: left; |
| | | color: currentColor; |
| | | font-size: inherit; |
| | | padding: 0 var(--lwc-spacingXSmall,0.5rem); |
| | | } |
| New file |
| | |
| | | <design:component > |
| | | |
| | | </design:component> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8" standalone="no" ?> |
| | | <svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
| | | <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> |
| | | <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E" /> |
| | | <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF" /> |
| | | </g> |
| | | </svg> |
| New file |
| | |
| | | ({ |
| | | doInit : function(component, event, helper) { |
| | | let rid = component.get('v.recordId'); |
| | | let pid = null; |
| | | if(!rid){ |
| | | pid = window.location.href.replace("https://","").split("/")[4]; |
| | | } |
| | | let isClone = component.get('v.isClone'); |
| | | if(!rid || isClone){ |
| | | component.set('v.title',$A.get("$Label.c.New")+'.客户人员'); |
| | | }else{ |
| | | component.set('v.title',$A.get("$Label.c.Edit")+'.客户人员'); |
| | | } |
| | | |
| | | let record_type_id = null; |
| | | let pageref = component.get("v.pageReference") |
| | | if(!record_type_id && pageref){ |
| | | record_type_id = pageref.state.recordTypeId |
| | | } |
| | | component.set("v.showSpinner", true); |
| | | helper.CallBackAction(component,'Init',{ |
| | | rid : rid, |
| | | pid : null, |
| | | //rid : component.get('v.recordId'), |
| | | record_type_id : record_type_id, |
| | | },function(data){ |
| | | debugger |
| | | console.log('data = ' + JSON.stringify(data)); |
| | | if(data.getState() == "SUCCESS"){ |
| | | var rv = data.getReturnValue(); |
| | | console.log(rv); |
| | | if(rv.IsSuccess){ |
| | | let layout = JSON.parse(rv.Data.layout); |
| | | let fields = rv.Data.fields; |
| | | let staticResource = JSON.parse(rv.Data.staticResource); |
| | | let staticResourceV2 = JSON.parse(rv.Data.staticResourceV2); |
| | | let section_names = []; |
| | | section_names = layout.map(s=>s.label); |
| | | component.set('v.section_names',section_names); |
| | | |
| | | let m = {}; |
| | | for(let f of staticResource.PIDetails){ |
| | | m[f.SF_Field_API_Name__c] = f; |
| | | } |
| | | component.set('v.pi_fields_map',m); |
| | | |
| | | |
| | | |
| | | var agencyHospitalId = component.get("v.agencyHospitalId"); |
| | | console.log('agencyHospitalId = ' + agencyHospitalId); |
| | | if(rv.Data && rv.Data.data && rv.Data.data.AWS_Data_Id__c){ |
| | | helper.AwsGet(staticResource.queryUrl, { |
| | | dataId : rv.Data.data.AWS_Data_Id__c |
| | | }, function(data){ |
| | | console.log('data = ' + data); |
| | | |
| | | for(let f of staticResource.PIDetails){ |
| | | |
| | | if(data.object && data.object.hasOwnProperty(f.AWS_Field_API__c)){ |
| | | rv.Data.data[f.SF_Field_API_Name__c] = data.object[f.AWS_Field_API__c]; |
| | | if(data.object.hasOwnProperty(f.AWS_Encrypted_Field_API__c) && data.object[f.AWS_Encrypted_Field_API__c]){ |
| | | rv.Data.data[f.SF_Field_Encrypted_API__c] = data.object[f.AWS_Encrypted_Field_API__c]; |
| | | } |
| | | } |
| | | } |
| | | |
| | | for(let s of layout){ |
| | | for(let c of s.layoutColumns){ |
| | | for(let item of c.layoutItems){ |
| | | if(rv.Data.data.hasOwnProperty(item.field)){ |
| | | item.value = rv.Data.data[item.field]; |
| | | } |
| | | if(fields.hasOwnProperty(item.field)){ |
| | | item.fi = fields[item.field]; |
| | | } |
| | | if(item.field == 'Agency_Hospital__c'){ |
| | | item.value = agencyHospitalId; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | component.set('v.record_data',rv.Data.data); |
| | | component.set('v.layout',layout); |
| | | }, staticResource.token); |
| | | }else{ |
| | | |
| | | for(let s of layout){ |
| | | for(let c of s.layoutColumns){ |
| | | for(let item of c.layoutItems){ |
| | | if(rv.Data && fields.hasOwnProperty(item.field) && fields[item.field].References && fields[item.field].References.map(m=>m.value).indexOf(rv.Data.pidType) > -1){ |
| | | item.value = pid; |
| | | } |
| | | if(item.field == 'Agency_Hospital__c'){ |
| | | item.value = agencyHospitalId; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | component.set('v.layout',layout); |
| | | } |
| | | |
| | | |
| | | component.set('v.fields',fields); |
| | | component.set('v.staticResource',staticResource); |
| | | component.set('v.staticResourceV2',staticResourceV2); |
| | | }else{ |
| | | helper.ShowToast({ |
| | | "message" : rv.Message, |
| | | "type" : "error" |
| | | }); |
| | | } |
| | | |
| | | }else{ |
| | | |
| | | helper.ShowToast({ |
| | | "message" : "Init error", |
| | | "type" : "error" |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | }, |
| | | handleLoad: function(component, event, helper) { |
| | | console.log('recordEditForm handleSuccess') |
| | | component.set("v.showSpinner", false); |
| | | }, |
| | | saveClick : function(component, event, helper){ |
| | | |
| | | let staticResource = component.get('v.staticResource'); |
| | | //let staticResourceV2 = component.get('v.staticResourceV2'); |
| | | let record_id = component.get('v.recordId'); |
| | | let record_type_id = component.get('v.recordTypeId'); |
| | | |
| | | let isClone = component.get('v.isClone'); |
| | | let url = staticResource.newUrl; |
| | | //let urlV2 = staticResourceV2.newUrl; |
| | | let payloadPi = {}; |
| | | if (record_id && !isClone) { |
| | | url = staticResource.updateUrl; |
| | | //urlV2 = staticResourceV2.updateUrl; |
| | | payloadPi['dataId'] = component.get('v.record_data').AWS_Data_Id__c; |
| | | } |
| | | let layout = component.get('v.layout'); |
| | | |
| | | let pi_fields_map = component.get('v.pi_fields_map'); |
| | | |
| | | let hospitalId = ''; |
| | | for(let s of layout){ |
| | | for(let c of s.layoutColumns){ |
| | | for(let item of c.layoutItems){ |
| | | if(item.field == 'Agency_Hospital__c'){ |
| | | hospitalId = item.value; |
| | | } |
| | | if(pi_fields_map.hasOwnProperty(item.field)){ |
| | | |
| | | payloadPi[pi_fields_map[item.field].AWS_Field_API__c] = item.value; |
| | | } |
| | | |
| | | if (item.behavior == "Required" && !item.value ) { |
| | | let fs = component.find("field"); |
| | | for(let fi in fs){ |
| | | let f = fs[fi]; |
| | | if(!f.get('v.value')){ |
| | | f.reset(); |
| | | } |
| | | } |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | component.set("v.showSpinner", true); |
| | | //zhj MEBG新方案改造 2022-11-29 start |
| | | debugger |
| | | let hospitalName = ''; |
| | | //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid |
| | | helper.CallBackAction(component,'searchAgencyDataId',{ |
| | | hospitalId : hospitalId |
| | | },function(data){ |
| | | if(data.getState() == "SUCCESS"){ |
| | | var data = data.getReturnValue(); |
| | | if(data.IsSuccess == true){ |
| | | let agencyContactIds = '' |
| | | if(data.Message == '' && data.Data && data.Data.length > 0){ |
| | | hospitalName = data.Data[0].Agency_Hospital__r.Name; |
| | | for(var i=0;i<data.Data.length;i++){ |
| | | if(data.Data[i].AWS_Data_Id__c) |
| | | agencyContactIds += ','+data.Data[i].AWS_Data_Id__c; |
| | | } |
| | | agencyContactIds = agencyContactIds.substring(1); |
| | | payloadPi['agencyContactIds'] = agencyContactIds; |
| | | }else{ |
| | | payloadPi['agencyContactIds'] = agencyContactIds; |
| | | } |
| | | helper.AwsPost(url+'V2', [payloadPi], function(result){ |
| | | //如果返回是129表示重复了,报错 |
| | | if(result.status == '129'){ |
| | | helper.ShowToast({ |
| | | "message" : '该客户人员名字已存在,在'+hospitalName+'医院,请修改', |
| | | "type" : "error" |
| | | }); |
| | | component.set("v.showSpinner", false); |
| | | return |
| | | } |
| | | |
| | | let obj = result.object[0]; |
| | | let data = {}; |
| | | if(record_id && !isClone){ |
| | | data.Id = record_id; |
| | | }else{ |
| | | data.AWS_Data_Id__c = obj.dataId; |
| | | } |
| | | for(let s of layout){ |
| | | for(let c of s.layoutColumns){ |
| | | for(let item of c.layoutItems){ |
| | | if(item.field && item.behavior != "Readonly"){ |
| | | if(pi_fields_map.hasOwnProperty(item.field)){ |
| | | data[item.field] = obj[pi_fields_map[item.field].AWS_Field_API__c]; |
| | | //data[pi_fields_map[item.field].SF_Field_Encrypted_API__c] = obj[pi_fields_map[item.field].AWS_Encrypted_Field_API__c]; |
| | | }else{ |
| | | data[item.field] = item.value; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | $A.getCallback(function(){ |
| | | helper.CallBackAction(component,'Save',{ |
| | | data : data, |
| | | transId : result.txId |
| | | },function(data){ |
| | | component.set("v.showSpinner", false); |
| | | if(data.getState() == "SUCCESS"){ |
| | | var rv = data.getReturnValue(); |
| | | console.log(rv); |
| | | var sfId = null; |
| | | if(rv.IsSuccess){ |
| | | sfId = rv.Data.recordId; |
| | | } |
| | | |
| | | helper.AwsPost(staticResource.transactionUrl,{ |
| | | txId: result.txId, |
| | | sfRecordId:sfId, |
| | | isSuccess: rv.IsSuccess ? 1 : 0 |
| | | },function(data){ |
| | | if(rv.IsSuccess){ |
| | | helper.ShowToast({ |
| | | "message" : "成功", |
| | | "type" : "success" |
| | | }); |
| | | helper.closeAgencyContact(component); |
| | | |
| | | // if (record_id && !isClone){ |
| | | |
| | | // helper.closeAgencyContact(component); |
| | | // //$A.get('e.force:refreshView').fire(); |
| | | // }else{ |
| | | // var sObjectEvent = $A.get("e.force:navigateToSObject"); |
| | | // sObjectEvent.setParams({ |
| | | // "recordId": sfId |
| | | // }) |
| | | // sObjectEvent.fire(); |
| | | // } |
| | | }else{ |
| | | helper.ShowToast({ |
| | | "message" : rv.Message, |
| | | "type" : "error" |
| | | }); |
| | | } |
| | | },staticResource.token); |
| | | |
| | | |
| | | }else{ |
| | | |
| | | helper.ShowToast({ |
| | | "message" : "Init error", |
| | | "type" : "error" |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | })(); |
| | | |
| | | }, staticResource.token); |
| | | }else{ |
| | | helper.ShowToast({ |
| | | "message" : data.message, |
| | | "type" : "error" |
| | | }); |
| | | component.set("v.showSpinner", false); |
| | | } |
| | | }else{ |
| | | helper.ShowToast({ |
| | | "message" : 'searchAgency失败', |
| | | "type" : "error" |
| | | }); |
| | | component.set("v.showSpinner", false); |
| | | } |
| | | }); |
| | | //zhj MEBG新方案改造 2022-11-29 end |
| | | // helper.AwsPost(urlV2, [payloadPi], function(result){ |
| | | |
| | | // let obj = result.object[0]; |
| | | // let data = {}; |
| | | // if(record_id && !isClone){ |
| | | // data.Id = record_id; |
| | | // }else{ |
| | | // data.AWS_Data_Id__c = obj.dataId; |
| | | // } |
| | | // for(let s of layout){ |
| | | // for(let c of s.layoutColumns){ |
| | | // for(let item of c.layoutItems){ |
| | | // if(item.field && item.behavior != "Readonly"){ |
| | | // if(pi_fields_map.hasOwnProperty(item.field)){ |
| | | // data[item.field] = obj[pi_fields_map[item.field].AWS_Field_API__c]; |
| | | // data[pi_fields_map[item.field].SF_Field_Encrypted_API__c] = obj[pi_fields_map[item.field].AWS_Encrypted_Field_API__c]; |
| | | // }else{ |
| | | // data[item.field] = item.value; |
| | | // } |
| | | // } |
| | | |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | |
| | | // $A.getCallback(function(){ |
| | | // helper.CallBackAction(component,'Save',{ |
| | | // data : data, |
| | | // transId : result.txId |
| | | // },function(data){ |
| | | // component.set("v.showSpinner", false); |
| | | // if(data.getState() == "SUCCESS"){ |
| | | // var rv = data.getReturnValue(); |
| | | // console.log(rv); |
| | | // var sfId = null; |
| | | // if(rv.IsSuccess){ |
| | | // sfId = rv.Data.recordId; |
| | | // } |
| | | |
| | | // helper.AwsPost(staticResource.transactionUrl,{ |
| | | // txId: result.txId, |
| | | // sfRecordId:sfId, |
| | | // isSuccess: rv.IsSuccess ? 1 : 0 |
| | | // },function(data){ |
| | | // if(rv.IsSuccess){ |
| | | // helper.ShowToast({ |
| | | // "message" : "成功", |
| | | // "type" : "success" |
| | | // }); |
| | | // helper.closeAgencyContact(component); |
| | | |
| | | // // if (record_id && !isClone){ |
| | | |
| | | // // helper.closeAgencyContact(component); |
| | | // // //$A.get('e.force:refreshView').fire(); |
| | | // // }else{ |
| | | // // var sObjectEvent = $A.get("e.force:navigateToSObject"); |
| | | // // sObjectEvent.setParams({ |
| | | // // "recordId": sfId |
| | | // // }) |
| | | // // sObjectEvent.fire(); |
| | | // // } |
| | | // }else{ |
| | | // helper.ShowToast({ |
| | | // "message" : rv.Message, |
| | | // "type" : "error" |
| | | // }); |
| | | // } |
| | | // },staticResource.token); |
| | | |
| | | |
| | | // }else{ |
| | | |
| | | // helper.ShowToast({ |
| | | // "message" : "Init error", |
| | | // "type" : "error" |
| | | // }); |
| | | |
| | | // } |
| | | // }); |
| | | // })(); |
| | | |
| | | // }, staticResource.token); |
| | | }, |
| | | cancelClick : function(component, event, helper){ |
| | | helper.closeAgencyContact(component); |
| | | }, |
| | | |
| | | scriptsLoaded : function(component, event, helper){} |
| | | }) |
| New file |
| | |
| | | ({ |
| | | CallBackAction : function(component,action_name,para,callback) { |
| | | var action = component.get("c." + action_name.trimStart().replace("c.","")); |
| | | if(para){ |
| | | action.setParams(para); |
| | | } |
| | | if(callback){ |
| | | action.setCallback(this,function(data){ |
| | | callback(data); |
| | | }); |
| | | } |
| | | |
| | | $A.enqueueAction(action); |
| | | }, |
| | | ShowToast : function(paras){ |
| | | var toastEvent = $A.get("e.force:showToast"); |
| | | toastEvent.setParams(paras); |
| | | toastEvent.fire(); |
| | | }, |
| | | AwsPost : function(postURL, data ,callback,token){ |
| | | let payloadForNewPI = ''; |
| | | if(typeof(data) == 'string'){ |
| | | payloadForNewPI = data; |
| | | }else{ |
| | | payloadForNewPI = JSON.stringify(data); |
| | | } |
| | | |
| | | AWSService.post(postURL,payloadForNewPI,function(result) { |
| | | //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus); |
| | | if(callback) callback(result); |
| | | },token); |
| | | }, |
| | | AwsGet : function(url, data ,callback,token){ |
| | | |
| | | if(typeof(data) == 'string'){ |
| | | url += data; |
| | | }else{ |
| | | let i = 0; |
| | | for(let p in data){ |
| | | url += (i++) ? '&' : '?'; |
| | | url += p + '=' + data[p]; |
| | | } |
| | | } |
| | | |
| | | AWSService.get(url,function(result){ |
| | | //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus); |
| | | if(callback) callback(result); |
| | | },token); |
| | | }, |
| | | closeAgencyContact : function(component){ |
| | | var cmpEvent = component.getEvent("NewAgencyContactEvent"); |
| | | cmpEvent.setParams({ |
| | | "showNewAgencyContact":false}); |
| | | cmpEvent.fire(); |
| | | } |
| | | }) |
| New file |
| | |
| | | ({ |
| | | |
| | | // Your renderer method overrides go here |
| | | |
| | | }) |
| | |
| | | <aura:attribute name="show" type="Boolean" default="false"/> |
| | | <aura:attribute name="showNewAgencyContact" type="Boolean" default="false"/> |
| | | <aura:handler name="NewAgencyContactEvent" event="c:NewAgencyContactEvent" action="{!c.closeAgencyContact}"/> |
| | | <aura:attribute name="agencyHospitalId" type="String" default = ""/> |
| | | |
| | | |
| | | |
| | |
| | | <aura:if isTrue="{!v.showSpinner}"> |
| | | <lightning:spinner alternativeText="Loading" size="medium" /> |
| | | </aura:if> |
| | | <lightning:recordEditForm objectApiName="Agency_Opportunity__c"> |
| | | <lightning:recordEditForm objectApiName="Agency_Opportunity__c" onload="{!c.handleLoad}"> |
| | | <lightning:accordion activeSectionName="{! v.section_names }" allowMultipleSectionsOpen="true" class="greyyyy" > |
| | | <aura:iteration items="{!v.layout}" var="section"> |
| | | <aura:if isTrue="{! section.editHeading }"> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <aura:if isTrue="{!v.showNewAgencyContact}"> |
| | | <!-- <aura:if isTrue="{!v.showNewAgencyContact}"> |
| | | <section role="dialog" tabindex="-1" aria-modal="true" aria-labelledby="modal-heading-01" class="slds-modal slds-fade-in-open" aura:id="NewAgencyContact" id="NewAgencyContact"> |
| | | <c:NewAgencyContact2 /> |
| | | </section> |
| | | </aura:if> --> |
| | | |
| | | <aura:if isTrue="{!v.showNewAgencyContact}"> |
| | | <section role="dialog" tabindex="-1" aria-modal="true" aria-labelledby="modal-heading-01" |
| | | class="slds-modal slds-fade-in-open" aura:id="NewAgencyContact" |
| | | id="NewAgencyContact" aria-describedby="modal-content-id-2" style="z-index: 9999;"> |
| | | <c:NewAgencyContact2 agencyHospitalId="{!v.agencyHospitalId}"/> |
| | | </section> |
| | | <div class="slds-backdrop2 slds-backdrop_open2"></div> |
| | | </aura:if> |
| | | |
| | | </div> |
| | |
| | | |
| | | .THIS .slds-spinner_container{ |
| | | position: revert; |
| | | } |
| | | |
| | | .THIS .slds-backdrop2 { |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background-color: rgba(0, 0, 0, 0.6); /* 遮罩层的半透明背景色 */ |
| | | } |
| | | .THIS .slds-backdrop_open2 { |
| | | z-index: 9003; /* 遮罩层的层级,需要确保比模态框的层级高 */ |
| | | } |
| | |
| | | } |
| | | // component.set('v.fields',fields); |
| | | // component.set('v.staticResource',staticResource); |
| | | component.set("v.showSpinner", false); |
| | | //component.set("v.showSpinner", false); |
| | | }else{ |
| | | component.set("v.showSpinner", false); |
| | | helper.ShowToast({ |
| | |
| | | } |
| | | }); |
| | | }, |
| | | handleLoad: function(component, event, helper) { |
| | | console.log('recordEditForm handleSuccess') |
| | | component.set("v.showSpinner", false); |
| | | }, |
| | | saveClick : function(component, event, helper){ |
| | | |
| | | let staticResource = component.get('v.staticResource'); |
| | |
| | | "type" : "warning" |
| | | }); |
| | | return |
| | | }else if(item.field == 'Agency_Hospital__c' && item.value){ |
| | | component.set('v.agencyHospitalId',item.value) |
| | | console.log('v.agencyHospitalId item.value = ' + item.value) |
| | | } |
| | | } |
| | | } |
| | |
| | | let myTableDiv = document.getElementById("QueryResult"); |
| | | let table = document.createElement('TABLE'); |
| | | table.border = '1'; |
| | | table.id = 'table'; |
| | | table.id = 'customTable'; |
| | | table.setAttribute('class','slds-table slds-table_cell-buffer slds-table_bordered'); |
| | | let tableBody = document.createElement('TBODY'); |
| | | table.appendChild(tableBody); |
| | | let headerTR = document.createElement('TR'); |
| | | headerTR.setAttribute('class','slds-line-height_reset'); |
| | | let colsHeader = ['姓名','医院', '医生区分(职务)','分类']; |
| | | let colsHeader = [' ','姓名','医院', '医生区分(职务)','分类']; |
| | | tableBody.appendChild(headerTR); |
| | | for (let i = 0; i < colsHeader.length; i++) { |
| | | let td = document.createElement('TH'); |
| | |
| | | for (let i = 0; i < contactInfoList.length; i++) { |
| | | let tr = document.createElement('TR'); |
| | | tableBody.appendChild(tr); |
| | | let contactInfoTemp = contactInfoList[i] |
| | | let contactInfoTemp = contactInfoList[i]; |
| | | |
| | | //再加一列选择button |
| | | debugger |
| | | let td = document.createElement('TD'); |
| | | td.width = '75'; |
| | | td.id = contactsInfo[contactInfoTemp.AWSDataId].Id; |
| | | console.log('contactInfoTemp = ' + JSON.stringify(contactInfoTemp)) |
| | | // 创建按钮元素 |
| | | var button = document.createElement('button'); |
| | | button.classList.add('slds-button','slds-button_neutral'); |
| | | button.id = contactInfoTemp.sfRecordId != null ? contactInfoTemp.sfRecordId : ''; |
| | | // 设置按钮的文本内容 |
| | | var buttonText = document.createTextNode('选择'); |
| | | button.appendChild(buttonText); |
| | | button.addEventListener("click", function (obj) { |
| | | that.redirectToParentPage(component, event, helper, obj); |
| | | }); |
| | | button.value = contactInfoTemp[cols[0]] != null ? contactInfoTemp[cols[0]] : '' |
| | | td.appendChild(button); |
| | | tr.appendChild(td); |
| | | for (let j = 0; j < cols.length; j++) { |
| | | let td = document.createElement('TD'); |
| | | td.width = '75'; |
| | |
| | | td.id = contactInfoTemp.sfRecordId; |
| | | } |
| | | td.appendChild(document.createTextNode(contactInfoTemp[cols[j]]!=null?contactInfoTemp[cols[j]]:'')); |
| | | if (cols[j] == 'Name') { |
| | | td.addEventListener("click", function (obj) { |
| | | that.redirectToParentPage(component, event, helper,obj); |
| | | }); |
| | | } |
| | | // if (cols[j] == 'Name') { |
| | | // td.addEventListener("click", function (obj) { |
| | | // that.redirectToParentPage(component, event, helper,obj); |
| | | // }); |
| | | // } |
| | | tr.appendChild(td); |
| | | } |
| | | } |
| | | that.resetTable(); |
| | | myTableDiv.appendChild(table); |
| | | component.find('button').set('v.disabled', false); |
| | | }, |
| | | redirectToParentPage : function(component, event, helper,obj){ |
| | | let agencyContactName = obj.currentTarget.innerText; |
| | | let agencyContactName = obj.currentTarget.value; |
| | | let id = obj.currentTarget.id; |
| | | component.set('v.ac_name',agencyContactName); |
| | | let layout = component.get('v.layout'); |
| | |
| | | component.set("v.isModalOpen", false); |
| | | }, |
| | | resetTable : function(){ |
| | | let queryResult = document.getElementById('QueryResult'); |
| | | let table = document.getElementsByTagName('table'); |
| | | debugger; |
| | | console.log('table:' + table); |
| | | debugger; |
| | | if(table.length > 1){ |
| | | for(var i=1;i<table.length;i++){ |
| | | queryResult.removeChild(table[i]) |
| | | } |
| | | // let queryResult = document.getElementById('QueryResult'); |
| | | // let table = document.getElementById('customTable'); |
| | | // console.log('table:' + table); |
| | | // if(table.length > 1){ |
| | | // for(var i=1;i<table.length;i++){ |
| | | // queryResult.removeChild(table[i]) |
| | | // } |
| | | // } |
| | | let customTable = document.getElementById('customTable'); |
| | | if(customTable){ |
| | | customTable.parentNode.removeChild(customTable); |
| | | } |
| | | }, |
| | | preparePayloadForSearchAgencyContact : function(component, event, helper){ |
| | |
| | | }); |
| | | return |
| | | } |
| | | component.set('v.showSpinner',true); |
| | | let searchPayload = new Object(); |
| | | let searchAgencyContactName = component.get('v.searchKeyWord'); |
| | | searchPayload.dataIds = rv.Data; |
| | |
| | | "message" : '没有查询到该客户人员', |
| | | "type" : "warning" |
| | | }); |
| | | component.set('v.showSpinner',false); |
| | | return |
| | | } |
| | | for(var i=0;i<data.object.length;i++){ |
| | |
| | | } |
| | | } |
| | | //let AWSIdToSFIdMapValue = {}; |
| | | debugger |
| | | var searchAgencyContacts = component.get('c.searchAgencyContacts'); |
| | | searchAgencyContacts.setParams({ |
| | | "awsAgencyContactIds" : JSON.stringify(awsDataIds), |
| | | "agencyHospitalId" : agencyHospitalId, |
| | | "accountId" : accountId |
| | | }); |
| | | searchAgencyContacts.setCallback(this,function(response){ |
| | | // 延迟执行一段代码 |
| | | setTimeout(function() { |
| | | // 需要延迟执行的代码 |
| | | // 创建一个鼠标点击事件 |
| | | var event = new MouseEvent('click', { |
| | | bubbles: true, |
| | | cancelable: true, |
| | | view: window |
| | | }); |
| | | |
| | | // 触发元素的点击事件 |
| | | var element = document.getElementById('NewAgencyContact'); |
| | | for(var i = 0;i<100;i++){ |
| | | element.dispatchEvent(event); |
| | | } |
| | | }, 1000); // 延迟 1000 毫秒(即 1 秒) |
| | | searchAgencyContacts.setCallback(that,function(response){ |
| | | var state = response.getState(); |
| | | if(state == 'SUCCESS'){ |
| | | var rv = response.getReturnValue(); |
| | |
| | | } |
| | | } |
| | | that.refreshTable(component, event, helper,cols,contactInfoList,contactsInfo); |
| | | component.set('v.showSpinner',false); |
| | | } |
| | | } |
| | | }); |
| | | $A.enqueueAction(searchAgencyContacts); |
| | | }else{ |
| | | component.set('v.showSpinner',false); |
| | | } |
| | | },token); |
| | | } |
| | |
| | | <aura:component |
| | | controller="RetrospectiveWeeklyReportController" |
| | | implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes,lightning:availableForFlowScreens" |
| | | access="global" |
| | | > |
| | | <ltng:require styles="{!$Resource.multilineToastCSS}" /> |
| | | <aura:handler name="init" value="{!this}" action="{!c.doInit}" /> |
| | | <aura:handler |
| | | event="c:strike_evt" |
| | | action="{!c.createAopp}" |
| | | name="strike_evt_addNewRecord" |
| | | /> |
| | | <aura:attribute |
| | | name="data" |
| | | type="Agency_Report__c" |
| | | default="{sobjectType:'Agency_Report__c'}" |
| | | /> |
| | | <aura:attribute |
| | | name="oppdata" |
| | | type="Agency_Opportunity__c" |
| | | default="{sobjectType:'Agency_Opportunity__c'}" |
| | | /> |
| | | <aura:attribute |
| | | name="acondata" |
| | | type="Agency_Contact__c" |
| | | default="{sobjectType:'Ag |
| | | ency_Contact__c'}" |
| | | /> |
| | | <aura:attribute name="successMessage" type="String" /> |
| | | <aura:attribute name="etEng" type="String" /> |
| | | <aura:attribute name="errorMessage" type="String" /> |
| | | <aura:attribute name="Close_Forecasted_Date__c_o" type="Date" /> |
| | | <aura:attribute name="Amount__c_o" type="String" /> |
| | | <aura:attribute name="OCMSale_Price__c_o" type="String" /> |
| | | <aura:attribute name="StageName__c_o" type="String" /> |
| | | <aura:attribute name="fieldsmap" type="Map" /> |
| | | <aura:attribute name="AgencyReportMap" type="Boolean" default="false" /> |
| | | <!-- 日报分类 --> |
| | | <aura:component controller="RetrospectiveWeeklyReportController" |
| | | implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes,lightning:availableForFlowScreens" |
| | | access="global"> |
| | | <ltng:require styles="{!$Resource.multilineToastCSS}" /> |
| | | <aura:handler name="init" value="{!this}" action="{!c.doInit}" /> |
| | | <aura:handler event="c:strike_evt" action="{!c.createAopp}" name="strike_evt_addNewRecord" /> |
| | | <aura:attribute name="data" type="Agency_Report__c" default="{sobjectType:'Agency_Report__c'}" /> |
| | | <aura:attribute name="oppdata" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}" /> |
| | | <aura:attribute name="acondata" type="Agency_Contact__c" default="{sobjectType:'Ag |
| | | ency_Contact__c'}" /> |
| | | <aura:attribute name="successMessage" type="String" /> |
| | | <aura:attribute name="etEng" type="String" /> |
| | | <aura:attribute name="errorMessage" type="String" /> |
| | | <aura:attribute name="Close_Forecasted_Date__c_o" type="Date" /> |
| | | <aura:attribute name="Amount__c_o" type="String" /> |
| | | <aura:attribute name="OCMSale_Price__c_o" type="String" /> |
| | | <aura:attribute name="StageName__c_o" type="String" /> |
| | | <aura:attribute name="fieldsmap" type="Map" /> |
| | | <aura:attribute name="AgencyReportMap" type="Boolean" default="false" /> |
| | | <!-- 日报分类 --> |
| | | |
| | | <aura:attribute name="alldata" type="List" /> |
| | | <aura:attribute name="setdoctorlisthos" type="Boolean" default="false" /> |
| | | <aura:attribute name="allselectlist" type="Map" /> |
| | | <aura:attribute name="doclist" type="List" /> |
| | | <aura:attribute name="docmap" type="Map" /> |
| | | <aura:attribute name="login" type="Boolean" default="false" /> |
| | | <aura:attribute name="loginEdit" type="Boolean" default="false" /> |
| | | <aura:attribute name="modal_import_spinner" type="Boolean" default="false" /> |
| | | <aura:attribute name="loadOpp" type="Boolean" default="false" /> |
| | | <aura:attribute name="reportPageData" type="Map" /> |
| | | <aura:attribute name="selectbody" type="String" /> |
| | | <aura:attribute name="report_date_list" type="Map" /> |
| | | <aura:attribute name="selected_date" type="String" /> |
| | | <aura:attribute name="selected_agency_person" type="String" /> |
| | | <aura:attribute name="agency_report_header" type="String" /> |
| | | <aura:attribute name="agency_report_header_id" type="String" /> |
| | | <aura:attribute name="result" type="String" default="" /> |
| | | <!-- //医院 点选需要 --> |
| | | <aura:attribute name="hospital" type="string" default="" /> |
| | | <aura:attribute name="hospitalId" type="string" default="" /> |
| | | <aura:attribute name="hospitals" type="string" default="" /> |
| | | <aura:attribute name="hospitalLinkId" type="string" default="" /> |
| | | <aura:handler name="change" value="{!v.hospital}" action="{!c.hosChange}" /> |
| | | <aura:attribute name="hospitalList" type="Map" /> |
| | | <!-- 使用产品1(产品型号) --> |
| | | <aura:attribute name="UseProduct1" type="string" default="" /> |
| | | <aura:attribute name="UseProduct1s" type="string" default="" /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.UseProduct1}" |
| | | action="{!c.UseProduct1Change}" |
| | | /> |
| | | <aura:attribute name="UseProduct1List" type="Map" /> |
| | | <aura:attribute name="UseProduct1Id" type="string" default="" /> |
| | | <!-- 使用产品2 --> |
| | | <aura:attribute name="UseProduct2" type="string" default="" /> |
| | | <aura:attribute name="UseProduct2s" type="string" default="" /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.UseProduct2}" |
| | | action="{!c.UseProduct2Change}" |
| | | /> |
| | | <aura:attribute name="UseProduct2List" type="Map" /> |
| | | <aura:attribute name="UseProduct2Id" type="string" default="" /> |
| | | <!-- 使用产品3 --> |
| | | <aura:attribute name="UseProduct3" type="string" default="" /> |
| | | <aura:attribute name="UseProduct3s" type="string" default="" /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.UseProduct3}" |
| | | action="{!c.UseProduct3Change}" |
| | | /> |
| | | <aura:attribute name="UseProduct3List" type="Map" /> |
| | | <aura:attribute name="UseProduct3Id" type="string" default="" /> |
| | | <!--SWAG-CF58C3 fy start --> |
| | | <aura:attribute name="AWStoken" type="String" /> |
| | | <aura:attribute name="AWSsearch" type="String" /> |
| | | <aura:attribute name="AWSinsert" type="String" /> |
| | | <aura:attribute name="AWStransactionURL" type="String" /> |
| | | <aura:attribute name="AWSDoctor2Map" type="String" /> |
| | | <aura:attribute name="awsurl" type="Map" /> |
| | | <aura:attribute name="contactawsurl" type="Map" /> |
| | | <aura:attribute name="allselectlistAgencyPerson" type="Map" /> |
| | | <!--SWAG-CF58C3 fy end --> |
| | | <aura:attribute name="alldata" type="List" /> |
| | | <aura:attribute name="setdoctorlisthos" type="Boolean" default="false" /> |
| | | <aura:attribute name="allselectlist" type="Map" /> |
| | | <aura:attribute name="doclist" type="List" /> |
| | | <aura:attribute name="docmap" type="Map" /> |
| | | <aura:attribute name="login" type="Boolean" default="false" /> |
| | | <aura:attribute name="loginEdit" type="Boolean" default="false" /> |
| | | <aura:attribute name="modal_import_spinner" type="Boolean" default="false" /> |
| | | <aura:attribute name="loadOpp" type="Boolean" default="false" /> |
| | | <aura:attribute name="reportPageData" type="Map" /> |
| | | <aura:attribute name="selectbody" type="String" /> |
| | | <aura:attribute name="report_date_list" type="Map" /> |
| | | <aura:attribute name="selected_date" type="String" /> |
| | | <aura:attribute name="selected_agency_person" type="String" /> |
| | | <aura:attribute name="agency_report_header" type="String" /> |
| | | <aura:attribute name="agency_report_header_id" type="String" /> |
| | | <aura:attribute name="result" type="String" default="" /> |
| | | <!-- //医院 点选需要 --> |
| | | <aura:attribute name="hospital" type="string" default="" /> |
| | | <aura:attribute name="hospitalId" type="string" default="" /> |
| | | <aura:attribute name="hospitals" type="string" default="" /> |
| | | <aura:attribute name="hospitalLinkId" type="string" default="" /> |
| | | <aura:handler name="change" value="{!v.hospital}" action="{!c.hosChange}" /> |
| | | <aura:attribute name="hospitalList" type="Map" /> |
| | | <!-- 使用产品1(产品型号) --> |
| | | <aura:attribute name="UseProduct1" type="string" default="" /> |
| | | <aura:attribute name="UseProduct1s" type="string" default="" /> |
| | | <aura:handler name="change" value="{!v.UseProduct1}" action="{!c.UseProduct1Change}" /> |
| | | <aura:attribute name="UseProduct1List" type="Map" /> |
| | | <aura:attribute name="UseProduct1Id" type="string" default="" /> |
| | | <!-- 使用产品2 --> |
| | | <aura:attribute name="UseProduct2" type="string" default="" /> |
| | | <aura:attribute name="UseProduct2s" type="string" default="" /> |
| | | <aura:handler name="change" value="{!v.UseProduct2}" action="{!c.UseProduct2Change}" /> |
| | | <aura:attribute name="UseProduct2List" type="Map" /> |
| | | <aura:attribute name="UseProduct2Id" type="string" default="" /> |
| | | <!-- 使用产品3 --> |
| | | <aura:attribute name="UseProduct3" type="string" default="" /> |
| | | <aura:attribute name="UseProduct3s" type="string" default="" /> |
| | | <aura:handler name="change" value="{!v.UseProduct3}" action="{!c.UseProduct3Change}" /> |
| | | <aura:attribute name="UseProduct3List" type="Map" /> |
| | | <aura:attribute name="UseProduct3Id" type="string" default="" /> |
| | | <!--SWAG-CF58C3 fy start --> |
| | | <aura:attribute name="AWStoken" type="String" /> |
| | | <aura:attribute name="AWSsearch" type="String" /> |
| | | <aura:attribute name="AWSinsert" type="String" /> |
| | | <aura:attribute name="AWStransactionURL" type="String" /> |
| | | <aura:attribute name="AWSDoctor2Map" type="String" /> |
| | | <aura:attribute name="awsurl" type="Map" /> |
| | | <aura:attribute name="contactawsurl" type="Map" /> |
| | | <aura:attribute name="allselectlistAgencyPerson" type="Map" /> |
| | | <!--SWAG-CF58C3 fy end --> |
| | | |
| | | <aura:attribute name="doctor_list" type="Map" /> |
| | | <!-- <aura:attribute name="doctor_title" type="String" /> --> |
| | | <aura:attribute name="opportunity_list" type="Map" /> |
| | | <aura:attribute name="edit_copy_select_report_id" type="String" /> |
| | | <aura:attribute name="create_agency_report_id" type="String" /> |
| | | <aura:attribute name="reports" type="List" /> |
| | | <aura:attribute name="reports_now" type="List" /> |
| | | <aura:attribute name="reports_now_count" type="Integer" /> |
| | | <aura:attribute name="mode" type="String" /> |
| | | <aura:attribute name="select_report_data" type="Map" /> |
| | | <aura:attribute name="select_report_data_radio" type="Map" /> |
| | | <aura:attribute name="default_select_doctor_id" type="String" /> |
| | | <aura:attribute name="default_select_doctor_id2" type="String" /> |
| | | <aura:attribute name="default_select_opportunity_id" type="String" /> |
| | | <aura:attribute name="report_count" type="Integer" /> |
| | | <aura:attribute name="dialog_type" type="String" /> |
| | | <aura:attribute name="truthy" type="Boolean" default="false" /> |
| | | <aura:attribute name="list_message" type="String" default="搜索" /> |
| | | <aura:attribute name="confirm_status" type="Integer" default="0" /> |
| | | <aura:attribute name="modal_confirm_title" type="String" /> |
| | | <aura:attribute name="modal_confirm_text" type="String" /> |
| | | <!-- <aura:attribute name="new_falg" type="String" /> --> |
| | | <!-- fy --> |
| | | <aura:attribute name="UserProType" type="String" /> |
| | | <!-- 科室 --> |
| | | <aura:attribute name="opportunity_cfilter" type="String" /> |
| | | <aura:attribute |
| | | name="update_select_report_data_id" |
| | | type="String" |
| | | default="" |
| | | /> |
| | | <!-- 批量添加日报 start--> |
| | | <aura:attribute name="reports_date" type="List" /> |
| | | <aura:attribute |
| | | name="TableContent" |
| | | type="String" |
| | | description=" Show the Result class" |
| | | /> |
| | | <aura:attribute |
| | | name="TableContent2" |
| | | type="String" |
| | | description=" Show the Result class" |
| | | /> |
| | | <aura:attribute |
| | | name="TargetFileName" |
| | | type="String" |
| | | description="Name of the file" |
| | | /> |
| | | <aura:attribute name="tableheaders" type="Object[]" /> |
| | | <aura:attribute name="fileContentData" type="String" /> |
| | | <aura:attribute name="filename" type="String" /> |
| | | <aura:attribute name="NumOfRecords" type="Integer" default="1000" /> |
| | | <aura:attribute name="showMain" type="Boolean" default="true" /> |
| | | <aura:attribute name="IsEventDefault" type="Boolean" default="true" /> |
| | | <!-- start DTT-zhj 增加错误信息table 2023-05-16--> |
| | | <aura:attribute name="errorData" type="Object" /> |
| | | <aura:attribute name="errorColumns" type="List" /> |
| | | <!-- show Error information --> |
| | | <aura:attribute name="showErrorInfo" type="Boolean" default="false" /> |
| | | <!-- end DTT-zhj 增加错误信息table 2023-05-16--> |
| | | |
| | | <aura:attribute name="PIConfig" type="Map" /> |
| | | <aura:attribute name="doctor_list" type="Map" /> |
| | | <!-- <aura:attribute name="doctor_title" type="String" /> --> |
| | | <aura:attribute name="opportunity_list" type="Map" /> |
| | | <aura:attribute name="edit_copy_select_report_id" type="String" /> |
| | | <aura:attribute name="create_agency_report_id" type="String" /> |
| | | <aura:attribute name="reports" type="List" /> |
| | | <aura:attribute name="reports_now" type="List" /> |
| | | <aura:attribute name="reports_now_count" type="Integer" /> |
| | | <aura:attribute name="mode" type="String" /> |
| | | <aura:attribute name="select_report_data" type="Map" /> |
| | | <aura:attribute name="select_report_data_radio" type="Map" /> |
| | | <aura:attribute name="default_select_doctor_id" type="String" /> |
| | | <aura:attribute name="default_select_doctor_id2" type="String" /> |
| | | <aura:attribute name="default_select_opportunity_id" type="String" /> |
| | | <aura:attribute name="report_count" type="Integer" /> |
| | | <aura:attribute name="dialog_type" type="String" /> |
| | | <aura:attribute name="truthy" type="Boolean" default="false" /> |
| | | <aura:attribute name="list_message" type="String" default="搜索" /> |
| | | <aura:attribute name="confirm_status" type="Integer" default="0" /> |
| | | <aura:attribute name="modal_confirm_title" type="String" /> |
| | | <aura:attribute name="modal_confirm_text" type="String" /> |
| | | <!-- <aura:attribute name="new_falg" type="String" /> --> |
| | | <!-- fy --> |
| | | <aura:attribute name="UserProType" type="String" /> |
| | | <!-- 科室 --> |
| | | <aura:attribute name="opportunity_cfilter" type="String" /> |
| | | <aura:attribute name="update_select_report_data_id" type="String" default="" /> |
| | | <!-- 批量添加日报 start--> |
| | | <aura:attribute name="reports_date" type="List" /> |
| | | <aura:attribute name="TableContent" type="String" description=" Show the Result class" /> |
| | | <aura:attribute name="TableContent2" type="String" description=" Show the Result class" /> |
| | | <aura:attribute name="TargetFileName" type="String" description="Name of the file" /> |
| | | <aura:attribute name="tableheaders" type="Object[]" /> |
| | | <aura:attribute name="fileContentData" type="String" /> |
| | | <aura:attribute name="filename" type="String" /> |
| | | <aura:attribute name="NumOfRecords" type="Integer" default="1000" /> |
| | | <aura:attribute name="showMain" type="Boolean" default="true" /> |
| | | <aura:attribute name="IsEventDefault" type="Boolean" default="true" /> |
| | | <!-- start DTT-zhj 增加错误信息table 2023-05-16--> |
| | | <aura:attribute name="errorData" type="Object" /> |
| | | <aura:attribute name="errorColumns" type="List" /> |
| | | <!-- show Error information --> |
| | | <aura:attribute name="showErrorInfo" type="Boolean" default="false" /> |
| | | <!-- end DTT-zhj 增加错误信息table 2023-05-16--> |
| | | |
| | | <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" /> |
| | | <ltng:require scripts="{! $Resource.jquery183minjs }" /> |
| | | <aura:attribute name="PIConfig" type="Map" /> |
| | | |
| | | <!-- 批量添加日报 end--> |
| | | <!--ロード中...--> |
| | | <aura:renderIf isTrue="{!v.login}"> |
| | | <aura:renderIf isTrue="{!!v.loginEdit}"> |
| | | <!-- <div class="slds-spinner_container"> |
| | | <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" /> |
| | | <ltng:require scripts="{! $Resource.jquery183minjs }" /> |
| | | |
| | | <!-- 批量添加日报 end--> |
| | | <!--ロード中...--> |
| | | <aura:renderIf isTrue="{!v.login}"> |
| | | <aura:renderIf isTrue="{!!v.loginEdit}"> |
| | | <!-- <div class="slds-spinner_container"> |
| | | <div role="status" class="slds-spinner slds-spinner_medium slds-spinner_brand"> |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | </div> --> |
| | | <div |
| | | class="slds-spinner_container" |
| | | id="spinner" |
| | | style="position: fixed; top: 123px" |
| | | > |
| | | <div |
| | | role="status" |
| | | class="slds-spinner slds-spinner_medium slds-spinner_brand" |
| | | > |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | </div> |
| | | </aura:renderIf> |
| | | </aura:renderIf> |
| | | <div aura:id="report" id="report"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div style="width: 150px"></div> |
| | | <div |
| | | class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12 fontSize" |
| | | > |
| | | 周 |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 fontSize" |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_date" |
| | | class="slds-select" |
| | | change="{!c.select_date_change}" |
| | | /> |
| | | </div> |
| | | <!-- 代理店担当者 --> |
| | | <div |
| | | class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12" |
| | | style="display: none" |
| | | > |
| | | {!v.fieldsmap.Person_In_Charge2__c} |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12" |
| | | style="display: none" |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_agency_person" |
| | | class="slds-select agency_person_select" |
| | | change="{!c.select_agency_change}" |
| | | /> |
| | | </div> |
| | | <div style="width: 100px"></div> |
| | | <div |
| | | class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12" |
| | | style="display: contents" |
| | | > |
| | | <ui:button |
| | | aura:id="new_button" |
| | | label="新建" |
| | | press="{!c.new_report}" |
| | | class="buttonFontSize" |
| | | /> |
| | | </div> |
| | | <div |
| | | style="width: 400px" |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--4-of-12 slds-large-size--4-of-12" |
| | | > |
| | | <ui:button |
| | | aura:id="copy_button" |
| | | label="复制" |
| | | press="{!c.copy_button}" |
| | | disabled="true" |
| | | class="buttonFontSize" |
| | | /> |
| | | <ui:button |
| | | aura:id="delete_button" |
| | | label="删除" |
| | | press="{!c.delete_button}" |
| | | disabled="true" |
| | | class="buttonFontSize" |
| | | /> |
| | | <ui:button |
| | | aura:id="import" |
| | | label="导入" |
| | | press="{!c.import}" |
| | | class="buttonFontSize" |
| | | /> |
| | | <ui:button |
| | | aura:id="export" |
| | | label="导出" |
| | | press="{!c.export_condition}" |
| | | class="buttonFontSize" |
| | | /> |
| | | <!-- <ui:button aura:id="returnbutton" label="返回" press="{!c.return_main_page}" /> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div aura:id="report_list" class="report_list_area"> |
| | | <div |
| | | class="slds-table--edit_container slds-is-relative" |
| | | style="padding-left: 50px" |
| | | > |
| | | <table |
| | | class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" |
| | | role="grid" |
| | | style="width: 66.75rem" |
| | | > |
| | | <thead> |
| | | <tr class="slds-line-height--reset"> |
| | | <th |
| | | class="table_header slds-text-title--caps fontSize" |
| | | style="width: 250px" |
| | | > |
| | | <span class="slds-truncate" title="Name">日报编号</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.Person_In_Charge2__c}</span |
| | | > |
| | | <!-- {!v.fieldsmap.Person_In_Charge2__c} 担当--> |
| | | </th> |
| | | <th |
| | | class="table_header slds-text-title--caps fontSize" |
| | | style="width: 250px" |
| | | > |
| | | <span class="slds-truncate" title="Name">医院</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.Department_Cateogy__c}</span |
| | | > |
| | | <!-- {!v.fieldsmap.Department_Cateogy__c} 科室--> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name">拜访人</span> |
| | | <!-- {!v.fieldsmap.doctor2__c} 拜访人 --> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.DealerPersonnel__c}</span |
| | | > |
| | | <!-- {!v.fieldsmap.visitor_title__c} 职位--> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.WorkMark__c}</span |
| | | > |
| | | <!-- {!v.fieldsmap.visitor_title__c} 职位--> |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <aura:iteration items="{!v.reports}" var="item" indexVar="index"> |
| | | <tr class="slds-hint-parent"> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <ui:inputRadio |
| | | class="report_radio" |
| | | name="report_radio" |
| | | label="{!item.Name}" |
| | | change="{!c.change_report_radio}" |
| | | /> |
| | | <lightning:buttonIcon |
| | | class="edit_button" |
| | | iconName="utility:edit" |
| | | size="small" |
| | | alternativeText="edit" |
| | | value="{!index}" |
| | | onclick="{!c.edit_button}" |
| | | /> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Person_In_Charge2__r.Name}" |
| | | >{!item.Person_In_Charge2__r.Name}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td scope="row" tabindex="0" class="slds-cell-edit fontSize"> |
| | | <div class="slds-spinner_container" id="spinner" style="position: fixed;top:123px;"> |
| | | <div |
| | | class="slds-grid slds-grid--align-spread" |
| | | style="word-wrap: break-word" |
| | | role="status" |
| | | class="slds-spinner slds-spinner_medium slds-spinner_brand" |
| | | > |
| | | {!item.Agency_Hospital__r.Name} |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Department_Cateogy_text__c}" |
| | | >{!item.Department_Cateogy_text__c}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.doctor2__r.Name}"> |
| | | <span class="encrypt">{!item.doctor2__r.Name}</span> |
| | | <span class="decrypt">{!item.doctor2__r.awsdata.name}</span> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.DealerPersonnel__r.Name}" |
| | | >{!item.DealerPersonnel__r.Name}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.WorkMark__c}"> |
| | | <lightning:input |
| | | type="checkbox" |
| | | checked="{!item.WorkMark__c}" |
| | | disabled="true" |
| | | /> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | </tr> |
| | | </aura:iteration> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <aura:renderIf isTrue="{!v.report_count > 0}"> |
| | | <aura:set attribute="else"> |
| | | <div class="no_data_area">{!v.list_message}</div> |
| | | </aura:set> |
| | | </aura:renderIf> |
| | | </div> |
| | | <!-- 批量添加日报 start--> |
| | | <div |
| | | aura:id="modal_import" |
| | | role="dialog" |
| | | tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large" |
| | | aria-labelledby="headerTarget" |
| | | > |
| | | <aura:renderIf isTrue="{!v.modal_import_spinner}"> |
| | | <lightning:spinner alternativeText="Loading" size="medium" /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv01"> |
| | | <!-- <ui:inputText aura:id="articleURL" /> --> |
| | | <div class="demo-only" style="height: 8rem"> |
| | | <div class="slds-notify_container slds-is-relative"> |
| | | <div |
| | | class="slds-notify slds-notify_toast slds-theme_success" |
| | | role="alert" |
| | | > |
| | | <div class="slds-m-left_xx-large"> |
| | | <div |
| | | class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large" |
| | | > |
| | | <lightning:icon |
| | | alternativeText="Success" |
| | | iconName="utility:success" |
| | | size="small" |
| | | class="buttonColor slds-m-right_small" |
| | | /> |
| | | <h2 class="slds-text-heading_small">{!v.successMessage}</h2> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </aura:renderIf> |
| | | </aura:renderIf> |
| | | <div aura:id="report" id="report"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div style="width: 150px;"></div> |
| | | <div |
| | | class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12 fontSize"> |
| | | 周 |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 fontSize"> |
| | | <ui:inputSelect aura:id="select_date" class="slds-select" change="{!c.select_date_change}" /> |
| | | </div> |
| | | <!-- 代理店担当者 --> |
| | | <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12" |
| | | style="display: none;"> |
| | | {!v.fieldsmap.Person_In_Charge2__c} |
| | | </div> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12" |
| | | style="display: none;"> |
| | | <ui:inputSelect aura:id="select_agency_person" class="slds-select agency_person_select" |
| | | change="{!c.select_agency_change}" /> |
| | | </div> |
| | | <div style="width: 100px;"> |
| | | </div> |
| | | <div class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12" |
| | | style="display: contents;"> |
| | | <ui:button aura:id="new_button" label="新建" press="{!c.new_report}" class="buttonFontSize" /> |
| | | </div> |
| | | <div style="width: 400px;" |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--4-of-12 slds-large-size--4-of-12"> |
| | | <ui:button aura:id="copy_button" label="复制" press="{!c.copy_button}" disabled="true" |
| | | class="buttonFontSize" /> |
| | | <ui:button aura:id="delete_button" label="删除" press="{!c.delete_button}" disabled="true" |
| | | class="buttonFontSize" /> |
| | | <ui:button aura:id="import" label="导入" press="{!c.import}" class="buttonFontSize" /> |
| | | <ui:button aura:id="export" label="导出" press="{!c.export_condition}" class="buttonFontSize" /> |
| | | <!-- <ui:button aura:id="returnbutton" label="返回" press="{!c.return_main_page}" /> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv01" style="z-index: 10001"> |
| | | <div aura:id="report_list" class="report_list_area"> |
| | | <div class="slds-table--edit_container slds-is-relative" style="padding-left: 50px;"> |
| | | <table class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" |
| | | role="grid" style="width:66.75rem;"> |
| | | <thead> |
| | | <tr class="slds-line-height--reset"> |
| | | <th class="table_header slds-text-title--caps fontSize" style="width:250px"> |
| | | <span class="slds-truncate" title="Name">日报编号</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.Person_In_Charge2__c}</span> |
| | | <!-- {!v.fieldsmap.Person_In_Charge2__c} 担当--> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize" style="width:250px"> |
| | | <span class="slds-truncate" title="Name">医院</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.Department_Cateogy__c}</span> |
| | | <!-- {!v.fieldsmap.Department_Cateogy__c} 科室--> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name">拜访人</span> |
| | | <!-- {!v.fieldsmap.doctor2__c} 拜访人 --> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.DealerPersonnel__c}</span> |
| | | <!-- {!v.fieldsmap.visitor_title__c} 职位--> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps fontSize"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.WorkMark__c}</span> |
| | | <!-- {!v.fieldsmap.visitor_title__c} 职位--> |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <aura:iteration items="{!v.reports}" var="item" indexVar="index"> |
| | | <tr class="slds-hint-parent"> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <ui:inputRadio class="report_radio" name="report_radio" label="{!item.Name}" |
| | | change="{!c.change_report_radio}" /> |
| | | <lightning:buttonIcon class="edit_button" iconName="utility:edit" size="small" |
| | | alternativeText="edit" value="{!index}" onclick="{!c.edit_button}" /> |
| | | |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" |
| | | title="{!item.Person_In_Charge2__r.Name}">{!item.Person_In_Charge2__r.Name}</span> |
| | | </span> |
| | | </td> |
| | | <td scope="row" tabindex="0" class="slds-cell-edit fontSize"> |
| | | <div class="slds-grid slds-grid--align-spread" style="word-wrap: break-word;"> |
| | | {!item.Agency_Hospital__r.Name} |
| | | </div> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" |
| | | title="{!item.Department_Cateogy_text__c}">{!item.Department_Cateogy_text__c}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.doctor2__r.Name}"> |
| | | <span class="encrypt">{!item.doctor2__r.Name}</span> |
| | | <span class="decrypt">{!item.doctor2__r.awsdata.name}</span> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" |
| | | title="{!item.DealerPersonnel__r.Name}">{!item.DealerPersonnel__r.Name}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit fontSize"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.WorkMark__c}"> |
| | | <lightning:input type="checkbox" checked="{!item.WorkMark__c}" |
| | | disabled="true" /> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | </tr> |
| | | </aura:iteration> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <aura:renderIf isTrue="{!v.report_count > 0}"> |
| | | <aura:set attribute="else"> |
| | | <div class="no_data_area"> |
| | | {!v.list_message} |
| | | </div> |
| | | </aura:set> |
| | | </aura:renderIf> |
| | | </div> |
| | | <!-- 批量添加日报 start--> |
| | | <div aura:id="modal_import" role="dialog" tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget"> |
| | | <aura:renderIf isTrue="{!v.modal_import_spinner}"> |
| | | <lightning:spinner alternativeText="Loading" size="medium" /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv01"> |
| | | <!-- <ui:inputText aura:id="articleURL" /> --> |
| | | <div class="demo-only" style="height: 8rem;"> |
| | | <div class="slds-notify_container slds-is-relative"> |
| | | <div class="slds-notify slds-notify_toast slds-theme_success" role="alert"> |
| | | <div class=" slds-m-left_xx-large"> |
| | | <div |
| | | class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large"> |
| | | <lightning:icon alternativeText="Success" iconName="utility:success" size="small" |
| | | class="buttonColor slds-m-right_small" /> |
| | | <h2 class="slds-text-heading_small ">{!v.successMessage}</h2> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv01" style="z-index: 10001"> |
| | | <div class="demo-only" style="height: 8rem;"> |
| | | <div class="slds-notify_container slds-is-relative"> |
| | | <div class="slds-notify slds-notify_toast slds-theme_error" role="status"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium"> |
| | | 日报批量导入 |
| | | </h2> |
| | | <ui:button |
| | | aura:id="close_button" |
| | | label="关闭" |
| | | class="close_button slds-button slds-button--neutral slds-order--1 buttonFontSize" |
| | | press="{!c.close_import}" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium fontSize" |
| | | > |
| | | <aura:if isTrue="{!v.showMain}"> |
| | | <div> |
| | | <lightning:input |
| | | type="file" |
| | | class="file" |
| | | uara:id="file" |
| | | onchange="{!c.CreateRecord}" |
| | | /> |
| | | </div> |
| | | <aura:set attribute="else"> |
| | | <ui:outputRichText |
| | | class="uiOutputRichText slds-m--around-large fontSize" |
| | | value="{!v.TableContent}" |
| | | /> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button |
| | | label="保存" |
| | | variant="brand" |
| | | onclick="{!c.processFileContent}" |
| | | class="buttonFontSize" |
| | | /> |
| | | <lightning:button |
| | | label="取消" |
| | | variant="brand" |
| | | onclick="{!c.cancel}" |
| | | class="buttonFontSize" |
| | | /> |
| | | <div class="slds-modal__container "> |
| | | <div class="slds-modal__header "> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium">日报批量导入</h2> |
| | | <ui:button aura:id="close_button" label="关闭" |
| | | class="close_button slds-button slds-button--neutral slds-order--1 buttonFontSize" |
| | | press="{!c.close_import}" /> |
| | | </div> |
| | | <aura:if isTrue="{!v.showErrorInfo}"> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button |
| | | label="导出错误信息" |
| | | variant="brand" |
| | | onclick="{!c.exportErrorInfo}" |
| | | /> |
| | | </div> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <div style="height: 300px; overflow-x: scroll"> |
| | | <lightning:datatable |
| | | keyField="id" |
| | | data="{! v.errorData }" |
| | | columns="{! v.errorColumns }" |
| | | hideCheckboxColumn="true" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </aura:if> |
| | | </aura:set> |
| | | </aura:if> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | aura:id="modal_importbg" |
| | | class="disp_none slds-backdrop slds-backdrop--open" |
| | | ></div> |
| | | <!-- 批量添加日报 end--> |
| | | |
| | | <!-- 批量导出日报 start--> |
| | | <div |
| | | aura:id="modal_export" |
| | | role="dialog" |
| | | tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium"> |
| | | 日报批量导出 |
| | | </h2> |
| | | <ui:button |
| | | aura:id="close_button" |
| | | label="关闭" |
| | | class="close_button slds-button slds-button--neutral slds-order--1" |
| | | press="{!c.close_export}" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium" |
| | | > |
| | | <aura:if isTrue="{!v.showMain}"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4" |
| | | ></div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4" |
| | | > |
| | | 活动日开始日期 |
| | | <lightning:input |
| | | type="Date" |
| | | class="slds-input slds-input_bare" |
| | | aura:id="input-report-date1" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4" |
| | | > |
| | | 活动日结束日期 |
| | | <lightning:input |
| | | type="Date" |
| | | class="slds-input slds-input_bare" |
| | | aura:id="input-report-date2" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4" |
| | | ></div> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button |
| | | label="确认" |
| | | variant="brand" |
| | | onclick="{!c.select_repores_date}" |
| | | /> |
| | | <lightning:button |
| | | label="取消" |
| | | variant="brand" |
| | | onclick="{!c.close_export}" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <aura:set attribute="else"> |
| | | <ui:outputRichText |
| | | class="uiOutputRichText slds-m--around-large" |
| | | value="{!v.TableContent2}" |
| | | /> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button |
| | | label="确认" |
| | | variant="brand" |
| | | onclick="{!c.exportDate}" |
| | | /> |
| | | <lightning:button |
| | | label="取消" |
| | | variant="brand" |
| | | onclick="{!c.close_export}" |
| | | /> |
| | | </div> |
| | | </aura:set> |
| | | </aura:if> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | aura:id="modal_exportbg" |
| | | class="disp_none slds-backdrop slds-backdrop--open" |
| | | ></div> |
| | | <!-- 批量导出日报 end--> |
| | | <div |
| | | aura:id="modal_window" |
| | | role="dialog" |
| | | tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large" |
| | | aria-labelledby="headerTarget" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv"> |
| | | <!-- <ui:inputText aura:id="articleURL" /> --> |
| | | <div class="demo-only" style="height: 8rem"> |
| | | <div class="slds-notify_container slds-is-relative"> |
| | | <div |
| | | class="slds-notify slds-notify_toast slds-theme_success" |
| | | role="alert" |
| | | > |
| | | <div class="slds-m-left_xx-large"> |
| | | <div |
| | | class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large" |
| | | > |
| | | <lightning:icon |
| | | alternativeText="Success" |
| | | iconName="utility:success" |
| | | size="small" |
| | | class="buttonColor slds-m-right_small" |
| | | /> |
| | | <h2 class="slds-text-heading_small">{!v.successMessage}</h2> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="slds-modal slds-fade-in-open slds-hide" |
| | | aura:id="errorDiv" |
| | | style="z-index: 10001" |
| | | > |
| | | <!-- <ui:inputText aura:id="articleURL" /> --> |
| | | <div class="demo-only" style="height: 8rem"> |
| | | <div class="slds-notify_container slds-is-relative"> |
| | | <div |
| | | class="slds-notify slds-notify_toast slds-theme_error" |
| | | role="status" |
| | | > |
| | | <div class="slds-m-left_xx-large"> |
| | | <div |
| | | class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large" |
| | | > |
| | | <lightning:icon |
| | | alternativeText="error" |
| | | iconName="utility:error" |
| | | size="small" |
| | | class="buttonColor slds-m-right_small" |
| | | /> |
| | | <h2 class="slds-text-heading_small">{!v.errorMessage}</h2> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div |
| | | class="slds-modal__content slds-grow slds-p-around--medium" |
| | | style="position: relative" |
| | | > |
| | | <aura:renderIf isTrue="{!v.loginEdit}"> |
| | | <lightning:spinner |
| | | alternativeText="Loading" |
| | | size="medium" |
| | | style="width: 100%; height: 100%" |
| | | /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium"> |
| | | 日报({!v.selected_date} {!v.selected_agency_person}) |
| | | </h2> |
| | | <ui:button |
| | | aura:id="close_button" |
| | | label="关闭" |
| | | class="close_button slds-button slds-button--neutral slds-order--1" |
| | | press="{!c.toggle_report}" |
| | | /> |
| | | </div> |
| | | <div class="slds-box slds-theme--shade"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | > |
| | | 活动日 |
| | | <lightning:input |
| | | type="date" |
| | | value="{!v.data.Report_Date__c}" |
| | | aura:id="input-report-date" |
| | | variant="label-hidden" |
| | | /> |
| | | </div> |
| | | <!-- 医院 --> |
| | | <div |
| | | aura:id="hospital_list" |
| | | class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | data-select="single" |
| | | > |
| | | <!-- label="医院" --> |
| | | 医院 |
| | | <lightning:input |
| | | aura:id="hospital_input_text" |
| | | class="field" |
| | | value="{!v.hospital}" |
| | | updateOn="keyup" |
| | | variant="label-hidden" |
| | | /> |
| | | <div class="slds-lookup__menu" id="lookup-66"> |
| | | <ul class="slds-lookup__list" role="listbox"> |
| | | <aura:iteration var="hospital" items="{!v.hospitalList}"> |
| | | <li |
| | | role="presentation" |
| | | onclick="{!c.selectHos}" |
| | | data-accName="{!hospital.Hospital_Name_readonly__c}" |
| | | data-accId="{!hospital.Hospital__c}" |
| | | > |
| | | <span |
| | | class="slds-lookup__item-action slds-media" |
| | | id="lookup-option-498" |
| | | role="option" |
| | | > |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text"> |
| | | {!hospital.Hospital_Name_readonly__c} |
| | | </div> |
| | | <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium fontSize"> |
| | | <aura:if isTrue="{!v.showMain}"> |
| | | <div> |
| | | <lightning:input type="file" class="file" uara:id="file" onchange="{!c.CreateRecord}" /> |
| | | </div> |
| | | <aura:set attribute="else"> |
| | | <ui:outputRichText class="uiOutputRichText slds-m--around-large fontSize" |
| | | value="{!v.TableContent}" /> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button label="保存" variant="brand" onclick="{!c.processFileContent}" |
| | | class="buttonFontSize" /> |
| | | <lightning:button label="取消" variant="brand" onclick="{!c.cancel}" class="buttonFontSize" /> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | <aura:if isTrue="{!v.showErrorInfo}"> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button label="导出错误信息" variant="brand" onclick="{!c.exportErrorInfo}" /> |
| | | </div> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <div style="height: 300px;overflow-x:scroll"> |
| | | <lightning:datatable keyField="id" data="{! v.errorData }" |
| | | columns="{! v.errorColumns }" hideCheckboxColumn="true" /> |
| | | </div> |
| | | </div> |
| | | </aura:if> |
| | | </aura:set> |
| | | |
| | | </aura:if> |
| | | </div> |
| | | <!-- 科室分类 --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | > |
| | | {!v.fieldsmap.Department_Cateogy__c} |
| | | <!-- <ui:inputText aura:id="select_department" class="slds-select" |
| | | </div> |
| | | </div> |
| | | <div aura:id="modal_importbg" class="disp_none slds-backdrop slds-backdrop--open"></div> |
| | | <!-- 批量添加日报 end--> |
| | | |
| | | <!-- 批量导出日报 start--> |
| | | <div aura:id="modal_export" role="dialog" tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large"> |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium">日报批量导出</h2> |
| | | <ui:button aura:id="close_button" label="关闭" |
| | | class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_export}" /> |
| | | </div> |
| | | <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium"> |
| | | <aura:if isTrue="{!v.showMain}"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"> |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"> |
| | | 活动日开始日期 |
| | | <lightning:input type="Date" class="slds-input slds-input_bare " |
| | | aura:id="input-report-date1" /> |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"> |
| | | 活动日结束日期 |
| | | <lightning:input type="Date" class="slds-input slds-input_bare " |
| | | aura:id="input-report-date2" /> |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"> |
| | | </div> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button label="确认" variant="brand" onclick="{!c.select_repores_date}" /> |
| | | <lightning:button label="取消" variant="brand" onclick="{!c.close_export}" /> |
| | | </div> |
| | | </div> |
| | | <aura:set attribute="else"> |
| | | <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent2}" /> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button label="确认" variant="brand" onclick="{!c.exportDate}" /> |
| | | <lightning:button label="取消" variant="brand" onclick="{!c.close_export}" /> |
| | | </div> |
| | | </aura:set> |
| | | </aura:if> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div aura:id="modal_exportbg" class="disp_none slds-backdrop slds-backdrop--open"></div> |
| | | <!-- 批量导出日报 end--> |
| | | <div aura:id="modal_window" role="dialog" tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget"> |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv"> |
| | | <!-- <ui:inputText aura:id="articleURL" /> --> |
| | | <div class="demo-only" style="height: 8rem;"> |
| | | <div class="slds-notify_container slds-is-relative"> |
| | | <div class="slds-notify slds-notify_toast slds-theme_success" role="alert"> |
| | | <div class=" slds-m-left_xx-large"> |
| | | <div |
| | | class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large"> |
| | | <lightning:icon alternativeText="Success" iconName="utility:success" size="small" |
| | | class="buttonColor slds-m-right_small" /> |
| | | <h2 class="slds-text-heading_small ">{!v.successMessage}</h2> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv" style="z-index: 10001"> |
| | | <!-- <ui:inputText aura:id="articleURL" /> --> |
| | | <div class="demo-only" style="height: 8rem;"> |
| | | <div class="slds-notify_container slds-is-relative"> |
| | | <div class="slds-notify slds-notify_toast slds-theme_error" role="status"> |
| | | <div class=" slds-m-left_xx-large"> |
| | | <div |
| | | class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large"> |
| | | <lightning:icon alternativeText="error" iconName="utility:error" size="small" |
| | | class="buttonColor slds-m-right_small" /> |
| | | <h2 class="slds-text-heading_small ">{!v.errorMessage}</h2> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="slds-modal__content slds-grow slds-p-around--medium" style="position: relative;"> |
| | | <aura:renderIf isTrue="{!v.loginEdit}"> |
| | | <lightning:spinner alternativeText="Loading" size="medium" style="width: 100%; height: 100%;" /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium"> |
| | | 日报({!v.selected_date} {!v.selected_agency_person})</h2> |
| | | <ui:button aura:id="close_button" label="关闭" |
| | | class="close_button slds-button slds-button--neutral slds-order--1" |
| | | press="{!c.toggle_report}" /> |
| | | </div> |
| | | <div class="slds-box slds-theme--shade"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"> |
| | | 活动日 |
| | | <lightning:input type="date" value="{!v.data.Report_Date__c}" aura:id="input-report-date" |
| | | variant="label-hidden" /> |
| | | </div> |
| | | <!-- 医院 --> |
| | | <div aura:id="hospital_list" |
| | | class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | data-select="single"> |
| | | <!-- label="医院" --> |
| | | 医院 |
| | | <lightning:input aura:id="hospital_input_text" class="field" value="{!v.hospital}" |
| | | updateOn="keyup" variant="label-hidden" /> |
| | | <div class="slds-lookup__menu" id="lookup-66"> |
| | | <ul class="slds-lookup__list" role="listbox"> |
| | | <aura:iteration var="hospital" items="{!v.hospitalList}"> |
| | | <li role="presentation" onclick="{!c.selectHos}" |
| | | data-accName="{!hospital.Hospital_Name_readonly__c}" |
| | | data-accId="{!hospital.Hospital__c}"> |
| | | <span class="slds-lookup__item-action slds-media" id="lookup-option-498" |
| | | role="option"> |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text"> |
| | | {!hospital.Hospital_Name_readonly__c}</div> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <!-- 科室分类 --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"> |
| | | {!v.fieldsmap.Department_Cateogy__c} |
| | | <!-- <ui:inputText aura:id="select_department" class="slds-select" |
| | | change="{!c.select_department}"/> --> |
| | | <lightning:input |
| | | type="text" |
| | | onchange="{!c.select_department}" |
| | | aura:id="select_department" |
| | | variant="label-hidden" |
| | | /> |
| | | </div> |
| | | <!-- 经销商人员 change="{!c.select_DealerPersonnel}" --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | style="width: 145px" |
| | | > |
| | | {!v.fieldsmap.DealerPersonnel__c} |
| | | <ui:inputSelect |
| | | aura:id="select_DealerPersonnel" |
| | | class="slds-select" |
| | | /> |
| | | </div> |
| | | <!-- 活动区分 --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | > |
| | | {!v.fieldsmap.WorkRecord__c} |
| | | <ui:inputSelect |
| | | aura:id="select_purpose_type" |
| | | class="slds-select" |
| | | change="{!c.select_purpose_type}" |
| | | /> |
| | | </div> |
| | | <!-- 拜访人 {!v.fieldsmap.doctor2__c}--> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | style="width: 145px" |
| | | > |
| | | 拜访人 |
| | | <ui:inputSelect |
| | | aura:id="select_doctor" |
| | | class="slds-select" |
| | | change="{!c.doctor_change}" |
| | | /> |
| | | </div> |
| | | <!-- <p hidden="hidden"> --> |
| | | <lightning:input type="text" onchange="{!c.select_department}" aura:id="select_department" |
| | | variant="label-hidden" /> |
| | | </div> |
| | | <!-- 经销商人员 change="{!c.select_DealerPersonnel}" --> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | style="width: 145px;"> |
| | | {!v.fieldsmap.DealerPersonnel__c} |
| | | <ui:inputSelect aura:id="select_DealerPersonnel" class="slds-select" /> |
| | | </div> |
| | | <!-- 活动区分 --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"> |
| | | {!v.fieldsmap.WorkRecord__c} |
| | | <ui:inputSelect aura:id="select_purpose_type" class="slds-select" |
| | | change="{!c.select_purpose_type}" /> |
| | | </div> |
| | | <!-- 拜访人 {!v.fieldsmap.doctor2__c}--> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | style="width: 145px;"> |
| | | 拜访人 |
| | | <ui:inputSelect aura:id="select_doctor" class="slds-select" change="{!c.doctor_change}" /> |
| | | </div> |
| | | <!-- <p hidden="hidden"> --> |
| | | |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7" |
| | | > |
| | | <br /> |
| | | <ui:button |
| | | label="新建" |
| | | class="slds-button" |
| | | press="{!c.createCon}" |
| | | disabled="true" |
| | | aura:id="new_con" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"> |
| | | <br /> |
| | | <ui:button label="新建" class="slds-button" press="{!c.createCon}" disabled="true" |
| | | aura:id="new_con" /> |
| | | </div> |
| | | |
| | | <!-- </p> --> |
| | | <hr /> |
| | | <!-- 产品分类(第三分类) change="{!c.select_ProductClassification}" --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" |
| | | > |
| | | 产品分类(第三分类) |
| | | <ui:inputSelect |
| | | aura:id="select_ProductClassification" |
| | | class="slds-select" |
| | | change="{!c.selectProductClassification}" |
| | | /> |
| | | </div> |
| | | <!-- 使用产品1(产品型号) UseProduct1__c --> |
| | | <div |
| | | aura:id="UseProduct1_List" |
| | | class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" |
| | | data-select="single" |
| | | > |
| | | <!-- label="使用产品1(产品型号)" --> |
| | | 使用产品1(产品型号) |
| | | <lightning:input |
| | | aura:id="UseProduct1_TEXT" |
| | | class="field" |
| | | value="{!v.UseProduct1}" |
| | | updateOn="keyup" |
| | | variant="label-hidden" |
| | | /> |
| | | <div class="slds-lookup__menu" id="lookup-11"> |
| | | <ul |
| | | class="slds-lookup__list" |
| | | role="listbox" |
| | | style="max-height: 230px" |
| | | > |
| | | <aura:iteration |
| | | var="UseProduct1" |
| | | items="{!v.UseProduct1List}" |
| | | > |
| | | <li |
| | | role="presentation" |
| | | onclick="{!c.seletUseProduct1Change}" |
| | | data-accid="{!UseProduct1.Id}" |
| | | data-accName="{!UseProduct1.Asset_Model_No__c}" |
| | | > |
| | | <span |
| | | class="slds-lookup__item-action slds-media" |
| | | id="lookup-option-498" |
| | | role="option" |
| | | > |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text"> |
| | | {!UseProduct1.Asset_Model_No__c} |
| | | </div> |
| | | <!-- </p> --> |
| | | <hr /> |
| | | <!-- 产品分类(第三分类) change="{!c.select_ProductClassification}" --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5"> |
| | | 产品分类(第三分类) |
| | | <ui:inputSelect aura:id="select_ProductClassification" class="slds-select" |
| | | change="{!c.selectProductClassification}" /> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <!-- 使用产品2 UseProduct2__c --> |
| | | <div |
| | | aura:id="UseProduct2_List" |
| | | class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" |
| | | data-select="single" |
| | | > |
| | | <!-- label="使用产品2" --> |
| | | 使用产品2 |
| | | <lightning:input |
| | | aura:id="UseProduct2_TEXT" |
| | | class="field" |
| | | value="{!v.UseProduct2}" |
| | | updateOn="keyup" |
| | | variant="label-hidden" |
| | | /> |
| | | <div class="slds-lookup__menu" id="lookup-22"> |
| | | <ul |
| | | class="slds-lookup__list" |
| | | role="listbox" |
| | | style="max-height: 230px" |
| | | > |
| | | <aura:iteration |
| | | var="UseProduct2" |
| | | items="{!v.UseProduct2List}" |
| | | > |
| | | <li |
| | | role="presentation" |
| | | onclick="{!c.seletUseProduct2Change}" |
| | | data-accid="{!UseProduct2.Id}" |
| | | data-accName="{!UseProduct2.Asset_Model_No__c}" |
| | | > |
| | | <span |
| | | class="slds-lookup__item-action slds-media" |
| | | id="lookup-option-498" |
| | | role="option" |
| | | > |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text"> |
| | | {!UseProduct2.Asset_Model_No__c} |
| | | </div> |
| | | <!-- 使用产品1(产品型号) UseProduct1__c --> |
| | | <div aura:id="UseProduct1_List" |
| | | class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" |
| | | data-select="single"> |
| | | <!-- label="使用产品1(产品型号)" --> |
| | | 使用产品1(产品型号) |
| | | <lightning:input aura:id="UseProduct1_TEXT" class="field" value="{!v.UseProduct1}" |
| | | updateOn="keyup" variant="label-hidden" /> |
| | | <div class="slds-lookup__menu" id="lookup-11"> |
| | | <ul class="slds-lookup__list" role="listbox" style="max-height:230px;"> |
| | | <aura:iteration var="UseProduct1" items="{!v.UseProduct1List}"> |
| | | <li role="presentation" onclick="{!c.seletUseProduct1Change}" |
| | | data-accid="{!UseProduct1.Id}" |
| | | data-accName="{!UseProduct1.Asset_Model_No__c}"> |
| | | <span class="slds-lookup__item-action slds-media" id="lookup-option-498" |
| | | role="option"> |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text"> |
| | | {!UseProduct1.Asset_Model_No__c}</div> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <!-- 使用产品3 UseProduct3__c --> |
| | | <div |
| | | aura:id="UseProduct3_List" |
| | | class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" |
| | | data-select="single" |
| | | > |
| | | <!-- label="使用产品3" --> |
| | | 使用产品3 |
| | | <lightning:input |
| | | aura:id="UseProduct3_TEXT" |
| | | class="field" |
| | | value="{!v.UseProduct3}" |
| | | updateOn="keyup" |
| | | variant="label-hidden" |
| | | /> |
| | | <div class="slds-lookup__menu" id="lookup-33"> |
| | | <ul |
| | | class="slds-lookup__list" |
| | | role="listbox" |
| | | style="max-height: 230px" |
| | | > |
| | | <aura:iteration |
| | | var="UseProduct3" |
| | | items="{!v.UseProduct3List}" |
| | | > |
| | | <li |
| | | role="presentation" |
| | | onclick="{!c.seletUseProduct3Change}" |
| | | data-accid="{!UseProduct3.Id}" |
| | | data-accName="{!UseProduct3.Asset_Model_No__c}" |
| | | > |
| | | <span |
| | | class="slds-lookup__item-action slds-media" |
| | | id="lookup-option-498" |
| | | role="option" |
| | | > |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text"> |
| | | {!UseProduct3.Asset_Model_No__c} |
| | | </div> |
| | | <!-- 使用产品2 UseProduct2__c --> |
| | | <div aura:id="UseProduct2_List" |
| | | class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" |
| | | data-select="single"> |
| | | <!-- label="使用产品2" --> |
| | | 使用产品2 |
| | | <lightning:input aura:id="UseProduct2_TEXT" class="field" value="{!v.UseProduct2}" |
| | | updateOn="keyup" variant="label-hidden" /> |
| | | <div class="slds-lookup__menu" id="lookup-22"> |
| | | <ul class="slds-lookup__list" role="listbox" style="max-height:230px;"> |
| | | <aura:iteration var="UseProduct2" items="{!v.UseProduct2List}"> |
| | | <li role="presentation" onclick="{!c.seletUseProduct2Change}" |
| | | data-accid="{!UseProduct2.Id}" |
| | | data-accName="{!UseProduct2.Asset_Model_No__c}"> |
| | | <span class="slds-lookup__item-action slds-media" id="lookup-option-498" |
| | | role="option"> |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text"> |
| | | {!UseProduct2.Asset_Model_No__c}</div> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <!-- 效果/进度 EffectProgress__c--> |
| | | <div |
| | | aura:id="product_category_select1" |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" |
| | | > |
| | | {!v.fieldsmap.EffectProgress__c} |
| | | <ui:inputSelect |
| | | aura:id="select_EffectProgress" |
| | | class="slds-select" |
| | | /> |
| | | </div> |
| | | <hr /> |
| | | <!-- 产品1同类耗材科室月使用量 ConsumptionOfConsumables__c--> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" |
| | | > |
| | | {!v.fieldsmap.ConsumptionOfConsumables__c} |
| | | <!-- <ui:inputText aura:id="select_ConsumptionOfConsumables" class="slds-select" |
| | | <!-- 使用产品3 UseProduct3__c --> |
| | | <div aura:id="UseProduct3_List" |
| | | class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" |
| | | data-select="single"> |
| | | <!-- label="使用产品3" --> |
| | | 使用产品3 |
| | | <lightning:input aura:id="UseProduct3_TEXT" class="field" value="{!v.UseProduct3}" |
| | | updateOn="keyup" variant="label-hidden" /> |
| | | <div class="slds-lookup__menu" id="lookup-33"> |
| | | <ul class="slds-lookup__list" role="listbox" style="max-height:230px;"> |
| | | <aura:iteration var="UseProduct3" items="{!v.UseProduct3List}"> |
| | | <li role="presentation" onclick="{!c.seletUseProduct3Change}" |
| | | data-accid="{!UseProduct3.Id}" |
| | | data-accName="{!UseProduct3.Asset_Model_No__c}"> |
| | | <span class="slds-lookup__item-action slds-media" id="lookup-option-498" |
| | | role="option"> |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text"> |
| | | {!UseProduct3.Asset_Model_No__c}</div> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <!-- 效果/进度 EffectProgress__c--> |
| | | <div aura:id="product_category_select1" |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5"> |
| | | {!v.fieldsmap.EffectProgress__c} |
| | | <ui:inputSelect aura:id="select_EffectProgress" class="slds-select" /> |
| | | </div> |
| | | <hr /> |
| | | <!-- 产品1同类耗材科室月使用量 ConsumptionOfConsumables__c--> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5"> |
| | | {!v.fieldsmap.ConsumptionOfConsumables__c} |
| | | <!-- <ui:inputText aura:id="select_ConsumptionOfConsumables" class="slds-select" |
| | | change="{!c.select_ConsumptionOfConsumables}" /> --> |
| | | <lightning:input |
| | | type="text" |
| | | onchange="{!c.select_ConsumptionOfConsumables}" |
| | | aura:id="select_ConsumptionOfConsumables" |
| | | variant="label-hidden" |
| | | /> |
| | | </div> |
| | | <!-- 术士分类 WarlockClassification__c --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6" |
| | | > |
| | | {!v.fieldsmap.WarlockClassification__c} |
| | | <ui:inputSelect |
| | | aura:id="select_OtherBrandConsumables" |
| | | class="slds-select" |
| | | /> |
| | | </div> |
| | | <!-- 已采用其他品牌 ProductCcategory__c --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6" |
| | | > |
| | | {!v.fieldsmap.ProductCcategory__c} |
| | | <ui:inputSelect |
| | | aura:id="select_ProductCcategory" |
| | | class="slds-select" |
| | | change="{!c.selectpurposetype}" |
| | | /> |
| | | </div> |
| | | <!-- 其他品牌产品类别 --> |
| | | <div |
| | | aura:id="result" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6" |
| | | > |
| | | {!v.fieldsmap.productCategories__c} |
| | | <ui:inputSelect |
| | | aura:id="select_productCategories" |
| | | class="slds-select" |
| | | /> |
| | | </div> |
| | | <!-- 产品用量 warlocksNumber__c --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6" |
| | | > |
| | | {!v.fieldsmap.warlocksNumber__c} |
| | | <!-- <ui:inputText aura:id="select_warlocksNumber" class="slds-select" |
| | | <lightning:input type="text" onchange="{!c.select_ConsumptionOfConsumables}" |
| | | aura:id="select_ConsumptionOfConsumables" variant="label-hidden" /> |
| | | </div> |
| | | <!-- 术士分类 WarlockClassification__c --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"> |
| | | {!v.fieldsmap.WarlockClassification__c} |
| | | <ui:inputSelect aura:id="select_OtherBrandConsumables" class="slds-select" /> |
| | | </div> |
| | | <!-- 已采用其他品牌 ProductCcategory__c --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"> |
| | | {!v.fieldsmap.ProductCcategory__c} |
| | | <ui:inputSelect aura:id="select_ProductCcategory" class="slds-select" |
| | | change="{!c.selectpurposetype}" /> |
| | | </div> |
| | | <!-- 其他品牌产品类别 --> |
| | | <div aura:id="result" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"> |
| | | {!v.fieldsmap.productCategories__c} |
| | | <ui:inputSelect aura:id="select_productCategories" class="slds-select" /> |
| | | </div> |
| | | <!-- 产品用量 warlocksNumber__c --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"> |
| | | {!v.fieldsmap.warlocksNumber__c} |
| | | <!-- <ui:inputText aura:id="select_warlocksNumber" class="slds-select" |
| | | change="{!c.select_warlocksNumber}" /> --> |
| | | <lightning:input |
| | | type="text" |
| | | onchange="{!c.select_warlocksNumber}" |
| | | aura:id="select_warlocksNumber" |
| | | variant="label-hidden" |
| | | /> |
| | | <lightning:input type="text" onchange="{!c.select_warlocksNumber}" |
| | | aura:id="select_warlocksNumber" variant="label-hidden" /> |
| | | </div> |
| | | <!-- 支援需求 WorkMark__c--> |
| | | <div style="padding-left: 12px;"> |
| | | {!v.fieldsmap.WorkMark__c} |
| | | <lightning:input type="checkbox" aura:id="select_WorkMark" /> |
| | | </div> |
| | | <div aura:id="input-opportunity-stage" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"> |
| | | {!v.fieldsmap.StageName__c} |
| | | <ui:inputSelect aura:id="select_stageName" class="slds-select" /> |
| | | </div> |
| | | <div aura:id="input-opportunity-amount1" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"> |
| | | {!v.fieldsmap.Amount__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> 医院采购预算(不含税,元)--> |
| | | <lightning:inputField value="{!v.oppdata.Amount__c}" class="" /> |
| | | |
| | | </div> |
| | | <div aura:id="input-opportunity-amount2" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"> |
| | | {!v.fieldsmap.OCMSale_Price__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> 订货金额(不含税,元) --> |
| | | <lightning:inputField value="{!v.oppdata.OCMSale_Price__c}" class="" /> |
| | | </div> |
| | | <div aura:id="input-opportunity-date" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"> |
| | | {!v.fieldsmap.Close_Forecasted_Date__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> 预测与OCSM签约日 --> |
| | | <lightning:inputField value="{!v.oppdata.Close_Forecasted_Date__c}" class="" /> |
| | | </div> |
| | | <hr /> |
| | | </div> |
| | | </div> |
| | | <div class="save_button_area"> |
| | | <ui:button aura:id="save_button" label="保存并新建" |
| | | class="save_button slds-button slds-button--brand slds-order--3" press="{!c.save_report}" /> |
| | | </div> |
| | | <aura:renderIf isTrue="{!v.reports_now_count > 0}"> |
| | | <div class="mt40 slds-box slds-theme--shade"> |
| | | <div class="slds-table--edit_container slds-is-relative"> |
| | | <table |
| | | class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" |
| | | role="grid"> |
| | | <thead> |
| | | <tr class="slds-line-height--reset"> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name"></span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">医院</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" |
| | | title="Name">{!v.fieldsmap.Department_Cateogy__c}</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.doctor2__c}</span> |
| | | <!-- 客户人员 --> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" |
| | | title="Name">{!v.fieldsmap.visitor_title__c}</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.WorkRecord__c}</span> |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <aura:iteration items="{!v.reports_now}" var="item" indexVar="index"> |
| | | <tr aura:id="modal_data_list_tr" class="slds-hint-parent"> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" |
| | | title="{!item.Department_Cateogy_text__c}">{!item.Name}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" |
| | | title="{!item.Agency_Hospital__r.Name}">{!item.Agency_Hospital__r.Name}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" |
| | | title="{!item.Department_Cateogy_text__c}">{!item.Department_Cateogy_text__c}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" |
| | | title="{!item.doctor2__r.Name}">{!item.doctor2__r.Name}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" |
| | | title="{!item.visitor_title__c}">{!item.visitor_title__c}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" |
| | | title="{!item.WorkRecord__c}">{!item.WorkRecord__c}</span> |
| | | </span> |
| | | </td> |
| | | </tr> |
| | | </aura:iteration> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </aura:renderIf> |
| | | </div> |
| | | <!-- 支援需求 WorkMark__c--> |
| | | <div style="padding-left: 12px"> |
| | | {!v.fieldsmap.WorkMark__c} |
| | | <lightning:input type="checkbox" aura:id="select_WorkMark" /> |
| | | </div> |
| | | <div |
| | | aura:id="input-opportunity-stage" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12" |
| | | > |
| | | {!v.fieldsmap.StageName__c} |
| | | <ui:inputSelect aura:id="select_stageName" class="slds-select" /> |
| | | </div> |
| | | <div |
| | | aura:id="input-opportunity-amount1" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12" |
| | | > |
| | | {!v.fieldsmap.Amount__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> 医院采购预算(不含税,元)--> |
| | | <lightning:inputField value="{!v.oppdata.Amount__c}" class="" /> |
| | | </div> |
| | | <div |
| | | aura:id="input-opportunity-amount2" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12" |
| | | > |
| | | {!v.fieldsmap.OCMSale_Price__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> 订货金额(不含税,元) --> |
| | | <lightning:inputField |
| | | value="{!v.oppdata.OCMSale_Price__c}" |
| | | class="" |
| | | /> |
| | | </div> |
| | | <div |
| | | aura:id="input-opportunity-date" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12" |
| | | > |
| | | {!v.fieldsmap.Close_Forecasted_Date__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> 预测与OCSM签约日 --> |
| | | <lightning:inputField |
| | | value="{!v.oppdata.Close_Forecasted_Date__c}" |
| | | class="" |
| | | /> |
| | | </div> |
| | | <hr /> |
| | | </div> |
| | | </div> |
| | | <div class="save_button_area"> |
| | | <ui:button |
| | | aura:id="save_button" |
| | | label="保存并新建" |
| | | class="save_button slds-button slds-button--brand slds-order--3" |
| | | press="{!c.save_report}" |
| | | /> |
| | | </div> |
| | | <aura:renderIf isTrue="{!v.reports_now_count > 0}"> |
| | | <div class="mt40 slds-box slds-theme--shade"> |
| | | <div class="slds-table--edit_container slds-is-relative"> |
| | | <table |
| | | class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" |
| | | role="grid" |
| | | > |
| | | <thead> |
| | | <tr class="slds-line-height--reset"> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name"></span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">医院</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.Department_Cateogy__c}</span |
| | | > |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.doctor2__c}</span |
| | | > |
| | | <!-- 客户人员 --> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.visitor_title__c}</span |
| | | > |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.WorkRecord__c}</span |
| | | > |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <aura:iteration |
| | | items="{!v.reports_now}" |
| | | var="item" |
| | | indexVar="index" |
| | | > |
| | | <tr aura:id="modal_data_list_tr" class="slds-hint-parent"> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Department_Cateogy_text__c}" |
| | | >{!item.Name}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Agency_Hospital__r.Name}" |
| | | >{!item.Agency_Hospital__r.Name}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Department_Cateogy_text__c}" |
| | | >{!item.Department_Cateogy_text__c}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.doctor2__r.Name}" |
| | | >{!item.doctor2__r.Name}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.visitor_title__c}" |
| | | >{!item.visitor_title__c}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.WorkRecord__c}" |
| | | >{!item.WorkRecord__c}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | </tr> |
| | | </aura:iteration> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | | |
| | | <div aura:id="modal_bg" class="disp_none slds-backdrop slds-backdrop--open"></div> |
| | | |
| | | <div aura:id="modal_confirm" role="dialog" tabindex="-2" aria-labelledby="header43" |
| | | class="disp_none slds-modal slds-fade-in-open"> |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="header43" class="slds-text-heading--medium">{!v.modal_confirm_title}</h2> |
| | | </div> |
| | | </div> |
| | | </aura:renderIf> |
| | | </div> |
| | | <div class="slds-modal__content slds-p-around--medium"> |
| | | <p>{!v.modal_confirm_text}</p> |
| | | </div> |
| | | <div class="slds-modal__footer"> |
| | | <ui:button label="是" class="slds-button slds-button--brand" press="{!c.yes_button}" /> |
| | | <ui:button label="否" class="slds-button slds-button--neutral" press="{!c.no_button}" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div aura:id="modal_confirm_bg" class="disp_none slds-backdrop slds-backdrop--open"></div> |
| | | |
| | | <div |
| | | aura:id="modal_bg" |
| | | class="disp_none slds-backdrop slds-backdrop--open" |
| | | ></div> |
| | | |
| | | <div |
| | | aura:id="modal_confirm" |
| | | role="dialog" |
| | | tabindex="-2" |
| | | aria-labelledby="header43" |
| | | class="disp_none slds-modal slds-fade-in-open" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="header43" class="slds-text-heading--medium"> |
| | | {!v.modal_confirm_title} |
| | | </h2> |
| | | </div> |
| | | <div class="slds-modal__content slds-p-around--medium"> |
| | | <p>{!v.modal_confirm_text}</p> |
| | | </div> |
| | | <div class="slds-modal__footer"> |
| | | <ui:button |
| | | label="是" |
| | | class="slds-button slds-button--brand" |
| | | press="{!c.yes_button}" |
| | | /> |
| | | <ui:button |
| | | label="否" |
| | | class="slds-button slds-button--neutral" |
| | | press="{!c.no_button}" |
| | | /> |
| | | </div> |
| | | <div aura:id="modal_newAC" role="dialog" tabindex="-3" aria-labelledby="headertest" |
| | | class="disp_none slds-modal slds-fade-in-open"> |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="headertest" class="slds-text-heading--medium">新建.拜访人</h2> |
| | | </div> |
| | | <div class="slds-modal__content slds-p-around--medium"> |
| | | <lightning:recordEditForm aura:id="recordEditForm" objectApiName="Agency_Contact__c" |
| | | onsuccess="{!c.handleSuccess}" onload="{!c.showRequiredFields}" onsubmit="{!c.handleSubmit}"> |
| | | <lightning:messages aura:id="OppMessage" /> |
| | | <!-- onload="{!c.showRequiredFields}" --> |
| | | <aura:renderIf isTrue="{!v.truthy}"> |
| | | <lightning:inputField fieldName="Name" aura:id="newOpportunityField" /> |
| | | <lightning:inputField fieldName="Type__c" aura:id="newOpportunityField" /> |
| | | <lightning:inputField fieldName="Doctor_Division1__c" aura:id="newOpportunityField" /> |
| | | </aura:renderIf> |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <div class="save_button_area"> |
| | | <lightning:button class="slds-m-top_small" type="button" label="取消" |
| | | onclick="{!c.createCancel}" /> |
| | | <lightning:button class="slds-m-top_small" type="button" label="保存" |
| | | onclick="{!c.handleSubmit}" /> |
| | | </div> |
| | | </lightning:recordEditForm> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | aura:id="modal_confirm_bg" |
| | | class="disp_none slds-backdrop slds-backdrop--open" |
| | | ></div> |
| | | |
| | | <div |
| | | aura:id="modal_newAC" |
| | | role="dialog" |
| | | tabindex="-3" |
| | | aria-labelledby="headertest" |
| | | class="disp_none slds-modal slds-fade-in-open" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="headertest" class="slds-text-heading--medium">新建.拜访人</h2> |
| | | </div> |
| | | <div class="slds-modal__content slds-p-around--medium"> |
| | | <lightning:recordEditForm |
| | | aura:id="recordEditForm" |
| | | objectApiName="Agency_Contact__c" |
| | | onsuccess="{!c.handleSuccess}" |
| | | onload="{!c.showRequiredFields}" |
| | | onsubmit="{!c.handleSubmit}" |
| | | > |
| | | <lightning:messages aura:id="OppMessage" /> |
| | | <!-- onload="{!c.showRequiredFields}" --> |
| | | <aura:renderIf isTrue="{!v.truthy}"> |
| | | <lightning:inputField |
| | | fieldName="Name" |
| | | aura:id="newOpportunityField" |
| | | /> |
| | | <lightning:inputField |
| | | fieldName="Type__c" |
| | | aura:id="newOpportunityField" |
| | | /> |
| | | <lightning:inputField |
| | | fieldName="Doctor_Division1__c" |
| | | aura:id="newOpportunityField" |
| | | /> |
| | | </aura:renderIf> |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <div class="save_button_area"> |
| | | <lightning:button |
| | | class="slds-m-top_small" |
| | | type="button" |
| | | label="取消" |
| | | onclick="{!c.createCancel}" |
| | | /> |
| | | <lightning:button |
| | | class="slds-m-top_small" |
| | | type="button" |
| | | label="保存" |
| | | onclick="{!c.handleSubmit}" |
| | | /> |
| | | </div> |
| | | </lightning:recordEditForm> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </aura:component> |
| | | |
| | | </aura:component> |
| | |
| | | @import "c/lexCssUtility"; |
| | | @import 'c/lexCssUtility'; |
| | | |
| | | .THIS .bcolor { |
| | | color: #333; |
| | | color: #333; |
| | | } |
| | | |
| | | .THIS.height100vh { |
| | | height: 100vh; |
| | | height: 100vh; |
| | | } |
| | | |
| | | .THIS.contents_wrapper { |
| | | padding-top: 50px; |
| | | padding-top: 50px; |
| | | } |
| | | |
| | | .THIS .mt5 { |
| | | margin-top: 5px; |
| | | margin-top: 5px; |
| | | } |
| | | |
| | | .THIS .mt40 { |
| | | margin-top: 40px; |
| | | margin-top: 40px; |
| | | } |
| | | |
| | | .THIS .edit_button { |
| | | float: right; |
| | | margin: -1.5em 0.5em 0 0; |
| | | border: 0; |
| | | float: right; |
| | | margin: -1.5em 0.5em 0 0; |
| | | border: 0; |
| | | } |
| | | |
| | | .THIS .no_data_area { |
| | | text-align: center; |
| | | margin: 0.5em 0; |
| | | text-align: center; |
| | | margin: .5em 0; |
| | | } |
| | | |
| | | .THIS.report_list_area { |
| | | margin: 40px 0 20px 100px; |
| | | height: 60vh; |
| | | overflow-y: scroll; |
| | | margin: 40px 0 20px 100px; |
| | | height: 60vh; |
| | | overflow-y: scroll; |
| | | } |
| | | |
| | | .THIS .report_radio { |
| | | float: left; |
| | | float: left; |
| | | } |
| | | |
| | | .THIS .table_header { |
| | | width: 9.4rem; |
| | | height: 2em; |
| | | width: 9.4rem; |
| | | height: 2em; |
| | | } |
| | | |
| | | .THIS.disp_none { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | |
| | | .THIS .disp_none { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | |
| | | .THIS .tr { |
| | | text-align: right; |
| | | text-align: right; |
| | | } |
| | | |
| | | .THIS .close_button { |
| | | float: right; |
| | | margin-top: -2em; |
| | | float: right; |
| | | margin-top: -2em; |
| | | } |
| | | |
| | | .THIS .close_icn svg { |
| | | fill: #fefefe; |
| | | fill: #fefefe; |
| | | } |
| | | |
| | | .THIS .slds-progress__marker { |
| | | cursor: default; |
| | | cursor: default; |
| | | } |
| | | |
| | | .THIS .progress_0 { |
| | | width: 0%; |
| | | width: 0%; |
| | | } |
| | | |
| | | .THIS .progress_100 { |
| | | width: 100%; |
| | | width: 100%; |
| | | } |
| | | |
| | | .THIS .new_btn_area { |
| | | text-align: center; |
| | | margin-top: 22px; |
| | | text-align: center; |
| | | margin-top: 22px; |
| | | } |
| | | |
| | | .THIS .new_btn { |
| | | width: 100%; |
| | | width: 100%; |
| | | } |
| | | |
| | | .THIS .save_button_area { |
| | | margin: 1em 0; |
| | | text-align: right; |
| | | margin: 1em 0; |
| | | text-align: right; |
| | | } |
| | | |
| | | .THIS .save_button { |
| | | background-color: #ffa500; |
| | | border: 1px solid #ff8c00; |
| | | background-color: #ffa500; |
| | | border: 1px solid #ff8c00; |
| | | } |
| | | |
| | | .THIS .report_data_header { |
| | | border-bottom: 2px solid #ccc; |
| | | border-bottom: 2px solid #ccc; |
| | | } |
| | | |
| | | .THIS .report_data_area { |
| | | border-bottom: 1px solid #ccc; |
| | | border-bottom: 1px solid #ccc; |
| | | } |
| | | |
| | | .THIS.fade { |
| | | transition: 5s opacity linear; |
| | | transition: 5s opacity linear; |
| | | } |
| | | |
| | | .THIS.animation_off { |
| | | opacity: 0; |
| | | opacity: 0; |
| | | } |
| | | |
| | | .THIS.animation_on { |
| | | opacity: 1; |
| | | opacity: 1; |
| | | } |
| | | |
| | | .THIS .fade { |
| | | transition: 5s opacity linear; |
| | | transition: 5s opacity linear; |
| | | } |
| | | |
| | | .THIS .animation_off { |
| | | opacity: 0; |
| | | opacity: 0; |
| | | } |
| | | |
| | | .THIS .animation_on { |
| | | opacity: 1; |
| | | opacity: 1; |
| | | } |
| | | |
| | | .THIS .divbotuser { |
| | | width: fit-content; |
| | | width: fit-content; |
| | | } |
| | | |
| | | .THIS .toastMessage.forceActionsText { |
| | | white-space: pre-line !important; |
| | | white-space: pre-line !important; |
| | | } |
| | | |
| | | .THIS .slds-file-selector__dropzone .slds-file-selector__text { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | |
| | | .THIS .slds-input:focus, |
| | | .THIS .slds-input:active { |
| | | border-color: rgb(216, 221, 230); |
| | | box-shadow: none; |
| | | border-color: rgb(216, 221, 230); |
| | | box-shadow: none; |
| | | } |
| | | |
| | | .THIS .customRequired { |
| | | font-weight: 400; |
| | | font-weight: 400; |
| | | } |
| | | |
| | | .THIS .customRequired:before { |
| | | content: "*"; |
| | | margin: 0 0.125rem 0 0.125rem; |
| | | color: rgb(194, 57, 52); |
| | | float: left; |
| | | content: "*"; |
| | | margin: 0 0.125rem 0 0.125rem; |
| | | color: rgb(194, 57, 52); |
| | | float: left; |
| | | } |
| | | |
| | | .THIS .none { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | |
| | | .THIS tr .decrypt { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | |
| | | .THIS tr:hover .decrypt { |
| | | display: unset; |
| | | display: unset; |
| | | } |
| | | |
| | | .THIS tr:hover .encrypt { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | |
| | | .THIS tr:hover .encrypt { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | |
| | | .THIS .buttonFontSize { |
| | | font-size: 18px; |
| | | min-width: 80px; |
| | | max-width: 110px; |
| | | font-size: 18px; |
| | | min-width: 80px; |
| | | max-width: 110px; |
| | | } |
| | | |
| | | .THIS .fontSize { |
| | | font-size: 18px; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .THIS thead th { |
| | | font-size: 18px; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .THIS table { |
| | | table-layout: fixed; |
| | | table-layout: fixed; |
| | | } |
| | | .THIS td { |
| | | white-space: normal; |
| | | overflow-wrap: break-word; |
| | | } |
| | | white-space: normal; |
| | | overflow-wrap: break-word; |
| | | } |
| | |
| | | ({ |
| | | doInit: function (component, event, helper) { |
| | | helper.doinit(component, event, helper); |
| | | }, |
| | | doInit: function (component, event, helper) { |
| | | helper.doinit(component, event, helper); |
| | | }, |
| | | |
| | | createAopp: function (component, event, helper) { |
| | | var addRecordEvent = $A.get("e.force:createRecord"); |
| | | addRecordEvent.setParams({ |
| | | entityApiName: "Agency_Opportunity__c", |
| | | recordTypeId: "012100000006KW7" |
| | | }); |
| | | addRecordEvent.fire(); |
| | | }, |
| | | createAopp: function (component, event, helper) { |
| | | var addRecordEvent = $A.get('e.force:createRecord'); |
| | | addRecordEvent.setParams({ |
| | | entityApiName: 'Agency_Opportunity__c', |
| | | recordTypeId: '012100000006KW7' |
| | | }); |
| | | addRecordEvent.fire(); |
| | | }, |
| | | |
| | | new_report: function (component, event, helper) { |
| | | component.find("save_button").set("v.label", "保存并新建"); |
| | | helper.new_report(component, event, helper); |
| | | }, |
| | | new_report: function (component, event, helper) { |
| | | component.find('save_button').set('v.label', '保存并新建'); |
| | | helper.new_report(component, event, helper); |
| | | }, |
| | | |
| | | copy_button: function (component, event, helper) { |
| | | component.find("save_button").set("v.label", "保存并新建"); |
| | | helper.copy_button(component, event, helper); |
| | | }, |
| | | delete_button: function (component, event, helper) { |
| | | helper.delete_button(component, event, helper); |
| | | }, |
| | | change_report_radio: function (component, event, helper) { |
| | | helper.change_report_radio(component, event, helper); |
| | | }, |
| | | copy_button: function (component, event, helper) { |
| | | component.find('save_button').set('v.label', '保存并新建'); |
| | | helper.copy_button(component, event, helper); |
| | | }, |
| | | delete_button: function (component, event, helper) { |
| | | helper.delete_button(component, event, helper); |
| | | }, |
| | | change_report_radio: function (component, event, helper) { |
| | | helper.change_report_radio(component, event, helper); |
| | | }, |
| | | |
| | | edit_button: function (component, event, helper) { |
| | | component.find("save_button").set("v.label", "保存"); |
| | | helper.edit_button(component, event, helper); |
| | | }, |
| | | edit_button: function (component, event, helper) { |
| | | component.find('save_button').set('v.label', '保存'); |
| | | helper.edit_button(component, event, helper); |
| | | }, |
| | | |
| | | createCon: function (component, event, helper) { |
| | | helper.createCon(component, event, helper); |
| | | }, |
| | | createCon: function (component, event, helper) { |
| | | helper.createCon(component, event, helper); |
| | | }, |
| | | |
| | | showRequiredFields: function (component, event, helper) { |
| | | $A.util.removeClass(component.find("newOpportunityField"), "none"); |
| | | $A.util.removeClass(component.find("newOpportunityField"), "none"); |
| | | }, |
| | | showRequiredFields: function (component, event, helper) { |
| | | $A.util.removeClass(component.find("newOpportunityField"), "none"); |
| | | $A.util.removeClass(component.find("newOpportunityField"), "none"); |
| | | }, |
| | | |
| | | handleSuccess: function (component, event, helper) { |
| | | helper.handleSuccess(component, event, helper); |
| | | }, |
| | | handleSuccess: function (component, event, helper) { |
| | | helper.handleSuccess(component, event, helper); |
| | | }, |
| | | |
| | | handleSubmit: function (component, event, helper) { |
| | | event.preventDefault(); // stop form submission |
| | | var showValidationError = false; |
| | | var fields = component.find("newOpportunityField"); |
| | | var vaildationFailReason = ""; |
| | | let agencyReport = Object.create(null); |
| | | fields.forEach(function (field) { |
| | | if ( |
| | | field.get("v.fieldName") === "Type__c" && |
| | | $A.util.isEmpty(field.get("v.value")) |
| | | ) { |
| | | showValidationError = true; |
| | | vaildationFailReason = "分类不能为空!"; |
| | | } else if ( |
| | | field.get("v.fieldName") === "Doctor_Division1__c" && |
| | | $A.util.isEmpty(field.get("v.value")) |
| | | ) { |
| | | showValidationError = true; |
| | | if (vaildationFailReason != "") { |
| | | vaildationFailReason += "医生区分(职务)不能为空!"; |
| | | } else { |
| | | vaildationFailReason = "医生区分(职务)不能为空!"; |
| | | } |
| | | } |
| | | //SWAG-CF58C3 fy start |
| | | if (field.get("v.fieldName") === "Name") { |
| | | agencyReport["name"] = field.get("v.value"); |
| | | } else if (field.get("v.fieldName") === "Type__c") { |
| | | agencyReport["type"] = field.get("v.value"); |
| | | } else if (field.get("v.fieldName") === "Doctor_Division1__c") { |
| | | agencyReport["doctorDivision1"] = field.get("v.value"); |
| | | } |
| | | //SWAG-CF58C3 fy end |
| | | }); |
| | | if (!showValidationError) { |
| | | //SWAG-CF58C3 fy start |
| | | var agencyHospitalid = component.get("v.hospitalLinkId"); |
| | | //zhj MEBG新方案改造 2022-11-29 start |
| | | debugger; |
| | | let hospitalName = ""; |
| | | //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid |
| | | helper.CallBackAction( |
| | | component, |
| | | "searchAgencyDataId", |
| | | { |
| | | hospitalId: agencyHospitalid |
| | | }, |
| | | function (data) { |
| | | if (data.getState() == "SUCCESS") { |
| | | var data = data.getReturnValue(); |
| | | if (data.IsSuccess == true) { |
| | | let agencyContactIds = ""; |
| | | if (data.Message == "" && data.Data && data.Data.length > 0) { |
| | | hospitalName = data.Data[0].Agency_Hospital__r.Name; |
| | | for (var i = 0; i < data.Data.length; i++) { |
| | | if (data.Data[i].AWS_Data_Id__c) |
| | | agencyContactIds += "," + data.Data[i].AWS_Data_Id__c; |
| | | handleSubmit: function (component, event, helper) { |
| | | event.preventDefault(); // stop form submission |
| | | var showValidationError = false; |
| | | var fields = component.find("newOpportunityField"); |
| | | var vaildationFailReason = ''; |
| | | let agencyReport = Object.create(null); |
| | | fields.forEach(function (field) { |
| | | if (field.get("v.fieldName") === 'Type__c' && $A.util.isEmpty(field.get("v.value"))) { |
| | | showValidationError = true; |
| | | vaildationFailReason = "分类不能为空!"; |
| | | } else if (field.get("v.fieldName") === 'Doctor_Division1__c' && $A.util.isEmpty(field.get("v.value"))) { |
| | | showValidationError = true; |
| | | if (vaildationFailReason != '') { |
| | | vaildationFailReason += "医生区分(职务)不能为空!"; |
| | | } else { |
| | | vaildationFailReason = "医生区分(职务)不能为空!"; |
| | | } |
| | | agencyContactIds = agencyContactIds.substring(1); |
| | | agencyReport["agencyContactIds"] = agencyContactIds; |
| | | } else { |
| | | agencyReport["agencyContactIds"] = agencyContactIds; |
| | | } |
| | | var arr = new Array(); |
| | | arr.push(agencyReport); |
| | | var requestData = JSON.stringify(arr); |
| | | // helper.set_aws_url(component,data,agencyHospitalid); |
| | | |
| | | var token = component.get("v.AWStoken"); |
| | | var newUrl = component.get("v.AWSinsert") + "V2"; |
| | | |
| | | component.set("v.login", true); |
| | | helper.insert_agencycontact( |
| | | component, |
| | | token, |
| | | newUrl, |
| | | requestData, |
| | | agencyHospitalid, |
| | | helper, |
| | | hospitalName |
| | | ); |
| | | } else { |
| | | helper.ShowToast({ |
| | | message: data.message, |
| | | type: "error" |
| | | }); |
| | | } |
| | | } else { |
| | | helper.ShowToast({ |
| | | message: "searchAgency失败", |
| | | type: "error" |
| | | }); |
| | | } |
| | | //SWAG-CF58C3 fy start |
| | | if (field.get("v.fieldName") === 'Name') { |
| | | agencyReport['name'] = field.get("v.value"); |
| | | } else if (field.get("v.fieldName") === 'Type__c') { |
| | | agencyReport['type'] = field.get("v.value"); |
| | | } else if (field.get("v.fieldName") === 'Doctor_Division1__c') { |
| | | agencyReport['doctorDivision1'] = field.get("v.value"); |
| | | } |
| | | //SWAG-CF58C3 fy end |
| | | }); |
| | | if (!showValidationError) { |
| | | //SWAG-CF58C3 fy start |
| | | var agencyHospitalid = component.get('v.hospitalLinkId'); |
| | | //zhj MEBG新方案改造 2022-11-29 start |
| | | debugger |
| | | let hospitalName = ''; |
| | | //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid |
| | | helper.CallBackAction(component, 'searchAgencyDataId', { |
| | | hospitalId: agencyHospitalid |
| | | }, function (data) { |
| | | if (data.getState() == "SUCCESS") { |
| | | var data = data.getReturnValue(); |
| | | if (data.IsSuccess == true) { |
| | | let agencyContactIds = '' |
| | | if (data.Message == '' && data.Data && data.Data.length > 0) { |
| | | hospitalName = data.Data[0].Agency_Hospital__r.Name; |
| | | for (var i = 0; i < data.Data.length; i++) { |
| | | if (data.Data[i].AWS_Data_Id__c) |
| | | agencyContactIds += ',' + data.Data[i].AWS_Data_Id__c; |
| | | } |
| | | agencyContactIds = agencyContactIds.substring(1); |
| | | agencyReport['agencyContactIds'] = agencyContactIds; |
| | | } else { |
| | | agencyReport['agencyContactIds'] = agencyContactIds; |
| | | } |
| | | var arr = new Array(); |
| | | arr.push(agencyReport); |
| | | var requestData = JSON.stringify(arr); |
| | | // helper.set_aws_url(component,data,agencyHospitalid); |
| | | |
| | | var token = component.get('v.AWStoken'); |
| | | var newUrl = component.get('v.AWSinsert') + 'V2'; |
| | | |
| | | component.set('v.login', true); |
| | | helper.insert_agencycontact(component, token, newUrl, requestData, agencyHospitalid, helper, hospitalName); |
| | | } else { |
| | | helper.ShowToast({ |
| | | "message": data.message, |
| | | "type": "error" |
| | | }); |
| | | } |
| | | } else { |
| | | helper.ShowToast({ |
| | | "message": 'searchAgency失败', |
| | | "type": "error" |
| | | }); |
| | | } |
| | | }) |
| | | //zhj MEBG新方案改造 2022-11-29 end |
| | | // var arr = new Array(); |
| | | // arr.push(agencyReport); |
| | | // var data = JSON.stringify(arr); |
| | | // var token = component.get('v.AWStoken'); |
| | | // var newUrl = component.get('v.AWSinsert'); |
| | | // component.set('v.login',true); |
| | | // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper); |
| | | //SWAG-CF58C3 fy end |
| | | // helper.newlyBuild(component, event, helper); |
| | | } else { |
| | | component.find('OppMessage').setError(vaildationFailReason); |
| | | } |
| | | ); |
| | | //zhj MEBG新方案改造 2022-11-29 end |
| | | // var arr = new Array(); |
| | | // arr.push(agencyReport); |
| | | // var data = JSON.stringify(arr); |
| | | // var token = component.get('v.AWStoken'); |
| | | // var newUrl = component.get('v.AWSinsert'); |
| | | // component.set('v.login',true); |
| | | // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper); |
| | | //SWAG-CF58C3 fy end |
| | | // helper.newlyBuild(component, event, helper); |
| | | } else { |
| | | component.find("OppMessage").setError(vaildationFailReason); |
| | | }, |
| | | |
| | | createCancel: function (component, event, helper) { |
| | | helper.createCancel(component, event, helper); |
| | | }, |
| | | |
| | | yes_button: function (component, event, helper) { |
| | | component.set('v.confirm_status', 1); |
| | | helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text')); |
| | | }, |
| | | |
| | | no_button: function (component, event, helper) { |
| | | component.set('v.confirm_status', 2); |
| | | helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text')); |
| | | }, |
| | | |
| | | toggle_report: function (component, event, helper) { |
| | | helper.toggle_report(component, event, helper); |
| | | }, |
| | | |
| | | save_report: function (component, event, helper) { |
| | | helper.save_report(component, event, helper); |
| | | }, |
| | | |
| | | select_date_change: function (component, event, helper) { |
| | | helper.select_date_change(component, event, helper); |
| | | }, |
| | | |
| | | select_agency_change: function (component, event, helper) { |
| | | debugger |
| | | helper.select_agency_change(component, event, helper); |
| | | }, |
| | | |
| | | hosChange: function (component, event, helper) { |
| | | var hospital_name = event.getParam("value"); |
| | | var hospital_nameld = component.get("v.UseProduct1s"); |
| | | if (hospital_name.match(/(\S+\s)+/)) { |
| | | if (hospital_nameld != hospital_name) { |
| | | helper.searchHos(component, event, helper); |
| | | } |
| | | } else { |
| | | if (hospital_name == '') { |
| | | helper.hideSearchs(component, event, helper); |
| | | } else { |
| | | helper.hideSearch(component, event, helper); |
| | | } |
| | | } |
| | | }, |
| | | selectHos: function (component, event, helper) { |
| | | helper.selectHos(component, event, helper); |
| | | helper.setOpportunity_cfilter(component); |
| | | }, |
| | | //使用产品1 |
| | | UseProduct1Change: function (component, event, helper) { |
| | | var UseProduct1Name = event.getParam("value"); |
| | | var UseProduct1Nameold = component.get("v.UseProduct1s"); |
| | | debugger |
| | | if (UseProduct1Name.match(/(\S+\s)+/)) { |
| | | if (UseProduct1Name != UseProduct1Nameold) { |
| | | helper.searchUseProduct1(component, event, helper); |
| | | } |
| | | } else { |
| | | if (UseProduct1Name == '') { |
| | | helper.hideSearchUseProduct1s(component, event, helper); |
| | | } else { |
| | | helper.hideSearchUseProduct1(component, event, helper); |
| | | } |
| | | } |
| | | }, |
| | | seletUseProduct1Change: function (component, event, helper) { |
| | | helper.seletUseProduct1Change(component, event, helper); |
| | | }, |
| | | //使用产品2 |
| | | UseProduct2Change: function (component, event, helper) { |
| | | var UseProduct2Name = event.getParam("value"); |
| | | var UseProduct2Nameold = component.get("v.UseProduct2s"); |
| | | if (UseProduct2Name.match(/(\S+\s)+/)) { |
| | | if (UseProduct2Name != UseProduct2Nameold) { |
| | | helper.searchUseProduct2(component, event, helper); |
| | | } |
| | | } else { |
| | | if (UseProduct2Name == '') { |
| | | helper.hideSearchUseProduct2s(component, event, helper); |
| | | } else { |
| | | helper.hideSearchUseProduct2(component, event, helper); |
| | | } |
| | | } |
| | | }, |
| | | seletUseProduct2Change: function (component, event, helper) { |
| | | helper.seletUseProduct2Change(component, event, helper); |
| | | }, |
| | | productcategoryChange2: function (component, event, helper) { |
| | | helper.productcategoryChange2(component, event, helper); |
| | | }, |
| | | //使用产品3 |
| | | UseProduct3Change: function (component, event, helper) { |
| | | var UseProduct3Name = event.getParam("value"); |
| | | var UseProduct3Nameold = component.get("v.UseProduct3s"); |
| | | if (UseProduct3Name.match(/(\S+\s)+/)) { |
| | | if (UseProduct3Name != UseProduct3Nameold) { |
| | | helper.searchUseProduct3(component, event, helper); |
| | | } |
| | | } else { |
| | | if (UseProduct3Name == '') { |
| | | helper.hideSearchUseProduct3s(component, event, helper); |
| | | } else { |
| | | helper.hideSearchUseProduct3(component, event, helper); |
| | | } |
| | | } |
| | | }, |
| | | seletUseProduct3Change: function (component, event, helper) { |
| | | helper.seletUseProduct3Change(component, event, helper); |
| | | }, |
| | | |
| | | |
| | | select_department: function (component, event, helper) { |
| | | helper.setOpportunity_cfilter(component); |
| | | }, |
| | | doctor_change: function (component, event, helper) { |
| | | helper.doctor_change(component, event, helper); |
| | | }, |
| | | stageNameChange: function (component, event, helper) { |
| | | helper.stageNameChange(component, event, helper); |
| | | }, |
| | | onDragOver: function (component, event, helper) { |
| | | event.preventDefault(); |
| | | }, |
| | | |
| | | onDrop: function (component, event, helper) { |
| | | event.stopPropagation(); |
| | | event.preventDefault(); |
| | | event.dataTransfer.dropEffect = 'copy'; |
| | | var files = event.dataTransfer.files; |
| | | helper.readFile(component, helper, files[0]); |
| | | }, |
| | | CreateRecord: function (component, event, helper) { |
| | | var files = event.getSource().get("v.files"); |
| | | helper.readFile(component, helper, files[0]); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | processFileContent: function (component, event, helper) { |
| | | helper.saveRecords(component, event, helper); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | cancel: function (component, event, helper) { |
| | | component.set("v.showMain", true); |
| | | }, |
| | | |
| | | import: function (component, event, helper) { |
| | | helper.showImport(component); |
| | | }, |
| | | exportDate: function (component, event, helper) { |
| | | var stockData = component.get("v.reports_date"); |
| | | console.log('导出数据' + stockData); |
| | | var csv = helper.convertArrayOfObjectsToCSV(component, stockData); |
| | | if (csv == null) { return; } |
| | | |
| | | var universalBOM = "\uFEFF"; |
| | | var hiddenElement = document.createElement('a'); |
| | | hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(universalBOM + csv); |
| | | hiddenElement.target = '_self'; // |
| | | hiddenElement.download = 'ExportData.csv'; // CSV file Name* you can change it.[only name not .csv] |
| | | document.body.appendChild(hiddenElement); // Required for FireFox browser |
| | | hiddenElement.click(); // using click() js function to download csv file |
| | | |
| | | }, |
| | | export_condition: function (component, event, helper) { |
| | | helper.showExport(component); |
| | | }, |
| | | |
| | | select_repores_date: function (component, event, helper) { |
| | | helper.select_repores_date(component, event, helper); |
| | | }, |
| | | export: function (component, event, helper) { |
| | | console.log('进入export'); |
| | | var stockData = component.get("v.reports_date"); |
| | | console.log('查出的数据' + stockData); |
| | | }, |
| | | close_import: function (component, event, helper) { |
| | | component.set("v.showMain", true); |
| | | helper.close_import(component); |
| | | }, |
| | | close_export: function (component, event, helper) { |
| | | component.set("v.showMain", true); |
| | | helper.close_export(component); |
| | | }, |
| | | select_ConsumptionOfConsumables: function (component, event, helper) { |
| | | helper.select_ConsumptionOfConsumables(component, event, helper); |
| | | }, |
| | | select_purpose_type: function (component, event, helper) { |
| | | helper.selectPurposeType(component, event, helper); |
| | | }, |
| | | select_warlocksNumber: function (component, event, helper) { |
| | | helper.select_warlocksNumber(component, event, helper); |
| | | }, |
| | | selectProductClassification: function (component, event, helper) { |
| | | helper.selectProductClassification(component, event, helper); |
| | | }, |
| | | selectpurposetype: function (component, event, helper) { |
| | | helper.selectpurposetype(component, event, helper); |
| | | }, |
| | | return_main_page: function (component, event, helper) { |
| | | window.open('/customer/', '_self'); |
| | | }, |
| | | exportErrorInfo: function (component, event, helper) { |
| | | helper.exportErrorInfoHelper(component); |
| | | }, |
| | | closeErrorDiv: function (component, event, helper) { |
| | | var errorDiv01 = component.find('errorDiv01'); |
| | | $A.util.addClass(errorDiv01, 'slds-hide'); |
| | | } |
| | | }, |
| | | |
| | | createCancel: function (component, event, helper) { |
| | | helper.createCancel(component, event, helper); |
| | | }, |
| | | |
| | | yes_button: function (component, event, helper) { |
| | | component.set("v.confirm_status", 1); |
| | | helper.close_confirm( |
| | | component, |
| | | component.get("v.modal_confirm_title"), |
| | | component.get("v.modal_confirm_text") |
| | | ); |
| | | }, |
| | | |
| | | no_button: function (component, event, helper) { |
| | | component.set("v.confirm_status", 2); |
| | | helper.close_confirm( |
| | | component, |
| | | component.get("v.modal_confirm_title"), |
| | | component.get("v.modal_confirm_text") |
| | | ); |
| | | }, |
| | | |
| | | toggle_report: function (component, event, helper) { |
| | | helper.toggle_report(component, event, helper); |
| | | }, |
| | | |
| | | save_report: function (component, event, helper) { |
| | | helper.save_report(component, event, helper); |
| | | }, |
| | | |
| | | select_date_change: function (component, event, helper) { |
| | | helper.select_date_change(component, event, helper); |
| | | }, |
| | | |
| | | select_agency_change: function (component, event, helper) { |
| | | debugger; |
| | | helper.select_agency_change(component, event, helper); |
| | | }, |
| | | |
| | | hosChange: function (component, event, helper) { |
| | | var hospital_name = event.getParam("value"); |
| | | var hospital_nameld = component.get("v.UseProduct1s"); |
| | | if (hospital_name.match(/(\S+\s)+/)) { |
| | | if (hospital_nameld != hospital_name) { |
| | | helper.searchHos(component, event, helper); |
| | | } |
| | | } else { |
| | | if (hospital_name == "") { |
| | | helper.hideSearchs(component, event, helper); |
| | | } else { |
| | | helper.hideSearch(component, event, helper); |
| | | } |
| | | } |
| | | }, |
| | | selectHos: function (component, event, helper) { |
| | | helper.selectHos(component, event, helper); |
| | | helper.setOpportunity_cfilter(component); |
| | | }, |
| | | //使用产品1 |
| | | UseProduct1Change: function (component, event, helper) { |
| | | var UseProduct1Name = event.getParam("value"); |
| | | var UseProduct1Nameold = component.get("v.UseProduct1s"); |
| | | debugger; |
| | | if (UseProduct1Name.match(/(\S+\s)+/)) { |
| | | if (UseProduct1Name != UseProduct1Nameold) { |
| | | helper.searchUseProduct1(component, event, helper); |
| | | } |
| | | } else { |
| | | if (UseProduct1Name == "") { |
| | | helper.hideSearchUseProduct1s(component, event, helper); |
| | | } else { |
| | | helper.hideSearchUseProduct1(component, event, helper); |
| | | } |
| | | } |
| | | }, |
| | | seletUseProduct1Change: function (component, event, helper) { |
| | | helper.seletUseProduct1Change(component, event, helper); |
| | | }, |
| | | //使用产品2 |
| | | UseProduct2Change: function (component, event, helper) { |
| | | var UseProduct2Name = event.getParam("value"); |
| | | var UseProduct2Nameold = component.get("v.UseProduct2s"); |
| | | if (UseProduct2Name.match(/(\S+\s)+/)) { |
| | | if (UseProduct2Name != UseProduct2Nameold) { |
| | | helper.searchUseProduct2(component, event, helper); |
| | | } |
| | | } else { |
| | | if (UseProduct2Name == "") { |
| | | helper.hideSearchUseProduct2s(component, event, helper); |
| | | } else { |
| | | helper.hideSearchUseProduct2(component, event, helper); |
| | | } |
| | | } |
| | | }, |
| | | seletUseProduct2Change: function (component, event, helper) { |
| | | helper.seletUseProduct2Change(component, event, helper); |
| | | }, |
| | | productcategoryChange2: function (component, event, helper) { |
| | | helper.productcategoryChange2(component, event, helper); |
| | | }, |
| | | //使用产品3 |
| | | UseProduct3Change: function (component, event, helper) { |
| | | var UseProduct3Name = event.getParam("value"); |
| | | var UseProduct3Nameold = component.get("v.UseProduct3s"); |
| | | if (UseProduct3Name.match(/(\S+\s)+/)) { |
| | | if (UseProduct3Name != UseProduct3Nameold) { |
| | | helper.searchUseProduct3(component, event, helper); |
| | | } |
| | | } else { |
| | | if (UseProduct3Name == "") { |
| | | helper.hideSearchUseProduct3s(component, event, helper); |
| | | } else { |
| | | helper.hideSearchUseProduct3(component, event, helper); |
| | | } |
| | | } |
| | | }, |
| | | seletUseProduct3Change: function (component, event, helper) { |
| | | helper.seletUseProduct3Change(component, event, helper); |
| | | }, |
| | | |
| | | select_department: function (component, event, helper) { |
| | | helper.setOpportunity_cfilter(component); |
| | | }, |
| | | doctor_change: function (component, event, helper) { |
| | | helper.doctor_change(component, event, helper); |
| | | }, |
| | | stageNameChange: function (component, event, helper) { |
| | | helper.stageNameChange(component, event, helper); |
| | | }, |
| | | onDragOver: function (component, event, helper) { |
| | | event.preventDefault(); |
| | | }, |
| | | |
| | | onDrop: function (component, event, helper) { |
| | | event.stopPropagation(); |
| | | event.preventDefault(); |
| | | event.dataTransfer.dropEffect = "copy"; |
| | | var files = event.dataTransfer.files; |
| | | helper.readFile(component, helper, files[0]); |
| | | }, |
| | | CreateRecord: function (component, event, helper) { |
| | | var files = event.getSource().get("v.files"); |
| | | helper.readFile(component, helper, files[0]); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | processFileContent: function (component, event, helper) { |
| | | helper.saveRecords(component, event, helper); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | cancel: function (component, event, helper) { |
| | | component.set("v.showMain", true); |
| | | }, |
| | | |
| | | import: function (component, event, helper) { |
| | | helper.showImport(component); |
| | | }, |
| | | exportDate: function (component, event, helper) { |
| | | var stockData = component.get("v.reports_date"); |
| | | console.log("导出数据" + stockData); |
| | | var csv = helper.convertArrayOfObjectsToCSV(component, stockData); |
| | | if (csv == null) { |
| | | return; |
| | | } |
| | | |
| | | var universalBOM = "\uFEFF"; |
| | | var hiddenElement = document.createElement("a"); |
| | | hiddenElement.href = |
| | | "data:text/csv;charset=utf-8," + encodeURI(universalBOM + csv); |
| | | hiddenElement.target = "_self"; // |
| | | hiddenElement.download = "ExportData.csv"; // CSV file Name* you can change it.[only name not .csv] |
| | | document.body.appendChild(hiddenElement); // Required for FireFox browser |
| | | hiddenElement.click(); // using click() js function to download csv file |
| | | }, |
| | | export_condition: function (component, event, helper) { |
| | | helper.showExport(component); |
| | | }, |
| | | |
| | | select_repores_date: function (component, event, helper) { |
| | | helper.select_repores_date(component, event, helper); |
| | | }, |
| | | export: function (component, event, helper) { |
| | | console.log("进入export"); |
| | | var stockData = component.get("v.reports_date"); |
| | | console.log("查出的数据" + stockData); |
| | | }, |
| | | close_import: function (component, event, helper) { |
| | | component.set("v.showMain", true); |
| | | helper.close_import(component); |
| | | }, |
| | | close_export: function (component, event, helper) { |
| | | component.set("v.showMain", true); |
| | | helper.close_export(component); |
| | | }, |
| | | select_ConsumptionOfConsumables: function (component, event, helper) { |
| | | helper.select_ConsumptionOfConsumables(component, event, helper); |
| | | }, |
| | | select_purpose_type: function (component, event, helper) { |
| | | helper.selectPurposeType(component, event, helper); |
| | | }, |
| | | select_warlocksNumber: function (component, event, helper) { |
| | | helper.select_warlocksNumber(component, event, helper); |
| | | }, |
| | | selectProductClassification: function (component, event, helper) { |
| | | helper.selectProductClassification(component, event, helper); |
| | | }, |
| | | selectpurposetype: function (component, event, helper) { |
| | | helper.selectpurposetype(component, event, helper); |
| | | }, |
| | | return_main_page: function (component, event, helper) { |
| | | window.open("/customer/", "_self"); |
| | | }, |
| | | exportErrorInfo: function (component, event, helper) { |
| | | helper.exportErrorInfoHelper(component); |
| | | }, |
| | | closeErrorDiv: function (component, event, helper) { |
| | | var errorDiv01 = component.find("errorDiv01"); |
| | | $A.util.addClass(errorDiv01, "slds-hide"); |
| | | } |
| | | }); |
| | | }) |
| | |
| | | <aura:component |
| | | controller="WeeklyReportCmp" |
| | | implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes" |
| | | access="global" |
| | | > |
| | | <ltng:require styles="{!$Resource.multilineToastCSS}" /> |
| | | <aura:handler name="init" value="{!this}" action="{!c.doInit}" /> |
| | | <aura:handler |
| | | event="c:strike_evt" |
| | | action="{!c.createAopp}" |
| | | name="strike_evt_addNewRecord" |
| | | /> |
| | | <aura:attribute |
| | | name="data" |
| | | type="Agency_Report__c" |
| | | default="{sobjectType:'Agency_Report__c'}" |
| | | /> |
| | | <aura:attribute |
| | | name="oppdata" |
| | | type="Agency_Opportunity__c" |
| | | default="{sobjectType:'Agency_Opportunity__c'}" |
| | | /> |
| | | <aura:attribute |
| | | name="acondata" |
| | | type="Agency_Contact__c" |
| | | default="{sobjectType:'Agency_Contact__c'}" |
| | | /> |
| | | <!-- <aura:attribute name="oppdata_old" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}"/> --> |
| | | <aura:attribute name="Close_Forecasted_Date__c_o" type="Date" /> |
| | | <aura:attribute name="Amount__c_o" type="String" /> |
| | | <aura:attribute name="OCMSale_Price__c_o" type="String" /> |
| | | <aura:attribute name="StageName__c_o" type="String" /> |
| | | <aura:attribute name="fieldsmap" type="Map" /> |
| | | <aura:attribute name="alldata" type="List" /> |
| | | <aura:attribute name="allselectlist" type="Map" /> |
| | | <aura:attribute name="doclist" type="List" /> |
| | | <aura:attribute name="docmap" type="Map" /> |
| | | <aura:attribute name="login" type="Boolean" default="false" /> |
| | | <aura:attribute name="loginEdit" type="Boolean" default="false" /> |
| | | <aura:attribute name="loadOpp" type="Boolean" default="false" /> |
| | | <aura:attribute name="reportPageData" type="Map" /> |
| | | <aura:attribute name="selectbody" type="String" /> |
| | | <aura:attribute name="report_date_list" type="Map" /> |
| | | <aura:attribute name="selected_date" type="String" /> |
| | | <aura:attribute name="selected_agency_person" type="String" /> |
| | | <aura:attribute name="agency_report_header" type="String" /> |
| | | <aura:attribute name="agency_report_header_id" type="String" /> |
| | | <aura:attribute name="result" type="String" default="" /> |
| | | <aura:attribute name="hospital" type="string" default="" /> |
| | | <aura:attribute name="hospitalId" type="string" default="" /> |
| | | <aura:attribute name="hospitalLinkId" type="string" default="" /> |
| | | <aura:handler name="change" value="{!v.hospital}" action="{!c.hosChange}" /> |
| | | <aura:attribute name="hospitalList" type="Map" /> |
| | | <aura:attribute name="doctor_list" type="Map" /> |
| | | <aura:attribute name="doctor_title" type="String" /> |
| | | <aura:attribute name="opportunity_list" type="Map" /> |
| | | <aura:handler |
| | | name="change" |
| | | value="{!v.data.Opportunity__c}" |
| | | action="{!c.opportunityChange}" |
| | | /> |
| | | <aura:attribute name="edit_copy_select_report_id" type="String" /> |
| | | <aura:attribute name="create_agency_report_id" type="String" /> |
| | | <aura:attribute name="reports" type="List" /> |
| | | <aura:attribute name="reports_now" type="List" /> |
| | | <aura:attribute name="reports_now_count" type="Integer" /> |
| | | <aura:attribute name="mode" type="String" /> |
| | | <aura:attribute name="select_report_data" type="Map" /> |
| | | <aura:attribute name="select_report_data_radio" type="Map" /> |
| | | <aura:attribute name="default_select_doctor_id" type="String" /> |
| | | <aura:attribute name="default_select_opportunity_id" type="String" /> |
| | | <aura:attribute name="report_count" type="Integer" /> |
| | | <aura:attribute name="dialog_type" type="String" /> |
| | | <aura:attribute name="truthy" type="Boolean" default="false" /> |
| | | <aura:attribute name="list_message" type="String" default="搜索" /> |
| | | <aura:attribute name="confirm_status" type="Integer" default="0" /> |
| | | <aura:attribute name="modal_confirm_title" type="String" /> |
| | | <aura:attribute name="modal_confirm_text" type="String" /> |
| | | <aura:attribute name="opportunity_cfilter" type="String" /> |
| | | <!-- <aura:handler name="change" value="{!v.data.Product_Category1__c}" action="{!c.productcategoryChange1}"/> |
| | | <aura:component controller="WeeklyReportCmp" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes" access="global" > |
| | | <ltng:require styles="{!$Resource.multilineToastCSS}" /> |
| | | <aura:handler name="init" value="{!this}" action="{!c.doInit}"/> |
| | | <aura:handler event="c:strike_evt" action="{!c.createAopp}" name="strike_evt_addNewRecord"/> |
| | | <aura:attribute name="data" type="Agency_Report__c" default="{sobjectType:'Agency_Report__c'}"/> |
| | | <aura:attribute name="oppdata" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}"/> |
| | | <aura:attribute name="acondata" type="Agency_Contact__c" default="{sobjectType:'Agency_Contact__c'}"/> |
| | | <!-- <aura:attribute name="oppdata_old" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}"/> --> |
| | | <aura:attribute name="Close_Forecasted_Date__c_o" type="Date"/> |
| | | <aura:attribute name="Amount__c_o" type="String"/> |
| | | <aura:attribute name="OCMSale_Price__c_o" type="String"/> |
| | | <aura:attribute name="StageName__c_o" type="String"/> |
| | | <aura:attribute name="fieldsmap" type="Map"/> |
| | | <aura:attribute name="alldata" type="List"/> |
| | | <aura:attribute name="allselectlist" type="Map"/> |
| | | <aura:attribute name="doclist" type="List"/> |
| | | <aura:attribute name="docmap" type="Map"/> |
| | | <aura:attribute name="login" type="Boolean" default="false"/> |
| | | <aura:attribute name="loginEdit" type="Boolean" default="false" /> |
| | | <aura:attribute name="loadOpp" type="Boolean" default="false"/> |
| | | <aura:attribute name="reportPageData" type="Map"/> |
| | | <aura:attribute name="selectbody" type="String"/> |
| | | <aura:attribute name="report_date_list" type="Map"/> |
| | | <aura:attribute name="selected_date" type="String"/> |
| | | <aura:attribute name="selected_agency_person" type="String"/> |
| | | <aura:attribute name="agency_report_header" type="String"/> |
| | | <aura:attribute name="agency_report_header_id" type="String"/> |
| | | <aura:attribute name="result" type="String" default=""/> |
| | | <aura:attribute name="hospital" type="string" default=""/> |
| | | <aura:attribute name="hospitalId" type="string" default=""/> |
| | | <aura:attribute name="hospitalLinkId" type="string" default=""/> |
| | | <aura:handler name="change" value="{!v.hospital}" action="{!c.hosChange}"/> |
| | | <aura:attribute name="hospitalList" type="Map" /> |
| | | <aura:attribute name="doctor_list" type="Map"/> |
| | | <aura:attribute name="doctor_title" type="String"/> |
| | | <aura:attribute name="opportunity_list" type="Map"/> |
| | | <aura:handler name="change" value="{!v.data.Opportunity__c}" action="{!c.opportunityChange}"/> |
| | | <aura:attribute name="edit_copy_select_report_id" type="String"/> |
| | | <aura:attribute name="create_agency_report_id" type="String"/> |
| | | <aura:attribute name="reports" type="List"/> |
| | | <aura:attribute name="reports_now" type="List"/> |
| | | <aura:attribute name="reports_now_count" type="Integer"/> |
| | | <aura:attribute name="mode" type="String"/> |
| | | <aura:attribute name="select_report_data" type="Map"/> |
| | | <aura:attribute name="select_report_data_radio" type="Map"/> |
| | | <aura:attribute name="default_select_doctor_id" type="String"/> |
| | | <aura:attribute name="default_select_opportunity_id" type="String"/> |
| | | <aura:attribute name="report_count" type="Integer"/> |
| | | <aura:attribute name="dialog_type" type="String"/> |
| | | <aura:attribute name="truthy" type="Boolean" default="false"/> |
| | | <aura:attribute name="list_message" type="String" default="搜索" /> |
| | | <aura:attribute name="confirm_status" type="Integer" default="0" /> |
| | | <aura:attribute name="modal_confirm_title" type="String" /> |
| | | <aura:attribute name="modal_confirm_text" type="String" /> |
| | | <aura:attribute name="opportunity_cfilter" type="String" /> |
| | | <!-- <aura:handler name="change" value="{!v.data.Product_Category1__c}" action="{!c.productcategoryChange1}"/> |
| | | <aura:handler name="change" value="{!v.data.Product_Category2__c}" action="{!c.productcategoryChange2}"/> |
| | | <aura:handler name="change" value="{!v.data.Product_Category3__c}" action="{!c.productcategoryChange3}"/> --> |
| | | <!-- <aura:handler name="change" value="{!v.oppdata.StageName__c}" action="{!c.stageNameChange}"/> --> |
| | | <aura:attribute |
| | | name="update_select_report_data_id" |
| | | type="String" |
| | | default="" |
| | | /> |
| | | <!-- <aura:handler name="change" value="{!v.oppdata.StageName__c}" action="{!c.stageNameChange}"/> --> |
| | | <aura:attribute name="update_select_report_data_id" type="String" default=""/> |
| | | |
| | | <!-- 批量添加周报 start--> |
| | | <aura:attribute name="reports_date" type="List" /> |
| | | <!-- <aura:attribute name="reports_date1" type="Date" /> |
| | | <!-- 批量添加周报 start--> |
| | | <aura:attribute name="reports_date" type="List" /> |
| | | <!-- <aura:attribute name="reports_date1" type="Date" /> |
| | | <aura:attribute name="reports_date2" type="Date" /> --> |
| | | <aura:attribute |
| | | name="TableContent" |
| | | type="String" |
| | | description=" Show the Result class" |
| | | /> |
| | | <aura:attribute |
| | | name="TableContent2" |
| | | type="String" |
| | | description=" Show the Result class" |
| | | /> |
| | | <aura:attribute |
| | | name="TargetFileName" |
| | | type="String" |
| | | description="Name of the file" |
| | | /> |
| | | <aura:attribute name="tableheaders" type="Object[]" /> |
| | | <aura:attribute name="fileContentData" type="String" /> |
| | | <aura:attribute name="filename" type="String" /> |
| | | <!-- It will display 100 records . Change for your requirement--> |
| | | <aura:attribute name="NumOfRecords" type="Integer" default="1000" /> |
| | | <aura:attribute name="showMain" type="Boolean" default="true" /> |
| | | <!-- PIPL update Yin Mingjie 21/02/2022 start --> |
| | | <aura:attribute name="AWStoken" type="String" /> |
| | | <aura:attribute name="AWSsearch" type="String" /> |
| | | <aura:attribute name="AWSinsert" type="String" /> |
| | | <aura:attribute name="AWStransactionURL" type="String" /> |
| | | <aura:attribute name="AWSDoctor2Map" type="String" /> |
| | | <aura:attribute name="awsurl" type="Map" /> |
| | | <aura:attribute name="contactawsurl" type="Map" /> |
| | | <aura:attribute name="allselectlistAgencyPerson" type="Map" /> |
| | | <!-- PIPL update Yin Mingjie 21/02/2022 end --> |
| | | <aura:attribute name="TableContent" type="String" description=" Show the Result class"/> |
| | | <aura:attribute name="TableContent2" type="String" description=" Show the Result class"/> |
| | | <aura:attribute name="TargetFileName" type="String" description="Name of the file"/> |
| | | <aura:attribute name="tableheaders" type="Object[]" /> |
| | | <aura:attribute name="fileContentData" type="String"/> |
| | | <aura:attribute name="filename" type="String"/> |
| | | <!-- It will display 100 records . Change for your requirement--> |
| | | <aura:attribute name="NumOfRecords" type="Integer" default="1000"/> |
| | | <aura:attribute name="showMain" type="Boolean" default="true"/> |
| | | <!-- PIPL update Yin Mingjie 21/02/2022 start --> |
| | | <aura:attribute name="AWStoken" type="String"/> |
| | | <aura:attribute name="AWSsearch" type="String"/> |
| | | <aura:attribute name="AWSinsert" type="String"/> |
| | | <aura:attribute name="AWStransactionURL" type="String"/> |
| | | <aura:attribute name="AWSDoctor2Map" type="String"/> |
| | | <aura:attribute name="awsurl" type="Map"/> |
| | | <aura:attribute name="contactawsurl" type="Map"/> |
| | | <aura:attribute name="allselectlistAgencyPerson" type="Map"/> |
| | | <!-- PIPL update Yin Mingjie 21/02/2022 end --> |
| | | |
| | | <!-- start DTT-zhj 增加错误信息table 2023-05-16--> |
| | | <aura:attribute name="errorData" type="Object" /> |
| | | <aura:attribute name="errorColumns" type="List" /> |
| | | <!-- show Error information --> |
| | | <aura:attribute name="showErrorInfo" type="Boolean" default="false" /> |
| | | <!-- end DTT-zhj 增加错误信息table 2023-05-16--> |
| | | <!-- start DTT-zhj 增加错误信息table 2023-05-16--> |
| | | <aura:attribute name="errorData" type="Object" /> |
| | | <aura:attribute name="errorColumns" type="List" /> |
| | | <!-- show Error information --> |
| | | <aura:attribute name="showErrorInfo" type="Boolean" default="false" /> |
| | | <!-- end DTT-zhj 增加错误信息table 2023-05-16--> |
| | | |
| | | <!-- 批量添加周报 end--> |
| | | <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" /> |
| | | <ltng:require scripts="{! $Resource.jquery183minjs }" /> |
| | | |
| | | <!--ロード中...--> |
| | | <aura:renderIf isTrue="{!v.login}"> |
| | | <aura:renderIf isTrue="{!!v.loginEdit}"> |
| | | <!-- add by Deloitte-Link 2023-6-19 --> |
| | | <div class="weeklyReportSpinner"> |
| | | <div class="slds-spinner_container"> |
| | | <div |
| | | class="slds-spinner--brand slds-spinner slds-spinner--medium" |
| | | role="alert" |
| | | > |
| | | <span id="aa" class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 批量添加周报 end--> |
| | | <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" /> |
| | | <ltng:require scripts="{! $Resource.jquery183minjs }" /> |
| | | |
| | | <!--ロード中...--> |
| | | <aura:renderIf isTrue="{!v.login}"> |
| | | <aura:renderIf isTrue="{!!v.loginEdit}"> |
| | | <!-- add by Deloitte-Link 2023-6-19 --> |
| | | <div class="weeklyReportSpinner"> |
| | | <div class="slds-spinner_container"> |
| | | <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert"> |
| | | <span id="aa" class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </aura:renderIf> |
| | | </aura:renderIf> |
| | | </aura:renderIf> |
| | | |
| | | <div aura:id="report" id="report" class="contents_wrapper"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div |
| | | class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12" |
| | | > |
| | | 周 |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12" |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_date" |
| | | class="slds-select" |
| | | change="{!c.select_date_change}" |
| | | /> |
| | | </div> |
| | | |
| | | <!-- 代理店担当者 --> |
| | | <div |
| | | class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12" |
| | | > |
| | | {!v.fieldsmap.Person_In_Charge2__c} |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12" |
| | | > |
| | | <ui:inputSelect |
| | | aura:id="select_agency_person" |
| | | class="slds-select agency_person_select" |
| | | change="{!c.select_agency_change}" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12" |
| | | > |
| | | <ui:button |
| | | aura:id="new_button" |
| | | label="新建" |
| | | press="{!c.new_report}" |
| | | disabled="true" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12" |
| | | > |
| | | <ui:button |
| | | aura:id="copy_button" |
| | | label="复制" |
| | | press="{!c.copy_button}" |
| | | disabled="true" |
| | | /> |
| | | <!-- <ui:button aura:id="import" label="导入" press="{!c.import}" /> --> |
| | | <ui:button aura:id="import" label="导入" press="{!c.import}" /> |
| | | |
| | | <!-- <input type="file" class="file" aura:id="file" onchange="{!c.CreateRecord}" style="position:absolute;filter:alpha(opacity=0);" size="1" hidden="true" /> --> |
| | | <!-- <ui:button aura:id="import" label="导出" press="{!c.export}"/> --> |
| | | <ui:button |
| | | aura:id="export" |
| | | label="导出" |
| | | press="{!c.export_condition}" |
| | | /> |
| | | </div> |
| | | |
| | | <div aura:id="report" id="report" class="contents_wrapper"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12"> |
| | | 周 |
| | | </div> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12"> |
| | | <ui:inputSelect aura:id="select_date" class="slds-select" change="{!c.select_date_change}"/> |
| | | </div> |
| | | |
| | | <!-- 代理店担当者 --> |
| | | <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12"> |
| | | {!v.fieldsmap.Person_In_Charge2__c} |
| | | </div> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12"> |
| | | <ui:inputSelect aura:id="select_agency_person" class="slds-select agency_person_select" change="{!c.select_agency_change}"/> |
| | | </div> |
| | | <div class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12"> |
| | | <ui:button aura:id="new_button" label="新建" press="{!c.new_report}" disabled="true"/> |
| | | </div> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12"> |
| | | <ui:button aura:id="copy_button" label="复制" press="{!c.copy_button}" disabled="true"/> |
| | | <!-- <ui:button aura:id="import" label="导入" press="{!c.import}" /> --> |
| | | <ui:button aura:id="import" label="导入" press="{!c.import}" /> |
| | | |
| | | <!-- <input type="file" class="file" aura:id="file" onchange="{!c.CreateRecord}" style="position:absolute;filter:alpha(opacity=0);" size="1" hidden="true" /> --> |
| | | <!-- <ui:button aura:id="import" label="导出" press="{!c.export}"/> --> |
| | | <ui:button aura:id="export" label="导出" press="{!c.export_condition}"/> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div aura:id="report_list" class="report_list_area"> |
| | | <div class="slds-table--edit_container slds-is-relative"> |
| | | <table |
| | | class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" |
| | | role="grid" |
| | | style="width: 66.75rem" |
| | | > |
| | | <thead> |
| | | <tr class="slds-line-height--reset"> |
| | | <th |
| | | class="table_header slds-text-title--caps" |
| | | style="width: 250px; font-size: 13px" |
| | | > |
| | | <span class="slds-truncate" title="Name">周报编号</span> |
| | | </th> |
| | | <th |
| | | class="table_header slds-text-title--caps" |
| | | style="width: 100px; font-size: 13px" |
| | | > |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.Person_In_Charge2__c}</span |
| | | > |
| | | </th> |
| | | <th |
| | | class="table_header slds-text-title--caps" |
| | | style="width: 250px; font-size: 13px" |
| | | > |
| | | <span class="slds-truncate" title="Name">医院</span> |
| | | </th> |
| | | <th |
| | | class="table_header slds-text-title--caps" |
| | | style="width: 100px; font-size: 13px" |
| | | > |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.Department_Cateogy__c}</span |
| | | > |
| | | </th> |
| | | <th |
| | | class="table_header slds-text-title--caps" |
| | | style="width: 100px; font-size: 13px" |
| | | > |
| | | <!-- PIPL update Yin Mingjie 21/02/2022 start |
| | | |
| | | <div aura:id="report_list" class="report_list_area" > |
| | | <div class="slds-table--edit_container slds-is-relative"> |
| | | <table class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" role="grid" style="width:66.75rem;"> |
| | | <thead> |
| | | <tr class="slds-line-height--reset"> |
| | | <th class="table_header slds-text-title--caps" style="width: 250px;font-size: 13px;"> |
| | | <span class="slds-truncate" title="Name">周报编号</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.Person_In_Charge2__c}</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps" style="width: 250px;font-size: 13px;"> |
| | | <span class="slds-truncate" title="Name">医院</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.Department_Cateogy__c}</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;"> |
| | | <!-- PIPL update Yin Mingjie 21/02/2022 start |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.doctor2__r}</span> |
| | | PIPL update Yin Mingjie 21/02/2022 end--> |
| | | <span |
| | | class="slds-truncate" |
| | | title="Name" |
| | | style="width: 100px; font-size: 13px" |
| | | >{!v.fieldsmap.Agency_Contact__c}</span |
| | | > |
| | | </th> |
| | | <th |
| | | class="table_header slds-text-title--caps" |
| | | style="width: 100px; font-size: 13px" |
| | | > |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.visitor_title__c}</span |
| | | > |
| | | </th> |
| | | <th |
| | | class="table_header slds-text-title--caps" |
| | | style="width: 100px; font-size: 13px" |
| | | > |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.Purpose_Type__c}</span |
| | | > |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <aura:iteration items="{!v.reports}" var="item" indexVar="index"> |
| | | <tr class="slds-hint-parent"> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <ui:inputRadio |
| | | class="report_radio" |
| | | name="report_radio" |
| | | label="{!item.Name}" |
| | | change="{!c.change_report_radio}" |
| | | /> |
| | | <lightning:buttonIcon |
| | | class="edit_button" |
| | | iconName="utility:edit" |
| | | size="small" |
| | | alternativeText="edit" |
| | | value="{!index}" |
| | | onclick="{!c.edit_button}" |
| | | /> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Person_In_Charge2__r.Name}" |
| | | > |
| | | {!item.Person_In_Charge2__r.Name} |
| | | <!-- <span class="decrypt">{!item.Person_In_Charge2__r.awsdata.lastName}</span> --> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <th scope="row" tabindex="0" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | {!item.Agency_Hospital__r.Name} |
| | | </span> |
| | | </th> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Department_Cateogy__c}" |
| | | >{!item.Department_Cateogy__c}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.doctor2__r.Name}"> |
| | | <span class="encrypt">{!item.doctor2__r.Name}</span> |
| | | <span class="decrypt">{!item.doctor2__r.awsdata.name}</span> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.visitor_title__c}"> |
| | | <span class="encrypt">{!item.visitor_title__c}</span> |
| | | <span class="decrypt" |
| | | >{!item.doctor2__r.awsdata.doctorDivision1}</span |
| | | > |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.Purpose_Type__c}" |
| | | >{!item.Purpose_Type__c}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | </tr> |
| | | </aura:iteration> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <aura:renderIf isTrue="{!v.report_count > 0}"> |
| | | <aura:set attribute="else"> |
| | | <div class="no_data_area">{!v.list_message}</div> |
| | | </aura:set> |
| | | </aura:renderIf> |
| | | </div> |
| | | |
| | | <!-- <ui:button aura:id="test_button" label="test" class="fade animation_on" press="{!c.test}"/>--> |
| | | <!-- 批量添加周报 start--> |
| | | <div |
| | | aura:id="modal_import" |
| | | role="dialog" |
| | | tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large" |
| | | aria-labelledby="headerTarget" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <aura:renderIf isTrue="{!v.loginEdit}"> |
| | | <lightning:spinner |
| | | alternativeText="Loading" |
| | | size="medium" |
| | | style="width: 100%; height: 80%; top: 50px" |
| | | /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal__header"> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium"> |
| | | 周报批量导入 |
| | | </h2> |
| | | <ui:button |
| | | aura:id="close_button" |
| | | label="关闭" |
| | | class="close_button slds-button slds-button--neutral slds-order--1" |
| | | press="{!c.close_import}" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium" |
| | | > |
| | | <aura:if isTrue="{!v.showMain}"> |
| | | <div> |
| | | <!-- <input type="file" class="file" aura:id="file" onchange="{!c.CreateRecord}" value="导入" /> --> |
| | | <lightning:input |
| | | type="file" |
| | | class="file" |
| | | uara:id="file" |
| | | onchange="{!c.CreateRecord}" |
| | | /> |
| | | <!-- <ui:button label="Create Accounts" press="{!c.CreateRecord}"/> --> |
| | | </div> |
| | | <aura:set attribute="else"> |
| | | <!-- <ui:outputRichText class="uiOutputRichText slds-m-around-large" value="{!v.TargetFileName}"/> --> |
| | | <ui:outputRichText |
| | | class="uiOutputRichText slds-m--around-large" |
| | | value="{!v.TableContent}" |
| | | /> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button |
| | | label="保存" |
| | | variant="brand" |
| | | onclick="{!c.processFileContent}" |
| | | /> |
| | | <lightning:button |
| | | label="取消" |
| | | variant="brand" |
| | | onclick="{!c.cancel}" |
| | | /> |
| | | </div> |
| | | <!-- start DTT-zhj 增加错误信息table 2023-05-16--> |
| | | <aura:if isTrue="{!v.showErrorInfo}"> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button |
| | | label="导出错误信息" |
| | | variant="brand" |
| | | onclick="{!c.exportErrorInfo}" |
| | | /> |
| | | </div> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <div style="height: 300px; overflow-x: scroll"> |
| | | <lightning:datatable |
| | | keyField="id" |
| | | data="{! v.errorData }" |
| | | columns="{! v.errorColumns }" |
| | | hideCheckboxColumn="true" |
| | | /> |
| | | <span class="slds-truncate" title="Name" style="width: 100px;font-size: 13px;">{!v.fieldsmap.Agency_Contact__c}</span> |
| | | |
| | | </th> |
| | | <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.visitor_title__c}</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.Purpose_Type__c}</span> |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <aura:iteration items="{!v.reports}" var="item" indexVar="index"> |
| | | <tr class="slds-hint-parent"> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <ui:inputRadio class="report_radio" name="report_radio" label="{!item.Name}" change="{!c.change_report_radio}"/> |
| | | <lightning:buttonIcon class="edit_button" iconName="utility:edit" size="small" alternativeText="edit" value="{!index}" onclick="{!c.edit_button}"/> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.Person_In_Charge2__r.Name}"> |
| | | {!item.Person_In_Charge2__r.Name} |
| | | <!-- <span class="decrypt">{!item.Person_In_Charge2__r.awsdata.lastName}</span> --> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <th scope="row" tabindex="0" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | {!item.Agency_Hospital__r.Name} |
| | | </span> |
| | | </th> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.Department_Cateogy__c}">{!item.Department_Cateogy__c}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.doctor2__r.Name}"> |
| | | <span class="encrypt">{!item.doctor2__r.Name}</span> |
| | | <span class="decrypt">{!item.doctor2__r.awsdata.name}</span> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.visitor_title__c}"> |
| | | <span class="encrypt">{!item.visitor_title__c}</span> |
| | | <span class="decrypt">{!item.doctor2__r.awsdata.doctorDivision1}</span> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.Purpose_Type__c}">{!item.Purpose_Type__c}</span> |
| | | </span> |
| | | </td> |
| | | </tr> |
| | | </aura:iteration> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <aura:renderIf isTrue="{!v.report_count > 0}"> |
| | | <aura:set attribute="else"> |
| | | <div class="no_data_area"> |
| | | {!v.list_message} |
| | | </div> |
| | | </div> |
| | | </aura:if> |
| | | <!-- start DTT-zhj 增加错误信息table 2023-05-16--> |
| | | </aura:set> |
| | | </aura:if> |
| | | </div> |
| | | </aura:set> |
| | | </aura:renderIf> |
| | | </div> |
| | | </div> |
| | | <div |
| | | aura:id="modal_importbg" |
| | | class="disp_none slds-backdrop slds-backdrop--open" |
| | | ></div> |
| | | <!-- 批量添加周报 end--> |
| | | |
| | | <!-- 批量导出周报 start--> |
| | | <div |
| | | aura:id="modal_export" |
| | | role="dialog" |
| | | tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium"> |
| | | 周报批量导出 |
| | | </h2> |
| | | <ui:button |
| | | aura:id="close_button" |
| | | label="关闭" |
| | | class="close_button slds-button slds-button--neutral slds-order--1" |
| | | press="{!c.close_export}" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium" |
| | | > |
| | | <aura:if isTrue="{!v.showMain}"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4" |
| | | ></div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4" |
| | | > |
| | | 活动日开始日期 |
| | | <!-- <ui:button aura:id="test_button" label="test" class="fade animation_on" press="{!c.test}"/>--> |
| | | <!-- 批量添加周报 start--> |
| | | <div aura:id="modal_import" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget"> |
| | | <div class="slds-modal__container "> |
| | | <aura:renderIf isTrue="{!v.loginEdit}"> |
| | | <lightning:spinner alternativeText="Loading" size="medium" style="width: 100%; height: 80%;top:50px;" /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal__header "> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium">周报批量导入</h2> |
| | | <ui:button aura:id="close_button" label="关闭" class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_import}"/> |
| | | </div> |
| | | <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium " > |
| | | <aura:if isTrue="{!v.showMain}"> |
| | | <div> |
| | | <!-- <input type="file" class="file" aura:id="file" onchange="{!c.CreateRecord}" value="导入" /> --> |
| | | <lightning:input type="file" class="file" uara:id="file" onchange="{!c.CreateRecord}" /> |
| | | <!-- <ui:button label="Create Accounts" press="{!c.CreateRecord}"/> --> |
| | | </div> |
| | | <aura:set attribute="else"> |
| | | <!-- <ui:outputRichText class="uiOutputRichText slds-m-around-large" value="{!v.TargetFileName}"/> --> |
| | | <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent}"/> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button label="保存" variant="brand" onclick="{!c.processFileContent}" |
| | | /> |
| | | <lightning:button label="取消" variant="brand" |
| | | onclick="{!c.cancel}" /> |
| | | </div> |
| | | <!-- start DTT-zhj 增加错误信息table 2023-05-16--> |
| | | <aura:if isTrue="{!v.showErrorInfo}"> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button label="导出错误信息" variant="brand" onclick="{!c.exportErrorInfo}" /> |
| | | </div> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <div style="height: 300px;overflow-x:scroll"> |
| | | <lightning:datatable keyField="id" data="{! v.errorData }" |
| | | columns="{! v.errorColumns }" hideCheckboxColumn="true" /> |
| | | </div> |
| | | </div> |
| | | </aura:if> |
| | | <!-- start DTT-zhj 增加错误信息table 2023-05-16--> |
| | | </aura:set> |
| | | </aura:if> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div aura:id="modal_importbg" class="disp_none slds-backdrop slds-backdrop--open"></div> |
| | | <!-- 批量添加周报 end--> |
| | | |
| | | <lightning:input |
| | | type="Date" |
| | | class="slds-input slds-input_bare" |
| | | aura:id="input-report-date1" |
| | | /> |
| | | <!-- 批量导出周报 start--> |
| | | <div aura:id="modal_export" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" > |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium">周报批量导出</h2> |
| | | <ui:button aura:id="close_button" label="关闭" class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_export}"/> |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4" |
| | | > |
| | | 活动日结束日期 |
| | | <lightning:input |
| | | type="Date" |
| | | class="slds-input slds-input_bare" |
| | | aura:id="input-report-date2" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4" |
| | | ></div> |
| | | <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium"> |
| | | <aura:if isTrue="{!v.showMain}"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded" > |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"> |
| | | </div> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"> |
| | | 活动日开始日期 |
| | | |
| | | <lightning:input type="Date" class="slds-input slds-input_bare " aura:id="input-report-date1" /> |
| | | </div> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"> |
| | | 活动日结束日期 |
| | | <lightning:input type="Date" class="slds-input slds-input_bare " aura:id="input-report-date2" /> |
| | | </div> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"> |
| | | </div> |
| | | |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button |
| | | label="确认" |
| | | variant="brand" |
| | | onclick="{!c.select_repores_date}" |
| | | /> |
| | | <lightning:button |
| | | label="取消" |
| | | variant="brand" |
| | | onclick="{!c.close_export}" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <!-- <div> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button label="确认" variant="brand" onclick="{!c.select_repores_date}" |
| | | /> |
| | | <lightning:button label="取消" variant="brand" |
| | | onclick="{!c.close_export}" /> |
| | | </div> |
| | | </div> |
| | | <!-- <div> |
| | | 请输入要导出日报的报活动日的开始和结束日期 |
| | | <force:inputField aura:id="input-report-date1"/>到 |
| | | <force:inputField aura:id="input-report-date2"/> |
| | |
| | | <lightning:button label="取消" variant="brand" |
| | | onclick="{!c.close_export}" /> |
| | | </div> --> |
| | | <aura:set attribute="else"> |
| | | <ui:outputRichText |
| | | class="uiOutputRichText slds-m--around-large" |
| | | value="{!v.TableContent2}" |
| | | /> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button |
| | | label="确认" |
| | | variant="brand" |
| | | onclick="{!c.exportDate}" |
| | | /> |
| | | <lightning:button |
| | | label="取消" |
| | | variant="brand" |
| | | onclick="{!c.close_export}" |
| | | /> |
| | | </div> |
| | | </aura:set> |
| | | </aura:if> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | aura:id="modal_exportbg" |
| | | class="disp_none slds-backdrop slds-backdrop--open" |
| | | ></div> |
| | | <!-- 批量导出周报 end--> |
| | | |
| | | <div |
| | | aura:id="modal_window" |
| | | role="dialog" |
| | | tabindex="-1" |
| | | class="disp_none slds-modal slds-fade-in-open slds-modal--large" |
| | | aria-labelledby="headerTarget" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <aura:renderIf isTrue="{!v.loginEdit}"> |
| | | <lightning:spinner |
| | | alternativeText="Loading" |
| | | size="medium" |
| | | style="width: 100%; height: 80%; top: 50px" |
| | | /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal__header"> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium"> |
| | | 周报({!v.selected_date} {!v.selected_agency_person}) |
| | | </h2> |
| | | <ui:button |
| | | aura:id="close_button" |
| | | label="关闭" |
| | | class="close_button slds-button slds-button--neutral slds-order--1" |
| | | press="{!c.toggle_report}" |
| | | /> |
| | | </div> |
| | | <div class="slds-modal__content slds-grow slds-p-around--medium"> |
| | | <div class="slds-box slds-theme--shade"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded"> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop" |
| | | > |
| | | 活动日 |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <!-- <force:inputField value="{!v.data.Report_Date__c}" aura:id="input-report-date"/> --> |
| | | <lightning:input |
| | | type="date" |
| | | value="{!v.data.Report_Date__c}" |
| | | aura:id="input-report-date" |
| | | variant="label-hidden" |
| | | /> |
| | | </div> |
| | | <!-- 医院 --> |
| | | <div |
| | | aura:id="hospital_list" |
| | | class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5 marginTop" |
| | | data-select="single" |
| | | > |
| | | <!-- <ui:inputText aura:id="hospital_input_text" label="医院" class="field" value="{!v.hospital}" updateOn="keyup"/> --> |
| | | 医院 |
| | | <lightning:input |
| | | aura:id="hospital_input_text" |
| | | class="field" |
| | | value="{!v.hospital}" |
| | | variant="label-hidden" |
| | | updateOn="keyup" |
| | | /> |
| | | <div class="slds-lookup__menu" id="lookup-66"> |
| | | <ul class="slds-lookup__list" role="listbox"> |
| | | <aura:iteration var="hospital" items="{!v.hospitalList}"> |
| | | <li |
| | | role="presentation" |
| | | onclick="{!c.selectHos}" |
| | | data-accName="{!hospital.Hospital_Name_readonly__c}" |
| | | data-accId="{!hospital.Hospital__c}" |
| | | > |
| | | <span |
| | | class="slds-lookup__item-action slds-media" |
| | | id="lookup-option-498" |
| | | role="option" |
| | | > |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text"> |
| | | {!hospital.Hospital_Name_readonly__c} |
| | | </div> |
| | | <aura:set attribute="else"> |
| | | <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent2}"/> |
| | | <div class="slds-p-around--large slds-align--absolute-center"> |
| | | <lightning:button label="确认" variant="brand" onclick="{!c.exportDate}" |
| | | /> |
| | | <lightning:button label="取消" variant="brand" |
| | | onclick="{!c.close_export}" /> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | |
| | | </aura:set> |
| | | </aura:if> |
| | | </div> |
| | | |
| | | <!-- 科室分类 --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop" |
| | | > |
| | | {!v.fieldsmap.Department_Cateogy__c} |
| | | <ui:inputSelect |
| | | aura:id="select_department" |
| | | class="slds-select" |
| | | change="{!c.select_department}" |
| | | /> |
| | | </div> |
| | | |
| | | <!-- 先生 --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop" |
| | | > |
| | | {!v.fieldsmap.doctor2__c} |
| | | <ui:inputSelect |
| | | aura:id="select_doctor" |
| | | class="slds-select" |
| | | change="{!c.doctor_change}" |
| | | /> |
| | | </div> |
| | | |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-12 marginTop" |
| | | > |
| | | <br /> |
| | | <ui:button |
| | | label="新建" |
| | | class="slds-button" |
| | | press="{!c.createCon}" |
| | | disabled="true" |
| | | aura:id="new_con" |
| | | /> |
| | | </div> |
| | | |
| | | <!-- 职位 --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop" |
| | | > |
| | | {!v.fieldsmap.visitor_title__c} |
| | | <div>{!v.doctor_title}</div> |
| | | </div> |
| | | <!-- 活动区分 --> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop" |
| | | > |
| | | {!v.fieldsmap.Purpose_Type__c} |
| | | <ui:inputSelect |
| | | aura:id="select_purpose_type" |
| | | class="slds-select" |
| | | change="{!c.select_purpose_type}" |
| | | /> |
| | | </div> |
| | | <!-- 询价 --> |
| | | <div |
| | | aura:id="input-opportunity-opp" |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--4-of-12 slds-large-size--4-of-12 marginTop" |
| | | > |
| | | {!v.fieldsmap.Opportunity__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <!-- <force:inputField value="{!v.data.Opportunity__c}" aura:id="input-opportunity"/> --> |
| | | <c:strike_lookup |
| | | label="" |
| | | object="Agency_Opportunity__c" |
| | | searchField="Name" |
| | | placeholder="搜索经销商询价..." |
| | | iconName="standard:opportunity" |
| | | subtitleField="Department_Cateogy__c,Agency_Opportunity_No__c,Change_To_Opportunity__r.Name" |
| | | order="StageName__c" |
| | | limit="5" |
| | | loadingMessage="Loading..." |
| | | errorMessage="Invalid input" |
| | | allowNewRecords="true" |
| | | overrideNewEvent="true" |
| | | showRecentRecords="true" |
| | | value="{!v.data.Opportunity__c}" |
| | | filter="{!v.opportunity_cfilter}" |
| | | subTitleFormat="{0}+{1}+{2}" |
| | | /> |
| | | </div> |
| | | <div |
| | | aura:id="input-opportunity-blank" |
| | | class="lds-p-horizontal--small slds-size--1-of-1 slds-medium-size--8-of-12 slds-large-size--8-of-12 marginTop" |
| | | ></div> |
| | | <div |
| | | aura:id="input-opportunity-stage" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop" |
| | | > |
| | | {!v.fieldsmap.StageName__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <ui:inputSelect aura:id="select_stageName" class="slds-select" /> |
| | | <!-- <force:inputField value="{!v.oppdata.StageName__c}" aura:id="input-oppstage" /> --> |
| | | </div> |
| | | <div |
| | | aura:id="input-opportunity-amount1" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop" |
| | | > |
| | | {!v.fieldsmap.Amount__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <force:inputField value="{!v.oppdata.Amount__c}" class="" /> |
| | | </div> |
| | | <div |
| | | aura:id="input-opportunity-amount2" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop" |
| | | > |
| | | {!v.fieldsmap.OCMSale_Price__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <force:inputField |
| | | value="{!v.oppdata.OCMSale_Price__c}" |
| | | class="" |
| | | /> |
| | | </div> |
| | | <div |
| | | aura:id="input-opportunity-date" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop" |
| | | > |
| | | {!v.fieldsmap.Close_Forecasted_Date__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <force:inputField |
| | | value="{!v.oppdata.Close_Forecasted_Date__c}" |
| | | class="" |
| | | /> |
| | | </div> |
| | | <!-- 製品分類 --> |
| | | <div |
| | | aura:id="product_category_select1" |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop" |
| | | > |
| | | {!v.fieldsmap.Product_Category1__c} |
| | | <!-- <force:inputField value="{!v.data.Product_Category1__c}" aura:id="input-product-category1"/> --> |
| | | <ui:inputSelect |
| | | aura:id="select_Product1" |
| | | class="slds-select" |
| | | change="{!c.productcategoryChange1}" |
| | | /> |
| | | </div> |
| | | <div |
| | | aura:id="product_category_select2" |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop" |
| | | > |
| | | {!v.fieldsmap.Product_Category2__c} |
| | | <!-- <force:inputField value="{!v.data.Product_Category2__c}" aura:id="input-product-category2"/> --> |
| | | <ui:inputSelect |
| | | aura:id="select_Product2" |
| | | class="slds-select" |
| | | change="{!c.productcategoryChange2}" |
| | | /> |
| | | </div> |
| | | <div |
| | | aura:id="product_category_select3" |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop" |
| | | > |
| | | {!v.fieldsmap.Product_Category3__c} |
| | | <!-- <force:inputField value="{!v.data.Product_Category3__c}" aura:id="input-product-category3"/> --> |
| | | <ui:inputSelect |
| | | aura:id="select_Product3" |
| | | class="slds-select" |
| | | change="{!c.productcategoryChange3}" |
| | | /> |
| | | </div> |
| | | <!--SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start--> |
| | | <!-- 支援需求 change="{!c.SupportNeeds__c}"--> |
| | | <div |
| | | class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop" |
| | | > |
| | | {!v.fieldsmap.SupportNeeds__c} |
| | | <ui:inputSelect aura:id="SupportNeeds__c" class="slds-select" /> |
| | | </div> |
| | | <!--SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 end--> |
| | | <div |
| | | aura:id="result" |
| | | class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop" |
| | | > |
| | | {!v.fieldsmap.Result__c} |
| | | <ui:inputSelect aura:id="select_result" class="slds-select" /> |
| | | <!-- <ui:inputText label="结果" class="bcolor" value="{!v.result}"/> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="save_button_area"> |
| | | <ui:button |
| | | aura:id="save_button" |
| | | label="保存并新建" |
| | | class="save_button slds-button slds-button--brand slds-order--3" |
| | | press="{!c.save_report}" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div aura:id="modal_exportbg" class="disp_none slds-backdrop slds-backdrop--open"></div> |
| | | <!-- 批量导出周报 end--> |
| | | |
| | | <aura:renderIf isTrue="{!v.reports_now_count > 0}"> |
| | | <div class="mt40 slds-box slds-theme--shade"> |
| | | <div class="slds-table--edit_container slds-is-relative"> |
| | | <table |
| | | class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" |
| | | role="grid" |
| | | > |
| | | <thead> |
| | | <tr class="slds-line-height--reset"> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name"></span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">医院</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.Department_Cateogy__c}</span |
| | | > |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.doctor2__c}</span |
| | | > |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.visitor_title__c}</span |
| | | > |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name" |
| | | >{!v.fieldsmap.Purpose_Type__c}</span |
| | | > |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <aura:iteration |
| | | items="{!v.reports_now}" |
| | | var="item" |
| | | indexVar="index" |
| | | > |
| | | <tr aura:id="modal_data_list_tr" class="slds-hint-parent"> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Department_Cateogy__c}" |
| | | >{!item.Name}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Agency_Hospital__r.Name}" |
| | | >{!item.Agency_Hospital__r.Name}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Department_Cateogy__c}" |
| | | >{!item.Department_Cateogy__c}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.doctor2__r.Name}" |
| | | > |
| | | <span class="encrypt">{!item.doctor2__r.Name}</span> |
| | | <span class="decrypt" |
| | | >{!item.doctor2NameOrigin}</span |
| | | > |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.visitor_title__c}" |
| | | > |
| | | <span class="encrypt" |
| | | >{!item.visitor_title__c}</span |
| | | > |
| | | <span class="decrypt" |
| | | >{!item.visitorTitleOrigin}</span |
| | | > |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span |
| | | class="slds-truncate" |
| | | title="{!item.Purpose_Type__c}" |
| | | >{!item.Purpose_Type__c}</span |
| | | > |
| | | </span> |
| | | </td> |
| | | </tr> |
| | | </aura:iteration> |
| | | </tbody> |
| | | </table> |
| | | <div aura:id="modal_window" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget"> |
| | | <div class="slds-modal__container" > |
| | | <aura:renderIf isTrue="{!v.loginEdit}"> |
| | | <lightning:spinner alternativeText="Loading" size="medium" style="width: 100%; height: 80%;top:50px;" /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal__header"> |
| | | <h4 id="headerTarget" class="slds-float--left"></h4> |
| | | <h2 id="headerTarget" class="slds-text-heading--medium">周报({!v.selected_date} {!v.selected_agency_person})</h2> |
| | | <ui:button aura:id="close_button" label="关闭" class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.toggle_report}"/> |
| | | </div> |
| | | </div> |
| | | </aura:renderIf> |
| | | </div> |
| | | <div class="slds-modal__content slds-grow slds-p-around--medium"> |
| | | <div class="slds-box slds-theme--shade"> |
| | | <div class="slds-grid slds-wrap slds-grid--pull-padded" > |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop" > |
| | | 活动日 |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <!-- <force:inputField value="{!v.data.Report_Date__c}" aura:id="input-report-date"/> --> |
| | | <lightning:input type="date" value="{!v.data.Report_Date__c}" aura:id="input-report-date" |
| | | variant="label-hidden" /> |
| | | </div> |
| | | <!-- 医院 --> |
| | | <div aura:id="hospital_list" class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5 marginTop" data-select="single"> |
| | | <!-- <ui:inputText aura:id="hospital_input_text" label="医院" class="field" value="{!v.hospital}" updateOn="keyup"/> --> |
| | | 医院 |
| | | <lightning:input aura:id="hospital_input_text" class="field" value="{!v.hospital}" variant="label-hidden" updateOn="keyup"/> |
| | | <div class="slds-lookup__menu" id="lookup-66"> |
| | | <ul class="slds-lookup__list" role="listbox"> |
| | | <aura:iteration var="hospital" items="{!v.hospitalList}"> |
| | | <li role="presentation" onclick="{!c.selectHos}" data-accName="{!hospital.Hospital_Name_readonly__c}" data-accId="{!hospital.Hospital__c}"> |
| | | <span class="slds-lookup__item-action slds-media" id="lookup-option-498" role="option"> |
| | | <div class="slds-media__body"> |
| | | <div class="slds-lookup__result-text">{!hospital.Hospital_Name_readonly__c}</div> |
| | | </div> |
| | | </span> |
| | | </li> |
| | | </aura:iteration> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 科室分类 --> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop"> |
| | | {!v.fieldsmap.Department_Cateogy__c} |
| | | <ui:inputSelect aura:id="select_department" class="slds-select" change="{!c.select_department}"/> |
| | | </div> |
| | | |
| | | <!-- 先生 --> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop"> |
| | | {!v.fieldsmap.doctor2__c} |
| | | <ui:inputSelect aura:id="select_doctor" class="slds-select" change="{!c.doctor_change}"/> |
| | | </div> |
| | | |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-12 marginTop"> |
| | | <br/> |
| | | <ui:button label="新建" class="slds-button" press="{!c.createCon}" disabled="true" aura:id="new_con"/> |
| | | </div> |
| | | |
| | | <!-- 职位 --> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop"> |
| | | {!v.fieldsmap.visitor_title__c} |
| | | <div>{!v.doctor_title}</div> |
| | | </div> |
| | | <!-- 活动区分 --> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop"> |
| | | {!v.fieldsmap.Purpose_Type__c} |
| | | <ui:inputSelect aura:id="select_purpose_type" class="slds-select" change="{!c.select_purpose_type}"/> |
| | | </div> |
| | | <!-- 询价 --> |
| | | <div aura:id="input-opportunity-opp" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--4-of-12 slds-large-size--4-of-12 marginTop"> |
| | | {!v.fieldsmap.Opportunity__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <!-- <force:inputField value="{!v.data.Opportunity__c}" aura:id="input-opportunity"/> --> |
| | | <c:strike_lookup label="" |
| | | object="Agency_Opportunity__c" |
| | | searchField="Name" |
| | | placeholder="搜索经销商询价..." |
| | | iconName="standard:opportunity" |
| | | subtitleField="Department_Cateogy__c,Agency_Opportunity_No__c,Change_To_Opportunity__r.Name" |
| | | order="StageName__c" |
| | | limit="5" |
| | | loadingMessage="Loading..." |
| | | errorMessage="Invalid input" |
| | | allowNewRecords = "true" |
| | | overrideNewEvent = "true" |
| | | showRecentRecords ="true" |
| | | value="{!v.data.Opportunity__c}" |
| | | filter="{!v.opportunity_cfilter}" |
| | | subTitleFormat="{0}+{1}+{2}"/> |
| | | </div> |
| | | <div aura:id="input-opportunity-blank" class="lds-p-horizontal--small slds-size--1-of-1 slds-medium-size--8-of-12 slds-large-size--8-of-12 marginTop"> |
| | | </div> |
| | | <div aura:id="input-opportunity-stage" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop"> |
| | | {!v.fieldsmap.StageName__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <ui:inputSelect aura:id="select_stageName" class="slds-select"/> |
| | | <!-- <force:inputField value="{!v.oppdata.StageName__c}" aura:id="input-oppstage" /> --> |
| | | </div> |
| | | <div aura:id="input-opportunity-amount1" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop"> |
| | | {!v.fieldsmap.Amount__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <force:inputField value="{!v.oppdata.Amount__c}" class=""/> |
| | | </div> |
| | | <div aura:id="input-opportunity-amount2" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop"> |
| | | {!v.fieldsmap.OCMSale_Price__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <force:inputField value="{!v.oppdata.OCMSale_Price__c}" class=""/> |
| | | </div> |
| | | <div aura:id="input-opportunity-date" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop"> |
| | | {!v.fieldsmap.Close_Forecasted_Date__c} |
| | | <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> --> |
| | | <force:inputField value="{!v.oppdata.Close_Forecasted_Date__c}" class=""/> |
| | | </div> |
| | | <!-- 製品分類 --> |
| | | <div aura:id="product_category_select1" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop"> |
| | | {!v.fieldsmap.Product_Category1__c} |
| | | <!-- <force:inputField value="{!v.data.Product_Category1__c}" aura:id="input-product-category1"/> --> |
| | | <ui:inputSelect aura:id="select_Product1" class="slds-select" change="{!c.productcategoryChange1}"/> |
| | | </div> |
| | | <div aura:id="product_category_select2" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop"> |
| | | {!v.fieldsmap.Product_Category2__c} |
| | | <!-- <force:inputField value="{!v.data.Product_Category2__c}" aura:id="input-product-category2"/> --> |
| | | <ui:inputSelect aura:id="select_Product2" class="slds-select" change="{!c.productcategoryChange2}"/> |
| | | </div> |
| | | <div aura:id="product_category_select3" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop"> |
| | | {!v.fieldsmap.Product_Category3__c} |
| | | <!-- <force:inputField value="{!v.data.Product_Category3__c}" aura:id="input-product-category3"/> --> |
| | | <ui:inputSelect aura:id="select_Product3" class="slds-select" change="{!c.productcategoryChange3}"/> |
| | | </div> |
| | | <!--SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start--> |
| | | <!-- 支援需求 change="{!c.SupportNeeds__c}"--> |
| | | <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop"> |
| | | {!v.fieldsmap.SupportNeeds__c} |
| | | <ui:inputSelect aura:id="SupportNeeds__c" class="slds-select" /> |
| | | </div> |
| | | <!--SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 end--> |
| | | <div aura:id="result" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop"> |
| | | {!v.fieldsmap.Result__c} |
| | | <ui:inputSelect aura:id="select_result" class="slds-select"/> |
| | | <!-- <ui:inputText label="结果" class="bcolor" value="{!v.result}"/> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="save_button_area"> |
| | | <ui:button aura:id="save_button" label="保存并新建" class="save_button slds-button slds-button--brand slds-order--3" press="{!c.save_report}"/> |
| | | </div> |
| | | |
| | | <aura:renderIf isTrue="{!v.reports_now_count > 0}"> |
| | | <div class="mt40 slds-box slds-theme--shade"> |
| | | <div class="slds-table--edit_container slds-is-relative"> |
| | | <table class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" role="grid"> |
| | | <thead> |
| | | <tr class="slds-line-height--reset"> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name"></span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">医院</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.Department_Cateogy__c}</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.doctor2__c}</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.visitor_title__c}</span> |
| | | </th> |
| | | <th class="table_header slds-text-title--caps"> |
| | | <span class="slds-truncate" title="Name">{!v.fieldsmap.Purpose_Type__c}</span> |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <aura:iteration items="{!v.reports_now}" var="item" indexVar="index"> |
| | | <tr aura:id="modal_data_list_tr" class="slds-hint-parent"> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.Department_Cateogy__c}">{!item.Name}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.Agency_Hospital__r.Name}">{!item.Agency_Hospital__r.Name}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.Department_Cateogy__c}">{!item.Department_Cateogy__c}</span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.doctor2__r.Name}"> |
| | | <span class="encrypt">{!item.doctor2__r.Name}</span> |
| | | <span class="decrypt">{!item.doctor2NameOrigin}</span> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.visitor_title__c}"> |
| | | <span class="encrypt">{!item.visitor_title__c}</span> |
| | | <span class="decrypt">{!item.visitorTitleOrigin}</span> |
| | | </span> |
| | | </span> |
| | | </td> |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.Purpose_Type__c}">{!item.Purpose_Type__c}</span> |
| | | </span> |
| | | </td> |
| | | </tr> |
| | | </aura:iteration> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </aura:renderIf> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | aura:id="modal_bg" |
| | | class="disp_none slds-backdrop slds-backdrop--open" |
| | | ></div> |
| | | |
| | | <div |
| | | aura:id="modal_confirm" |
| | | role="dialog" |
| | | tabindex="-2" |
| | | aria-labelledby="header43" |
| | | class="disp_none slds-modal slds-fade-in-open" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="header43" class="slds-text-heading--medium"> |
| | | {!v.modal_confirm_title} |
| | | </h2> |
| | | </div> |
| | | <div class="slds-modal__content slds-p-around--medium"> |
| | | <p>{!v.modal_confirm_text}</p> |
| | | </div> |
| | | <div class="slds-modal__footer"> |
| | | <ui:button |
| | | label="是" |
| | | class="slds-button slds-button--brand" |
| | | press="{!c.yes_button}" |
| | | /> |
| | | <ui:button |
| | | label="否" |
| | | class="slds-button slds-button--neutral" |
| | | press="{!c.no_button}" |
| | | /> |
| | | </div> |
| | | <div aura:id="modal_bg" class="disp_none slds-backdrop slds-backdrop--open"></div> |
| | | |
| | | <div aura:id="modal_confirm" role="dialog" tabindex="-2" aria-labelledby="header43" class="disp_none slds-modal slds-fade-in-open"> |
| | | <div class="slds-modal__container"> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="header43" class="slds-text-heading--medium">{!v.modal_confirm_title}</h2> |
| | | </div> |
| | | <div class="slds-modal__content slds-p-around--medium"> |
| | | <p>{!v.modal_confirm_text}</p> |
| | | </div> |
| | | <div class="slds-modal__footer"> |
| | | <ui:button label="是" class="slds-button slds-button--brand" press="{!c.yes_button}"/> |
| | | <ui:button label="否" class="slds-button slds-button--neutral" press="{!c.no_button}" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | aura:id="modal_confirm_bg" |
| | | class="disp_none slds-backdrop slds-backdrop--open" |
| | | ></div> |
| | | <div aura:id="modal_confirm_bg" class="disp_none slds-backdrop slds-backdrop--open"></div> |
| | | |
| | | <div |
| | | aura:id="modal_newAC" |
| | | role="dialog" |
| | | tabindex="-3" |
| | | aria-labelledby="headertest" |
| | | class="disp_none slds-modal slds-fade-in-open" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <aura:renderIf isTrue="{!v.loginEdit}"> |
| | | <lightning:spinner |
| | | alternativeText="Loading" |
| | | size="medium" |
| | | style="width: 100%; height: 80%; top: 50px" |
| | | /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="headertest" class="slds-text-heading--medium">新建.客户人员</h2> |
| | | </div> |
| | | <div class="slds-modal__content slds-p-around--medium"> |
| | | <lightning:recordEditForm |
| | | aura:id="recordEditForm" |
| | | objectApiName="Agency_Contact__c" |
| | | onsuccess="{!c.handleSuccess}" |
| | | onload="{!c.showRequiredFields}" |
| | | onsubmit="{!c.handleSubmit}" |
| | | > |
| | | <lightning:messages aura:id="OppMessage" /> |
| | | <!-- onload="{!c.showRequiredFields}" --> |
| | | <aura:renderIf isTrue="{!v.truthy}"> |
| | | <lightning:inputField |
| | | fieldName="Name" |
| | | aura:id="newOpportunityField" |
| | | /> |
| | | <lightning:inputField |
| | | fieldName="Type__c" |
| | | aura:id="newOpportunityField" |
| | | /> |
| | | <lightning:inputField |
| | | fieldName="Doctor_Division1__c" |
| | | aura:id="newOpportunityField" |
| | | /> |
| | | <!-- <lightning:inputField class="customRequired none" aura:id="Input_type__c" fieldName="Type__c"/> |
| | | <div aura:id="modal_newAC" role="dialog" tabindex="-3" aria-labelledby="headertest" class="disp_none slds-modal slds-fade-in-open"> |
| | | <div class="slds-modal__container"> |
| | | <aura:renderIf isTrue="{!v.loginEdit}"> |
| | | <lightning:spinner alternativeText="Loading" size="medium" style="width: 100%; height: 80%;top:50px;" /> |
| | | </aura:renderIf> |
| | | <div class="slds-modal__header"> |
| | | <h2 id="headertest" class="slds-text-heading--medium">新建.客户人员</h2> |
| | | </div> |
| | | <div class="slds-modal__content slds-p-around--medium"> |
| | | <lightning:recordEditForm aura:id="recordEditForm" objectApiName="Agency_Contact__c" onsuccess="{!c.handleSuccess}" onload="{!c.showRequiredFields}" onsubmit="{!c.handleSubmit}"> |
| | | <lightning:messages aura:id="OppMessage" /> |
| | | <!-- onload="{!c.showRequiredFields}" --> |
| | | <aura:renderIf isTrue="{!v.truthy}"> |
| | | <lightning:inputField fieldName="Name" aura:id="newOpportunityField" /> |
| | | <lightning:inputField fieldName="Type__c" aura:id="newOpportunityField" /> |
| | | <lightning:inputField fieldName="Doctor_Division1__c" aura:id="newOpportunityField" /> |
| | | <!-- <lightning:inputField class="customRequired none" aura:id="Input_type__c" fieldName="Type__c"/> |
| | | <lightning:inputField class="customRequired none" aura:id="Input_Doctor_Division1__c" fieldName="Doctor_Division1__c"/> --> |
| | | </aura:renderIf> |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <div class="save_button_area"> |
| | | <lightning:button |
| | | class="slds-m-top_small" |
| | | type="button" |
| | | label="取消" |
| | | onclick="{!c.createCancel}" |
| | | /> |
| | | <lightning:button |
| | | class="slds-m-top_small" |
| | | type="submit" |
| | | label="保存" |
| | | /> |
| | | </div> |
| | | </lightning:recordEditForm> |
| | | </div> |
| | | </aura:renderIf> |
| | | <br/> |
| | | <br/> |
| | | <br/> |
| | | <br/> |
| | | <br/> |
| | | <div class="save_button_area"> |
| | | <lightning:button class="slds-m-top_small" type="button" label="取消" onclick="{!c.createCancel}"/> |
| | | <lightning:button class="slds-m-top_small" type="submit" label="保存" /> |
| | | </div> |
| | | |
| | | |
| | | </lightning:recordEditForm> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </aura:component> |
| | | |
| | | |
| | | </aura:component> |
| | |
| | | .THIS .bcolor { |
| | | color: #333; |
| | | color: #333; |
| | | } |
| | | .THIS.height100vh { |
| | | height: 100vh; |
| | | height: 100vh; |
| | | } |
| | | /* .THIS.contents_wrapper { |
| | | padding-top: 50px; |
| | | width: 105%; |
| | | } */ |
| | | .THIS .mt5 { |
| | | margin-top: 5px; |
| | | margin-top: 5px; |
| | | } |
| | | .THIS .mt40 { |
| | | margin-top: 40px; |
| | | margin-top: 40px; |
| | | } |
| | | .THIS .edit_button { |
| | | float: right; |
| | | margin: -1.5em 0.5em 0 0; |
| | | border: 0; |
| | | float: right; |
| | | margin: -1.5em 0.5em 0 0; |
| | | border: 0; |
| | | } |
| | | .THIS .no_data_area { |
| | | text-align: center; |
| | | margin: 0.5em 0; |
| | | text-align: center; |
| | | margin: .5em 0; |
| | | } |
| | | .THIS.report_list_area { |
| | | margin: 40px 0 20px 0px; |
| | | height: 60vh; |
| | | overflow-y: scroll; |
| | | margin: 40px 0 20px 0px; |
| | | height: 60vh; |
| | | overflow-y: scroll; |
| | | } |
| | | .THIS .report_radio { |
| | | float: left; |
| | | float: left; |
| | | } |
| | | .THIS .table_header { |
| | | width: 9.4rem; |
| | | height: 2em; |
| | | width: 9.4rem; |
| | | height: 2em; |
| | | } |
| | | .THIS.disp_none { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | .THIS .disp_none { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | .THIS .tr { |
| | | text-align: right; |
| | | text-align: right; |
| | | } |
| | | .THIS .close_button { |
| | | float: right; |
| | | margin-top: -2em; |
| | | float: right; |
| | | margin-top: -2em; |
| | | } |
| | | .THIS .close_icn svg { |
| | | fill: #fefefe; |
| | | fill: #fefefe; |
| | | } |
| | | .THIS .slds-progress__marker { |
| | | cursor: default; |
| | | cursor: default; |
| | | } |
| | | .THIS .progress_0 { |
| | | width: 0%; |
| | | width: 0%; |
| | | } |
| | | .THIS .progress_100 { |
| | | width: 100%; |
| | | width: 100%; |
| | | } |
| | | .THIS .new_btn_area { |
| | | text-align: center; |
| | | margin-top: 22px; |
| | | text-align: center; |
| | | margin-top: 22px; |
| | | } |
| | | .THIS .new_btn { |
| | | width: 100%; |
| | | width: 100%; |
| | | } |
| | | .THIS .save_button_area { |
| | | margin: 1em 0; |
| | | text-align: right; |
| | | margin: 1em 0; |
| | | text-align: right; |
| | | } |
| | | .THIS .save_button { |
| | | background-color: #ffa500; |
| | | border: 1px solid #ff8c00; |
| | | background-color: #ffa500; |
| | | border: 1px solid #ff8c00; |
| | | } |
| | | .THIS .report_data_header { |
| | | border-bottom: 2px solid #ccc; |
| | | border-bottom: 2px solid #ccc; |
| | | } |
| | | .THIS .report_data_area { |
| | | border-bottom: 1px solid #ccc; |
| | | border-bottom: 1px solid #ccc; |
| | | } |
| | | .THIS.fade { |
| | | transition: 5s opacity linear; |
| | | transition: 5s opacity linear; |
| | | } |
| | | .THIS.animation_off { |
| | | opacity: 0; |
| | | opacity: 0; |
| | | } |
| | | .THIS.animation_on { |
| | | opacity: 1; |
| | | opacity: 1; |
| | | } |
| | | .THIS .fade { |
| | | transition: 5s opacity linear; |
| | | transition: 5s opacity linear; |
| | | } |
| | | .THIS .animation_off { |
| | | opacity: 0; |
| | | opacity: 0; |
| | | } |
| | | .THIS .animation_on { |
| | | opacity: 1; |
| | | opacity: 1; |
| | | } |
| | | .THIS .divbotuser { |
| | | width: fit-content; |
| | | .THIS .divbotuser{ |
| | | width:fit-content; |
| | | } |
| | | |
| | | .THIS .toastMessage.forceActionsText { |
| | | white-space: pre-line !important; |
| | | .THIS .toastMessage.forceActionsText{ |
| | | white-space : pre-line !important; |
| | | } |
| | | |
| | | .THIS .slds-file-selector__dropzone .slds-file-selector__text { |
| | | display: none; |
| | | .THIS .slds-file-selector__dropzone .slds-file-selector__text{ |
| | | display: none; |
| | | } |
| | | |
| | | .THIS .slds-input:focus, |
| | | .THIS .slds-input:active { |
| | | border-color: rgb(216, 221, 230); |
| | | box-shadow: none; |
| | | .THIS .slds-input:focus, .THIS .slds-input:active { |
| | | border-color: rgb(216, 221, 230); |
| | | box-shadow: none; |
| | | } |
| | | |
| | | .THIS .customRequired { |
| | | font-weight: 400; |
| | | } |
| | | .THIS .customRequired:before { |
| | | content: "*"; |
| | | margin: 0 0.125rem 0 0.125rem; |
| | | color: rgb(194, 57, 52); |
| | | float: left; |
| | | } |
| | | .THIS .none { |
| | | display: none; |
| | | .THIS .customRequired{ |
| | | font-weight: 400; |
| | | } |
| | | .THIS .customRequired:before{ |
| | | content: "*"; |
| | | margin: 0 0.125rem 0 0.125rem; |
| | | color: rgb(194, 57, 52); |
| | | float: left; |
| | | } |
| | | .THIS .none{ |
| | | display:none; |
| | | } |
| | | |
| | | .THIS tr .decrypt { |
| | | display: none; |
| | | .THIS tr .decrypt{ |
| | | display: none; |
| | | } |
| | | |
| | | .THIS tr:hover .decrypt { |
| | | display: unset; |
| | | .THIS tr:hover .decrypt{ |
| | | display: unset; |
| | | } |
| | | |
| | | .THIS tr:hover .encrypt { |
| | | display: none; |
| | | .THIS tr:hover .encrypt{ |
| | | display: none; |
| | | } |
| | | |
| | | /* add by Deloitte-Link 2023-6-19 start*/ |
| | | .THIS .weeklyReportSpinner { |
| | | top: 100px; |
| | | .THIS .weeklyReportSpinner{ |
| | | top:100px; |
| | | } |
| | | |
| | | .THIS .weeklyReportSpinnerEdit { |
| | | top: 50px; |
| | | .THIS .weeklyReportSpinnerEdit{ |
| | | top:50px; |
| | | } |
| | | |
| | | .THIS .slds-spinner_container { |
| | | position: absolute; |
| | | top: 100px; |
| | | .THIS .slds-spinner_container{ |
| | | position: absolute; |
| | | top:100px; |
| | | } |
| | | |
| | | .THIS .slds-spinner_containerEdit { |
| | | position: absolute; |
| | | top: 50px; |
| | | .THIS .slds-spinner_containerEdit{ |
| | | position: absolute; |
| | | top:50px; |
| | | } |
| | | |
| | | .THIS .marginTop { |
| | | margin-top: 10px; |
| | | .THIS .marginTop{ |
| | | margin-top: 10px; |
| | | } |
| | | .THIS .custom-input .uiInput { |
| | | height: 2rem; |
| | | height: 2rem; |
| | | } |
| | | /* add by Deloitte-Link 2023-6-19 end*/ |
| | | /* add by Deloitte-Link 2023-6-19 end*/ |
| | |
| | | ({ |
| | | doInit: function (component, event, helper) { |
| | | console.log("zhj 新方案weeklyReport"); |
| | | if (window.location.href.endsWith("weekly-report")) { |
| | | helper.doinit(component, event, helper); |
| | | } else { |
| | | helper.hideCmp(component, event, helper); |
| | | } |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | doInit : function(component, event, helper) { |
| | | console.log('zhj 新方案weeklyReport'); |
| | | if (window.location.href.endsWith("weekly-report")) { |
| | | helper.doinit(component, event, helper); |
| | | } else { |
| | | helper.hideCmp(component, event, helper); |
| | | } |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | createAopp: function (component, event, helper) { |
| | | var addRecordEvent = $A.get("e.force:createRecord"); |
| | | addRecordEvent.setParams({ |
| | | entityApiName: "Agency_Opportunity__c", |
| | | recordTypeId: "012100000006KW7" |
| | | }); |
| | | addRecordEvent.fire(); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | createAopp : function(component, event, helper) { |
| | | var addRecordEvent = $A.get('e.force:createRecord'); |
| | | addRecordEvent.setParams({ |
| | | entityApiName: 'Agency_Opportunity__c', |
| | | recordTypeId: '012100000006KW7' |
| | | }); |
| | | addRecordEvent.fire(); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | new_report : function(component, event, helper) { |
| | | component.find('save_button').set('v.label', '保存并新建'); |
| | | component.set('v.data.Report_Date__c', ''); |
| | | helper.new_report(component, event, helper); |
| | | }, |
| | | |
| | | copy_button : function(component, event, helper) { |
| | | component.find('save_button').set('v.label', '保存并新建'); |
| | | helper.copy_button(component, event, helper); |
| | | }, |
| | | |
| | | change_report_radio : function(component, event, helper) { |
| | | helper.change_report_radio(component, event, helper); |
| | | }, |
| | | |
| | | edit_button : function(component, event, helper) { |
| | | component.find('save_button').set('v.label', '保存'); |
| | | helper.edit_button(component, event, helper); |
| | | }, |
| | | |
| | | createCon : function(component, event, helper) { |
| | | helper.createCon(component, event, helper); |
| | | }, |
| | | |
| | | new_report: function (component, event, helper) { |
| | | component.find("save_button").set("v.label", "保存并新建"); |
| | | component.set("v.data.Report_Date__c", ""); |
| | | helper.new_report(component, event, helper); |
| | | }, |
| | | |
| | | copy_button: function (component, event, helper) { |
| | | component.find("save_button").set("v.label", "保存并新建"); |
| | | helper.copy_button(component, event, helper); |
| | | }, |
| | | |
| | | change_report_radio: function (component, event, helper) { |
| | | helper.change_report_radio(component, event, helper); |
| | | }, |
| | | |
| | | edit_button: function (component, event, helper) { |
| | | component.find("save_button").set("v.label", "保存"); |
| | | helper.edit_button(component, event, helper); |
| | | }, |
| | | |
| | | createCon: function (component, event, helper) { |
| | | helper.createCon(component, event, helper); |
| | | }, |
| | | |
| | | showRequiredFields: function (component, event, helper) { |
| | | $A.util.removeClass(component.find("newOpportunityField"), "none"); |
| | | $A.util.removeClass(component.find("newOpportunityField"), "none"); |
| | | }, |
| | | |
| | | handleSuccess: function (component, event, helper) { |
| | | helper.handleSuccess(component, event, helper); |
| | | }, |
| | | |
| | | handleSubmit: function (component, event, helper) { |
| | | /* |
| | | showRequiredFields: function(component, event, helper){ |
| | | $A.util.removeClass(component.find("newOpportunityField"), "none"); |
| | | $A.util.removeClass(component.find("newOpportunityField"), "none"); |
| | | }, |
| | | |
| | | handleSuccess : function(component, event, helper) { |
| | | helper.handleSuccess(component, event, helper); |
| | | }, |
| | | |
| | | handleSubmit : function(component, event, helper) { |
| | | /* |
| | | var params = event.getParams(); |
| | | params.fields["Agency_Hospital__c"] = component.get('v.hospitalLinkId'); |
| | | console.log(params); |
| | | event.setParams(params); |
| | | */ |
| | | event.preventDefault(); // stop form submission |
| | | // vivek 添加验证 start |
| | | // helper.handleFormSubmit(component); |
| | | var showValidationError = false; |
| | | var fields = component.find("newOpportunityField"); |
| | | var vaildationFailReason = ""; |
| | | // var vaildationFailReason2 = ''; |
| | | // var currentDate = new Date().toJSON().slice(0,10); |
| | | event.preventDefault(); // stop form submission |
| | | // vivek 添加验证 start |
| | | // helper.handleFormSubmit(component); |
| | | var showValidationError = false; |
| | | var fields = component.find("newOpportunityField"); |
| | | var vaildationFailReason = ''; |
| | | // var vaildationFailReason2 = ''; |
| | | // var currentDate = new Date().toJSON().slice(0,10); |
| | | |
| | | // PIPL update Yin Mingjie 21/02/2022 start |
| | | let agencyReport = Object.create(null); |
| | | // PIPL update Yin Mingjie 21/02/2022 end |
| | | |
| | | // PIPL update Yin Mingjie 21/02/2022 start |
| | | let agencyReport = Object.create(null); |
| | | // PIPL update Yin Mingjie 21/02/2022 end |
| | | |
| | | fields.forEach(function (field) { |
| | | if ( |
| | | field.get("v.fieldName") === "Type__c" && |
| | | $A.util.isEmpty(field.get("v.value")) |
| | | ) { |
| | | showValidationError = true; |
| | | vaildationFailReason = "分类不能为空!"; |
| | | } else if ( |
| | | field.get("v.fieldName") === "Doctor_Division1__c" && |
| | | $A.util.isEmpty(field.get("v.value")) |
| | | ) { |
| | | showValidationError = true; |
| | | if (vaildationFailReason != "") { |
| | | vaildationFailReason += "医生区分(职务)不能为空!"; |
| | | } else { |
| | | vaildationFailReason = "医生区分(职务)不能为空!"; |
| | | } |
| | | } |
| | | // PIPL update Yin Mingjie 21/02/2022 start |
| | | if (field.get("v.fieldName") === "Name") { |
| | | agencyReport["name"] = field.get("v.value"); |
| | | } else if (field.get("v.fieldName") === "Type__c") { |
| | | agencyReport["type"] = field.get("v.value"); |
| | | } else if (field.get("v.fieldName") === "Doctor_Division1__c") { |
| | | agencyReport["doctorDivision1"] = field.get("v.value"); |
| | | } |
| | | // PIPL update Yin Mingjie 21/02/2022 end |
| | | }); |
| | | |
| | | if (!showValidationError) { |
| | | // PIPL update Yin Mingjie 21/02/2022 start |
| | | /* |
| | | fields.forEach(function (field) { |
| | | if(field.get("v.fieldName") === 'Type__c' && $A.util.isEmpty(field.get("v.value"))){ |
| | | showValidationError = true; |
| | | vaildationFailReason = "分类不能为空!"; |
| | | }else if(field.get("v.fieldName") === 'Doctor_Division1__c' && $A.util.isEmpty(field.get("v.value"))){ |
| | | showValidationError = true; |
| | | if(vaildationFailReason != ''){ |
| | | vaildationFailReason += "医生区分(职务)不能为空!"; |
| | | }else{ |
| | | vaildationFailReason = "医生区分(职务)不能为空!"; |
| | | } |
| | | |
| | | } |
| | | // PIPL update Yin Mingjie 21/02/2022 start |
| | | if(field.get("v.fieldName") === 'Name'){ |
| | | agencyReport['name'] = field.get("v.value"); |
| | | }else if(field.get("v.fieldName") === 'Type__c'){ |
| | | agencyReport['type'] = field.get("v.value"); |
| | | }else if(field.get("v.fieldName") === 'Doctor_Division1__c'){ |
| | | agencyReport['doctorDivision1'] = field.get("v.value"); |
| | | } |
| | | // PIPL update Yin Mingjie 21/02/2022 end |
| | | }); |
| | | |
| | | if (!showValidationError) { |
| | | // PIPL update Yin Mingjie 21/02/2022 start |
| | | /* |
| | | var eventFields = event.getParam("fields"); |
| | | eventFields["Agency_Hospital__c"] = component.get('v.hospitalLinkId'); |
| | | component.find('recordEditForm').submit(eventFields); |
| | | */ |
| | | |
| | | var agencyHospitalid = component.get("v.hospitalLinkId"); |
| | | //zhj MEBG新方案改造 2022-11-29 start |
| | | debugger; |
| | | let hospitalName = ""; |
| | | //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid |
| | | helper.CallBackAction( |
| | | component, |
| | | "searchAgencyDataId", |
| | | { |
| | | hospitalId: agencyHospitalid |
| | | }, |
| | | function (data) { |
| | | if (data.getState() == "SUCCESS") { |
| | | var data = data.getReturnValue(); |
| | | if (data.IsSuccess == true) { |
| | | let agencyContactIds = ""; |
| | | if (data.Message == "" && data.Data && data.Data.length > 0) { |
| | | hospitalName = data.Data[0].Agency_Hospital__r.Name; |
| | | for (var i = 0; i < data.Data.length; i++) { |
| | | if (data.Data[i].AWS_Data_Id__c) |
| | | agencyContactIds += "," + data.Data[i].AWS_Data_Id__c; |
| | | var agencyHospitalid = component.get('v.hospitalLinkId'); |
| | | //zhj MEBG新方案改造 2022-11-29 start |
| | | debugger |
| | | let hospitalName = ''; |
| | | //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid |
| | | helper.CallBackAction(component,'searchAgencyDataId',{ |
| | | hospitalId : agencyHospitalid |
| | | },function(data){ |
| | | if(data.getState() == "SUCCESS"){ |
| | | var data = data.getReturnValue(); |
| | | if(data.IsSuccess == true){ |
| | | let agencyContactIds = '' |
| | | if(data.Message == '' && data.Data && data.Data.length > 0){ |
| | | hospitalName = data.Data[0].Agency_Hospital__r.Name; |
| | | for(var i=0;i<data.Data.length;i++){ |
| | | if(data.Data[i].AWS_Data_Id__c) |
| | | agencyContactIds += ','+data.Data[i].AWS_Data_Id__c; |
| | | } |
| | | agencyContactIds = agencyContactIds.substring(1); |
| | | agencyReport['agencyContactIds'] = agencyContactIds; |
| | | }else{ |
| | | agencyReport['agencyContactIds'] = agencyContactIds; |
| | | } |
| | | var arr = new Array(); |
| | | arr.push(agencyReport); |
| | | var requestData = JSON.stringify(arr); |
| | | // helper.set_aws_url(component,data,agencyHospitalid); |
| | | |
| | | var token = component.get('v.AWStoken'); |
| | | var newUrl = component.get('v.AWSinsert') + 'V2'; |
| | | |
| | | component.set('v.loginEdit',true); |
| | | helper.insert_agencycontact(component,token,newUrl,requestData,agencyHospitalid,helper,hospitalName); |
| | | }else{ |
| | | helper.ShowToast({ |
| | | "message" : data.message, |
| | | "type" : "error" |
| | | }); |
| | | } |
| | | }else{ |
| | | helper.ShowToast({ |
| | | "message" : 'searchAgency失败', |
| | | "type" : "error" |
| | | }); |
| | | } |
| | | agencyContactIds = agencyContactIds.substring(1); |
| | | agencyReport["agencyContactIds"] = agencyContactIds; |
| | | } else { |
| | | agencyReport["agencyContactIds"] = agencyContactIds; |
| | | } |
| | | var arr = new Array(); |
| | | arr.push(agencyReport); |
| | | var requestData = JSON.stringify(arr); |
| | | // helper.set_aws_url(component,data,agencyHospitalid); |
| | | }) |
| | | //zhj MEBG新方案改造 2022-11-29 end |
| | | // var arr = new Array(); |
| | | // arr.push(agencyReport); |
| | | // var data = JSON.stringify(arr); |
| | | // // helper.set_aws_url(component,data,agencyHospitalid); |
| | | |
| | | var token = component.get("v.AWStoken"); |
| | | var newUrl = component.get("v.AWSinsert") + "V2"; |
| | | // var token = component.get('v.AWStoken'); |
| | | // var newUrl = component.get('v.AWSinsert'); |
| | | |
| | | // component.set('v.login',true); |
| | | // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper); |
| | | |
| | | component.set("v.loginEdit", true); |
| | | helper.insert_agencycontact( |
| | | component, |
| | | token, |
| | | newUrl, |
| | | requestData, |
| | | agencyHospitalid, |
| | | helper, |
| | | hospitalName |
| | | ); |
| | | } else { |
| | | helper.ShowToast({ |
| | | message: data.message, |
| | | type: "error" |
| | | }); |
| | | } |
| | | } else { |
| | | helper.ShowToast({ |
| | | message: "searchAgency失败", |
| | | type: "error" |
| | | }); |
| | | } |
| | | // PIPL update Yin Mingjie 21/02/2022 end |
| | | }else{ |
| | | component.find('OppMessage').setError(vaildationFailReason); |
| | | } |
| | | ); |
| | | //zhj MEBG新方案改造 2022-11-29 end |
| | | // var arr = new Array(); |
| | | // arr.push(agencyReport); |
| | | // var data = JSON.stringify(arr); |
| | | // // helper.set_aws_url(component,data,agencyHospitalid); |
| | | // var eventFields = event.getParam("fields"); |
| | | // eventFields["Agency_Hospital__c"] = component.get('v.hospitalLinkId'); |
| | | // component.find('recordEditForm').submit(eventFields); |
| | | // vivek 添加验证 end |
| | | }, |
| | | |
| | | createCancel : function(component, event, helper) { |
| | | helper.createCancel(component, event, helper); |
| | | }, |
| | | |
| | | yes_button : function(component, event, helper) { |
| | | component.set('v.confirm_status', 1); |
| | | helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text')); |
| | | }, |
| | | |
| | | // var token = component.get('v.AWStoken'); |
| | | // var newUrl = component.get('v.AWSinsert'); |
| | | no_button : function(component, event, helper) { |
| | | component.set('v.confirm_status', 2); |
| | | helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text')); |
| | | }, |
| | | |
| | | toggle_report : function(component, event, helper) { |
| | | helper.toggle_report(component); |
| | | }, |
| | | |
| | | // component.set('v.login',true); |
| | | // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper); |
| | | save_report : function(component, event, helper) { |
| | | helper.save_report(component, event, helper); |
| | | }, |
| | | |
| | | select_date_change : function(component, event, helper) { |
| | | helper.select_date_change(component, event, helper); |
| | | }, |
| | | |
| | | select_agency_change : function(component, event, helper) { |
| | | helper.select_agency_change(component, event, helper); |
| | | }, |
| | | |
| | | hosChange : function(component, event, helper) { |
| | | var hospital_name = event.getParam("value"); |
| | | if (hospital_name.match(/(\S+\s)+/)) { |
| | | helper.searchHos(component, event, helper); |
| | | } else { |
| | | helper.hideSearch(component, event, helper); |
| | | } |
| | | }, |
| | | |
| | | selectHos : function(component, event, helper) { |
| | | helper.selectHos(component, event, helper); |
| | | helper.setOpportunity_cfilter(component); |
| | | }, |
| | | select_department : function(component, event, helper) { |
| | | helper.select_department(component, event, helper); |
| | | helper.setOpportunity_cfilter(component); |
| | | }, |
| | | select_purpose_type : function(component, event, helper) { |
| | | helper.select_purpose_type(component, event, helper); |
| | | }, |
| | | |
| | | doctor_change : function(component, event, helper) { |
| | | helper.doctor_change(component, event, helper); |
| | | }, |
| | | |
| | | opportunityChange : function(component, event, helper) { |
| | | helper.opportunityChange(component, event, helper); |
| | | }, |
| | | |
| | | productcategoryChange1 : function(component, event, helper) { |
| | | helper.productcategoryChange1(component, event, helper); |
| | | }, |
| | | productcategoryChange2 : function(component, event, helper) { |
| | | helper.productcategoryChange2(component, event, helper); |
| | | }, |
| | | productcategoryChange3 : function(component, event, helper) { |
| | | helper.productcategoryChange3(component, event, helper); |
| | | }, |
| | | stageNameChange : function(component, event, helper) { |
| | | helper.stageNameChange(component, event, helper); |
| | | }, |
| | | onDragOver : function(component, event, helper) { |
| | | event.preventDefault(); |
| | | }, |
| | | |
| | | onDrop : function(component, event, helper) { |
| | | event.stopPropagation(); |
| | | event.preventDefault(); |
| | | event.dataTransfer.dropEffect='copy'; |
| | | var files=event.dataTransfer.files; |
| | | helper.readFile(component,helper,files[0]); |
| | | }, |
| | | CreateRecord : function(component, event, helper){ |
| | | var files = event.getSource().get("v.files"); |
| | | // var fileInput = component.find("file").getElement(); |
| | | // var file = fileInput.files[0]; |
| | | helper.readFile(component,helper,files[0]); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | // PIPL update Yin Mingjie 21/02/2022 end |
| | | } else { |
| | | component.find("OppMessage").setError(vaildationFailReason); |
| | | } |
| | | // var eventFields = event.getParam("fields"); |
| | | // eventFields["Agency_Hospital__c"] = component.get('v.hospitalLinkId'); |
| | | // component.find('recordEditForm').submit(eventFields); |
| | | // vivek 添加验证 end |
| | | }, |
| | | processFileContent : function(component,event,helper){ |
| | | helper.saveRecords(component,event,helper); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | cancel : function(component,event,helper){ |
| | | component.set("v.showMain",true); |
| | | }, |
| | | |
| | | createCancel: function (component, event, helper) { |
| | | helper.createCancel(component, event, helper); |
| | | }, |
| | | import : function(component,event,helper){ |
| | | // component.find('file').click(); |
| | | // console.log('lll'+component.find('file')); |
| | | helper.showImport(component); |
| | | }, |
| | | exportDate : function(component,event,helper){ |
| | | var stockData = component.get("v.reports_date"); |
| | | console.log('导出数据'+stockData); |
| | | var csv = helper.convertArrayOfObjectsToCSV(component,stockData); |
| | | if (csv == null){return;} |
| | | |
| | | yes_button: function (component, event, helper) { |
| | | component.set("v.confirm_status", 1); |
| | | helper.close_confirm( |
| | | component, |
| | | component.get("v.modal_confirm_title"), |
| | | component.get("v.modal_confirm_text") |
| | | ); |
| | | }, |
| | | // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--#### |
| | | var universalBOM = "\uFEFF"; |
| | | var hiddenElement = document.createElement('a'); |
| | | hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(universalBOM+csv); |
| | | hiddenElement.target = '_self'; // |
| | | hiddenElement.download = 'ExportData.csv'; // CSV file Name* you can change it.[only name not .csv] |
| | | document.body.appendChild(hiddenElement); // Required for FireFox browser |
| | | hiddenElement.click(); // using click() js function to download csv file |
| | | // helper.showExport(component); |
| | | |
| | | }, |
| | | |
| | | no_button: function (component, event, helper) { |
| | | component.set("v.confirm_status", 2); |
| | | helper.close_confirm( |
| | | component, |
| | | component.get("v.modal_confirm_title"), |
| | | component.get("v.modal_confirm_text") |
| | | ); |
| | | }, |
| | | export_condition : function(component,event,helper){ |
| | | helper.showExport(component); |
| | | }, |
| | | |
| | | toggle_report: function (component, event, helper) { |
| | | helper.toggle_report(component); |
| | | }, |
| | | |
| | | save_report: function (component, event, helper) { |
| | | helper.save_report(component, event, helper); |
| | | }, |
| | | |
| | | select_date_change: function (component, event, helper) { |
| | | helper.select_date_change(component, event, helper); |
| | | }, |
| | | |
| | | select_agency_change: function (component, event, helper) { |
| | | helper.select_agency_change(component, event, helper); |
| | | }, |
| | | |
| | | hosChange: function (component, event, helper) { |
| | | var hospital_name = event.getParam("value"); |
| | | if (hospital_name.match(/(\S+\s)+/)) { |
| | | helper.searchHos(component, event, helper); |
| | | } else { |
| | | helper.hideSearch(component, event, helper); |
| | | } |
| | | }, |
| | | |
| | | selectHos: function (component, event, helper) { |
| | | helper.selectHos(component, event, helper); |
| | | helper.setOpportunity_cfilter(component); |
| | | }, |
| | | select_department: function (component, event, helper) { |
| | | helper.select_department(component, event, helper); |
| | | helper.setOpportunity_cfilter(component); |
| | | }, |
| | | select_purpose_type: function (component, event, helper) { |
| | | helper.select_purpose_type(component, event, helper); |
| | | }, |
| | | |
| | | doctor_change: function (component, event, helper) { |
| | | helper.doctor_change(component, event, helper); |
| | | }, |
| | | |
| | | opportunityChange: function (component, event, helper) { |
| | | helper.opportunityChange(component, event, helper); |
| | | }, |
| | | |
| | | productcategoryChange1: function (component, event, helper) { |
| | | helper.productcategoryChange1(component, event, helper); |
| | | }, |
| | | productcategoryChange2: function (component, event, helper) { |
| | | helper.productcategoryChange2(component, event, helper); |
| | | }, |
| | | productcategoryChange3: function (component, event, helper) { |
| | | helper.productcategoryChange3(component, event, helper); |
| | | }, |
| | | stageNameChange: function (component, event, helper) { |
| | | helper.stageNameChange(component, event, helper); |
| | | }, |
| | | onDragOver: function (component, event, helper) { |
| | | event.preventDefault(); |
| | | }, |
| | | |
| | | onDrop: function (component, event, helper) { |
| | | event.stopPropagation(); |
| | | event.preventDefault(); |
| | | event.dataTransfer.dropEffect = "copy"; |
| | | var files = event.dataTransfer.files; |
| | | helper.readFile(component, helper, files[0]); |
| | | }, |
| | | CreateRecord: function (component, event, helper) { |
| | | var files = event.getSource().get("v.files"); |
| | | // var fileInput = component.find("file").getElement(); |
| | | // var file = fileInput.files[0]; |
| | | helper.readFile(component, helper, files[0]); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | processFileContent: function (component, event, helper) { |
| | | helper.saveRecords(component, event, helper); |
| | | component.set("v.showErrorInfo", false); |
| | | }, |
| | | |
| | | cancel: function (component, event, helper) { |
| | | component.set("v.showMain", true); |
| | | }, |
| | | |
| | | import: function (component, event, helper) { |
| | | // component.find('file').click(); |
| | | // console.log('lll'+component.find('file')); |
| | | helper.showImport(component); |
| | | }, |
| | | exportDate: function (component, event, helper) { |
| | | var stockData = component.get("v.reports_date"); |
| | | console.log("导出数据" + stockData); |
| | | var csv = helper.convertArrayOfObjectsToCSV(component, stockData); |
| | | if (csv == null) { |
| | | return; |
| | | } |
| | | |
| | | // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--#### |
| | | var universalBOM = "\uFEFF"; |
| | | var hiddenElement = document.createElement("a"); |
| | | hiddenElement.href = |
| | | "data:text/csv;charset=utf-8," + encodeURI(universalBOM + csv); |
| | | hiddenElement.target = "_self"; // |
| | | hiddenElement.download = "ExportData.csv"; // CSV file Name* you can change it.[only name not .csv] |
| | | document.body.appendChild(hiddenElement); // Required for FireFox browser |
| | | hiddenElement.click(); // using click() js function to download csv file |
| | | // helper.showExport(component); |
| | | }, |
| | | |
| | | export_condition: function (component, event, helper) { |
| | | helper.showExport(component); |
| | | }, |
| | | |
| | | select_repores_date: function (component, event, helper) { |
| | | helper.select_repores_date(component, event, helper); |
| | | // var stockData = component.get("v.reports_date"); |
| | | // console.log('查出的数据'+stockData); |
| | | // helper.showExportDate(component,stockData); |
| | | // this.export(component,event,helper); |
| | | }, |
| | | export: function (component, event, helper) { |
| | | console.log("进入export"); |
| | | var stockData = component.get("v.reports_date"); |
| | | console.log("查出的数据" + stockData); |
| | | // helper.showExportDate(component,stockData); |
| | | // helper.showExport(component); |
| | | }, |
| | | close_import: function (component, event, helper) { |
| | | component.set("v.showMain", true); |
| | | helper.close_import(component); |
| | | }, |
| | | close_export: function (component, event, helper) { |
| | | component.set("v.showMain", true); |
| | | helper.close_export(component); |
| | | }, |
| | | exportErrorInfo: function (component, event, helper) { |
| | | helper.exportErrorInfoHelper(component); |
| | | } |
| | | }); |
| | | select_repores_date : function(component,event,helper){ |
| | | helper.select_repores_date(component,event,helper); |
| | | // var stockData = component.get("v.reports_date"); |
| | | // console.log('查出的数据'+stockData); |
| | | // helper.showExportDate(component,stockData); |
| | | // this.export(component,event,helper); |
| | | }, |
| | | export : function(component,event,helper){ |
| | | console.log('进入export'); |
| | | var stockData = component.get("v.reports_date"); |
| | | console.log('查出的数据'+stockData); |
| | | // helper.showExportDate(component,stockData); |
| | | // helper.showExport(component); |
| | | }, |
| | | close_import : function(component,event,helper){ |
| | | component.set("v.showMain",true); |
| | | helper.close_import(component); |
| | | }, |
| | | close_export : function(component,event,helper){ |
| | | component.set("v.showMain",true); |
| | | helper.close_export(component); |
| | | }, |
| | | exportErrorInfo: function(component,event,helper){ |
| | | helper.exportErrorInfoHelper(component); |
| | | }, |
| | | }) |
| | |
| | | @isTest |
| | | public class ArriveGoodsControllerTestV2 { |
| | | @isTest |
| | | static void myUnitTest() { |
| | | // // TO DO: implement unit test |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET)' |
| | | ]; |
| | | @isTest |
| | | static void myUnitTest() { |
| | | // // TO DO: implement unit test |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; |
| | | |
| | | Account myAccount2 = new Account( |
| | | name = 'Testaccount002', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '9999900' |
| | | ); |
| | | Account myAccount1 = new Account( |
| | | name = 'Testaccount001', |
| | | Dealer_discount__c = 30, |
| | | RecordTypeId = rectCo[0].Id |
| | | ); |
| | | insert new List<account>{ myAccount1, myAccount2 }; |
| | | Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900'); |
| | | Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id); |
| | | insert new account[]{myAccount1,myAccount2}; |
| | | |
| | | Contact core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount1.id |
| | | ); |
| | | insert core; |
| | | user MyUser_Test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com', |
| | | UserPro_Type__c = 'ET' |
| | | ); |
| | | System.runAs(new User(Id = UserInfo.getUserId())) { |
| | | insert MyUser_Test; |
| | | } |
| | | Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id); |
| | | insert core; |
| | | user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET'); |
| | | System.runAs(new User(Id = UserInfo.getUserId())){ |
| | | insert MyUser_Test; |
| | | } |
| | | |
| | | // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; |
| | | // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // insert new Product2[] {prod01,prod02}; |
| | | System.runAs(MyUser_Test) { |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200311', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200312', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ prod01, prod02 }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro1, pro2 }; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | // Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Total_num__c = 3; |
| | | Order1.OrderNumber_arrived__c = 1; |
| | | Order1.Delivery_detail_count__c = 1; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; |
| | | // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // insert new Product2[] {prod01,prod02}; |
| | | system.runAs(MyUser_Test){ |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | insert new Product2[] {prod01,prod02}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | insert new Product2__c[] {pro1, pro2}; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | // Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Total_num__c = 3; |
| | | Order1.OrderNumber_arrived__c =1; |
| | | Order1.Delivery_detail_count__c=1; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | |
| | | //订单明细 |
| | | //fahuo |
| | | Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); |
| | | Orderdet.Name = 'OCM_01_00101'; |
| | | Orderdet.Consumable_order__c = Order1.Id; |
| | | Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; |
| | | Orderdet.Consumable_Product__c = pro1.Id; |
| | | Orderdet.Consumable_count__c = 40; |
| | | insert Orderdet; |
| | | //订单明细 |
| | | //fahuo |
| | | Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); |
| | | Orderdet.Name = 'OCM_01_00101'; |
| | | Orderdet.Consumable_order__c = Order1.Id; |
| | | Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; |
| | | Orderdet.Consumable_Product__c = pro1.Id; |
| | | Orderdet.Consumable_count__c = 40; |
| | | insert Orderdet; |
| | | |
| | | //发货明细 |
| | | //到货正确信息 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001002'; |
| | | Orderdet1.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet1.Consumable_Product__c = pro1.Id; |
| | | Orderdet1.Asset_Model_No__c = 'Test01'; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet1.TracingCode__c = 'BXJRA'; |
| | | //发货明细 |
| | | //到货正确信息 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001002'; |
| | | Orderdet1.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet1.Consumable_Product__c = pro1.Id; |
| | | Orderdet1.Asset_Model_No__c = 'Test01'; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet1.TracingCode__c = 'BXJRA'; |
| | | |
| | | //取消产品 |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001003'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Test01'; |
| | | //Orderdet2.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB'; |
| | | Orderdet2.Cancellation_Date__c = Date.today(); |
| | | Orderdet2.TracingCode__c = 'BXJRB'; |
| | | //销售产品 |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001004'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro1.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Test01'; |
| | | Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC'; |
| | | Orderdet3.Used_date__c = Date.today(); |
| | | Orderdet3.Arrive_date__c = Date.today(); |
| | | Orderdet3.TracingCode__c = 'BXJRC'; |
| | | //Orderdet3.Box_Piece__c = '盒'; |
| | | //取消产品 |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001003'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Test01'; |
| | | //Orderdet2.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB'; |
| | | Orderdet2.Cancellation_Date__c= Date.today(); |
| | | Orderdet2.TracingCode__c = 'BXJRB'; |
| | | //销售产品 |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001004'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro1.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Test01'; |
| | | Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC'; |
| | | Orderdet3.Used_date__c = Date.today(); |
| | | Orderdet3.Arrive_date__c = Date.today(); |
| | | Orderdet3.TracingCode__c = 'BXJRC'; |
| | | //Orderdet3.Box_Piece__c = '盒'; |
| | | |
| | | //出库产品 |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001005'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro1.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Test01'; |
| | | Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD'; |
| | | Orderdet4.Send_Date__c = Date.today(); |
| | | Orderdet4.Arrive_date__c = Date.today(); |
| | | Orderdet4.TracingCode__c = 'BXJRD'; |
| | | |
| | | //已到货产品 |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001006'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro1.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Test01'; |
| | | Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE'; |
| | | Orderdet5.Arrive_date__c = Date.today(); |
| | | Orderdet5.TracingCode__c = 'BXJRE'; |
| | | //出库产品 |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001005'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro1.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Test01'; |
| | | Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD'; |
| | | Orderdet4.Send_Date__c = Date.today(); |
| | | Orderdet4.Arrive_date__c = Date.today(); |
| | | Orderdet4.TracingCode__c = 'BXJRD'; |
| | | |
| | | //发货明细 |
| | | //管理编码包含数字 |
| | | Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); |
| | | Orderdet6.Name = 'OCM_01_001002'; |
| | | Orderdet6.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet6.Consumable_Product__c = pro1.Id; |
| | | Orderdet6.Asset_Model_No__c = 'Test01'; |
| | | Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123'; |
| | | Orderdet6.TracingCode__c = 'BX123'; |
| | | //已到货产品 |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001006'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro1.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Test01'; |
| | | Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE'; |
| | | Orderdet5.Arrive_date__c = Date.today(); |
| | | Orderdet5.TracingCode__c = 'BXJRE'; |
| | | |
| | | //发错库 未到货 |
| | | Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c(); |
| | | Orderdets8.Name = 'OCM_01_001011'; |
| | | Orderdets8.Consumable_order_minor__c = Order1.Id; |
| | | Orderdets8.Consumable_Product__c = pro1.Id; |
| | | Orderdets8.Asset_Model_No__c = 'Test01'; |
| | | Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys'; |
| | | Orderdets8.Box_Piece__c = '盒'; |
| | | Orderdets8.TracingCode__c = 'BXsys'; |
| | | //发货明细 |
| | | //管理编码包含数字 |
| | | Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); |
| | | Orderdet6.Name = 'OCM_01_001002'; |
| | | Orderdet6.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet6.Consumable_Product__c = pro1.Id; |
| | | Orderdet6.Asset_Model_No__c = 'Test01'; |
| | | Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123'; |
| | | Orderdet6.TracingCode__c = 'BX123'; |
| | | |
| | | insert new List<Consumable_order_details2__c>{ |
| | | Orderdet1, |
| | | Orderdet2, |
| | | Orderdet3, |
| | | Orderdet4, |
| | | Orderdet5, |
| | | Orderdet6, |
| | | Orderdets8 |
| | | }; |
| | | //发错库 未到货 |
| | | Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c(); |
| | | Orderdets8.Name = 'OCM_01_001011'; |
| | | Orderdets8.Consumable_order_minor__c = Order1.Id; |
| | | Orderdets8.Consumable_Product__c = pro1.Id; |
| | | Orderdets8.Asset_Model_No__c = 'Test01'; |
| | | Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys'; |
| | | Orderdets8.Box_Piece__c = '盒'; |
| | | Orderdets8.TracingCode__c = 'BXsys'; |
| | | |
| | | List<Consumable_orderdetails__c> cod1 = [ |
| | | SELECT Id |
| | | FROM Consumable_orderdetails__c |
| | | WHERE Consumable_order__c = :Order1.Id |
| | | ]; |
| | | System.assertEquals(1, cod1.size()); |
| | | insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8}; |
| | | |
| | | PageReference page = new PageReference( |
| | | '/apex/ArriveGoods?Esetid=' + Order1.Id |
| | | ); |
| | | List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id]; |
| | | System.assertEquals(1, cod1.size()); |
| | | |
| | | System.Test.setCurrentPage(page); |
| | | ArriveGoodsController Controller = new ArriveGoodsController(); |
| | | //初始化测试 |
| | | System.Test.startTest(); |
| | | Controller.init(); |
| | | //排序 |
| | | Controller.barcode = ''; |
| | | Controller.SearchPro(); |
| | | Controller.barcode = '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123'; |
| | | Controller.SearchPro(); |
| | | PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id); |
| | | |
| | | // System.assertEquals(3, controller.ConsumableorderdetailsRecordsdummy.size()); //tcm |
| | | Controller.ArriveGoodsConfim(); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | } |
| | | System.Test.setCurrentPage(page); |
| | | ArriveGoodsController Controller = new ArriveGoodsController(); |
| | | //初始化测试 |
| | | System.Test.startTest(); |
| | | Controller.init(); |
| | | //排序 |
| | | Controller.barcode = ''; |
| | | Controller.SearchPro(); |
| | | Controller.barcode = '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123'; |
| | | Controller.SearchPro(); |
| | | |
| | | // System.assertEquals(3, controller.ConsumableorderdetailsRecordsdummy.size()); //tcm |
| | | Controller.ArriveGoodsConfim(); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>58.0</apiVersion> |
| | | <status>Active</status> |
| | |
| | | global without sharing class Batch_FixAttachmentToFiles implements Database.Batchable<sObject> { |
| | | // Id batchJobId = Database.executeBatch(new Batch_FixAttachmentToFiles('Consumable_order__c',Datetime.newInstance(2023, 1, 1, 8, 0, 0),Datetime.newInstance(2024, 1, 1, 8, 0, 0)),2000); |
| | | private Datetime creStartDate = null; |
| | | private Datetime creEndDate = null; |
| | | private String objectApiName = null; |
| | | private Set<String> parentIds = new Set<String>(); //Add by Li Jun 20230703 |
| | | public Batch_FixAttachmentToFiles( |
| | | String objectType, |
| | | Datetime startTime, |
| | | Datetime endTime |
| | | ) { |
| | | creStartDate = startTime; |
| | | creEndDate = endTime; |
| | | objectApiName = objectType; |
| | | } |
| | | //Add by Li Jun 20230703 Start |
| | | public Batch_FixAttachmentToFiles(Set<String> parentIds) { |
| | | this.parentIds = parentIds; |
| | | } |
| | | //Add by Li Jun 20230703 End |
| | | global Database.QueryLocator start(Database.BatchableContext BC) { |
| | | String queryObject = 'SELECT Id, Name, OwnerId, ParentId, Parent.Name, Parent.Type, Body, CreatedDate, CreatedById FROM Attachment WHERE Parent.Type =:objectApiName AND CreatedDate >=:creStartDate AND CreatedDate <:creEndDate Order by CreatedDate ASC'; |
| | | if (parentIds.size() > 0) { |
| | | queryObject = 'SELECT Id, Name, OwnerId, ParentId, Parent.Name, Parent.Type, Body, CreatedDate, CreatedById FROM Attachment WHERE ParentId in:parentIds'; |
| | | global without sharing class Batch_FixAttachmentToFiles implements Database.Batchable<sObject>{ |
| | | // Id batchJobId = Database.executeBatch(new Batch_FixAttachmentToFiles('Consumable_order__c',Datetime.newInstance(2023, 1, 1, 8, 0, 0),Datetime.newInstance(2024, 1, 1, 8, 0, 0)),2000); |
| | | private Datetime creStartDate = null; |
| | | private Datetime creEndDate = null; |
| | | private String objectApiName = null; |
| | | private Set<String> parentIds = new Set<String>();//Add by Li Jun 20230703 |
| | | public Batch_FixAttachmentToFiles(String objectType, Datetime startTime, Datetime endTime) { |
| | | creStartDate = startTime; |
| | | creEndDate = endTime; |
| | | objectApiName = objectType; |
| | | } |
| | | return Database.getQueryLocator(queryObject); |
| | | } |
| | | |
| | | global void execute(Database.BatchableContext BC, List<Attachment> scope) { |
| | | List<ContentVersion> insertContents = new List<ContentVersion>(); |
| | | Map<string, id> nameParentMaps = new Map<string, id>(); |
| | | Set<String> attachmentIds = new Set<String>(); |
| | | for (Attachment att : scope) { |
| | | nameParentMaps.put(att.Id, att.ParentId); |
| | | attachmentIds.add(att.Id); |
| | | ContentVersion cVersion = new ContentVersion(); |
| | | cVersion.ContentLocation = 'S'; //S-Document is in Salesforce. E-Document is outside of Salesforce. L-Document is on a Social Netork. |
| | | cVersion.PathOnClient = att.Id; //File name with extention |
| | | cVersion.Origin = 'C'; //C-Content Origin. H-Chatter Origin. |
| | | cVersion.Title = att.Name; //Name of the file |
| | | cVersion.VersionData = att.Body; //File content |
| | | insertContents.add(cVersion); |
| | | //Add by Li Jun 20230703 Start |
| | | public Batch_FixAttachmentToFiles(Set<String> parentIds) { |
| | | this.parentIds = parentIds; |
| | | } |
| | | if (insertContents.isEmpty()) { |
| | | return; |
| | | } |
| | | //Insert insertContents; |
| | | List<Database.SaveResult> saveResultsContents = Database.insert( |
| | | insertContents, |
| | | false |
| | | ); |
| | | insertLog(saveResultsContents, attachmentIds); |
| | | set<Id> contentIds = new Set<Id>(); |
| | | for (ContentVersion cv : insertContents) { |
| | | contentIds.add(cv.id); |
| | | } |
| | | List<ContentVersion> conDocuments = [ |
| | | SELECT ContentDocumentId, Title, PathOnClient |
| | | FROM ContentVersion |
| | | WHERE Id IN :contentIds |
| | | ]; |
| | | List<ContentDocumentLink> insertDocLinks = new List<ContentDocumentLink>(); |
| | | for (ContentVersion cv : conDocuments) { |
| | | ContentDocumentLink cDocLink = new ContentDocumentLink(); |
| | | cDocLink.ContentDocumentId = cv.ContentDocumentId; //Add ContentDocumentId |
| | | cDocLink.LinkedEntityId = nameParentMaps.get(cv.PathOnClient); //Add attachment parentId |
| | | cDocLink.ShareType = 'V'; //V - Viewer permission. C - Collaborator permission. I - Inferred permission. |
| | | cDocLink.Visibility = 'AllUsers'; |
| | | insertDocLinks.add(cDocLink); |
| | | } |
| | | //Insert insertDocLinks; |
| | | List<Database.SaveResult> saveResultsLinks = Database.insert( |
| | | insertDocLinks, |
| | | false |
| | | ); |
| | | insertLog(saveResultsLinks, attachmentIds); |
| | | } |
| | | |
| | | global void insertLog( |
| | | List<Database.SaveResult> saveResults, |
| | | Set<String> attachmentIds |
| | | ) { |
| | | Transaction_Log__c traLog = new Transaction_Log__c(); |
| | | List<Map<String, String>> logMapList = new List<Map<String, String>>(); |
| | | for (Database.SaveResult result : saveResults) { |
| | | String recordId = result.getId(); |
| | | if (!result.isSuccess()) { |
| | | for (Database.Error error : result.getErrors()) { |
| | | Map<String, String> logMap = new Map<String, String>(); |
| | | String errorMsg = error.getMessage(); |
| | | logMap.put('recordId', recordId); |
| | | logMap.put('errorMsg', errorMsg); |
| | | logMapList.add(logMap); |
| | | //Add by Li Jun 20230703 End |
| | | global Database.QueryLocator start(Database.BatchableContext BC) { |
| | | String queryObject = 'SELECT Id, Name, OwnerId, ParentId, Parent.Name, Parent.Type, Body, CreatedDate, CreatedById FROM Attachment WHERE Parent.Type =:objectApiName AND CreatedDate >=:creStartDate AND CreatedDate <:creEndDate Order by CreatedDate ASC'; |
| | | if(parentIds.size() > 0){ |
| | | queryObject = 'SELECT Id, Name, OwnerId, ParentId, Parent.Name, Parent.Type, Body, CreatedDate, CreatedById FROM Attachment WHERE ParentId in:parentIds'; |
| | | } |
| | | } |
| | | return Database.getQueryLocator(queryObject); |
| | | } |
| | | if (logMapList.size() > 0) { |
| | | Map<String, String> attachmentIdMap = new Map<String, String>(); |
| | | attachmentIdMap.put('attachmentIds', JSON.serialize(attachmentIds)); |
| | | logMapList.add(attachmentIdMap); |
| | | traLog.Response__c = JSON.serialize(logMapList); |
| | | traLog.Module__c = 'Attachment COnvert Transaction '; |
| | | insert traLog; |
| | | } |
| | | } |
| | | |
| | | global void finish(Database.BatchableContext BC) { |
| | | } |
| | | } |
| | | global void execute(Database.BatchableContext BC, List<Attachment> scope) { |
| | | List<ContentVersion> insertContents = new List<ContentVersion>(); |
| | | Map<string,id> nameParentMaps = new Map<string,id>(); |
| | | Set<String> attachmentIds = new Set<String>(); |
| | | for (Attachment att : scope) { |
| | | nameParentMaps.put(att.Id, att.ParentId); |
| | | attachmentIds.add(att.Id); |
| | | ContentVersion cVersion = new ContentVersion(); |
| | | cVersion.ContentLocation = 'S'; //S-Document is in Salesforce. E-Document is outside of Salesforce. L-Document is on a Social Netork. |
| | | cVersion.PathOnClient = att.Id; //File name with extention |
| | | cVersion.Origin = 'C'; //C-Content Origin. H-Chatter Origin. |
| | | cVersion.Title = att.Name; //Name of the file |
| | | cVersion.VersionData = att.Body; //File content |
| | | insertContents.add(cVersion); |
| | | } |
| | | if(insertContents.isEmpty()){ |
| | | return; |
| | | } |
| | | //Insert insertContents; |
| | | List<Database.SaveResult> saveResultsContents = Database.insert(insertContents, false); |
| | | insertLog(saveResultsContents,attachmentIds); |
| | | set<Id> contentIds = new set<Id>(); |
| | | for(ContentVersion cv : insertContents){ |
| | | contentIds.add(cv.id); |
| | | } |
| | | List<ContentVersion> conDocuments = [SELECT ContentDocumentId, Title,PathOnClient FROM ContentVersion WHERE Id in: contentIds]; |
| | | List<ContentDocumentLink> insertDocLinks = new List<ContentDocumentLink>(); |
| | | for(ContentVersion cv : conDocuments){ |
| | | ContentDocumentLink cDocLink = new ContentDocumentLink(); |
| | | cDocLink.ContentDocumentId = cv.ContentDocumentId; //Add ContentDocumentId |
| | | cDocLink.LinkedEntityId = nameParentMaps.get(cv.PathOnClient); //Add attachment parentId |
| | | cDocLink.ShareType = 'V'; //V - Viewer permission. C - Collaborator permission. I - Inferred permission. |
| | | cDocLink.Visibility = 'AllUsers'; |
| | | insertDocLinks.add(cDocLink); |
| | | } |
| | | //Insert insertDocLinks; |
| | | List<Database.SaveResult> saveResultsLinks = Database.insert(insertDocLinks, false); |
| | | insertLog(saveResultsLinks,attachmentIds); |
| | | } |
| | | |
| | | global void insertLog(List<Database.SaveResult> saveResults,Set<String> attachmentIds) { |
| | | Transaction_Log__c traLog = new Transaction_Log__c(); |
| | | List<Map<String,String>> logMapList = new List<Map<String,String>>(); |
| | | for (Database.SaveResult result : saveResults) { |
| | | String recordId = result.getId(); |
| | | if (!result.isSuccess()) { |
| | | for (Database.Error error : result.getErrors()) { |
| | | Map<String,String> logMap = new Map<String,String>(); |
| | | String errorMsg = error.getMessage(); |
| | | logMap.put('recordId',recordId); |
| | | logMap.put('errorMsg',errorMsg); |
| | | logMapList.add(logMap); |
| | | } |
| | | } |
| | | } |
| | | if(logMapList.size() > 0){ |
| | | Map<String,String> attachmentIdMap = new Map<String,String>(); |
| | | attachmentIdMap.put('attachmentIds',JSON.serialize(attachmentIds)); |
| | | logMapList.add(attachmentIdMap); |
| | | traLog.Response__c = JSON.serialize(logMapList); |
| | | traLog.Module__c = 'Attachment COnvert Transaction '; |
| | | Insert traLog; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | global void finish(Database.BatchableContext BC) { |
| | | |
| | | } |
| | | } |
| | |
| | | @isTest(SeeAllData=true) |
| | | private class Batch_FixAttachmentToFilesTest { |
| | | @isTest(SeeAllData=true) |
| | | static void testInit() { |
| | | String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName() |
| | | .get('Agency') |
| | | .getRecordTypeId(); |
| | | Account accountItem1 = new Account( |
| | | Name = 'Testaccount001', |
| | | RecordTypeId = rectCo |
| | | ); |
| | | insert accountItem1; |
| | | |
| | | Consumable_order__c consOrder = new Consumable_order__c(); |
| | | consOrder.Name = 'test01'; |
| | | consOrder.Order_status__c = '批准'; |
| | | consOrder.Deliver_date__c = Date.today(); |
| | | consOrder.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | consOrder.Order_type__c = '订单'; |
| | | consOrder.Order_ProType__c = 'ENG'; |
| | | consOrder.Dealer_Info__c = accountItem1.Id; |
| | | consOrder.Delivery_detail_count__c = 5; |
| | | insert consOrder; |
| | | @isTest(SeeAllData=true) |
| | | static void testInit() { |
| | | String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); |
| | | Account accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo); |
| | | insert accountItem1; |
| | | |
| | | List<Attachment> attachList = new List<Attachment>(); |
| | | Attachment attach = new Attachment(); |
| | | attach.Name = 'A-65224941-20200923--1.docx'; |
| | | Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); |
| | | attach.body = bodyBlob; |
| | | attach.ParentId = consOrder.Id; |
| | | attachList.add(attach); |
| | | insert attachList; |
| | | |
| | | Set<String> Id = new Set<String>(); |
| | | String objectType; |
| | | Datetime creStartDate; |
| | | Datetime creEndDate; |
| | | |
| | | List<Attachment> attachmentList = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | OwnerId, |
| | | ParentId, |
| | | Parent.Name, |
| | | Parent.Type, |
| | | Body, |
| | | CreatedDate, |
| | | CreatedById |
| | | FROM Attachment |
| | | WHERE Id = :attachList[0].Id |
| | | ORDER BY CreatedDate ASC |
| | | LIMIT 1 |
| | | ]; |
| | | for (Attachment att : attachmentList) { |
| | | Id.add(att.ParentId); |
| | | objectType = att.Parent.Name; |
| | | creStartDate = att.CreatedDate; |
| | | creEndDate = att.CreatedDate.addDays(1); |
| | | } |
| | | System.Test.startTest(); |
| | | Database.executeBatch( |
| | | new Batch_FixAttachmentToFiles(objectType, creStartDate, creEndDate), |
| | | 1 |
| | | ); |
| | | Database.executeBatch(new Batch_FixAttachmentToFiles(Id), 1); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | Consumable_order__c consOrder = new Consumable_order__c(); |
| | | consOrder.Name = 'test01'; |
| | | consOrder.Order_status__c = '批准'; |
| | | consOrder.Deliver_date__c = Date.today(); |
| | | consOrder.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | consOrder.Order_type__c = '订单'; |
| | | consOrder.Order_ProType__c = 'ENG'; |
| | | consOrder.Dealer_Info__c = accountItem1.Id; |
| | | consOrder.Delivery_detail_count__c = 5; |
| | | insert consOrder; |
| | | |
| | | List<Attachment> attachList = new List<Attachment>(); |
| | | Attachment attach = new Attachment(); |
| | | attach.Name='A-65224941-20200923--1.docx'; |
| | | Blob bodyBlob= Blob.valueOf('Unit Test Attachment Body'); |
| | | attach.body = bodyBlob; |
| | | attach.ParentId = consOrder.Id; |
| | | attachList.add(attach); |
| | | insert attachList; |
| | | |
| | | Set<String> Id = new Set<String>(); |
| | | String objectType; |
| | | Datetime creStartDate; |
| | | Datetime creEndDate; |
| | | |
| | | List<Attachment> attachmentList = [Select Id, Name, OwnerId, ParentId, Parent.Name, Parent.Type, Body, CreatedDate, CreatedById |
| | | From Attachment |
| | | Where Id =:attachList[0].Id |
| | | Order by CreatedDate ASC |
| | | Limit 1]; |
| | | for (Attachment att : attachmentList) { |
| | | Id.add(att.ParentId); |
| | | objectType = att.Parent.Name; |
| | | creStartDate = att.CreatedDate; |
| | | creEndDate = att.CreatedDate.addDays(1); |
| | | } |
| | | System.Test.startTest(); |
| | | Database.executeBatch(new Batch_FixAttachmentToFiles(objectType,creStartDate,creEndDate),1); |
| | | Database.executeBatch(new Batch_FixAttachmentToFiles(Id),1); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>57.0</apiVersion> |
| | | <status>Active</status> |
| | |
| | | public with sharing class DealerInquiryModifyStateController { |
| | | public List<OpportunityInfo> oppRecords { get; set; } |
| | | // ページレイアウトの情報を取得 |
| | | private Map<String, Map<String, String>> editLayoutItemRWMap = new Map<String, Map<String, String>>(); |
| | | // private Map<String, Map<String, String>> editLayoutItemRWMapRt = null; |
| | | public List<OpportunityInfo> OPPORTList { get; set; } |
| | | /*****************検索用******************/ |
| | | public List<OpportunityInfo> oppRecords { get; set; } |
| | | // ページレイアウトの情報を取得 |
| | | private Map<String, Map<String, String>> editLayoutItemRWMap = New Map<String, Map<String, String>>(); |
| | | // private Map<String, Map<String, String>> editLayoutItemRWMapRt = null; |
| | | public List<OpportunityInfo> OPPORTList { get; set; } |
| | | /*****************検索用******************/ |
| | | |
| | | /*******************检索属性值*******************/ |
| | | /*******************检索属性值*******************/ |
| | | |
| | | public String accSearch { get; set; } //经销商医院 |
| | | public String aooSearch { get; set; } //担当人 |
| | | public String numtext1 { get; set; } //数据字段01 |
| | | public String numtext { get; set; } //数据字段03 |
| | | public String numtext2 { get; set; } //数据字段02 |
| | | public String timetext1 { get; set; } //日期01 |
| | | public String timetext2 { get; set; } //日期02 |
| | | public Agency_Opportunity__c tmpAO { get; set; } //检索日期用 |
| | | public Agency_Opportunity__c tmpBO { get; set; } //检索日期用 |
| | | public String limits { get; set; } //日期03 |
| | | public String accSearch { get; set; }//经销商医院 |
| | | public String aooSearch { get; set; }//担当人 |
| | | public String numtext1 { get; set; } //数据字段01 |
| | | public String numtext { get; set; }//数据字段03 |
| | | public String numtext2 { get; set; } //数据字段02 |
| | | public String timetext1 { get; set; } //日期01 |
| | | public String timetext2 { get; set; } //日期02 |
| | | public Agency_Opportunity__c tmpAO { get; set; } //检索日期用 |
| | | public Agency_Opportunity__c tmpBO { get; set; } //检索日期用 |
| | | public String limits { get; set; }//日期03 |
| | | |
| | | public List<SelectOption> dateOpts { get; private set; } |
| | | public List<SelectOption> textOpts { get; private set; } |
| | | public List<SelectOption> timeOpts { get; private set; } |
| | | public List<SelectOption> equalOpts { get; private set; } |
| | | public List<SelectOption> timeequalOpts { get; private set; } |
| | | public List<SelectOption> limitOpts { get; private set; } |
| | | public List<SelectOption> dateOpts { get; private set; } |
| | | public List<SelectOption> textOpts { get; private set; } |
| | | public List<SelectOption> timeOpts { get; private set; } |
| | | public List<SelectOption> equalOpts { get; private set; } |
| | | public List<SelectOption> timeequalOpts { get; private set; } |
| | | public List<SelectOption> limitOpts { get; private set; } |
| | | |
| | | /*****************画面表示Bean******************/ |
| | | public Integer oppCount { get; set; } |
| | | public String saveType { get; set; } |
| | | /*****************画面表示Bean******************/ |
| | | public Integer oppCount { get; set; } |
| | | public String saveType { get; set; } |
| | | |
| | | public String sortKey { get; set; } |
| | | public String preSortKey { get; set; } |
| | | public Boolean sortOrderAsc { get; set; } |
| | | public String[] sortOrder { get; set; } |
| | | public String[] columus = new List<String>{ 'Id' }; |
| | | public String[] selColumus = null; |
| | | public Set<String> columusSet = new Set<String>{ 'Id' }; |
| | | public String sortKey { get; set; } |
| | | public String preSortKey { get; set; } |
| | | public Boolean sortOrderAsc { get; set; } |
| | | public String[] sortOrder { get; set; } |
| | | public String[] columus = new String[] {'Id'}; |
| | | public String[] selColumus = null; |
| | | public Set<String> columusSet = new Set<String> {'Id'}; |
| | | |
| | | // 项目set 字段标签 |
| | | public List<String> titleLeft { get; private set; } |
| | | public List<String> titleRight { get; private set; } |
| | | // 项目set 字段名 |
| | | public List<List<String>> columnsLeftApi { get; private set; } // 参照項目用 |
| | | public List<List<String>> columnsRightApi { get; private set; } // 参照項目用 |
| | | public List<String> columnLeftCss { get; private set; } // css 用 |
| | | public List<String> columnRightCss { get; private set; } // css 用 |
| | | public Map<String, String> columnLeftRW { get; private set; } // r,w,wm用 |
| | | public Map<String, String> columnRightRW { get; private set; } // r,w,wm用 |
| | | private String strColumus; |
| | | private String strRtColumus; |
| | | // 项目set 字段标签 |
| | | public List<String> titleLeft { get; private set; } |
| | | public List<String> titleRight { get; private set; } |
| | | // 项目set 字段名 |
| | | public List<List<String>> columnsLeftApi { get; private set; } // 参照項目用 |
| | | public List<List<String>> columnsRightApi { get; private set; } // 参照項目用 |
| | | public List<String> columnLeftCss { get; private set; } // css 用 |
| | | public List<String> columnRightCss { get; private set; } // css 用 |
| | | public Map<String, String> columnLeftRW { get; private set; } // r,w,wm用 |
| | | public Map<String, String> columnRightRW { get; private set; } // r,w,wm用 |
| | | private String strColumus; |
| | | private String strRtColumus; |
| | | |
| | | //add by Link 2023-6-2 |
| | | public String remindMsg { get; set; } |
| | | //add by Link 2023-6-2 |
| | | public String remindMsg{get;set;} |
| | | |
| | | @TestVisible |
| | | private String accTypeForSort = null; |
| | | private static Integer oppLimit = 500; |
| | | @TestVisible private String accTypeForSort = null; |
| | | private static Integer oppLimit = 500; |
| | | |
| | | public DealerInquiryModifyStateController() { |
| | | oppRecords = new List<OpportunityInfo>(); |
| | | public DealerInquiryModifyStateController() { |
| | | oppRecords = new List<OpportunityInfo>(); |
| | | |
| | | //dateOpts = new List<SelectOption>(); |
| | | //dateOpts.add(new SelectOption('', '--无--')); |
| | | //dateOpts.add(new SelectOption('Registration_Day__c', '登录日')); |
| | | //dateOpts.add(new SelectOption('Ban_On_Use_Date__c', '禁用日期')); |
| | | //dateOpts = new List<SelectOption>(); |
| | | //dateOpts.add(new SelectOption('', '--无--')); |
| | | //dateOpts.add(new SelectOption('Registration_Day__c', '登录日')); |
| | | //dateOpts.add(new SelectOption('Ban_On_Use_Date__c', '禁用日期')); |
| | | |
| | | //数据字段下拉列表 |
| | | textOpts = new List<SelectOption>(); |
| | | textOpts.add(new SelectOption('', '--无--')); |
| | | textOpts.add( |
| | | new SelectOption('Agency_Opportunity_No__c', '经销商询价编码') |
| | | ); |
| | | textOpts.add(new SelectOption('Agency__r.Name', '经销商')); |
| | | textOpts.add(new SelectOption('Agency_Hospital__r.Name', '经销商医院')); |
| | | textOpts.add(new SelectOption('Department_Cateogy__c', '科室分类')); |
| | | textOpts.add(new SelectOption('Change_To_Opportunity_T__c', '询价名称')); |
| | | // textOpts.add(new SelectOption('Name', '询价名称')); |
| | | //数据字段下拉列表 |
| | | textOpts = new List<SelectOption>(); |
| | | textOpts.add(new SelectOption('', '--无--')); |
| | | textOpts.add(new SelectOption('Agency_Opportunity_No__c', '经销商询价编码')); |
| | | textOpts.add(new SelectOption('Agency__r.Name', '经销商')); |
| | | textOpts.add(new SelectOption('Agency_Hospital__r.Name', '经销商医院')); |
| | | textOpts.add(new SelectOption('Department_Cateogy__c', '科室分类')); |
| | | textOpts.add(new SelectOption('Change_To_Opportunity_T__c', '询价名称')); |
| | | // textOpts.add(new SelectOption('Name', '询价名称')); |
| | | |
| | | textOpts.add(new SelectOption('StageName__c', '询价阶段')); |
| | | textOpts.add(new SelectOption('Oly_Inquiry_Status1__c', '状态1')); |
| | | //精琢科技 zxk 2021-08-25 start |
| | | // textOpts.add(new SelectOption('Oly_Inquiry_Status2__c', '状态2')); |
| | | textOpts.add(new SelectOption('Oly_Inquiry_Stage__c', 'Oly询价阶段')); |
| | | //精琢科技 zxk 2021-08-25 end |
| | | textOpts.add(new SelectOption('Hospital_City_Master__c', '市')); |
| | | |
| | | // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.Salesdepartment_HP__c', '销售本部')); |
| | | // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.State_Master__r.Name', '省')); |
| | | // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.City_Master__r.Name', '市')); |
| | | //日期字段下拉列表 |
| | | timeOpts = new List<SelectOption>(); |
| | | timeOpts.add(new SelectOption('', '--无--')); |
| | | timeOpts.add(new SelectOption('Created_Day__c', '创建日')); |
| | | timeOpts.add(new SelectOption('Bid_Planned_Date__c', '预测招标日')); |
| | | timeOpts.add(new SelectOption('Forecasted_Bid_Date__c', '预测中标日')); |
| | | timeOpts.add( |
| | | new SelectOption('Close_Forecasted_Date__c', '预测与OLY签约日') |
| | | ); |
| | | timeOpts.add(new SelectOption('Lost_Opportunity_Date__c', '失单日期')); |
| | | timeOpts.add(new SelectOption('Deleted_Reason_Date__c', '取消日期')); |
| | | //数据字段中间连接符号 |
| | | equalOpts = new List<SelectOption>(); |
| | | equalOpts.add(new SelectOption('=', '等于')); |
| | | equalOpts.add(new SelectOption('<>', '不等于')); |
| | | equalOpts.add(new SelectOption('<', '<')); |
| | | equalOpts.add(new SelectOption('>', '>')); |
| | | equalOpts.add(new SelectOption('<=', '<=')); |
| | | equalOpts.add(new SelectOption('>=', '>=')); |
| | | equalOpts.add(new SelectOption('contains', '包含')); |
| | | equalOpts.add(new SelectOption('notcontains', '不包含')); |
| | | equalOpts.add(new SelectOption('starts with', '起始字符')); |
| | | //日期字段连接符号 |
| | | //timeequalOpts = new List<SelectOption>(); |
| | | //timeequalOpts.add(new SelectOption('=', '等于')); |
| | | //timeequalOpts.add(new SelectOption('<>', '不等于')); |
| | | //timeequalOpts.add(new SelectOption('<', '<')); |
| | | //timeequalOpts.add(new SelectOption('>', '>')); |
| | | //timeequalOpts.add(new SelectOption('<=', '<=')); |
| | | //timeequalOpts.add(new SelectOption('>=', '>=')); |
| | | //数据显示条数 |
| | | limitOpts = new List<SelectOption>(); |
| | | limitOpts.add(new SelectOption('10', '10')); |
| | | limitOpts.add(new SelectOption('20', '20')); |
| | | limitOpts.add(new SelectOption('50', '50')); |
| | | limitOpts.add(new SelectOption('100', '100')); |
| | | limitOpts.add(new SelectOption('200', '200')); |
| | | limitOpts.add(new SelectOption('1000', '全部')); |
| | | //数据显示默认条数 |
| | | limits = '20'; |
| | | } |
| | | |
| | | public PageReference init() { |
| | | remindMsg = ''; |
| | | PartnerSoapSforceCom.Soap soap = new PartnerSoapSforceCom.Soap(); |
| | | soap.SessionHeader = new PartnerSoapSforceCom.SessionHeader_element(); |
| | | soap.SessionHeader.sessionId = UserInfo.getSessionId(); |
| | | soap.endpoint_x = |
| | | URL.getSalesforceBaseUrl().toExternalForm() + |
| | | '/partner/services/Soap/u/33.0'; |
| | | // soap.endpoint_x = URL.getSalesforceBaseUrl().toExternalForm() + '/services/Soap/u/33.0'; |
| | | |
| | | PartnerSoapSforceCom.DescribeLayoutResult dlr = new PartnerSoapSforceCom.DescribeLayoutResult(); |
| | | if (System.Test.isRunningTest()) { |
| | | // UnitTest 用 |
| | | // PartnerSoapSforceCom.DescribeLayoutResult dlr = new PartnerSoapSforceCom.DescribeLayoutResult(); |
| | | PartnerSoapSforceCom.RecordTypeMapping rtMap = new PartnerSoapSforceCom.RecordTypeMapping(); |
| | | PartnerSoapSforceCom.DescribeLayout editLayout = new PartnerSoapSforceCom.DescribeLayout(); |
| | | PartnerSoapSforceCom.DescribeLayoutSection editLayoutSection = new PartnerSoapSforceCom.DescribeLayoutSection(); |
| | | PartnerSoapSforceCom.DescribeLayoutRow layoutRow = new PartnerSoapSforceCom.DescribeLayoutRow(); |
| | | PartnerSoapSforceCom.DescribeLayoutItem layoutItem = new PartnerSoapSforceCom.DescribeLayoutItem(); |
| | | PartnerSoapSforceCom.DescribeLayoutComponent layoutComponent = new PartnerSoapSforceCom.DescribeLayoutComponent(); |
| | | dlr.recordTypeMappings = new List<PartnerSoapSforceCom.RecordTypeMapping>(); |
| | | dlr.recordTypeMappings.add(rtMap); |
| | | rtMap.recordTypeId = 'recordTypeId'; |
| | | dlr.layouts = new List<PartnerSoapSforceCom.DescribeLayout>(); |
| | | dlr.layouts.add(editLayout); |
| | | editLayout.editLayoutSections = new List<PartnerSoapSforceCom.DescribeLayoutSection>(); |
| | | editLayout.editLayoutSections.add(editLayoutSection); |
| | | editLayoutSection.layoutRows = new List<PartnerSoapSforceCom.DescribeLayoutRow>(); |
| | | editLayoutSection.layoutRows.add(layoutRow); |
| | | layoutRow.layoutItems = new List<PartnerSoapSforceCom.DescribeLayoutItem>(); |
| | | layoutRow.layoutItems.add(layoutItem); |
| | | layoutItem.layoutComponents = new List<PartnerSoapSforceCom.DescribeLayoutComponent>(); |
| | | layoutItem.layoutComponents.add(layoutComponent); |
| | | // return dlr; |
| | | } else { |
| | | dlr = soap.describeLayout('Agency_Opportunity__c', null, null); |
| | | // dlr = soap.describeLayout('asdas', null, null); |
| | | } |
| | | |
| | | // PartnerSoapSforceCom.DescribeLayoutResult dlr = soap.describeLayout('Agency_Opportunity__c', null, null); |
| | | Map<String, PartnerSoapSforceCom.DescribeLayout> layputMap = new Map<String, PartnerSoapSforceCom.DescribeLayout>(); |
| | | for (PartnerSoapSforceCom.DescribeLayout layout : dlr.layouts) { |
| | | layputMap.put(layout.id, layout); |
| | | } |
| | | for (Integer lidx = 0; lidx < dlr.recordTypeMappings.size(); lidx++) { |
| | | String recordTypeId = dlr.recordTypeMappings[lidx].recordTypeId; |
| | | Map<String, String> rtnInner = new Map<String, String>(); |
| | | editLayoutItemRWMap.put(recordTypeId, rtnInner); |
| | | System.debug('recordTypeId=' + recordTypeId); |
| | | PartnerSoapSforceCom.DescribeLayout layout = layputMap.get( |
| | | dlr.recordTypeMappings[lidx].layoutId |
| | | ); |
| | | for ( |
| | | PartnerSoapSforceCom.DescribeLayoutSection section : layout.editLayoutSections |
| | | ) { |
| | | for (PartnerSoapSforceCom.DescribeLayoutRow row : section.layoutRows) { |
| | | for (PartnerSoapSforceCom.DescribeLayoutItem item : row.layoutItems) { |
| | | if ( |
| | | item.layoutComponents != null && |
| | | item.layoutComponents.size() > 0 && |
| | | String.isBlank(item.layoutComponents[0].value) == false |
| | | ) { |
| | | rtnInner.put(item.layoutComponents[0].value, 'r'); |
| | | if (item.editableForUpdate) { |
| | | rtnInner.put(item.layoutComponents[0].value, 'w'); |
| | | } |
| | | if (item.required) { |
| | | rtnInner.put(item.layoutComponents[0].value, 'wm'); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // editLayoutItemRWMap = SoapApi.getEditRWByRecordType('Agency_Opportunity__c', null); |
| | | tmpAO = new Agency_Opportunity__c(); |
| | | tmpBO = new Agency_Opportunity__c(); |
| | | setLayoutRWInfo(); |
| | | searchOppInner(); |
| | | return null; |
| | | } |
| | | //用于获取经销商询价字段集和询价字段集以及相应的读写权限 |
| | | @TestVisible |
| | | private void setLayoutRWInfo() { |
| | | if (this.sortOrder == null) { |
| | | selColumus = new List<String>{}; |
| | | strColumus = ''; |
| | | ID accRecordTypeId = accTypeForSort; |
| | | |
| | | Map<String, String> DESC_RW = editLayoutItemRWMap.get( |
| | | '012100000006KW7AAM' |
| | | ); |
| | | Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe() |
| | | .get('Agency_Opportunity__c') |
| | | .getDescribe() |
| | | .fieldSets.getMap(); |
| | | Schema.FieldSet fs = fsMap.get('DealerInquiryModifyState'); |
| | | List<FieldSetMember> fsmList = fs.getFields(); |
| | | titleLeft = new List<String>(); |
| | | List<String> columnLeft = new List<String>(); |
| | | columnLeftCss = new List<String>(); |
| | | columnsLeftApi = new List<List<String>>(); |
| | | columnLeftRW = new Map<String, String>(); |
| | | for (FieldSetMember fsm : fsmList) { |
| | | titleLeft.add(fsm.getLabel()); |
| | | columnLeft.add(fsm.getFieldPath()); |
| | | List<String> splitFieldPath = fsm.getFieldPath().split('\\.'); |
| | | columnsLeftApi.add(splitFieldPath); |
| | | if (DESC_RW == null) { |
| | | columnLeftRW.put(fsm.getFieldPath(), 'r'); |
| | | } else if (splitFieldPath.size() == 1) { |
| | | String rw = DESC_RW.get(fsm.getFieldPath()); |
| | | if (rw != null) { |
| | | columnLeftRW.put(fsm.getFieldPath(), rw); |
| | | } else { |
| | | columnLeftRW.put(fsm.getFieldPath(), 'r'); |
| | | } |
| | | } else { |
| | | columnLeftRW.put(fsm.getFieldPath(), 'r'); |
| | | } |
| | | } |
| | | for (String str : columnLeftRW.keySet()) { |
| | | System.debug(str + '=+=+=+=+=' + columnLeftRW.get(str)); |
| | | } |
| | | for (String s : columnLeft) { |
| | | if (columusSet.contains(s) == false) { |
| | | columus.add(s); |
| | | columusSet.add(s); |
| | | } |
| | | if (selColumus.contains(s) == false) { |
| | | selColumus.add(s); |
| | | } |
| | | columnLeftCss.add(s.replace('.', '_')); |
| | | } |
| | | strRtColumus = ''; |
| | | Schema.FieldSet fsRt = fsMap.get('DealerOpportunity'); |
| | | List<FieldSetMember> fsmListRt = fsRt.getFields(); |
| | | titleRight = new List<String>(); |
| | | List<String> columnRight = new List<String>(); |
| | | columnRightCss = new List<String>(); |
| | | columnsRightApi = new List<List<String>>(); |
| | | columnRightRW = new Map<String, String>(); |
| | | |
| | | for (FieldSetMember fsm : fsmListRt) { |
| | | titleRight.add(fsm.getLabel()); |
| | | columnRight.add(fsm.getFieldPath()); |
| | | List<String> splitFieldPath = fsm.getFieldPath().split('\\.'); |
| | | columnsRightApi.add(splitFieldPath); |
| | | if (DESC_RW == null) { |
| | | columnRightRW.put(fsm.getFieldPath(), 'r'); |
| | | } else if (splitFieldPath.size() == 1) { |
| | | String rw = DESC_RW.get(fsm.getFieldPath()); |
| | | if (rw != null) { |
| | | columnRightRW.put(fsm.getFieldPath(), rw); |
| | | } else { |
| | | columnRightRW.put(fsm.getFieldPath(), 'r'); |
| | | } |
| | | } else { |
| | | columnRightRW.put(fsm.getFieldPath(), 'r'); |
| | | } |
| | | } |
| | | for (String s : columnRight) { |
| | | selColumus.add(s); |
| | | if (strRtColumus == '') { |
| | | strRtColumus = s; |
| | | } else { |
| | | strRtColumus = strRtColumus + ',' + s; |
| | | } |
| | | columnRightCss.add(s.replace('.', '_')); |
| | | } |
| | | strColumus = String.join(columus, ','); |
| | | System.debug('======-======-======strColumus' + strColumus); |
| | | System.debug('======-======-======strRtColumus' + strRtColumus); |
| | | this.sortOrderAsc = true; |
| | | this.sortOrder = new List<String>(selColumus.size()); |
| | | for (Integer i = 0; i < selColumus.size(); i++) |
| | | this.sortOrder[i] = ' '; |
| | | } |
| | | } |
| | | //用于拼接SOQL语句 根据不同检索条件拼接不同SOQL语句。 |
| | | public void searchOppInner() { |
| | | //SOQL:拼接检索条件以及经销商询价的SOQL语句 |
| | | // List<User> userlist2 = [select id,name from user where Contactid in (select id from Contact)]; |
| | | // String querySoql = ''; |
| | | // Integer queryint = 0; |
| | | // for(User user : userlist2){ |
| | | // if(queryint == 0){ |
| | | // querySoql += '\''+user.Id+'\''; |
| | | // queryint++; |
| | | // }else{ |
| | | // querySoql += ',\''+user.Id+'\''; |
| | | // } |
| | | |
| | | // } |
| | | // System.debug('pppqqq222'+userlist2); |
| | | // System.debug('pppqqq333'+querySoql); |
| | | // AND Ownerid in ( '+querySoql+')' |
| | | |
| | | String soql = |
| | | 'SELECT Change_To_Opportunity__r.Id , Agency_Hospital__r.Name , Product_Category1__r.Name , Product_Category2__r.Name , Product_Category3__r.Name , Agency_Person__r.Name , Agency__r.Name , Change_To_Opportunity__r.Name ,' + |
| | | strColumus + |
| | | ',' + |
| | | strRtColumus + |
| | | ' FROM Agency_Opportunity__c WHERE recordType.DeveloperName = \'Opportunity\' '; |
| | | //数据字段:经销商医院 +SOQL |
| | | if (!String.isBlank(accSearch)) { |
| | | accSearch = accSearch.trim(); |
| | | // soql += 'AND Agency__r.Name ' + ' LIKE \'%' + accSearch + '%\' '; |
| | | soql += |
| | | 'AND Agency_Hospital__r.Name ' + |
| | | ' LIKE \'%' + |
| | | accSearch + |
| | | '%\' '; |
| | | } |
| | | //数据字段:担当人 +SOQL |
| | | if (!String.isBlank(aooSearch)) { |
| | | String newAooSearch = aooSearch.trim(); |
| | | // soql += 'AND Change_To_Opportunity__r.Owner.Alias = ' + '\'' + newAooSearch + '\'';//Name |
| | | soql += |
| | | 'AND Agency_PersonName__c ' + |
| | | ' LIKE \'%' + |
| | | newAooSearch + |
| | | '%\' '; |
| | | } |
| | | //数据字段:03 手动填写项 准备调用makeTextSql; |
| | | if (!String.isBlank(numtext)) { |
| | | String newNumtext = numtext.trim(); |
| | | String str = makeTextSql(numtext1, numtext2, newNumtext); |
| | | soql += str; |
| | | System.debug('+++++++++++++=============++++++++++++++++++' + soql); |
| | | } |
| | | //点击排序 |
| | | // System.debug('==-=-=-=-=-=this.sortKey'+Integer.valueOf(this.sortKey)+'===titleLeft.size'+titleLeft.size()+7); |
| | | if (String.isBlank(this.sortKey)) { |
| | | soql += |
| | | ' order by LastModifiedDate desc limit ' + Integer.valueOf(limits); |
| | | } else { |
| | | if (Integer.valueOf(this.sortKey) <= titleLeft.size() + 7) { |
| | | soql += |
| | | ' order by ' + |
| | | this.selColumus[Integer.valueOf(this.sortKey)] + |
| | | ' ' + |
| | | (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') + |
| | | ' limit ' + |
| | | Integer.valueOf(limits); |
| | | } else { |
| | | soql += |
| | | ' order by Change_To_Opportunity__r.' + |
| | | this.selColumus[Integer.valueOf(this.sortKey)] + |
| | | ' ' + |
| | | (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') + |
| | | ' limit ' + |
| | | Integer.valueOf(limits); |
| | | } |
| | | } |
| | | system.debug(soql); |
| | | // List<User> userlist1 = [select id,name from user ]; |
| | | // System.debug('pppqqq111'+userlist1); |
| | | |
| | | List<Agency_Opportunity__c> InfoList = Database.query(soql); |
| | | System.debug('+++++++-------------------' + InfoList); |
| | | |
| | | // List<Agency_Opportunity__c> InfoList = ControllerUtil.DatabaseQuery(soql); |
| | | // System.debug('InfoList[0].Change_To_Opportunity_T__c'+InfoList[0].Change_To_Opportunity_T__c); |
| | | for (Agency_Opportunity__c apt : InfoList) { |
| | | System.debug('pppqqq' + apt.Agency_PersonName__c + '====' + apt.Name); |
| | | } |
| | | |
| | | List<OpportunityInfo> oppinfoList = new List<OpportunityInfo>(); |
| | | if (InfoList != null && InfoList.size() > 0) { |
| | | String str = ''; |
| | | for (Agency_Opportunity__c agc : InfoList) { |
| | | if (str == '' && agc.Change_To_Opportunity__r.Id != null) { |
| | | str = '\'' + agc.Change_To_Opportunity__r.Id + '\''; |
| | | } else if (agc.Change_To_Opportunity__r.Id != null) { |
| | | str += ',\'' + agc.Change_To_Opportunity__r.Id + '\''; |
| | | } |
| | | } |
| | | for (Agency_Opportunity__c info : InfoList) { |
| | | oppinfoList.add(new OpportunityInfo(info, info)); |
| | | oppinfoList[oppinfoList.size() - 1].lineNo = oppinfoList.size() - 1; |
| | | } |
| | | } |
| | | oppRecords = oppinfoList.clone(); |
| | | oppCount = oppRecords.size(); |
| | | //显示提示操作信息 |
| | | if (String.isBlank(this.saveType) && String.isBlank(this.sortKey)) { |
| | | ApexPages.addmessage( |
| | | new ApexPages.message( |
| | | ApexPages.severity.INFO, |
| | | '取得最近的 ' + oppCount + ' 条数据' |
| | | ) |
| | | ); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '取得最近的 ' + oppCount + ' 条数据'; |
| | | } else if (!String.isBlank(this.sortKey)) { |
| | | if (oppCount > oppLimit) { |
| | | ApexPages.addmessage( |
| | | new ApexPages.message( |
| | | ApexPages.severity.INFO, |
| | | '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件' |
| | | ) |
| | | ); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件'; |
| | | } else { |
| | | ApexPages.addmessage( |
| | | new ApexPages.message( |
| | | ApexPages.severity.INFO, |
| | | '共有 ' + oppCount + ' 条数据' |
| | | ) |
| | | ); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '共有 ' + oppCount + ' 条数据'; |
| | | } |
| | | } else { |
| | | ApexPages.addmessage( |
| | | new ApexPages.message( |
| | | ApexPages.severity.INFO, |
| | | '共有 ' + oppCount + ' 条数据' |
| | | ) |
| | | ); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '共有 ' + oppCount + ' 条数据'; |
| | | } |
| | | } |
| | | //检索条件:数据字段1,数据字段2,数据字段3均满足进入此方法 判断多种情况 |
| | | private String makeTextSql( |
| | | String textOpts, |
| | | String equalOpts, |
| | | String numtext |
| | | ) { |
| | | String soql = ''; |
| | | if (!String.isBlank(textOpts)) { |
| | | //寻找检索条件包含‘ ’ 空格的多重检索条件 |
| | | //system.debug('314-textOpts:'+textOpts); |
| | | if ( |
| | | (equalOpts == 'contains' || equalOpts == 'notcontains') && |
| | | numtext.contains(',') |
| | | ) { |
| | | //system.debug('316-equalOpts:'+equalOpts); |
| | | //system.debug('316-numtext:'+numtext); |
| | | String[] vals = numtext.split(','); |
| | | String cSql = ''; |
| | | soql += ' AND ('; |
| | | for (Integer icount = 0; icount < vals.size(); icount++) { |
| | | //精琢科技 zxk 2021-08-25 start |
| | | String val = vals[icount]; |
| | | if (equalOpts == 'contains') { |
| | | cSql = this.makeTextSqlStr(textOpts, equalOpts, val); |
| | | soql += cSql; |
| | | |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' OR '; |
| | | } |
| | | } else if (equalOpts == 'notcontains') { |
| | | cSql = this.makeTextSqlStr(textOpts, equalOpts, val); |
| | | soql += cSql; |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' AND '; |
| | | } |
| | | } |
| | | } |
| | | textOpts.add(new SelectOption('StageName__c', '询价阶段')); |
| | | textOpts.add(new SelectOption('Oly_Inquiry_Status1__c', '状态1')); |
| | | //精琢科技 zxk 2021-08-25 start |
| | | // textOpts.add(new SelectOption('Oly_Inquiry_Status2__c', '状态2')); |
| | | textOpts.add(new SelectOption('Oly_Inquiry_Stage__c', 'Oly询价阶段')); |
| | | //精琢科技 zxk 2021-08-25 end |
| | | textOpts.add(new SelectOption('Hospital_City_Master__c', '市')); |
| | | |
| | | // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.Salesdepartment_HP__c', '销售本部')); |
| | | // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.State_Master__r.Name', '省')); |
| | | // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.City_Master__r.Name', '市')); |
| | | //日期字段下拉列表 |
| | | timeOpts = new List<SelectOption>(); |
| | | timeOpts.add(new SelectOption('', '--无--')); |
| | | timeOpts.add(new SelectOption('Created_Day__c', '创建日')); |
| | | timeOpts.add(new SelectOption('Bid_Planned_Date__c', '预测招标日')); |
| | | timeOpts.add(new SelectOption('Forecasted_Bid_Date__c', '预测中标日')); |
| | | timeOpts.add(new SelectOption('Close_Forecasted_Date__c', '预测与OLY签约日')); |
| | | timeOpts.add(new SelectOption('Lost_Opportunity_Date__c', '失单日期')); |
| | | timeOpts.add(new SelectOption('Deleted_Reason_Date__c', '取消日期')); |
| | | //数据字段中间连接符号 |
| | | equalOpts = new List<SelectOption>(); |
| | | equalOpts.add(new SelectOption('=', '等于')); |
| | | equalOpts.add(new SelectOption('<>', '不等于')); |
| | | equalOpts.add(new SelectOption('<', '<')); |
| | | equalOpts.add(new SelectOption('>', '>')); |
| | | equalOpts.add(new SelectOption('<=', '<=')); |
| | | equalOpts.add(new SelectOption('>=', '>=')); |
| | | equalOpts.add(new SelectOption('contains', '包含')); |
| | | equalOpts.add(new SelectOption('notcontains', '不包含')); |
| | | equalOpts.add(new SelectOption('starts with', '起始字符')); |
| | | //日期字段连接符号 |
| | | //timeequalOpts = new List<SelectOption>(); |
| | | //timeequalOpts.add(new SelectOption('=', '等于')); |
| | | //timeequalOpts.add(new SelectOption('<>', '不等于')); |
| | | //timeequalOpts.add(new SelectOption('<', '<')); |
| | | //timeequalOpts.add(new SelectOption('>', '>')); |
| | | //timeequalOpts.add(new SelectOption('<=', '<=')); |
| | | //timeequalOpts.add(new SelectOption('>=', '>=')); |
| | | //数据显示条数 |
| | | limitOpts = new List<SelectOption>(); |
| | | limitOpts.add(new SelectOption('10', '10')); |
| | | limitOpts.add(new SelectOption('20', '20')); |
| | | limitOpts.add(new SelectOption('50', '50')); |
| | | limitOpts.add(new SelectOption('100', '100')); |
| | | limitOpts.add(new SelectOption('200', '200')); |
| | | limitOpts.add(new SelectOption('1000', '全部')); |
| | | //数据显示默认条数 |
| | | limits = '20'; |
| | | } |
| | | |
| | | // String val = vals[icount]; |
| | | // cSql = this.makeTextSqlStr(textOpts, equalOpts, val); |
| | | // system.debug(cSql); |
| | | // soql += cSql; |
| | | // if (icount < vals.size() - 1) { |
| | | // soql += ' OR '; |
| | | public PageReference init() { |
| | | remindMsg = ''; |
| | | PartnerSoapSforceCom.Soap soap = new PartnerSoapSforceCom.Soap(); |
| | | soap.SessionHeader = new PartnerSoapSforceCom.SessionHeader_element(); |
| | | soap.SessionHeader.sessionId = UserInfo.getSessionId(); |
| | | soap.endpoint_x = URL.getSalesforceBaseUrl().toExternalForm() + '/partner/services/Soap/u/33.0'; |
| | | // soap.endpoint_x = URL.getSalesforceBaseUrl().toExternalForm() + '/services/Soap/u/33.0'; |
| | | |
| | | PartnerSoapSforceCom.DescribeLayoutResult dlr = new PartnerSoapSforceCom.DescribeLayoutResult(); |
| | | if (System.Test.isRunningTest()) { |
| | | // UnitTest 用 |
| | | // PartnerSoapSforceCom.DescribeLayoutResult dlr = new PartnerSoapSforceCom.DescribeLayoutResult(); |
| | | PartnerSoapSforceCom.RecordTypeMapping rtMap = new PartnerSoapSforceCom.RecordTypeMapping(); |
| | | PartnerSoapSforceCom.DescribeLayout editLayout = new PartnerSoapSforceCom.DescribeLayout(); |
| | | PartnerSoapSforceCom.DescribeLayoutSection editLayoutSection = new PartnerSoapSforceCom.DescribeLayoutSection(); |
| | | PartnerSoapSforceCom.DescribeLayoutRow layoutRow = new PartnerSoapSforceCom.DescribeLayoutRow(); |
| | | PartnerSoapSforceCom.DescribeLayoutItem layoutItem = new PartnerSoapSforceCom.DescribeLayoutItem(); |
| | | PartnerSoapSforceCom.DescribeLayoutComponent layoutComponent = new PartnerSoapSforceCom.DescribeLayoutComponent(); |
| | | dlr.recordTypeMappings = new List<PartnerSoapSforceCom.RecordTypeMapping>(); |
| | | dlr.recordTypeMappings.add(rtMap); |
| | | rtMap.recordTypeId = 'recordTypeId'; |
| | | dlr.layouts = new List<PartnerSoapSforceCom.DescribeLayout>(); |
| | | dlr.layouts.add(editLayout); |
| | | editLayout.editLayoutSections = new List<PartnerSoapSforceCom.DescribeLayoutSection>(); |
| | | editLayout.editLayoutSections.add(editLayoutSection); |
| | | editLayoutSection.layoutRows = new List<PartnerSoapSforceCom.DescribeLayoutRow>(); |
| | | editLayoutSection.layoutRows.add(layoutRow); |
| | | layoutRow.layoutItems = new List<PartnerSoapSforceCom.DescribeLayoutItem>(); |
| | | layoutRow.layoutItems.add(layoutItem); |
| | | layoutItem.layoutComponents = new List<PartnerSoapSforceCom.DescribeLayoutComponent>(); |
| | | layoutItem.layoutComponents.add(layoutComponent); |
| | | // return dlr; |
| | | } else { |
| | | dlr = soap.describeLayout('Agency_Opportunity__c', null, null); |
| | | // dlr = soap.describeLayout('asdas', null, null); |
| | | } |
| | | |
| | | // PartnerSoapSforceCom.DescribeLayoutResult dlr = soap.describeLayout('Agency_Opportunity__c', null, null); |
| | | Map<String, PartnerSoapSforceCom.DescribeLayout> layputMap = new Map<String, PartnerSoapSforceCom.DescribeLayout>(); |
| | | for (PartnerSoapSforceCom.DescribeLayout layout : dlr.layouts) { |
| | | layputMap.put(layout.id, layout); |
| | | } |
| | | for (Integer lidx = 0; lidx < dlr.recordTypeMappings.size(); lidx++) { |
| | | String recordTypeId = dlr.recordTypeMappings[lidx].recordTypeId; |
| | | Map<String, String> rtnInner = new Map<String, String>(); |
| | | editLayoutItemRWMap.put(recordTypeId, rtnInner); |
| | | System.debug('recordTypeId=' + recordTypeId); |
| | | PartnerSoapSforceCom.DescribeLayout layout = layputMap.get(dlr.recordTypeMappings[lidx].layoutId); |
| | | for (PartnerSoapSforceCom.DescribeLayoutSection section : layout.editLayoutSections) { |
| | | for (PartnerSoapSforceCom.DescribeLayoutRow row : section.layoutRows) { |
| | | for (PartnerSoapSforceCom.DescribeLayoutItem item : row.layoutItems) { |
| | | if (item.layoutComponents != null && item.layoutComponents.size() > 0 |
| | | && String.isBlank(item.layoutComponents[0].value) == false) { |
| | | rtnInner.put(item.layoutComponents[0].value, 'r'); |
| | | if (item.editableForUpdate) { |
| | | rtnInner.put(item.layoutComponents[0].value, 'w'); |
| | | } |
| | | if (item.required) { |
| | | rtnInner.put(item.layoutComponents[0].value, 'wm'); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // editLayoutItemRWMap = SoapApi.getEditRWByRecordType('Agency_Opportunity__c', null); |
| | | tmpAO = new Agency_Opportunity__c(); |
| | | tmpBO = new Agency_Opportunity__c(); |
| | | setLayoutRWInfo(); |
| | | searchOppInner(); |
| | | return null; |
| | | } |
| | | //用于获取经销商询价字段集和询价字段集以及相应的读写权限 |
| | | @TestVisible private void setLayoutRWInfo() { |
| | | if (this.sortOrder == null) { |
| | | selColumus = new String[] {}; |
| | | strColumus = ''; |
| | | ID accRecordTypeId = accTypeForSort; |
| | | |
| | | Map<String, String> DESC_RW = editLayoutItemRWMap.get('012100000006KW7AAM'); |
| | | Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe().get('Agency_Opportunity__c').getDescribe().fieldSets.getMap(); |
| | | Schema.FieldSet fs = fsMap.get('DealerInquiryModifyState'); |
| | | List<FieldSetMember> fsmList = fs.getFields(); |
| | | titleLeft = new List<String>(); |
| | | List<String> columnLeft = new List<String>(); |
| | | columnLeftCss = new List<String>(); |
| | | columnsLeftApi = new List<List<String>>(); |
| | | columnLeftRW = new Map<String, String>(); |
| | | for (FieldSetMember fsm : fsmList) { |
| | | titleLeft.add(fsm.getLabel()); |
| | | columnLeft.add(fsm.getFieldPath()); |
| | | List<String> splitFieldPath = fsm.getFieldPath().split('\\.'); |
| | | columnsLeftApi.add(splitFieldPath); |
| | | if (DESC_RW == null) { |
| | | columnLeftRW.put(fsm.getFieldPath(), 'r'); |
| | | } else if (splitFieldPath.size() == 1) { |
| | | String rw = DESC_RW.get(fsm.getFieldPath()); |
| | | if (rw != null) { |
| | | columnLeftRW.put(fsm.getFieldPath(), rw); |
| | | } else { |
| | | columnLeftRW.put(fsm.getFieldPath(), 'r'); |
| | | } |
| | | } else { |
| | | columnLeftRW.put(fsm.getFieldPath(), 'r'); |
| | | } |
| | | } |
| | | for (String str : columnLeftRW.keySet()) { |
| | | System.debug(str + '=+=+=+=+=' + columnLeftRW.get(str)); |
| | | } |
| | | for (String s : columnLeft) { |
| | | if (columusSet.contains(s) == false) { |
| | | columus.add(s); |
| | | columusSet.add(s); |
| | | } |
| | | if (selColumus.contains(s) == false) { |
| | | selColumus.add(s); |
| | | } |
| | | columnLeftCss.add(s.replace('.', '_')); |
| | | } |
| | | strRtColumus = ''; |
| | | Schema.FieldSet fsRt = fsMap.get('DealerOpportunity'); |
| | | List<FieldSetMember> fsmListRt = fsRt.getFields(); |
| | | titleRight = new List<String>(); |
| | | List<String> columnRight = new List<String>(); |
| | | columnRightCss = new List<String>(); |
| | | columnsRightApi = new List<List<String>>(); |
| | | columnRightRW = new Map<String, String>(); |
| | | |
| | | for (FieldSetMember fsm : fsmListRt) { |
| | | titleRight.add(fsm.getLabel()); |
| | | columnRight.add(fsm.getFieldPath()); |
| | | List<String> splitFieldPath = fsm.getFieldPath().split('\\.'); |
| | | columnsRightApi.add(splitFieldPath); |
| | | if (DESC_RW == null) { |
| | | columnRightRW.put(fsm.getFieldPath(), 'r'); |
| | | } else if (splitFieldPath.size() == 1) { |
| | | String rw = DESC_RW.get(fsm.getFieldPath()); |
| | | if (rw != null) { |
| | | columnRightRW.put(fsm.getFieldPath(), rw); |
| | | } else { |
| | | columnRightRW.put(fsm.getFieldPath(), 'r'); |
| | | } |
| | | } else { |
| | | columnRightRW.put(fsm.getFieldPath(), 'r'); |
| | | } |
| | | } |
| | | for (String s : columnRight) { |
| | | selColumus.add(s); |
| | | if (strRtColumus == '') { |
| | | strRtColumus = s; |
| | | } else { |
| | | strRtColumus = strRtColumus + ',' + s; |
| | | } |
| | | columnRightCss.add(s.replace('.', '_')); |
| | | |
| | | } |
| | | strColumus = String.join(columus, ','); |
| | | System.debug('======-======-======strColumus' + strColumus); |
| | | System.debug('======-======-======strRtColumus' + strRtColumus); |
| | | this.sortOrderAsc = true; |
| | | this.sortOrder = new String[selColumus.size()]; |
| | | for (Integer i = 0; i < selColumus.size(); i++) this.sortOrder[i] = ' '; |
| | | } |
| | | } |
| | | //用于拼接SOQL语句 根据不同检索条件拼接不同SOQL语句。 |
| | | public void searchOppInner() { |
| | | //SOQL:拼接检索条件以及经销商询价的SOQL语句 |
| | | // List<User> userlist2 = [select id,name from user where Contactid in (select id from Contact)]; |
| | | // String querySoql = ''; |
| | | // Integer queryint = 0; |
| | | // for(User user : userlist2){ |
| | | // if(queryint == 0){ |
| | | // querySoql += '\''+user.Id+'\''; |
| | | // queryint++; |
| | | // }else{ |
| | | // querySoql += ',\''+user.Id+'\''; |
| | | // } |
| | | |
| | | // } |
| | | soql += ')'; |
| | | } |
| | | //寻找检索条件包含‘,’ 逗号的多重检索条件 |
| | | else if ( |
| | | (equalOpts == '=' || equalOpts == '<>') && numtext.contains(',') |
| | | ) { |
| | | String[] vals = numtext.split(','); |
| | | soql += ' AND ( '; |
| | | for (Integer icount = 0; icount < vals.size(); icount++) { |
| | | String val = vals[icount]; |
| | | if (equalOpts == '=') { |
| | | soql += textOpts + ' = \'' + val + '\''; |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' OR '; |
| | | } |
| | | } else if (equalOpts == '<>') { |
| | | soql += textOpts + ' <> \'' + val + '\''; |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' AND '; |
| | | } |
| | | } |
| | | } |
| | | soql += ')'; |
| | | } |
| | | //检索连接符为包含以及不包含 |
| | | else if ( |
| | | equalOpts.equals('contains') || equalOpts.equals('notcontains') |
| | | ) { |
| | | if (equalOpts.equals('contains')) { |
| | | soql += ' AND ' + textOpts + ' LIKE \'%' + numtext + '%\''; |
| | | } else if (equalOpts.equals('notcontains')) { |
| | | soql += ' AND ( NOT ' + textOpts + ' LIKE \'%' + numtext + '%\' ) '; |
| | | } |
| | | } |
| | | //检索连接符为等于以及不等于 |
| | | else if (equalOpts == '=' || equalOpts == '<>') { |
| | | soql += 'AND ' + textOpts + equalOpts + '\'' + numtext + '\''; |
| | | } |
| | | //精琢科技 zxk 2021-08-25 start |
| | | //起始字符 |
| | | else if (equalOpts == 'starts with' && numtext.contains(' ')) { |
| | | String[] vals = numtext.split(' '); |
| | | soql += ' AND ( '; |
| | | for (Integer icount = 0; icount < vals.size(); icount++) { |
| | | String val = vals[icount]; |
| | | if (equalOpts == 'starts with') { |
| | | soql += ' ' + textOpts + ' LIKE \'%' + val + '%\''; |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' OR '; |
| | | } |
| | | } |
| | | } |
| | | soql += ')'; |
| | | } |
| | | //精琢科技 zxk 2021-08-25 end |
| | | // System.debug('pppqqq222'+userlist2); |
| | | // System.debug('pppqqq333'+querySoql); |
| | | // AND Ownerid in ( '+querySoql+')' |
| | | |
| | | // //起始字符 |
| | | // else if (equalOpts == 'starts with'){ |
| | | // soql += 'AND ' + textOpts + ' LIKE \'' + numtext + '%\''; |
| | | // } |
| | | //检索连接符的其他情况 |
| | | else { |
| | | String cSql = this.makeTextSqlStr(textOpts, equalOpts, numtext); |
| | | if (equalOpts != '<>') { |
| | | soql += cSql; |
| | | String soql = 'SELECT Change_To_Opportunity__r.Id , Agency_Hospital__r.Name , Product_Category1__r.Name , Product_Category2__r.Name , Product_Category3__r.Name , Agency_Person__r.Name , Agency__r.Name , Change_To_Opportunity__r.Name ,' + |
| | | strColumus + ',' + strRtColumus + |
| | | ' FROM Agency_Opportunity__c WHERE recordType.DeveloperName = \'Opportunity\' '; |
| | | //数据字段:经销商医院 +SOQL |
| | | if (!String.isBlank(accSearch)) { |
| | | accSearch = accSearch.trim(); |
| | | // soql += 'AND Agency__r.Name ' + ' LIKE \'%' + accSearch + '%\' '; |
| | | soql += 'AND Agency_Hospital__r.Name ' + ' LIKE \'%' + accSearch + '%\' '; |
| | | } |
| | | //数据字段:担当人 +SOQL |
| | | if (!String.isBlank(aooSearch)) { |
| | | String newAooSearch = aooSearch.trim(); |
| | | // soql += 'AND Change_To_Opportunity__r.Owner.Alias = ' + '\'' + newAooSearch + '\'';//Name |
| | | soql += 'AND Agency_PersonName__c ' + ' LIKE \'%' + newAooSearch + '%\' '; |
| | | } |
| | | //数据字段:03 手动填写项 准备调用makeTextSql; |
| | | if (!String.isBlank(numtext)) { |
| | | String newNumtext = numtext.trim(); |
| | | String str = makeTextSql(numtext1, numtext2, newNumtext); |
| | | soql += str; |
| | | System.debug('+++++++++++++=============++++++++++++++++++' + soql); |
| | | } |
| | | //点击排序 |
| | | // System.debug('==-=-=-=-=-=this.sortKey'+Integer.valueOf(this.sortKey)+'===titleLeft.size'+titleLeft.size()+7); |
| | | if (String.isBlank(this.sortKey)) { |
| | | soql += ' order by LastModifiedDate desc limit ' + Integer.valueOf(limits); |
| | | } else { |
| | | soql += ' and (NOT ' + cSql + ') '; |
| | | if (Integer.valueOf(this.sortKey) <= titleLeft.size() + 7) { |
| | | soql += ' order by ' + this.selColumus[Integer.valueOf(this.sortKey)] + ' ' + (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') + ' limit ' + Integer.valueOf(limits); |
| | | } else { |
| | | soql += ' order by Change_To_Opportunity__r.' + this.selColumus[Integer.valueOf(this.sortKey)] + ' ' + (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') + ' limit ' + Integer.valueOf(limits); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return soql; |
| | | } |
| | | //检索条件:数据字段1,数据字段2,数据字段3均满足,并且进入makeTextSql()之后,内含数据字段包含多种时进入此方法。 |
| | | @TestVisible |
| | | private String makeTextSqlStr(String textOpts, String equalOpts, String val) { |
| | | String soql = ''; |
| | | if (!String.isBlank(textOpts)) { |
| | | String tmpVal = val; |
| | | if (!String.isBlank(tmpVal)) { |
| | | if (equalOpts == 'contains' || equalOpts == 'notcontains') { |
| | | if (equalOpts == 'contains') { |
| | | soql += ' ' + textOpts + ' LIKE \'%' + val + '%\''; |
| | | } else if (equalOpts == 'notcontains') { |
| | | soql += ' ( NOT ' + textOpts + ' LIKE \'%' + val + '%\' ) '; |
| | | } |
| | | } else if (equalOpts == '=' || equalOpts == '<>') { |
| | | if (equalOpts == '=') { |
| | | soql += ' AND ' + textOpts + ' = ' + val; |
| | | } else if (equalOpts == '<>') { |
| | | soql += ' AND ' + textOpts + ' <> ' + val; |
| | | } |
| | | system.debug(soql); |
| | | // List<User> userlist1 = [select id,name from user ]; |
| | | // System.debug('pppqqq111'+userlist1); |
| | | |
| | | List<Agency_Opportunity__c> InfoList = Database.query(soql); |
| | | System.debug('+++++++-------------------'+InfoList); |
| | | |
| | | // List<Agency_Opportunity__c> InfoList = ControllerUtil.DatabaseQuery(soql); |
| | | // System.debug('InfoList[0].Change_To_Opportunity_T__c'+InfoList[0].Change_To_Opportunity_T__c); |
| | | for (Agency_Opportunity__c apt : InfoList) { |
| | | System.debug('pppqqq' + apt.Agency_PersonName__c + '====' + apt.Name); |
| | | } |
| | | } else { |
| | | soql = ' AND ' + textOpts; |
| | | if (equalOpts == '=') { |
| | | soql += ' = ' + tmpVal; |
| | | } else if (equalOpts == '<>') { |
| | | soql += ' <> ' + tmpVal; |
| | | } else if (equalOpts == 'contains') { |
| | | soql += |
| | | ' like \'%' + |
| | | String.escapeSingleQuotes(tmpVal.replaceAll('%', '\\%')) + |
| | | '%\''; |
| | | } else if (equalOpts == 'notcontains') { |
| | | soql += |
| | | ' like \'%' + |
| | | String.escapeSingleQuotes(tmpVal.replaceAll('%', '\\%')) + |
| | | '%\''; |
| | | } else if (equalOpts == 'starts with') { |
| | | soql += |
| | | ' like \'%' + |
| | | String.escapeSingleQuotes(tmpVal.replaceAll('%', '\\%')) + |
| | | '%\''; |
| | | |
| | | List<OpportunityInfo> oppinfoList = new List<OpportunityInfo>(); |
| | | if (InfoList != null && InfoList.size() > 0) { |
| | | String str = ''; |
| | | for (Agency_Opportunity__c agc : InfoList) { |
| | | if (str == '' && agc.Change_To_Opportunity__r.Id != null) { |
| | | str = '\'' + agc.Change_To_Opportunity__r.Id + '\''; |
| | | } else if (agc.Change_To_Opportunity__r.Id != null) { |
| | | str += ',\'' + agc.Change_To_Opportunity__r.Id + '\''; |
| | | |
| | | } |
| | | } |
| | | for (Agency_Opportunity__c info : InfoList) { |
| | | oppinfoList.add(new OpportunityInfo(info, info)); |
| | | oppinfoList[oppinfoList.size() - 1].lineNo = oppinfoList.size() - 1; |
| | | } |
| | | } |
| | | oppRecords = oppinfoList.clone(); |
| | | oppCount = oppRecords.size(); |
| | | //显示提示操作信息 |
| | | if (String.isBlank(this.saveType) && String.isBlank(this.sortKey)) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '取得最近的 ' + oppCount + ' 条数据')); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '取得最近的 ' + oppCount + ' 条数据'; |
| | | } else if (!String.isBlank(this.sortKey)) { |
| | | if (oppCount > oppLimit) { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件')); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件'; |
| | | } else { |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '共有 ' + oppCount + ' 条数据')); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '共有 ' + oppCount + ' 条数据'; |
| | | } |
| | | } else { |
| | | soql += ' ' + equalOpts + ' ' + tmpVal; |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '共有 ' + oppCount + ' 条数据')); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '共有 ' + oppCount + ' 条数据'; |
| | | } |
| | | } |
| | | } |
| | | return soql; |
| | | } |
| | | //检索条件:数据字段1,数据字段2,数据字段3均满足进入此方法 判断多种情况 |
| | | private String makeTextSql(String textOpts, String equalOpts, String numtext) { |
| | | String soql = ''; |
| | | if (!String.isBlank(textOpts)) { |
| | | //寻找检索条件包含‘ ’ 空格的多重检索条件 |
| | | //system.debug('314-textOpts:'+textOpts); |
| | | if ((equalOpts == 'contains' || equalOpts == 'notcontains') && numtext.contains(',')) { |
| | | //system.debug('316-equalOpts:'+equalOpts); |
| | | //system.debug('316-numtext:'+numtext); |
| | | String[] vals = numtext.split(','); |
| | | String cSql = ''; |
| | | soql += ' AND ('; |
| | | for (Integer icount = 0; icount < vals.size(); icount++) { |
| | | |
| | | //检索按钮:点击检索按钮触发此方法; |
| | | public PageReference chick() { |
| | | setLayoutRWInfo(); |
| | | searchOppInner(); |
| | | return null; |
| | | } |
| | | //页面内容有修改时,页面判断后传值给changeFlg以及changeFlgRt属性,点击保存时调用此方法,进行保存。 |
| | | public PageReference save() { |
| | | //system.debug('oppRecords[1].opp:' + oppRecords[1].opp +' oppRecords[1].AgcOpp:' + oppRecords[1].AgcOpp ); |
| | | try { |
| | | List<Agency_Opportunity__c> updTarget = new List<Agency_Opportunity__c>(); |
| | | // List<Opportunity> updOpps = new List<Opportunity>(); |
| | | for (OpportunityInfo oi : oppRecords) { |
| | | if (oi.changeFlg == '1') { |
| | | oi.changeFlg = '0'; |
| | | updTarget.add(oi.AgcOpp); |
| | | //精琢科技 zxk 2021-08-25 start |
| | | String val = vals[icount]; |
| | | if (equalOpts == 'contains') { |
| | | cSql = this.makeTextSqlStr(textOpts, equalOpts, val); |
| | | soql += cSql; |
| | | |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' OR '; |
| | | } |
| | | } else if (equalOpts == 'notcontains') { |
| | | cSql = this.makeTextSqlStr(textOpts, equalOpts, val); |
| | | soql += cSql; |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' AND '; |
| | | } |
| | | } |
| | | |
| | | } |
| | | //精琢科技 zxk 2021-08-25 end |
| | | |
| | | |
| | | // String val = vals[icount]; |
| | | // cSql = this.makeTextSqlStr(textOpts, equalOpts, val); |
| | | // system.debug(cSql); |
| | | // soql += cSql; |
| | | // if (icount < vals.size() - 1) { |
| | | // soql += ' OR '; |
| | | // } |
| | | // } |
| | | soql += ')'; |
| | | } |
| | | //寻找检索条件包含‘,’ 逗号的多重检索条件 |
| | | else if ((equalOpts == '=' || equalOpts == '<>') && numtext.contains(',')) { |
| | | String[] vals = numtext.split(','); |
| | | soql += ' AND ( '; |
| | | for (Integer icount = 0; icount < vals.size(); icount++) { |
| | | String val = vals[icount]; |
| | | if (equalOpts == '=') { |
| | | soql += textOpts + ' = \'' + val + '\''; |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' OR '; |
| | | } |
| | | } else if (equalOpts == '<>') { |
| | | soql += textOpts + ' <> \'' + val + '\''; |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' AND '; |
| | | } |
| | | } |
| | | } |
| | | soql += ')'; |
| | | } |
| | | //检索连接符为包含以及不包含 |
| | | else if (equalOpts.equals('contains') || equalOpts.equals('notcontains')) { |
| | | if (equalOpts.equals('contains')) { |
| | | soql += ' AND ' + textOpts + ' LIKE \'%' + numtext + '%\''; |
| | | } else if (equalOpts.equals('notcontains')) { |
| | | soql += ' AND ( NOT ' + textOpts + ' LIKE \'%' + numtext + '%\' ) '; |
| | | } |
| | | } |
| | | //检索连接符为等于以及不等于 |
| | | else if (equalOpts == '=' || equalOpts == '<>') { |
| | | soql += 'AND ' + textOpts + equalOpts + '\'' + numtext + '\''; |
| | | } |
| | | |
| | | //精琢科技 zxk 2021-08-25 start |
| | | //起始字符 |
| | | else if (equalOpts == 'starts with' && numtext.contains(' ')) { |
| | | String[] vals = numtext.split(' '); |
| | | soql += ' AND ( '; |
| | | for (Integer icount = 0; icount < vals.size(); icount++) { |
| | | String val = vals[icount]; |
| | | if (equalOpts == 'starts with') { |
| | | soql += ' ' + textOpts + ' LIKE \'%' + val + '%\'' ; |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' OR '; |
| | | |
| | | } |
| | | } |
| | | } |
| | | soql += ')'; |
| | | |
| | | } |
| | | //精琢科技 zxk 2021-08-25 end |
| | | |
| | | // //起始字符 |
| | | // else if (equalOpts == 'starts with'){ |
| | | // soql += 'AND ' + textOpts + ' LIKE \'' + numtext + '%\''; |
| | | // } |
| | | //检索连接符的其他情况 |
| | | else { |
| | | String cSql = this.makeTextSqlStr(textOpts, equalOpts, numtext); |
| | | if (equalOpts != '<>') { |
| | | soql += cSql; |
| | | } else { |
| | | soql += ' and (NOT ' + cSql + ') '; |
| | | } |
| | | } |
| | | } |
| | | // if (oi.changeFlgRt == '1' && oi.opp.id != null) { |
| | | // oi.changeFlgRt = '0'; |
| | | // updOpps.add(oi.opp); |
| | | // } |
| | | } |
| | | if (updTarget.size() > 0) { |
| | | system.debug('updTarget.size:' + updTarget.size()); |
| | | update updTarget; |
| | | } |
| | | // if (updOpps.size() > 0) { |
| | | // update updOpps; |
| | | // } |
| | | ApexPages.addmessage( |
| | | new ApexPages.message(ApexPages.severity.INFO, '保存完了') |
| | | ); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '保存完了'; |
| | | } catch (Exception e) { |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '请确定科室分类和产品区分的关系')); |
| | | return soql; |
| | | } |
| | | if (saveType == '1') { |
| | | searchOppInner(); |
| | | saveType = ''; |
| | | } else if (saveType == '2') { |
| | | sortTable(); |
| | | saveType = ''; |
| | | } else { |
| | | //检索条件:数据字段1,数据字段2,数据字段3均满足,并且进入makeTextSql()之后,内含数据字段包含多种时进入此方法。 |
| | | @TestVisible private String makeTextSqlStr(String textOpts, String equalOpts, String val) { |
| | | String soql = ''; |
| | | if (!String.isBlank(textOpts)) { |
| | | String tmpVal = val; |
| | | if (!String.isBlank(tmpVal)) { |
| | | if (equalOpts == 'contains' || equalOpts == 'notcontains') { |
| | | if (equalOpts == 'contains') { |
| | | soql += ' ' + textOpts + ' LIKE \'%' + val + '%\'' ; |
| | | } else if (equalOpts == 'notcontains') { |
| | | soql += ' ( NOT ' + textOpts + ' LIKE \'%' + val + '%\' ) ' ; |
| | | } |
| | | } else if (equalOpts == '=' || equalOpts == '<>') { |
| | | if (equalOpts == '=') { |
| | | soql += ' AND ' + textOpts + ' = ' + val ; |
| | | } else if (equalOpts == '<>') { |
| | | soql += ' AND ' + textOpts + ' <> ' + val ; |
| | | } |
| | | } |
| | | } else { |
| | | soql = ' AND ' + textOpts; |
| | | if (equalOpts == '=') { |
| | | soql += ' = ' + tmpVal; |
| | | } else if (equalOpts == '<>') { |
| | | soql += ' <> ' + tmpVal; |
| | | } else if (equalOpts == 'contains') { |
| | | soql += ' like \'%' + String.escapeSingleQuotes(tmpVal.replaceAll('%', '\\%')) + '%\''; |
| | | } else if (equalOpts == 'notcontains') { |
| | | soql += ' like \'%' + String.escapeSingleQuotes(tmpVal.replaceAll('%', '\\%')) + '%\''; |
| | | } else if (equalOpts == 'starts with') { |
| | | soql += ' like \'%' + String.escapeSingleQuotes(tmpVal.replaceAll('%', '\\%')) + '%\''; |
| | | } else { |
| | | soql += ' ' + equalOpts + ' ' + tmpVal; |
| | | } |
| | | } |
| | | } |
| | | return soql; |
| | | } |
| | | return null; |
| | | } |
| | | //全部展开调用此方法 |
| | | public PageReference sortTable() { |
| | | oppRecords = new List<OpportunityInfo>(); |
| | | if (this.sortKey == this.preSortKey) { |
| | | if (String.isBlank(this.sortKey) == false) { |
| | | // 方向が変わるのみ |
| | | this.sortOrderAsc = !this.sortOrderAsc; |
| | | this.sortOrder[Integer.valueOf(this.sortKey)] = (this.sortOrderAsc == |
| | | true |
| | | ? '↑' |
| | | : '↓'); |
| | | } |
| | | } else { |
| | | this.sortOrderAsc = true; |
| | | if (String.isBlank(this.preSortKey) == false) { |
| | | this.sortOrder[Integer.valueOf(this.preSortKey)] = ' '; |
| | | } |
| | | this.sortOrder[Integer.valueOf(this.sortKey)] = (this.sortOrderAsc == true |
| | | ? '↑' |
| | | : '↓'); |
| | | } |
| | | this.preSortKey = this.sortKey; |
| | | |
| | | setLayoutRWInfo(); |
| | | searchOppInner(); |
| | | return null; |
| | | } |
| | | |
| | | //自定义类OpportunityInfo,用于创建虚拟字段,合并输出。 |
| | | class OpportunityInfo { |
| | | // public Opportunity opp { get; set; } |
| | | public Agency_Opportunity__c opp { get; set; } |
| | | public Boolean canEdit { get; private set; } |
| | | public Boolean hasError { get; private set; } |
| | | public Boolean hasFieldError { get; private set; } |
| | | public Integer lineNo { get; private set; } |
| | | public String changeFlg { get; set; } |
| | | public String changeFlgRt { get; set; } |
| | | public Boolean ifLock { get; set; } |
| | | //public String accType { get; private set; } |
| | | public Agency_Opportunity__c AgcOpp { get; set; } |
| | | public OpportunityInfo( |
| | | Agency_Opportunity__c record, |
| | | Agency_Opportunity__c oppo |
| | | ) { |
| | | opp = oppo; |
| | | canEdit = true; |
| | | hasError = false; |
| | | hasFieldError = false; |
| | | lineNo = 0; |
| | | changeFlg = '0'; |
| | | changeFlgRt = '0'; |
| | | ifLock = Approval.isLocked(record); |
| | | AgcOpp = record; |
| | | //检索按钮:点击检索按钮触发此方法; |
| | | public PageReference chick() { |
| | | setLayoutRWInfo(); |
| | | searchOppInner(); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | //页面内容有修改时,页面判断后传值给changeFlg以及changeFlgRt属性,点击保存时调用此方法,进行保存。 |
| | | public PageReference save() { |
| | | //system.debug('oppRecords[1].opp:' + oppRecords[1].opp +' oppRecords[1].AgcOpp:' + oppRecords[1].AgcOpp ); |
| | | try { |
| | | List<Agency_Opportunity__c> updTarget = new List<Agency_Opportunity__c>(); |
| | | // List<Opportunity> updOpps = new List<Opportunity>(); |
| | | for (OpportunityInfo oi : oppRecords) { |
| | | if (oi.changeFlg == '1') { |
| | | oi.changeFlg = '0'; |
| | | updTarget.add(oi.AgcOpp); |
| | | |
| | | } |
| | | // if (oi.changeFlgRt == '1' && oi.opp.id != null) { |
| | | // oi.changeFlgRt = '0'; |
| | | // updOpps.add(oi.opp); |
| | | // } |
| | | } |
| | | if (updTarget.size() > 0) { |
| | | system.debug('updTarget.size:' + updTarget.size() ); |
| | | update updTarget; |
| | | } |
| | | // if (updOpps.size() > 0) { |
| | | // update updOpps; |
| | | // } |
| | | ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '保存完了')); |
| | | //add by Link 2023-6-2 |
| | | remindMsg = '保存完了'; |
| | | } catch (Exception e) { |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '请确定科室分类和产品区分的关系')); |
| | | } |
| | | if (saveType == '1') { |
| | | searchOppInner(); |
| | | saveType = ''; |
| | | } else if (saveType == '2') { |
| | | sortTable(); |
| | | saveType = ''; |
| | | } else { |
| | | } |
| | | return null; |
| | | } |
| | | //全部展开调用此方法 |
| | | public PageReference sortTable() { |
| | | oppRecords = new List<OpportunityInfo>(); |
| | | if (this.sortKey == this.preSortKey) { |
| | | if (String.isBlank(this.sortKey) == false) { |
| | | // 方向が変わるのみ |
| | | this.sortOrderAsc = !this.sortOrderAsc; |
| | | this.sortOrder[Integer.valueOf(this.sortKey)] = (this.sortOrderAsc == true ? '↑' : '↓'); |
| | | } |
| | | } else { |
| | | this.sortOrderAsc = true; |
| | | if (String.isBlank(this.preSortKey) == false) { |
| | | this.sortOrder[Integer.valueOf(this.preSortKey)] = ' '; |
| | | } |
| | | this.sortOrder[Integer.valueOf(this.sortKey)] = (this.sortOrderAsc == true ? '↑' : '↓'); |
| | | } |
| | | this.preSortKey = this.sortKey; |
| | | |
| | | setLayoutRWInfo(); |
| | | searchOppInner(); |
| | | return null; |
| | | } |
| | | |
| | | //自定义类OpportunityInfo,用于创建虚拟字段,合并输出。 |
| | | class OpportunityInfo { |
| | | // public Opportunity opp { get; set; } |
| | | public Agency_Opportunity__c opp { get; set; } |
| | | public Boolean canEdit { get; private set; } |
| | | public Boolean hasError { get; private set; } |
| | | public Boolean hasFieldError { get; private set; } |
| | | public Integer lineNo { get; private set; } |
| | | public String changeFlg { get; set; } |
| | | public String changeFlgRt { get; set; } |
| | | public Boolean ifLock { get; set; } |
| | | //public String accType { get; private set; } |
| | | public Agency_Opportunity__c AgcOpp { get; set; } |
| | | public OpportunityInfo(Agency_Opportunity__c record, Agency_Opportunity__c oppo) { |
| | | opp = oppo; |
| | | canEdit = true; |
| | | hasError = false; |
| | | hasFieldError = false; |
| | | lineNo = 0; |
| | | changeFlg = '0'; |
| | | changeFlgRt = '0'; |
| | | ifLock = Approval.isLocked(record); |
| | | AgcOpp = record; |
| | | } |
| | | } |
| | | } |
| | |
| | | @isTest |
| | | private class DealerInquiryModifyStateControllerTest { |
| | | @TestSetup |
| | | static void init() { |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectSct = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE |
| | | IsActive = TRUE |
| | | AND SobjectType = 'Account' |
| | | AND Name = '戦略科室分類 呼吸科' |
| | | ]; |
| | | if (rectSct.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectDpt = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE |
| | | IsActive = TRUE |
| | | AND SobjectType = 'Account' |
| | | AND Name = '診療科 消化科' |
| | | ]; |
| | | if (rectDpt.size() == 0) { |
| | | return; |
| | | @TestSetup static void init() { |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科']; |
| | | if (rectSct.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; |
| | | if (rectDpt.size() == 0) { |
| | | return; |
| | | } |
| | | |
| | | // テストデータ |
| | | |
| | | Account company = new Account(); |
| | | company.RecordTypeId = rectCo[0].Id; |
| | | company.Name = 'NFM007TestCompany'; |
| | | insert company; |
| | | Account section = new Account(); |
| | | section.RecordTypeId = rectSct[0].Id; |
| | | section.Name = '*'; |
| | | section.Department_Class_Label__c = '消化科'; |
| | | section.ParentId = company.Id; |
| | | section.Hospital_Department_Class__c = company.Id; |
| | | insert section; |
| | | // Test.startTest(); |
| | | Account depart = new Account(); |
| | | depart.RecordTypeId = rectDpt[0].Id; |
| | | depart.Name = '*'; |
| | | depart.Department_Name__c = 'NFM007TestDepart'; |
| | | depart.ParentId = section.Id; |
| | | depart.Department_Class__c = section.Id; |
| | | depart.Hospital__c = company.Id; |
| | | insert depart; |
| | | |
| | | Opportunity opp = new Opportunity(); |
| | | opp.AccountId = depart.Id; |
| | | opp.Department_Class__c = section.Id; |
| | | opp.Hospital__c = company.Id; |
| | | opp.SAP_Send_OK__c = false; |
| | | opp.Name = 'GZ-SP-NFM007_1'; |
| | | opp.Trade__c = '内貿'; |
| | | opp.StageName = '引合'; |
| | | opp.CloseDate = Date.today(); |
| | | opp.Stock_apply_status__c = '申请中'; |
| | | insert opp; |
| | | Test.startTest(); |
| | | Account account2 = new Account(); |
| | | account2.Name = 'test1经销商'; |
| | | account2.RecordTypeId = '01210000000Qem1'; |
| | | insert account2; |
| | | |
| | | Contact contact1 = new Contact(); |
| | | contact1.AccountId = account2.Id; |
| | | contact1.FirstName = '責任者'; |
| | | contact1.LastName = 'test1医院'; |
| | | contact1.Agency_User__c = true; |
| | | insert contact1; |
| | | List<Contact> contactlist = [select Id, FirstName |
| | | from Contact |
| | | ]; |
| | | |
| | | System.assertEquals('責任者', contactlist[0].FirstName); |
| | | |
| | | |
| | | |
| | | // |
| | | User user = new User(); |
| | | Profile p = [select Id from Profile where Name = '901_经销商活动系统']; |
| | | user.ProfileId = p.Id; |
| | | user.ContactId = contact1.Id; |
| | | user.FirstName = 'ユーザー'; |
| | | user.LastName = 'テスト'; |
| | | user.Email = 'test_user@example.com'; |
| | | user.emailencodingkey = 'UTF-8'; |
| | | user.languagelocalekey = 'zh_CN'; |
| | | user.localesidkey = 'ja_JP'; |
| | | user.timezonesidkey = 'Asia/Shanghai'; |
| | | user.Username = 'test_user@example.com'; |
| | | user.Alias = 'テユ'; |
| | | user.CommunityNickname = 'テストユーザー'; |
| | | user.SalesManager__c = UserInfo.getUserId(); |
| | | System.runAs(new User(Id = UserInfo.getUserId())){ |
| | | insert user; |
| | | } |
| | | List<user> users = [select Id, Name, LastName, FirstName from User where LastName = 'テスト']; |
| | | // |
| | | |
| | | Agency_Hospital_Link__c agency_hospital_link = new Agency_Hospital_Link__c(); |
| | | agency_hospital_link.Name = 'test1代理店医院'; |
| | | agency_hospital_link.Hospital__c = company.Id; |
| | | agency_hospital_link.Agency__c = account2.Id; |
| | | agency_hospital_link.Agency_Campaign_Obj__c = true; |
| | | agency_hospital_link.OwnerId = user.Id; |
| | | insert agency_hospital_link; |
| | | // |
| | | |
| | | //System.assertEquals('テスト',users[0].LastName); |
| | | System.assertEquals('ユーザー', users[0].FirstName ); |
| | | |
| | | Id rtId = [select Id, DeveloperName from RecordType where IsActive = true and SobjectType = 'Agency_Opportunity__c' and DeveloperName = 'Opportunity'].Id; |
| | | // Schema.SobjectType.Agency_Opportunity__c.getRecordTypeInfosByName().get('询价').getRecordTypeId(); |
| | | Agency_opportunity__c agency_opportunity = new Agency_opportunity__c(); |
| | | agency_opportunity.RecordTypeId = rtId; |
| | | agency_opportunity.Name = '引合1'; |
| | | agency_opportunity.Hospital_Target__c = company.Id; |
| | | agency_opportunity.Agency__c = depart.Id; |
| | | agency_opportunity.Agency_Hospital__c = agency_hospital_link.Id; |
| | | agency_opportunity.StageName__c = '还没申请预算'; |
| | | agency_opportunity.OwnerId = user.Id; |
| | | agency_opportunity.Change_To_Opportunity_T__c = '::CF-HQ290I'; |
| | | agency_opportunity.Sales_Manager__c =UserInfo.getUserId(); |
| | | |
| | | insert agency_opportunity; |
| | | Test.stopTest(); |
| | | |
| | | } |
| | | |
| | | // テストデータ |
| | | static testMethod void myUnitTest_SortKey() { |
| | | Test.startTest(); |
| | | Test.setMock(WebServiceMock.class, new NFMTest_Mock()); |
| | | Test.stopTest(); |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | |
| | | Account company = new Account(); |
| | | company.RecordTypeId = rectCo[0].Id; |
| | | company.Name = 'NFM007TestCompany'; |
| | | insert company; |
| | | Account section = new Account(); |
| | | section.RecordTypeId = rectSct[0].Id; |
| | | section.Name = '*'; |
| | | section.Department_Class_Label__c = '消化科'; |
| | | section.ParentId = company.Id; |
| | | section.Hospital_Department_Class__c = company.Id; |
| | | insert section; |
| | | // Test.startTest(); |
| | | Account depart = new Account(); |
| | | depart.RecordTypeId = rectDpt[0].Id; |
| | | depart.Name = '*'; |
| | | depart.Department_Name__c = 'NFM007TestDepart'; |
| | | depart.ParentId = section.Id; |
| | | depart.Department_Class__c = section.Id; |
| | | depart.Hospital__c = company.Id; |
| | | insert depart; |
| | | |
| | | Opportunity opp = new Opportunity(); |
| | | opp.AccountId = depart.Id; |
| | | opp.Department_Class__c = section.Id; |
| | | opp.Hospital__c = company.Id; |
| | | opp.SAP_Send_OK__c = false; |
| | | opp.Name = 'GZ-SP-NFM007_1'; |
| | | opp.Trade__c = '内貿'; |
| | | opp.StageName = '引合'; |
| | | opp.CloseDate = Date.today(); |
| | | opp.Stock_apply_status__c = '申请中'; |
| | | insert opp; |
| | | Test.startTest(); |
| | | Account account2 = new Account(); |
| | | account2.Name = 'test1经销商'; |
| | | account2.RecordTypeId = '01210000000Qem1'; |
| | | insert account2; |
| | | |
| | | Contact contact1 = new Contact(); |
| | | contact1.AccountId = account2.Id; |
| | | contact1.FirstName = '責任者'; |
| | | contact1.LastName = 'test1医院'; |
| | | contact1.Agency_User__c = true; |
| | | insert contact1; |
| | | List<Contact> contactlist = [ |
| | | SELECT Id, FirstName |
| | | FROM Contact |
| | | ]; |
| | | |
| | | System.assertEquals('責任者', contactlist[0].FirstName); |
| | | |
| | | // |
| | | User user = new User(); |
| | | Profile p = [SELECT Id FROM Profile WHERE Name = '901_经销商活动系统']; |
| | | user.ProfileId = p.Id; |
| | | user.ContactId = contact1.Id; |
| | | user.FirstName = 'ユーザー'; |
| | | user.LastName = 'テスト'; |
| | | user.Email = 'test_user@example.com'; |
| | | user.emailencodingkey = 'UTF-8'; |
| | | user.languagelocalekey = 'zh_CN'; |
| | | user.localesidkey = 'ja_JP'; |
| | | user.timezonesidkey = 'Asia/Shanghai'; |
| | | user.Username = 'test_user@example.com'; |
| | | user.Alias = 'テユ'; |
| | | user.CommunityNickname = 'テストユーザー'; |
| | | user.SalesManager__c = UserInfo.getUserId(); |
| | | System.runAs(new User(Id = UserInfo.getUserId())) { |
| | | insert user; |
| | | // 初始化测试 |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | |
| | | |
| | | controller.init(); |
| | | //System.assertEquals(1, controller.oppRecords.size());验证预期值和结果值正确性 |
| | | // 排序测试 |
| | | // Test.startTest(); |
| | | // Test.stopTest(); |
| | | controller.sortKey = '1'; |
| | | controller.sortKey = '1'; |
| | | controller.sortTable(); |
| | | controller.sortKey = '1'; |
| | | controller.sortKey = '0'; |
| | | controller.sortTable(); |
| | | // Test.stopTest(); |
| | | } |
| | | List<user> users = [ |
| | | SELECT Id, Name, LastName, FirstName |
| | | FROM User |
| | | WHERE LastName = 'テスト' |
| | | ]; |
| | | // |
| | | static testMethod void myUnitTest_AccSearchAndAoosearch() { |
| | | Test.startTest(); |
| | | Test.setMock(WebServiceMock.class, new NFMTest_Mock()); |
| | | Test.stopTest(); |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | // Test.startTest(); |
| | | |
| | | controller.init(); |
| | | //文本输入框检索 |
| | | //1:经销商医院 |
| | | controller.accSearch = '洪洞县中医院'; |
| | | controller.chick(); |
| | | //2:担当人 |
| | | controller.aooSearch = '王契琪'; |
| | | controller.chick(); |
| | | // Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_numtext_Equals() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | // 检索数据字段测试 |
| | | //1:检索经销商编码 = 151P-00001327 |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '='; |
| | | controller.numtext = '151P-00001327'; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '<>'; |
| | | controller.numtext = '151P-00001327'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_numtext_Starts_with() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '<'; |
| | | controller.numtext = '151P-00001327'; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'starts with'; |
| | | controller.numtext = '151P-00001327'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_contains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //2:检索经销商编码 包含 151P |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'contains'; |
| | | controller.numtext = '151P'; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'notcontains'; |
| | | controller.numtext = '151P'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_null_contains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //3:检索条件含空格 |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'contains'; |
| | | controller.numtext = '151P 150P'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_null_notcontains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'notcontains'; |
| | | controller.numtext = '151P 150P'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_AllNull_contains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'contains'; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_AllNull_notcontains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'notcontains'; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '='; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_tarts_with() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '<>'; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = ' starts with '; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_Equals_D() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //4:检索条件含逗号 |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '='; |
| | | controller.numtext = '151P-00001327,151P-00001343'; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '<>'; |
| | | controller.numtext = '151P-00001327,151P-00001343'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTestTime01() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //检索日期测试 |
| | | controller.tmpAO = new Agency_Opportunity__c(); |
| | | controller.tmpBO = new Agency_Opportunity__c(); |
| | | controller.timetext1 = 'Created_Day__c'; |
| | | controller.timetext2 = '='; |
| | | controller.tmpAO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.chick(); |
| | | |
| | | Agency_Hospital_Link__c agency_hospital_link = new Agency_Hospital_Link__c(); |
| | | agency_hospital_link.Name = 'test1代理店医院'; |
| | | agency_hospital_link.Hospital__c = company.Id; |
| | | agency_hospital_link.Agency__c = account2.Id; |
| | | agency_hospital_link.Agency_Campaign_Obj__c = true; |
| | | agency_hospital_link.OwnerId = user.Id; |
| | | insert agency_hospital_link; |
| | | // |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-09'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-19'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09'); |
| | | controller.chick(); |
| | | // Test.startTest(); |
| | | controller.tmpAO.MaxActivityDate__c = date.valueOf('2018-12-02'); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.chick(); |
| | | |
| | | //System.assertEquals('テスト',users[0].LastName); |
| | | System.assertEquals('ユーザー', users[0].FirstName); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-09'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-19'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09'); |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | |
| | | Id rtId = [ |
| | | SELECT Id, DeveloperName |
| | | FROM RecordType |
| | | WHERE |
| | | IsActive = TRUE |
| | | AND SobjectType = 'Agency_Opportunity__c' |
| | | AND DeveloperName = 'Opportunity' |
| | | ] |
| | | .Id; |
| | | // Schema.SobjectType.Agency_Opportunity__c.getRecordTypeInfosByName().get('询价').getRecordTypeId(); |
| | | Agency_opportunity__c agency_opportunity = new Agency_opportunity__c(); |
| | | agency_opportunity.RecordTypeId = rtId; |
| | | agency_opportunity.Name = '引合1'; |
| | | agency_opportunity.Hospital_Target__c = company.Id; |
| | | agency_opportunity.Agency__c = depart.Id; |
| | | agency_opportunity.Agency_Hospital__c = agency_hospital_link.Id; |
| | | agency_opportunity.StageName__c = '还没申请预算'; |
| | | agency_opportunity.OwnerId = user.Id; |
| | | agency_opportunity.Change_To_Opportunity_T__c = '::CF-HQ290I'; |
| | | agency_opportunity.Sales_Manager__c = UserInfo.getUserId(); |
| | | } |
| | | static testMethod void myUnitTestTime02() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.tmpAO = new Agency_Opportunity__c(); |
| | | controller.tmpBO = new Agency_Opportunity__c(); |
| | | controller.timetext1 = 'Created_Day__c'; |
| | | controller.timetext2 = '='; |
| | | controller.tmpAO.MaxActivityDate__c = date.valueOf('2018-02-12'); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.chick(); |
| | | |
| | | insert agency_opportunity; |
| | | Test.stopTest(); |
| | | } |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-09'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-19'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09'); |
| | | controller.chick(); |
| | | // Test.startTest(); |
| | | controller.tmpAO.MaxActivityDate__c = date.valueOf('2018-02-02'); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.chick(); |
| | | |
| | | static testMethod void myUnitTest_SortKey() { |
| | | Test.startTest(); |
| | | Test.setMock(WebServiceMock.class, new NFMTest_Mock()); |
| | | Test.stopTest(); |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-09'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-19'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09'); |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | |
| | | // 初始化测试 |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | |
| | | controller.init(); |
| | | //System.assertEquals(1, controller.oppRecords.size());验证预期值和结果值正确性 |
| | | // 排序测试 |
| | | // Test.startTest(); |
| | | // Test.stopTest(); |
| | | controller.sortKey = '1'; |
| | | controller.sortKey = '1'; |
| | | controller.sortTable(); |
| | | controller.sortKey = '1'; |
| | | controller.sortKey = '0'; |
| | | controller.sortTable(); |
| | | // Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_AccSearchAndAoosearch() { |
| | | Test.startTest(); |
| | | Test.setMock(WebServiceMock.class, new NFMTest_Mock()); |
| | | Test.stopTest(); |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | // Test.startTest(); |
| | | |
| | | controller.init(); |
| | | //文本输入框检索 |
| | | //1:经销商医院 |
| | | controller.accSearch = '洪洞县中医院'; |
| | | controller.chick(); |
| | | //2:担当人 |
| | | controller.aooSearch = '王契琪'; |
| | | controller.chick(); |
| | | // Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_numtext_Equals() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | // 检索数据字段测试 |
| | | //1:检索经销商编码 = 151P-00001327 |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '='; |
| | | controller.numtext = '151P-00001327'; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '<>'; |
| | | controller.numtext = '151P-00001327'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_numtext_Starts_with() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '<'; |
| | | controller.numtext = '151P-00001327'; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'starts with'; |
| | | controller.numtext = '151P-00001327'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_contains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //2:检索经销商编码 包含 151P |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'contains'; |
| | | controller.numtext = '151P'; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'notcontains'; |
| | | controller.numtext = '151P'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_null_contains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //3:检索条件含空格 |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'contains'; |
| | | controller.numtext = '151P 150P'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_null_notcontains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'notcontains'; |
| | | controller.numtext = '151P 150P'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_AllNull_contains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'contains'; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_AllNull_notcontains() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = 'notcontains'; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '='; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_tarts_with() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '<>'; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = ' starts with '; |
| | | controller.numtext = ' '; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTest_Equals_D() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //4:检索条件含逗号 |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '='; |
| | | controller.numtext = '151P-00001327,151P-00001343'; |
| | | controller.chick(); |
| | | controller.numtext1 = 'Agency_Opportunity_No__c'; |
| | | controller.numtext2 = '<>'; |
| | | controller.numtext = '151P-00001327,151P-00001343'; |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTestTime01() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //检索日期测试 |
| | | controller.tmpAO = new Agency_Opportunity__c(); |
| | | controller.tmpBO = new Agency_Opportunity__c(); |
| | | controller.timetext1 = 'Created_Day__c'; |
| | | controller.timetext2 = '='; |
| | | controller.tmpAO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.chick(); |
| | | |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-09'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-19'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09'); |
| | | controller.chick(); |
| | | // Test.startTest(); |
| | | controller.tmpAO.MaxActivityDate__c = date.valueOf('2018-12-02'); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.chick(); |
| | | |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-09'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-19'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09'); |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTestTime02() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.tmpAO = new Agency_Opportunity__c(); |
| | | controller.tmpBO = new Agency_Opportunity__c(); |
| | | controller.timetext1 = 'Created_Day__c'; |
| | | controller.timetext2 = '='; |
| | | controller.tmpAO.MaxActivityDate__c = date.valueOf('2018-02-12'); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.chick(); |
| | | |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-09'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-19'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09'); |
| | | controller.chick(); |
| | | // Test.startTest(); |
| | | controller.tmpAO.MaxActivityDate__c = date.valueOf('2018-02-02'); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-12'); |
| | | controller.chick(); |
| | | |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-12-09'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-19'); |
| | | controller.chick(); |
| | | controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09'); |
| | | controller.chick(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTestTimeSave() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.oppRecords[0].changeFlg = '1'; |
| | | controller.save(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTestTimeSave_1() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //保存时状态changeFlgRt为1 |
| | | controller.oppRecords[0].changeFlgRt = '1'; |
| | | controller.save(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTestTime_LimitsAndOppCount() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //数据显示条数 |
| | | controller.limits = '10'; |
| | | controller.searchOppInner(); |
| | | //oppLimit and oppCount |
| | | controller.oppCount = 1000; |
| | | controller.init(); |
| | | Test.stopTest(); |
| | | } |
| | | } |
| | | } |
| | | static testMethod void myUnitTestTimeSave() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | Test.startTest(); |
| | | controller.init(); |
| | | controller.oppRecords[0].changeFlg = '1'; |
| | | controller.save(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTestTimeSave_1() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //保存时状态changeFlgRt为1 |
| | | controller.oppRecords[0].changeFlgRt = '1'; |
| | | controller.save(); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void myUnitTestTime_LimitsAndOppCount() { |
| | | PageReference page = new PageReference('/apex/DealerInquiryModifyState'); |
| | | System.Test.setCurrentPage(page); |
| | | DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController(); |
| | | // 初始化测试 |
| | | Test.startTest(); |
| | | controller.init(); |
| | | //数据显示条数 |
| | | controller.limits = '10'; |
| | | controller.searchOppInner(); |
| | | //oppLimit and oppCount |
| | | controller.oppCount = 1000; |
| | | controller.init(); |
| | | Test.stopTest(); |
| | | } |
| | | } |
| | |
| | | @isTest |
| | | private class LexArriveGoodsControllerTest { |
| | | @IsTest |
| | | static void test1() { |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); |
| | | insert n; |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET)' |
| | | ]; |
| | | @IsTest |
| | | static void test1(){ |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true); |
| | | insert n; |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; |
| | | |
| | | Account myAccount1 = new Account( |
| | | Name = 'Testaccount001', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '9999996' |
| | | ); |
| | | Account myAccount2 = new Account( |
| | | Name = 'Testaccount002', |
| | | Dealer_discount__c = 10, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '9999900', |
| | | Product_Limit_Date__c = 'Test01|2|4,Test02|3|5' |
| | | ); |
| | | insert new List<Account>{ myAccount1, myAccount2 }; |
| | | Account myAccount1 = new Account(Name='Testaccount001',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999996'); |
| | | Account myAccount2 = new Account(Name='Testaccount002',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900',Product_Limit_Date__c = 'Test01|2|4,Test02|3|5'); |
| | | insert new Account[]{myAccount1,myAccount2}; |
| | | |
| | | Contact core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount1.id |
| | | ); |
| | | insert core; |
| | | user MyUser_Test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com', |
| | | UserPro_Type__c = 'ET' |
| | | ); |
| | | System.runAs(new User(Id = UserInfo.getUserId())) { |
| | | insert MyUser_Test; |
| | | Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id); |
| | | insert core; |
| | | user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET'); |
| | | System.runAs(new User(Id = UserInfo.getUserId())){ |
| | | insert MyUser_Test; |
| | | } |
| | | |
| | | // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; |
| | | // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // insert new Product2[] {prod01,prod02}; |
| | | system.runAs(MyUser_Test){ |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | insert new Product2[] {prod01,prod02}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | insert new Product2__c[] {pro1, pro2}; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | // Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Total_num__c = 3; |
| | | Order1.OrderNumber_arrived__c =1; |
| | | Order1.Delivery_detail_count__c=1; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | |
| | | //订单明细 |
| | | //fahuo |
| | | Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); |
| | | Orderdet.Name = 'OCM_01_00101'; |
| | | Orderdet.Consumable_order__c = Order1.Id; |
| | | Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; |
| | | Orderdet.Consumable_Product__c = pro1.Id; |
| | | Orderdet.Consumable_count__c = 40; |
| | | insert Orderdet; |
| | | |
| | | //发货明细 |
| | | //到货正确信息 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001002'; |
| | | Orderdet1.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet1.Consumable_Product__c = pro1.Id; |
| | | Orderdet1.Asset_Model_No__c = 'Test01'; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet1.TracingCode__c = 'BXJRA'; |
| | | |
| | | //取消产品 |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001003'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Test01'; |
| | | //Orderdet2.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB'; |
| | | Orderdet2.Cancellation_Date__c= Date.today(); |
| | | Orderdet2.TracingCode__c = 'BXJRB'; |
| | | //销售产品 |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001004'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro1.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Test01'; |
| | | Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC'; |
| | | Orderdet3.Used_date__c = Date.today(); |
| | | Orderdet3.Arrive_date__c = Date.today(); |
| | | Orderdet3.TracingCode__c = 'BXJRC'; |
| | | //Orderdet3.Box_Piece__c = '盒'; |
| | | |
| | | |
| | | //出库产品 |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001005'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro1.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Test01'; |
| | | Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD'; |
| | | Orderdet4.Send_Date__c = Date.today(); |
| | | Orderdet4.Arrive_date__c = Date.today(); |
| | | Orderdet4.TracingCode__c = 'BXJRD'; |
| | | |
| | | //已到货产品 |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001006'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro1.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Test01'; |
| | | Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE'; |
| | | Orderdet5.Arrive_date__c = Date.today(); |
| | | Orderdet5.TracingCode__c = 'BXJRE'; |
| | | |
| | | //发货明细 |
| | | //管理编码包含数字 |
| | | Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); |
| | | Orderdet6.Name = 'OCM_01_001002'; |
| | | Orderdet6.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet6.Consumable_Product__c = pro1.Id; |
| | | Orderdet6.Asset_Model_No__c = 'Test01'; |
| | | Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123'; |
| | | Orderdet6.TracingCode__c = 'BX123'; |
| | | |
| | | //发错库 未到货 |
| | | Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c(); |
| | | Orderdets8.Name = 'OCM_01_001011'; |
| | | Orderdets8.Consumable_order_minor__c = Order1.Id; |
| | | Orderdets8.Consumable_Product__c = pro1.Id; |
| | | Orderdets8.Asset_Model_No__c = 'Test01'; |
| | | Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys'; |
| | | Orderdets8.Box_Piece__c = '盒'; |
| | | Orderdets8.TracingCode__c = 'BXsys'; |
| | | |
| | | insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8}; |
| | | |
| | | List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id]; |
| | | System.assertEquals(1, cod1.size()); |
| | | |
| | | PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id); |
| | | |
| | | System.Test.setCurrentPage(page); |
| | | ArriveGoodsController Controller = new ArriveGoodsController(); |
| | | //初始化测试 |
| | | System.Test.startTest(); |
| | | LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', Order1.Id); |
| | | String arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.searchProduct('', arrControllerStr); |
| | | re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123', arrControllerStr); |
| | | arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | |
| | | // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; |
| | | // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // insert new Product2[] {prod01,prod02}; |
| | | System.runAs(MyUser_Test) { |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | RecordTypeId = '01210000000aMAFAA2', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200311', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | RecordTypeId = '01210000000aMAFAA2', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200312', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ prod01, prod02 }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro1, pro2 }; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | // Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Total_num__c = 3; |
| | | Order1.OrderNumber_arrived__c = 1; |
| | | Order1.Delivery_detail_count__c = 1; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | @IsTest |
| | | static void test2(){ |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true); |
| | | insert n; |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; |
| | | |
| | | //订单明细 |
| | | //fahuo |
| | | Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); |
| | | Orderdet.Name = 'OCM_01_00101'; |
| | | Orderdet.Consumable_order__c = Order1.Id; |
| | | Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; |
| | | Orderdet.Consumable_Product__c = pro1.Id; |
| | | Orderdet.Consumable_count__c = 40; |
| | | insert Orderdet; |
| | | |
| | | //发货明细 |
| | | //到货正确信息 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001002'; |
| | | Orderdet1.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet1.Consumable_Product__c = pro1.Id; |
| | | Orderdet1.Asset_Model_No__c = 'Test01'; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet1.TracingCode__c = 'BXJRA'; |
| | | Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900'); |
| | | Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id); |
| | | insert new account[]{myAccount1,myAccount2}; |
| | | |
| | | //取消产品 |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001003'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Test01'; |
| | | //Orderdet2.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB'; |
| | | Orderdet2.Cancellation_Date__c = Date.today(); |
| | | Orderdet2.TracingCode__c = 'BXJRB'; |
| | | //销售产品 |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001004'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro1.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Test01'; |
| | | Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC'; |
| | | Orderdet3.Used_date__c = Date.today(); |
| | | Orderdet3.Arrive_date__c = Date.today(); |
| | | Orderdet3.TracingCode__c = 'BXJRC'; |
| | | //Orderdet3.Box_Piece__c = '盒'; |
| | | Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id); |
| | | insert core; |
| | | user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET'); |
| | | System.runAs(new User(Id = UserInfo.getUserId())){ |
| | | insert MyUser_Test; |
| | | } |
| | | |
| | | //出库产品 |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001005'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro1.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Test01'; |
| | | Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD'; |
| | | Orderdet4.Send_Date__c = Date.today(); |
| | | Orderdet4.Arrive_date__c = Date.today(); |
| | | Orderdet4.TracingCode__c = 'BXJRD'; |
| | | // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; |
| | | // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // insert new Product2[] {prod01,prod02}; |
| | | system.runAs(MyUser_Test){ |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | insert new Product2[] {prod01,prod02}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | insert new Product2__c[] {pro1, pro2}; |
| | | //订单 |
| | | |
| | | //已到货产品 |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001006'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro1.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Test01'; |
| | | Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE'; |
| | | Orderdet5.Arrive_date__c = Date.today(); |
| | | Orderdet5.TracingCode__c = 'BXJRE'; |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | |
| | | //发货明细 |
| | | //管理编码包含数字 |
| | | Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); |
| | | Orderdet6.Name = 'OCM_01_001002'; |
| | | Orderdet6.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet6.Consumable_Product__c = pro1.Id; |
| | | Orderdet6.Asset_Model_No__c = 'Test01'; |
| | | Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123'; |
| | | Orderdet6.TracingCode__c = 'BX123'; |
| | | //返品订单 |
| | | |
| | | //发错库 未到货 |
| | | Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c(); |
| | | Orderdets8.Name = 'OCM_01_001011'; |
| | | Orderdets8.Consumable_order_minor__c = Order1.Id; |
| | | Orderdets8.Consumable_Product__c = pro1.Id; |
| | | Orderdets8.Asset_Model_No__c = 'Test01'; |
| | | Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys'; |
| | | Orderdets8.Box_Piece__c = '盒'; |
| | | Orderdets8.TracingCode__c = 'BXsys'; |
| | | Consumable_order__c Order2 = new Consumable_order__c(); |
| | | Order2.Name = 'OCM_01_002'; |
| | | Order2.Order_status__c = '批准'; |
| | | Order2.Order_type__c = '返品'; |
| | | Order2.Dealer_Info__c = myAccount1.id; |
| | | Order2.RecordTypeid = System.Label.Dealer_Returned_Label; |
| | | insert Order1; |
| | | insert Order2; |
| | | |
| | | insert new List<Consumable_order_details2__c>{ |
| | | Orderdet1, |
| | | Orderdet2, |
| | | Orderdet3, |
| | | Orderdet4, |
| | | Orderdet5, |
| | | Orderdet6, |
| | | Orderdets8 |
| | | }; |
| | | //订单明细 |
| | | //fahuo |
| | | Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); |
| | | Orderdet.Name = 'OCM_01_00101'; |
| | | Orderdet.Consumable_order__c = Order1.Id; |
| | | Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; |
| | | Orderdet.Consumable_Product__c = pro1.Id; |
| | | Orderdet.Consumable_count__c = 4; |
| | | insert Orderdet; |
| | | |
| | | List<Consumable_orderdetails__c> cod1 = [ |
| | | SELECT Id |
| | | FROM Consumable_orderdetails__c |
| | | WHERE Consumable_order__c = :Order1.Id |
| | | ]; |
| | | System.assertEquals(1, cod1.size()); |
| | | //发货明细 |
| | | //没出库,没销售,就是在库 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001001'; |
| | | Orderdet1.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet1.Consumable_Product__c = pro1.Id; |
| | | Orderdet1.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet1.Arrive_date__c = date.today(); |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF'; |
| | | Orderdet1.TracingCode__c = 'BXSYS'; |
| | | |
| | | PageReference page = new PageReference( |
| | | '/apex/ArriveGoods?Esetid=' + Order1.Id |
| | | ); |
| | | //daohuo |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001002'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet2.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet2.Arrive_date__c = date.today(); |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRI'; |
| | | Orderdet2.TracingCode__c = 'BXSYS'; |
| | | //sale |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001003'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro1.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet3.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet3.Arrive_date__c = date.today(); |
| | | Orderdet3.Used_date__c = date.today(); |
| | | Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ'; |
| | | Orderdet3.TracingCode__c = 'BXSYS'; |
| | | //出库 |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001004'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro1.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet4.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet4.Consumable_Shipment_order__c = Order1.Id; |
| | | Orderdet4.Send_Date__c = date.today(); |
| | | Orderdet4.Arrive_date__c = date.today(); |
| | | Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BX222'; |
| | | Orderdet4.TracingCode__c = 'BXSYS'; |
| | | //quxiao |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001005'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro1.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet5.Cancellation_Date__c = Date.today(); |
| | | Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ'; |
| | | Orderdet5.Box_Piece__c ='个'; |
| | | Orderdet5.TracingCode__c = 'BXSYS'; |
| | | //fanpin |
| | | Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); |
| | | Orderdet6.Name = 'OCM_01_001006'; |
| | | Orderdet6.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet6.Consumable_Product__c = pro1.Id; |
| | | Orderdet6.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet6.Consumable_Return_order__c = Order2.Id; |
| | | Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet6.Box_Piece__c ='个'; |
| | | Orderdet6.TracingCode__c = 'BXSYS'; |
| | | |
| | | System.Test.setCurrentPage(page); |
| | | ArriveGoodsController Controller = new ArriveGoodsController(); |
| | | //初始化测试 |
| | | System.Test.startTest(); |
| | | LexArriveGoodsController.Results re = LexArriveGoodsController.init( |
| | | 'Arr', |
| | | Order1.Id |
| | | ); |
| | | String arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.searchProduct('', arrControllerStr); |
| | | re = LexArriveGoodsController.searchProduct( |
| | | '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123', |
| | | arrControllerStr |
| | | ); |
| | | arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); |
| | | System.Test.stopTest(); |
| | | Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c(); |
| | | Orderdet7.Name = 'OCM_01_001001'; |
| | | Orderdet7.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet7.Consumable_Product__c = pro1.Id; |
| | | Orderdet7.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333'; |
| | | Orderdet7.TracingCode__c = 'BXSYS'; |
| | | insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7}; |
| | | ArriveGoodsController Controller = new ArriveGoodsController(); |
| | | System.Test.startTest(); |
| | | Controller.init(); |
| | | Controller.barcode = '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222'; |
| | | Controller.SearchPro(); |
| | | Controller.ArriveGoodsConfim(); |
| | | Controller.UpdateGoodsOfReturn(); |
| | | controller.getinventorysize(); |
| | | LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr',''); |
| | | String arrControllerStr = re.arrGoodCon; |
| | | re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222', arrControllerStr); |
| | | arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); |
| | | LexArriveGoodsController.updateGoodsOfReturn(re.arrGoodCon, JSON.serialize(re.showGoodsofReturnList)); |
| | | LexArriveGoodsController.ConsumableorderdetailsInfo con = new LexArriveGoodsController.ConsumableorderdetailsInfo(); |
| | | List<LexArriveGoodsController.ConsumableorderdetailsInfo> conList = new List<LexArriveGoodsController.ConsumableorderdetailsInfo>(); |
| | | conList.add(con); |
| | | LexArriveGoodsController.changeType2(conList); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @IsTest |
| | | static void test2() { |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); |
| | | insert n; |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET)' |
| | | ]; |
| | | |
| | | Account myAccount2 = new Account( |
| | | name = 'Testaccount002', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '9999900' |
| | | ); |
| | | Account myAccount1 = new Account( |
| | | name = 'Testaccount001', |
| | | Dealer_discount__c = 30, |
| | | RecordTypeId = rectCo[0].Id |
| | | ); |
| | | insert new List<account>{ myAccount1, myAccount2 }; |
| | | |
| | | Contact core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount1.id |
| | | ); |
| | | insert core; |
| | | user MyUser_Test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com', |
| | | UserPro_Type__c = 'ET' |
| | | ); |
| | | System.runAs(new User(Id = UserInfo.getUserId())) { |
| | | insert MyUser_Test; |
| | | } |
| | | |
| | | // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; |
| | | // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // insert new Product2[] {prod01,prod02}; |
| | | System.runAs(MyUser_Test) { |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | RecordTypeId = '01210000000aMAFAA2', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200311', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | RecordTypeId = '01210000000aMAFAA2', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200312', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ prod01, prod02 }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro1, pro2 }; |
| | | //订单 |
| | | |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | |
| | | //返品订单 |
| | | |
| | | Consumable_order__c Order2 = new Consumable_order__c(); |
| | | Order2.Name = 'OCM_01_002'; |
| | | Order2.Order_status__c = '批准'; |
| | | Order2.Order_type__c = '返品'; |
| | | Order2.Dealer_Info__c = myAccount1.id; |
| | | Order2.RecordTypeid = System.Label.Dealer_Returned_Label; |
| | | insert Order1; |
| | | insert Order2; |
| | | |
| | | //订单明细 |
| | | //fahuo |
| | | Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); |
| | | Orderdet.Name = 'OCM_01_00101'; |
| | | Orderdet.Consumable_order__c = Order1.Id; |
| | | Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; |
| | | Orderdet.Consumable_Product__c = pro1.Id; |
| | | Orderdet.Consumable_count__c = 4; |
| | | insert Orderdet; |
| | | |
| | | //发货明细 |
| | | //没出库,没销售,就是在库 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001001'; |
| | | Orderdet1.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet1.Consumable_Product__c = pro1.Id; |
| | | Orderdet1.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet1.Arrive_date__c = date.today(); |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF'; |
| | | Orderdet1.TracingCode__c = 'BXSYS'; |
| | | |
| | | //daohuo |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001002'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet2.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet2.Arrive_date__c = date.today(); |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRI'; |
| | | Orderdet2.TracingCode__c = 'BXSYS'; |
| | | //sale |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001003'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro1.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet3.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet3.Arrive_date__c = date.today(); |
| | | Orderdet3.Used_date__c = date.today(); |
| | | Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ'; |
| | | Orderdet3.TracingCode__c = 'BXSYS'; |
| | | //出库 |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001004'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro1.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet4.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet4.Consumable_Shipment_order__c = Order1.Id; |
| | | Orderdet4.Send_Date__c = date.today(); |
| | | Orderdet4.Arrive_date__c = date.today(); |
| | | Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BX222'; |
| | | Orderdet4.TracingCode__c = 'BXSYS'; |
| | | //quxiao |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001005'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro1.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet5.Cancellation_Date__c = Date.today(); |
| | | Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ'; |
| | | Orderdet5.Box_Piece__c = '个'; |
| | | Orderdet5.TracingCode__c = 'BXSYS'; |
| | | //fanpin |
| | | Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); |
| | | Orderdet6.Name = 'OCM_01_001006'; |
| | | Orderdet6.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet6.Consumable_Product__c = pro1.Id; |
| | | Orderdet6.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet6.Consumable_Return_order__c = Order2.Id; |
| | | Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet6.Box_Piece__c = '个'; |
| | | Orderdet6.TracingCode__c = 'BXSYS'; |
| | | |
| | | Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c(); |
| | | Orderdet7.Name = 'OCM_01_001001'; |
| | | Orderdet7.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet7.Consumable_Product__c = pro1.Id; |
| | | Orderdet7.Asset_Model_No__c = 'Pro001'; |
| | | Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333'; |
| | | Orderdet7.TracingCode__c = 'BXSYS'; |
| | | insert new List<Consumable_order_details2__c>{ |
| | | Orderdet1, |
| | | Orderdet2, |
| | | Orderdet3, |
| | | Orderdet4, |
| | | Orderdet5, |
| | | Orderdet6, |
| | | Orderdet7 |
| | | }; |
| | | ArriveGoodsController Controller = new ArriveGoodsController(); |
| | | System.Test.startTest(); |
| | | Controller.init(); |
| | | Controller.barcode = '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222'; |
| | | Controller.SearchPro(); |
| | | Controller.ArriveGoodsConfim(); |
| | | Controller.UpdateGoodsOfReturn(); |
| | | controller.getinventorysize(); |
| | | LexArriveGoodsController.Results re = LexArriveGoodsController.init( |
| | | 'Arr', |
| | | '' |
| | | ); |
| | | String arrControllerStr = re.arrGoodCon; |
| | | re = LexArriveGoodsController.searchProduct( |
| | | '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222', |
| | | arrControllerStr |
| | | ); |
| | | arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); |
| | | LexArriveGoodsController.updateGoodsOfReturn( |
| | | re.arrGoodCon, |
| | | JSON.serialize(re.showGoodsofReturnList) |
| | | ); |
| | | LexArriveGoodsController.ConsumableorderdetailsInfo con = new LexArriveGoodsController.ConsumableorderdetailsInfo(); |
| | | List<LexArriveGoodsController.ConsumableorderdetailsInfo> conList = new List<LexArriveGoodsController.ConsumableorderdetailsInfo>(); |
| | | conList.add(con); |
| | | LexArriveGoodsController.changeType2(conList); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>57.0</apiVersion> |
| | | <status>Active</status> |
| | |
| | | @isTest |
| | | public class LexArriveGoodsControllerTest1 { |
| | | static void test1() { |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); |
| | | insert n; |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | static void test1(){ |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true); |
| | | insert n; |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; |
| | | |
| | | Account myAccount1 = new Account(Name='Testaccount001',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999996'); |
| | | Account myAccount2 = new Account(Name='Testaccount002',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900',Product_Limit_Date__c = 'Test01|2|4,Test02|3|5'); |
| | | insert new Account[]{myAccount1,myAccount2}; |
| | | |
| | | Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id); |
| | | insert core; |
| | | user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET'); |
| | | System.runAs(new User(Id = UserInfo.getUserId())){ |
| | | insert MyUser_Test; |
| | | } |
| | | |
| | | // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; |
| | | // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // insert new Product2[] {prod01,prod02}; |
| | | system.runAs(MyUser_Test){ |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | insert new Product2[] {prod01,prod02}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | insert new Product2__c[] {pro1, pro2}; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | // Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Total_num__c = 3; |
| | | Order1.OrderNumber_arrived__c =1; |
| | | Order1.Delivery_detail_count__c=1; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | |
| | | //订单明细 |
| | | //fahuo |
| | | Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); |
| | | Orderdet.Name = 'OCM_01_00101'; |
| | | Orderdet.Consumable_order__c = Order1.Id; |
| | | Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; |
| | | Orderdet.Consumable_Product__c = pro1.Id; |
| | | Orderdet.Consumable_count__c = 40; |
| | | insert Orderdet; |
| | | |
| | | //发货明细 |
| | | //到货正确信息 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001002'; |
| | | Orderdet1.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet1.Consumable_Product__c = pro1.Id; |
| | | Orderdet1.Asset_Model_No__c = 'Test01'; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet1.TracingCode__c = 'BXJRA'; |
| | | |
| | | //取消产品 |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001003'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Test01'; |
| | | //Orderdet2.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB'; |
| | | Orderdet2.Cancellation_Date__c= Date.today(); |
| | | Orderdet2.TracingCode__c = 'BXJRB'; |
| | | //销售产品 |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001004'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro1.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Test01'; |
| | | Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC'; |
| | | Orderdet3.Used_date__c = Date.today(); |
| | | Orderdet3.Arrive_date__c = Date.today(); |
| | | Orderdet3.TracingCode__c = 'BXJRC'; |
| | | //Orderdet3.Box_Piece__c = '盒'; |
| | | |
| | | |
| | | //出库产品 |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001005'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro1.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Test01'; |
| | | Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD'; |
| | | Orderdet4.Send_Date__c = Date.today(); |
| | | Orderdet4.Arrive_date__c = Date.today(); |
| | | Orderdet4.TracingCode__c = 'BXJRD'; |
| | | |
| | | //已到货产品 |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001006'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro1.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Test01'; |
| | | Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE'; |
| | | Orderdet5.Arrive_date__c = Date.today(); |
| | | Orderdet5.TracingCode__c = 'BXJRE'; |
| | | |
| | | //发货明细 |
| | | //管理编码包含数字 |
| | | Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); |
| | | Orderdet6.Name = 'OCM_01_001002'; |
| | | Orderdet6.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet6.Consumable_Product__c = pro1.Id; |
| | | Orderdet6.Asset_Model_No__c = 'Test01'; |
| | | Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123'; |
| | | Orderdet6.TracingCode__c = 'BX123'; |
| | | |
| | | //发错库 未到货 |
| | | Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c(); |
| | | Orderdets8.Name = 'OCM_01_001011'; |
| | | Orderdets8.Consumable_order_minor__c = Order1.Id; |
| | | Orderdets8.Consumable_Product__c = pro1.Id; |
| | | Orderdets8.Asset_Model_No__c = 'Test01'; |
| | | Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys'; |
| | | Orderdets8.Box_Piece__c = '盒'; |
| | | Orderdets8.TracingCode__c = 'BXsys'; |
| | | |
| | | insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8}; |
| | | |
| | | List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id]; |
| | | System.assertEquals(1, cod1.size()); |
| | | |
| | | PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id); |
| | | |
| | | System.Test.setCurrentPage(page); |
| | | ArriveGoodsController Controller = new ArriveGoodsController(); |
| | | //初始化测试 |
| | | System.Test.startTest(); |
| | | LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', Order1.Id); |
| | | String arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.searchProduct('', arrControllerStr); |
| | | re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123', arrControllerStr); |
| | | arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET)' |
| | | ]; |
| | | |
| | | Account myAccount1 = new Account( |
| | | Name = 'Testaccount001', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '9999996' |
| | | ); |
| | | Account myAccount2 = new Account( |
| | | Name = 'Testaccount002', |
| | | Dealer_discount__c = 10, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '9999900', |
| | | Product_Limit_Date__c = 'Test01|2|4,Test02|3|5' |
| | | ); |
| | | insert new List<Account>{ myAccount1, myAccount2 }; |
| | | |
| | | Contact core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount1.id |
| | | ); |
| | | insert core; |
| | | user MyUser_Test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com', |
| | | UserPro_Type__c = 'ET' |
| | | ); |
| | | System.runAs(new User(Id = UserInfo.getUserId())) { |
| | | insert MyUser_Test; |
| | | } |
| | | |
| | | // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; |
| | | // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | // insert new Product2[] {prod01,prod02}; |
| | | System.runAs(MyUser_Test) { |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | RecordTypeId = '01210000000aMAFAA2', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200311', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | RecordTypeId = '01210000000aMAFAA2', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200312', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ prod01, prod02 }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro1, pro2 }; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | // Order1.Dealer_Info__c = myAccount1.id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Total_num__c = 3; |
| | | Order1.OrderNumber_arrived__c = 1; |
| | | Order1.Delivery_detail_count__c = 1; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | |
| | | //订单明细 |
| | | //fahuo |
| | | Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); |
| | | Orderdet.Name = 'OCM_01_00101'; |
| | | Orderdet.Consumable_order__c = Order1.Id; |
| | | Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; |
| | | Orderdet.Consumable_Product__c = pro1.Id; |
| | | Orderdet.Consumable_count__c = 40; |
| | | insert Orderdet; |
| | | |
| | | //发货明细 |
| | | //到货正确信息 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001002'; |
| | | Orderdet1.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet1.Consumable_Product__c = pro1.Id; |
| | | Orderdet1.Asset_Model_No__c = 'Test01'; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet1.TracingCode__c = 'BXJRA'; |
| | | |
| | | //取消产品 |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001003'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Test01'; |
| | | //Orderdet2.Consumable_Arrived_order__c = Order1.Id; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB'; |
| | | Orderdet2.Cancellation_Date__c = Date.today(); |
| | | Orderdet2.TracingCode__c = 'BXJRB'; |
| | | //销售产品 |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001004'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro1.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Test01'; |
| | | Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC'; |
| | | Orderdet3.Used_date__c = Date.today(); |
| | | Orderdet3.Arrive_date__c = Date.today(); |
| | | Orderdet3.TracingCode__c = 'BXJRC'; |
| | | //Orderdet3.Box_Piece__c = '盒'; |
| | | |
| | | //出库产品 |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001005'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro1.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Test01'; |
| | | Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD'; |
| | | Orderdet4.Send_Date__c = Date.today(); |
| | | Orderdet4.Arrive_date__c = Date.today(); |
| | | Orderdet4.TracingCode__c = 'BXJRD'; |
| | | |
| | | //已到货产品 |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001006'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro1.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Test01'; |
| | | Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE'; |
| | | Orderdet5.Arrive_date__c = Date.today(); |
| | | Orderdet5.TracingCode__c = 'BXJRE'; |
| | | |
| | | //发货明细 |
| | | //管理编码包含数字 |
| | | Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); |
| | | Orderdet6.Name = 'OCM_01_001002'; |
| | | Orderdet6.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet6.Consumable_Product__c = pro1.Id; |
| | | Orderdet6.Asset_Model_No__c = 'Test01'; |
| | | Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123'; |
| | | Orderdet6.TracingCode__c = 'BX123'; |
| | | |
| | | //发错库 未到货 |
| | | Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c(); |
| | | Orderdets8.Name = 'OCM_01_001011'; |
| | | Orderdets8.Consumable_order_minor__c = Order1.Id; |
| | | Orderdets8.Consumable_Product__c = pro1.Id; |
| | | Orderdets8.Asset_Model_No__c = 'Test01'; |
| | | Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys'; |
| | | Orderdets8.Box_Piece__c = '盒'; |
| | | Orderdets8.TracingCode__c = 'BXsys'; |
| | | |
| | | insert new List<Consumable_order_details2__c>{ |
| | | Orderdet1, |
| | | Orderdet2, |
| | | Orderdet3, |
| | | Orderdet4, |
| | | Orderdet5, |
| | | Orderdet6, |
| | | Orderdets8 |
| | | }; |
| | | |
| | | List<Consumable_orderdetails__c> cod1 = [ |
| | | SELECT Id |
| | | FROM Consumable_orderdetails__c |
| | | WHERE Consumable_order__c = :Order1.Id |
| | | ]; |
| | | System.assertEquals(1, cod1.size()); |
| | | |
| | | PageReference page = new PageReference( |
| | | '/apex/ArriveGoods?Esetid=' + Order1.Id |
| | | ); |
| | | |
| | | System.Test.setCurrentPage(page); |
| | | ArriveGoodsController Controller = new ArriveGoodsController(); |
| | | //初始化测试 |
| | | System.Test.startTest(); |
| | | LexArriveGoodsController.Results re = LexArriveGoodsController.init( |
| | | 'Arr', |
| | | Order1.Id |
| | | ); |
| | | String arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.searchProduct('', arrControllerStr); |
| | | re = LexArriveGoodsController.searchProduct( |
| | | '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123', |
| | | arrControllerStr |
| | | ); |
| | | arrControllerStr = re.arrGoodCon; |
| | | LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>57.0</apiVersion> |
| | | <status>Active</status> |
| | |
| | | @AuraEnabled |
| | | public Boolean isNoteStay; |
| | | } |
| | | } |
| | | } |
| | |
| | | @istest |
| | | public class LexArriveGoodsMainControllerTest { |
| | | @IsTest |
| | | static void lexArriveGoodsMainControllerTest1() { |
| | | User myUser_test = new User(); |
| | | Account myAccount1; |
| | | Contact core; |
| | | User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); |
| | | insert n; |
| | | System.runAs(currentUser) { |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET)' |
| | | ]; |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | myAccount1 = new Account( |
| | | name = 'testaccount001', |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '9999900' |
| | | ); |
| | | insert myAccount1; |
| | | core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount1.id |
| | | ); |
| | | insert core; |
| | | myUser_test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'testUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com', |
| | | Work_Location__c = '北京' |
| | | ); |
| | | insert myUser_test; |
| | | @IsTest |
| | | static void lexArriveGoodsMainControllerTest1(){ |
| | | User myUser_test = new User(); |
| | | Account myAccount1; |
| | | Contact core; |
| | | User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true); |
| | | insert n; |
| | | System.runAs(currentUser){ |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | myAccount1 = new Account(name='testaccount001',RecordTypeId = rectCo[0].Id ,AgentCode_Ext__c = '9999900'); |
| | | insert myAccount1; |
| | | core = new Contact(email='jplumber@salesforce.com', |
| | | firstname='Joe', |
| | | lastname='Plumber', |
| | | accountid=myAccount1.id); |
| | | insert core; |
| | | myUser_test = New User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email='newuser@testorg.com', |
| | | EmailEncodingKey='UTF-8', |
| | | LastName='testUser', |
| | | LanguageLocaleKey='zh_CN', |
| | | LocaleSidKey='zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey='Asia/Shanghai', |
| | | UserName='testUser@testorg.com', |
| | | Work_Location__c='北京'); |
| | | insert myUser_test; |
| | | } |
| | | System.runAs(myUser_test){ |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Manual_Entry__c = false); |
| | | insert new Product2[]{prod01,prod02}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | insert new Product2__c[] {pro1, pro2}; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c( |
| | | Name='OCM_01_001', |
| | | RecordTypeId = System.Label.RT_ConOrder_Delivery, |
| | | Order_type__c ='订单', |
| | | Dealer_info__c=myAccount1.Id, |
| | | Order_ProType__c = 'ET'); |
| | | Consumable_order__c Order2 = new Consumable_order__c( |
| | | Name='OCM_01_002', |
| | | RecordTypeId = System.Label.RT_ConOrder_Delivery, |
| | | Order_type__c ='订单', |
| | | Dealer_info__c=myAccount1.Id, |
| | | Order_ProType__c = 'ET'); |
| | | insert new Consumable_order__c[] {Order1, Order2}; |
| | | |
| | | //明细1 |
| | | Consumable_orderdetails__c createDetail = new Consumable_orderdetails__c(); |
| | | createDetail.name = 'Too001'; |
| | | createDetail.Consumable_Product__c = pro1.id; |
| | | createDetail.Dealer_Custom_Price__c = 999.00; |
| | | createDetail.Consumable_count__c = 3; |
| | | createDetail.Consumable_order__c = Order1.id; |
| | | createDetail.RecordTypeid = System.Label.RT_ConOrderDetail1_Order; |
| | | insert createDetail; |
| | | Consumable_orderdetails__c createDetail1 = new Consumable_orderdetails__c(); |
| | | createDetail1.name = 'Too002'; |
| | | createDetail1.Consumable_Product__c = pro2.id; |
| | | createDetail1.Consumable_order__c = Order2.id; |
| | | createDetail1.Dealer_Custom_Price__c = 999.00; |
| | | createDetail1.Consumable_count__c = 4; |
| | | createDetail1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order; |
| | | insert createDetail1; |
| | | |
| | | //订单明细 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c( |
| | | Name='OCM_01_001001', |
| | | Consumable_order_minor__c = Order1.Id, |
| | | Arrive_date__c = Date.today(), |
| | | Consumable_Product__c = pro1.id, |
| | | RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery); |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c( |
| | | Name='OCM_01_001002', |
| | | Consumable_order_minor__c = Order2.Id, |
| | | Arrive_date__c = Date.today(), |
| | | Consumable_Product__c = pro2.id, |
| | | RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery); |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c( |
| | | Name='OCM_01_001003', |
| | | Consumable_order_minor__c = Order1.Id, |
| | | //Arrive_date__c = Date.today(), |
| | | Consumable_Product__c = pro1.id, |
| | | RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery); |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c( |
| | | Name='OCM_01_001004', |
| | | Consumable_order_minor__c = Order2.Id, |
| | | Arrive_date__c = Date.today(), |
| | | Consumable_Product__c = pro2.id, |
| | | RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery); |
| | | insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2, Orderdet3, Orderdet4}; |
| | | |
| | | LexArriveGoodsMainController.init(); |
| | | LexArriveGoodsMainController.searchConsumableorderdetails('Too001', null, myAccount1.Id, '北京', 'ET'); |
| | | } |
| | | } |
| | | System.runAs(myUser_test) { |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | SFDA_Status__c = '有効', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | SFDA_Status__c = '有効', |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ prod01, prod02 }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro1, pro2 }; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c( |
| | | Name = 'OCM_01_001', |
| | | RecordTypeId = System.Label.RT_ConOrder_Delivery, |
| | | Order_type__c = '订单', |
| | | Dealer_info__c = myAccount1.Id, |
| | | Order_ProType__c = 'ET' |
| | | ); |
| | | Consumable_order__c Order2 = new Consumable_order__c( |
| | | Name = 'OCM_01_002', |
| | | RecordTypeId = System.Label.RT_ConOrder_Delivery, |
| | | Order_type__c = '订单', |
| | | Dealer_info__c = myAccount1.Id, |
| | | Order_ProType__c = 'ET' |
| | | ); |
| | | insert new List<Consumable_order__c>{ Order1, Order2 }; |
| | | |
| | | //明细1 |
| | | Consumable_orderdetails__c createDetail = new Consumable_orderdetails__c(); |
| | | createDetail.name = 'Too001'; |
| | | createDetail.Consumable_Product__c = pro1.id; |
| | | createDetail.Dealer_Custom_Price__c = 999.00; |
| | | createDetail.Consumable_count__c = 3; |
| | | createDetail.Consumable_order__c = Order1.id; |
| | | createDetail.RecordTypeid = System.Label.RT_ConOrderDetail1_Order; |
| | | insert createDetail; |
| | | Consumable_orderdetails__c createDetail1 = new Consumable_orderdetails__c(); |
| | | createDetail1.name = 'Too002'; |
| | | createDetail1.Consumable_Product__c = pro2.id; |
| | | createDetail1.Consumable_order__c = Order2.id; |
| | | createDetail1.Dealer_Custom_Price__c = 999.00; |
| | | createDetail1.Consumable_count__c = 4; |
| | | createDetail1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order; |
| | | insert createDetail1; |
| | | |
| | | //订单明细 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c( |
| | | Name = 'OCM_01_001001', |
| | | Consumable_order_minor__c = Order1.Id, |
| | | Arrive_date__c = Date.today(), |
| | | Consumable_Product__c = pro1.id, |
| | | RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery |
| | | ); |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c( |
| | | Name = 'OCM_01_001002', |
| | | Consumable_order_minor__c = Order2.Id, |
| | | Arrive_date__c = Date.today(), |
| | | Consumable_Product__c = pro2.id, |
| | | RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery |
| | | ); |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c( |
| | | Name = 'OCM_01_001003', |
| | | Consumable_order_minor__c = Order1.Id, |
| | | //Arrive_date__c = Date.today(), |
| | | Consumable_Product__c = pro1.id, |
| | | RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery |
| | | ); |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c( |
| | | Name = 'OCM_01_001004', |
| | | Consumable_order_minor__c = Order2.Id, |
| | | Arrive_date__c = Date.today(), |
| | | Consumable_Product__c = pro2.id, |
| | | RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery |
| | | ); |
| | | insert new List<Consumable_order_details2__c>{ |
| | | Orderdet1, |
| | | Orderdet2, |
| | | Orderdet3, |
| | | Orderdet4 |
| | | }; |
| | | |
| | | LexArriveGoodsMainController.init(); |
| | | LexArriveGoodsMainController.searchConsumableorderdetails( |
| | | 'Too001', |
| | | null, |
| | | myAccount1.Id, |
| | | '北京', |
| | | 'ET' |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>57.0</apiVersion> |
| | | <status>Active</status> |
| | |
| | | @isTest |
| | | public class LexArriveGsDetailsControllerTest { |
| | | @IsTest |
| | | static void test1() { |
| | | User myUser_test = new User(); |
| | | Account myAccount1; |
| | | Account myAccount2; |
| | | Contact core; |
| | | User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); |
| | | insert n; |
| | | System.runAs(currentUser) { |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET)' |
| | | ]; |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ prod01, prod02 }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro1, pro2 }; |
| | | myAccount2 = new Account( |
| | | name = 'Testaccount002', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id |
| | | ); |
| | | insert myAccount2; |
| | | core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount2.id |
| | | ); |
| | | insert core; |
| | | myUser_Test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com' |
| | | ); |
| | | insert myUser_Test; |
| | | System.runAs(MyUser_Test) { |
| | | StaticParameter.ConsumableAssetHanderTrigger = true; |
| | | Consumable_order__c order1 = new Consumable_order__c(); |
| | | order1.Name = 'OCM_01_001'; |
| | | order1.Order_status__c = '批准'; |
| | | order1.Order_type__c = '订单'; |
| | | order1.Dealer_Info__c = myAccount2.Id; |
| | | order1.RecordTypeid = System.Label.RT_ConOrder_Arrive; |
| | | insert order1; |
| | | |
| | | Consumable_order__c olyorder = new Consumable_order__c(); |
| | | olyorder.Name = 'OCM_01_001'; |
| | | olyorder.Order_status__c = '批准'; |
| | | olyorder.Order_type__c = '订单'; |
| | | olyorder.Dealer_Info__c = myAccount2.Id; |
| | | olyorder.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | insert olyorder; |
| | | |
| | | //订单明细 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001001'; |
| | | Orderdet1.Consumable_order_minor__c = olyorder.Id; |
| | | Orderdet1.Consumable_Arrived_order__c = order1.Id; |
| | | //Orderdet1.IsArrival__c = true; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '11111'; |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001002'; |
| | | Orderdet2.Consumable_order_minor__c = olyorder.Id; |
| | | Orderdet2.Consumable_Arrived_order__c = order1.Id; |
| | | //Orderdet2.IsArrival__c = true; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '22222'; |
| | | |
| | | insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2 }; |
| | | LexArriveGsDetailsController.init(order1.Id); |
| | | LexArriveGsDetailsController.proSale( |
| | | JSON.serialize(LexArriveGsDetailsController.coc), |
| | | LexArriveGsDetailsController.coc.Arrive_Order__r.Total_num__c, |
| | | LexArriveGsDetailsController.consumableorderdetailsRecords.size(), |
| | | order1.Id |
| | | ); |
| | | } |
| | | @IsTest |
| | | static void test1(){ |
| | | User myUser_test = new User(); |
| | | Account myAccount1; |
| | | Account myAccount2; |
| | | Contact core; |
| | | User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true); |
| | | insert n; |
| | | System.runAs(currentUser){ |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | insert new Product2[]{prod01,prod02}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | insert new Product2__c[] {pro1, pro2}; |
| | | myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id); |
| | | insert myAccount2; |
| | | core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id); |
| | | insert core; |
| | | myUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com'); |
| | | insert myUser_Test; |
| | | System.runAs(MyUser_Test){ |
| | | StaticParameter.ConsumableAssetHanderTrigger = true; |
| | | Consumable_order__c order1 = new Consumable_order__c(); |
| | | order1.Name = 'OCM_01_001'; |
| | | order1.Order_status__c = '批准'; |
| | | order1.Order_type__c = '订单'; |
| | | order1.Dealer_Info__c = myAccount2.Id; |
| | | order1.RecordTypeid = System.Label.RT_ConOrder_Arrive; |
| | | insert order1; |
| | | |
| | | Consumable_order__c olyorder = new Consumable_order__c(); |
| | | olyorder.Name = 'OCM_01_001'; |
| | | olyorder.Order_status__c = '批准'; |
| | | olyorder.Order_type__c = '订单'; |
| | | olyorder.Dealer_Info__c = myAccount2.Id; |
| | | olyorder.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | insert olyorder; |
| | | |
| | | //订单明细 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001001'; |
| | | Orderdet1.Consumable_order_minor__c = olyorder.Id; |
| | | Orderdet1.Consumable_Arrived_order__c = order1.Id; |
| | | //Orderdet1.IsArrival__c = true; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '11111'; |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001002'; |
| | | Orderdet2.Consumable_order_minor__c = olyorder.Id; |
| | | Orderdet2.Consumable_Arrived_order__c = order1.Id; |
| | | //Orderdet2.IsArrival__c = true; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '22222'; |
| | | |
| | | insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2}; |
| | | LexArriveGsDetailsController.init(order1.Id); |
| | | LexArriveGsDetailsController.proSale(JSON.serialize(LexArriveGsDetailsController.coc), LexArriveGsDetailsController.coc.Arrive_Order__r.Total_num__c, LexArriveGsDetailsController.consumableorderdetailsRecords.size(), order1.Id); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @IsTest |
| | | static void test2() { |
| | | User myUser_test = new User(); |
| | | Account myAccount1; |
| | | Account myAccount2; |
| | | Contact core; |
| | | User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); |
| | | insert n; |
| | | System.runAs(currentUser) { |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET)' |
| | | ]; |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ prod01, prod02 }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro1, pro2 }; |
| | | myAccount2 = new Account( |
| | | name = 'Testaccount002', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id |
| | | ); |
| | | insert myAccount2; |
| | | core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount2.id |
| | | ); |
| | | insert core; |
| | | myUser_Test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com' |
| | | ); |
| | | insert myUser_Test; |
| | | System.runAs(MyUser_Test) { |
| | | StaticParameter.ConsumableAssetHanderTrigger = true; |
| | | Consumable_order__c order1 = new Consumable_order__c(); |
| | | order1.Name = 'OCM_01_001'; |
| | | order1.Order_status__c = '批准'; |
| | | order1.Order_type__c = '订单'; |
| | | order1.RecordTypeid = System.Label.RT_ConOrder_Arrive; |
| | | order1.IsShipment__c = true; |
| | | insert order1; |
| | | @IsTest |
| | | static void test2(){ |
| | | User myUser_test = new User(); |
| | | Account myAccount1; |
| | | Account myAccount2; |
| | | Contact core; |
| | | User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true); |
| | | insert n; |
| | | System.runAs(currentUser){ |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false); |
| | | insert new Product2[]{prod01,prod02}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | insert new Product2__c[] {pro1, pro2}; |
| | | myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id); |
| | | insert myAccount2; |
| | | core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id); |
| | | insert core; |
| | | myUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com'); |
| | | insert myUser_Test; |
| | | System.runAs(MyUser_Test){ |
| | | StaticParameter.ConsumableAssetHanderTrigger = true; |
| | | Consumable_order__c order1 = new Consumable_order__c(); |
| | | order1.Name = 'OCM_01_001'; |
| | | order1.Order_status__c = '批准'; |
| | | order1.Order_type__c = '订单'; |
| | | order1.RecordTypeid = System.Label.RT_ConOrder_Arrive; |
| | | order1.IsShipment__c = true; |
| | | insert order1; |
| | | |
| | | Consumable_order__c olyorder = new Consumable_order__c(); |
| | | olyorder.Name = 'OCM_01_001'; |
| | | olyorder.Order_status__c = '批准'; |
| | | olyorder.Order_type__c = '订单'; |
| | | olyorder.Dealer_Info__c = myAccount2.Id; |
| | | olyorder.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | olyorder.IsShipment__c = true; |
| | | insert olyorder; |
| | | Consumable_order__c olyorder = new Consumable_order__c(); |
| | | olyorder.Name = 'OCM_01_001'; |
| | | olyorder.Order_status__c = '批准'; |
| | | olyorder.Order_type__c = '订单'; |
| | | olyorder.Dealer_Info__c = myAccount2.Id; |
| | | olyorder.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | olyorder.IsShipment__c = true; |
| | | insert olyorder; |
| | | |
| | | //订单明细 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001001'; |
| | | Orderdet1.Consumable_order_minor__c = olyorder.Id; |
| | | Orderdet1.Consumable_Arrived_order__c = order1.Id; |
| | | //Orderdet1.IsArrival__c = true; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '11111'; |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001002'; |
| | | Orderdet2.Consumable_order_minor__c = olyorder.Id; |
| | | Orderdet2.Consumable_Arrived_order__c = order1.Id; |
| | | //Orderdet2.IsArrival__c = true; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '22222'; |
| | | |
| | | insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2 }; |
| | | LexArriveGsDetailsController.init(order1.Id); |
| | | LexArriveGsDetailsController.proSale( |
| | | JSON.serialize(LexArriveGsDetailsController.coc), |
| | | 1, |
| | | 1, |
| | | order1.Id |
| | | ); |
| | | } |
| | | //订单明细 |
| | | Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); |
| | | Orderdet1.Name = 'OCM_01_001001'; |
| | | Orderdet1.Consumable_order_minor__c = olyorder.Id; |
| | | Orderdet1.Consumable_Arrived_order__c = order1.Id; |
| | | //Orderdet1.IsArrival__c = true; |
| | | Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet1.Bar_Code__c = '11111'; |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001002'; |
| | | Orderdet2.Consumable_order_minor__c = olyorder.Id; |
| | | Orderdet2.Consumable_Arrived_order__c = order1.Id; |
| | | //Orderdet2.IsArrival__c = true; |
| | | Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | Orderdet2.Bar_Code__c = '22222'; |
| | | |
| | | insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2}; |
| | | LexArriveGsDetailsController.init(order1.Id); |
| | | LexArriveGsDetailsController.proSale(JSON.serialize(LexArriveGsDetailsController.coc), 1, 1, order1.Id); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>57.0</apiVersion> |
| | | <status>Active</status> |
| | |
| | | public with sharing class LexCancelRemoveBoxController { |
| | | //经销商产品分类 |
| | | public static String agencyProType { get; set; } |
| | | public static String userPro_Typestr = null; |
| | | public static String barcode { get; set; } |
| | | /*****************画面表示Bean******************/ |
| | | public static List<ConsumableorderdetailsInfo> consumableInventory { |
| | | get; |
| | | set; |
| | | } |
| | | //错误明细 |
| | | public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordserror { |
| | | get; |
| | | set; |
| | | } |
| | | //拆盒明细 |
| | | public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy { |
| | | get; |
| | | set; |
| | | } |
| | | public static boolean saveFLGbln { get; set; } |
| | | //错误信息 |
| | | public static String alertMessage { get; set; } |
| | | //拆盒明细件数 |
| | | public static Integer getinventorysize() { |
| | | return ConsumableorderdetailsRecordsdummy.size(); |
| | | } |
| | | public static Map<String, String> ExistIdMap = new Map<String, String>(); |
| | | public static Map<String, String> ErrorIdMap = new Map<String, String>(); |
| | | public static Map<String, String> AllMap = new Map<String, String>(); |
| | | public static List<String> BarCodeListP = new List<String>(); |
| | | //不符合的barcode和型号 |
| | | public static list<String> notInlist = new List<String>(); |
| | | public static String baseUrl { get; private set; } |
| | | private static String accountid = null; |
| | | private static String accountName = null; |
| | | //public String[] proidList =new String[]{}; |
| | | // 登录者工作地 |
| | | private static String userWorkLocation; |
| | | |
| | | public LexCancelRemoveBoxController() { |
| | | baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); |
| | | ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>(); |
| | | ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>(); |
| | | consumableInventory = new List<ConsumableorderdetailsInfo>(); |
| | | saveFLGbln = false; |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC init() { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | String userId = UserInfo.getUserId(); |
| | | List<user> Useracc = new List<user>(); |
| | | Useracc = [ |
| | | SELECT accountid, Work_Location__c, UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId |
| | | ]; |
| | | accountid = Useracc[0].accountid; |
| | | userWorkLocation = Useracc[0].Work_Location__c; |
| | | agencyProType = Useracc[0].UserPro_Type__c; |
| | | if (String.isBlank(Useracc[0].UserPro_Type__c)) { |
| | | agencyProType = 'ET'; |
| | | //经销商产品分类 |
| | | public static String agencyProType {get;set;} |
| | | public static String userPro_Typestr = null; |
| | | public static String barcode { get; set; } |
| | | /*****************画面表示Bean******************/ |
| | | public static List<ConsumableorderdetailsInfo> consumableInventory { get; set; } |
| | | //错误明细 |
| | | public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordserror { get; set; } |
| | | //拆盒明细 |
| | | public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy { get; set; } |
| | | public static boolean saveFLGbln {get;set;} |
| | | //错误信息 |
| | | public static String alertMessage {set;get;} |
| | | //拆盒明细件数 |
| | | public static Integer getinventorysize(){ |
| | | return ConsumableorderdetailsRecordsdummy.size(); |
| | | } |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | List<account> accountInfo = [ |
| | | SELECT Name |
| | | FROM account |
| | | WHERE id = :accountid |
| | | ]; |
| | | //String view_product = accountInfo[0].view_product__c; |
| | | accountName = accountInfo[0].Name; |
| | | //proidList = view_product.split(','); |
| | | data.put('accountName', accountName); |
| | | data.put('userWorkLocation', userWorkLocation); |
| | | data.put('agencyProType', agencyProType); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | public static Map<String, String> ExistIdMap = new Map<String, String>(); |
| | | public static Map<String, String> ErrorIdMap = new Map<String, String>(); |
| | | public static Map<String, String> AllMap = new Map<String, String>(); |
| | | public static List<String> BarCodeListP = new List<String>(); |
| | | //不符合的barcode和型号 |
| | | public static list<String> notInlist = new list<String>(); |
| | | public static String baseUrl {get;private set;} |
| | | private static String accountid = null; |
| | | private static String accountName = null; |
| | | //public String[] proidList =new String[]{}; |
| | | // 登录者工作地 |
| | | private static String userWorkLocation; |
| | | |
| | | // 将页面或取得BarCode去掉重复的,转换成List |
| | | public static List<String> ParseBarCode(String Code) { |
| | | String[] Cache = new List<String>{}; |
| | | Cache = Code.split('\n'); |
| | | Set<String> Buff = new Set<String>(); |
| | | for (String A : Cache) { |
| | | Buff.add(A); |
| | | } |
| | | List<String> outPut = new List<String>(); |
| | | for (String B : Buff) { |
| | | B = B.trim(); |
| | | outPut.add(B); |
| | | } |
| | | return outPut; |
| | | } |
| | | |
| | | //获取明细 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC searchConsumableorderdetails( |
| | | String barcode, |
| | | String accountName, |
| | | String userWorkLocation, |
| | | String agencyProType |
| | | ) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | barcode = barcode; |
| | | accountName = accountName; |
| | | userWorkLocation = userWorkLocation; |
| | | |
| | | ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>(); |
| | | ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>(); |
| | | |
| | | notInlist = new List<String>(); |
| | | BarCodeListP = ParseBarCode(barcode); |
| | | Consumable_order_details2__c p = new Consumable_order_details2__c(); |
| | | List<Consumable_order_details2__c> Ins = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> reSet1 = new List<Consumable_order_details2__c>(); |
| | | saveFLGbln = false; |
| | | alertMessage = ''; |
| | | |
| | | //判断barcode是否为空 |
| | | if (barcode == null || barcode == '') { |
| | | return new ResponseBodyLWC('Error', 500, '请输入BarCode号', ''); |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'请输入BarCode号。')); |
| | | // return; |
| | | public LexCancelRemoveBoxController(){ |
| | | baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); |
| | | ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>(); |
| | | ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>(); |
| | | consumableInventory = new List<ConsumableorderdetailsInfo>(); |
| | | saveFLGbln = FALSE; |
| | | } |
| | | |
| | | // ExistIdMap.clear(); |
| | | // ErrorIdMap.clear(); |
| | | // notInlist.clear(); |
| | | // ConsumableorderdetailsRecordserror.clear(); |
| | | // ConsumableorderdetailsRecordsdummy.clear(); |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC init() { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | // 产品类型不同 |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Product_Type__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | Arrive_Owner_Work_Location__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND (NOT Product_Type__c LIKE :userPro_Typestr) |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } else { |
| | | String str = |
| | | '该商品类型' + |
| | | reSet1[i].Product_Type__c + |
| | | '与产品类型' + |
| | | agencyProType + |
| | | '不符,不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add( |
| | | new ConsumableorderdetailsInfo(reSet1[i], str) |
| | | ); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | String userId = UserInfo.getUserId(); |
| | | List<user> Useracc = New List<user>(); |
| | | Useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:userId]; |
| | | accountid = Useracc[0].accountid; |
| | | userWorkLocation = Useracc[0].Work_Location__c; |
| | | agencyProType = Useracc[0].UserPro_Type__c; |
| | | if(String.isBlank(Useracc[0].UserPro_Type__c)){ |
| | | agencyProType = 'ET'; |
| | | } |
| | | } |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | List<account> accountInfo = [SELECT Name FROM account WHERE id =:accountid]; |
| | | //String view_product = accountInfo[0].view_product__c; |
| | | accountName = accountInfo[0].Name; |
| | | //proidList = view_product.split(','); |
| | | data.put('accountName',accountName); |
| | | data.put('userWorkLocation',userWorkLocation); |
| | | data.put('agencyProType',agencyProType); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | |
| | | } |
| | | |
| | | //没有拆盒 |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '盒' |
| | | //AND ProductPacking_list_manual__c > 1 |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; //没出库,没销售,在库,没有拆盒 |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } else { |
| | | String str = '该商品没有拆盒'; |
| | | ConsumableorderdetailsRecordserror.add( |
| | | new ConsumableorderdetailsInfo(reSet1[i], str) |
| | | ); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | // 将页面或取得BarCode去掉重复的,转换成List |
| | | public static List<String> ParseBarCode(String Code){ |
| | | String[] Cache = new String[]{}; |
| | | Cache = Code.split('\n'); |
| | | Set <String> Buff = new Set<String>(); |
| | | for(String A : Cache){ |
| | | Buff.add(A); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //已出货,未到货 |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = FALSE |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '盒' |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } else { |
| | | String str = '该商品还未到货'; |
| | | ConsumableorderdetailsRecordserror.add( |
| | | new ConsumableorderdetailsInfo(reSet1[i], str) |
| | | ); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | List<String> outPut = new List<String>(); |
| | | for(String B :Buff){ |
| | | B = B.trim(); |
| | | outPut.add(B); |
| | | } |
| | | } |
| | | return outPut; |
| | | } |
| | | |
| | | //拆盒已出货 |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Shipment__c = TRUE |
| | | AND Dealer_Arrive__c = TRUE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } else { |
| | | String str = '该商品存在出货履历'; |
| | | ConsumableorderdetailsRecordserror.add( |
| | | new ConsumableorderdetailsInfo(reSet1[i], str) |
| | | ); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | //获取明细 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC searchConsumableorderdetails(String barcode,String accountName,String userWorkLocation,String agencyProType) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String,object> data = new Map<String,object>(); |
| | | res.entity = data; |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | barcode = barcode; |
| | | accountName = accountName; |
| | | userWorkLocation = userWorkLocation; |
| | | |
| | | ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>(); |
| | | ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>(); |
| | | |
| | | |
| | | |
| | | notInlist = new list<String>(); |
| | | BarCodeListP = ParseBarCode(barcode); |
| | | Consumable_order_details2__c p = new Consumable_order_details2__c(); |
| | | List<Consumable_order_details2__c> Ins = New List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> reSet1 = new List<Consumable_order_details2__c>(); |
| | | saveFLGbln = FALSE; |
| | | alertMessage=''; |
| | | |
| | | //判断barcode是否为空 |
| | | if(barcode == null || barcode ==''){ |
| | | return new ResponseBodyLWC('Error',500, '请输入BarCode号', ''); |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'请输入BarCode号。')); |
| | | // return; |
| | | } |
| | | } |
| | | } |
| | | |
| | | //拆盒已销售 |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Saled__c = TRUE |
| | | AND Dealer_Arrive__c = TRUE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } else { |
| | | String str = '该商品存在销售履历'; |
| | | ConsumableorderdetailsRecordserror.add( |
| | | new ConsumableorderdetailsInfo(reSet1[i], str) |
| | | ); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | // ExistIdMap.clear(); |
| | | // ErrorIdMap.clear(); |
| | | // notInlist.clear(); |
| | | // ConsumableorderdetailsRecordserror.clear(); |
| | | // ConsumableorderdetailsRecordsdummy.clear(); |
| | | |
| | | // 产品类型不同 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c,Product_Type__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = : userWorkLocation |
| | | AND (not Product_Type__c like : userPro_Typestr) |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品类型'+ reSet1[i].Product_Type__c +'与产品类型'+ agencyProType +'不符,不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //拆盒返品 |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Returned__c = TRUE |
| | | AND Return_date__c != NULL |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } else { |
| | | String str = '该商品存在返品履历'; |
| | | ConsumableorderdetailsRecordserror.add( |
| | | new ConsumableorderdetailsInfo(reSet1[i], str) |
| | | ); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | //没有拆盒 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Dealer_Shipment__c= false |
| | | AND Dealer_Saled__c = false |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '盒' |
| | | //AND ProductPacking_list_manual__c > 1 |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; //没出库,没销售,在库,没有拆盒 |
| | | if(reSet1.size() > 0){ |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品没有拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //拆盒后盘点过(盘点日期不为空) |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Inventory_date__c != NULL |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } else { |
| | | String str = '该商品存在盘点履历'; |
| | | ConsumableorderdetailsRecordserror.add( |
| | | new ConsumableorderdetailsInfo(reSet1[i], str) |
| | | ); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | //已出货,未到货 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = FALSE |
| | | AND Dealer_Shipment__c= FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '盒' |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品还未到货'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //不同工作地 |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | Arrive_Owner_Work_Location__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c != :userWorkLocation |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } else { |
| | | String str = |
| | | '该商品属于' + |
| | | reSet1[i].Arrive_Owner_Work_Location__c + |
| | | ',不能取消拆盒'; |
| | | ConsumableorderdetailsRecordserror.add( |
| | | new ConsumableorderdetailsInfo(reSet1[i], str) |
| | | ); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | //拆盒已出货 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Shipment__c = true |
| | | AND Dealer_Arrive__c = true |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品存在出货履历'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | reSet = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Intra_Trade_List_RMB__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Consumable_Product__r.Name__c, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | Dealer_Arrive__c, |
| | | Guarantee_period_for_products__c, |
| | | CFDA_Status__c, |
| | | ProductPacking_list_manual__c, |
| | | Report_Product_Approbation__c, |
| | | Report_Product_Expiration__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | ]; |
| | | if (reSet.size() > 0) { |
| | | for (Integer i = 0; i < reSet.size(); i++) { |
| | | if (ErrorIdMap.containsKey(reSet[i].Bar_Code__c)) { |
| | | // 跳过错误的消耗品明细 |
| | | continue; |
| | | } else if (ExistIdMap.containsKey(reSet[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } else { |
| | | ConsumableorderdetailsRecordsdummy.add( |
| | | new ConsumableorderdetailsInfo(reSet[i]) |
| | | ); |
| | | ExistIdMap.put(reSet[i].Bar_Code__c, reSet[i].Bar_Code__c); |
| | | //拆盒已销售 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Saled__c = true |
| | | AND Dealer_Arrive__c = true |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品存在销售履历'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | AllMap.putAll(ExistIdMap); |
| | | |
| | | //得到不存在的BarCode |
| | | for (Integer i = 0; i < BarCodeListP.size(); i++) { |
| | | if (ExistIdMap.containsKey(BarCodeListP[i])) { |
| | | continue; |
| | | } else if (ErrorIdMap.containsKey(BarCodeListP[i])) { |
| | | continue; |
| | | } else { |
| | | notInlist.add(BarCodeListP[i]); |
| | | } |
| | | } |
| | | if (notInlist.size() > 0) { |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。')); |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | 'BarCode' + notInlist + '不存在。', |
| | | '' |
| | | ); |
| | | } |
| | | data.put( |
| | | 'ConsumableorderdetailsRecordsdummy', |
| | | JSON.serialize(ConsumableorderdetailsRecordsdummy) |
| | | ); |
| | | data.put( |
| | | 'ConsumableorderdetailsRecordserror', |
| | | JSON.serialize(ConsumableorderdetailsRecordserror) |
| | | ); |
| | | data.put('dataSize', ConsumableorderdetailsRecordsdummy.size()); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | //取消拆盒确认 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC cancelRemoveBoxConfirm( |
| | | String saveConsumableorderdetailsRecordsdummy, |
| | | String accountName, |
| | | String userWorkLocation, |
| | | String agencyProType |
| | | ) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | accountName = accountName; |
| | | userWorkLocation = userWorkLocation; |
| | | List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>) JSON.deserialize( |
| | | saveConsumableorderdetailsRecordsdummy, |
| | | List<ConsumableorderdetailsInfo>.class |
| | | ); |
| | | |
| | | List<Consumable_order_details2__c> ins = new List<Consumable_order_details2__c>(); |
| | | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | if (ConsumableorderdetailsRecordsdummy.size() < 1) { |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'不存在取消拆盒明细')); |
| | | return new ResponseBodyLWC('Error', 500, '不存在取消拆盒明细', ''); |
| | | // return null; |
| | | } |
| | | |
| | | List<String> BarCodeList = new List<String>(); |
| | | for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) { |
| | | BarCodeList.add(tmp.esd.Bar_Code__c); |
| | | } |
| | | |
| | | try { |
| | | //取得通番大于001的在库明细 |
| | | List<Consumable_order_details2__c> orderDetails2del = [ |
| | | SELECT |
| | | Id, |
| | | Box_Piece__c, |
| | | RemoveBox_date__c, |
| | | RemoveBox_No__c, |
| | | Bar_Code__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND RemoveBox_No__c > 1 |
| | | AND Bar_Code__c IN :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | ]; |
| | | |
| | | List<Consumable_order_details2__c> orderlistdel = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> orderlistupd = new List<Consumable_order_details2__c>(); |
| | | |
| | | for (Consumable_order_details2__c detail2tmp : orderDetails2del) { |
| | | Consumable_order_details2__c delDetails2 = new Consumable_order_details2__c(); |
| | | delDetails2.Id = detail2tmp.Id; |
| | | |
| | | //删除通番大于001的明细2 |
| | | //delete delDetails2; |
| | | orderlistdel.add(delDetails2); |
| | | } |
| | | |
| | | //取得通番001的在库明细 |
| | | List<Consumable_order_details2__c> orderDetails2 = [ |
| | | SELECT |
| | | Id, |
| | | Box_Piece__c, |
| | | RemoveBox_date__c, |
| | | RemoveBox_No__c, |
| | | Bar_Code__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c, |
| | | /*,ContractNo__c*/ |
| | | //add by rebtx 2020-10-13 end |
| | | // tcm start |
| | | Consumable_order_minor__r.ContractNo__c |
| | | // tcm end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND RemoveBox_No__c = 1 |
| | | AND Bar_Code__c IN :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | ]; |
| | | |
| | | for (Consumable_order_details2__c detail2tmp : orderDetails2) { |
| | | Consumable_order_details2__c updDetails2 = new Consumable_order_details2__c(); |
| | | updDetails2.Id = detail2tmp.Id; |
| | | updDetails2.Box_Piece__c = '盒'; |
| | | updDetails2.RemoveBox_date__c = null; |
| | | updDetails2.RemoveBox_No__c = null; |
| | | |
| | | // tcm start |
| | | if ( |
| | | String.isBlank(detail2tmp.Consumable_order_minor__r.ContractNo__c) |
| | | ) { |
| | | updDetails2.ContractNo_text__c = detail2tmp.ContractNo_text__c; |
| | | } else { |
| | | updDetails2.ContractNo_text__c = detail2tmp.Consumable_order_minor__r.ContractNo__c; |
| | | //拆盒返品 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Returned__c = true |
| | | AND Return_date__c != null |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品存在返品履历'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | // updDetails2.ContractNo_text__c = detail2tmp.ContractNo__c; |
| | | // tcm end |
| | | |
| | | //通番001のデータの管理単位を盒に戻し、通番をクリア |
| | | //update updDetails2; |
| | | orderlistupd.add(updDetails2); |
| | | } |
| | | |
| | | if (orderlistdel.size() > 0) { |
| | | delete orderlistdel; |
| | | } |
| | | //拆盒后盘点过(盘点日期不为空) |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Inventory_date__c != null |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品存在盘点履历'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (orderlistupd.size() > 0) { |
| | | update orderlistupd; |
| | | } |
| | | saveFLGbln = true; |
| | | alertMessage = '取消拆盒完成'; |
| | | data.put('saveFLGbln', saveFLGbln); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | res.msg = alertMessage; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | // return null; |
| | | } catch (Exception e) { |
| | | Database.rollback(sp); |
| | | ApexPages.addMessages(e); |
| | | return null; |
| | | //不同工作地 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c !=: userWorkLocation |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品属于' + reSet1[i].Arrive_Owner_Work_Location__c + ',不能取消拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | reSet = [SELECT Id, |
| | | Name, |
| | | Intra_Trade_List_RMB__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Consumable_Product__r.Name__c, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | Dealer_Arrive__c, |
| | | Guarantee_period_for_products__c, |
| | | CFDA_Status__c, |
| | | ProductPacking_list_manual__c, |
| | | Report_Product_Approbation__c, |
| | | Report_Product_Expiration__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Dealer_Shipment__c = false |
| | | AND Dealer_Saled__c = false |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c =: userWorkLocation |
| | | AND Product_Type__c like : userPro_Typestr |
| | | ]; |
| | | if(reSet.size()>0){ |
| | | for (Integer i = 0; i < reSet.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet[i].Bar_Code__c) ){ |
| | | // 跳过错误的消耗品明细 |
| | | continue; |
| | | } |
| | | else if(ExistIdMap.containsKey(reSet[i].Bar_Code__c) ){ |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } |
| | | else{ |
| | | ConsumableorderdetailsRecordsdummy.add(new ConsumableorderdetailsInfo(reSet[i])); |
| | | ExistIdMap.put(reSet[i].Bar_Code__c,reSet[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | AllMap.putAll(ExistIdMap); |
| | | |
| | | //得到不存在的BarCode |
| | | for(Integer i = 0; i < BarCodeListP.size(); i++){ |
| | | if(ExistIdMap.containsKey(BarCodeListP[i])){ |
| | | continue; |
| | | }else if(ErrorIdMap.containsKey(BarCodeListP[i])){ |
| | | continue; |
| | | }else{ |
| | | notInlist.add(BarCodeListP[i]); |
| | | } |
| | | } |
| | | if(notInlist.size()>0){ |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。')); |
| | | return new ResponseBodyLWC('Error',500, 'BarCode'+ notInlist + '不存在。', ''); |
| | | } |
| | | data.put('ConsumableorderdetailsRecordsdummy',JSON.serialize(ConsumableorderdetailsRecordsdummy)); |
| | | data.put('ConsumableorderdetailsRecordserror',JSON.serialize(ConsumableorderdetailsRecordserror)); |
| | | data.put('dataSize',ConsumableorderdetailsRecordsdummy.size()); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | |
| | | } |
| | | } |
| | | |
| | | @TestVisible |
| | | class ConsumableorderdetailsInfo implements Comparable { |
| | | public Consumable_order_details2__c esd { get; set; } |
| | | public Product2__c Prod { get; set; } |
| | | //public String ProductName { get; set; } |
| | | //public Boolean canSELECT { get; set; } |
| | | //public String barCodeNo { get; set; } |
| | | //public Date sterilizationlimitDate { get; set; } |
| | | //public String serialNoorLotNo { get; set; } |
| | | //public String tracingCodeNo { get; set; } |
| | | public String oldConsumableCount { get; set; } |
| | | public String ErrorReason { get; set; } |
| | | public ConsumableorderdetailsInfo( |
| | | Consumable_order_details2__c e, |
| | | string str |
| | | ) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | oldConsumableCount = e.name; |
| | | ErrorReason = str; |
| | | //取消拆盒确认 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC cancelRemoveBoxConfirm(String saveConsumableorderdetailsRecordsdummy,String accountName,String userWorkLocation,String agencyProType) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String,object> data = new Map<String,object>(); |
| | | res.entity = data; |
| | | |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | accountName = accountName; |
| | | userWorkLocation =userWorkLocation; |
| | | List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>)JSON.deserialize(saveConsumableorderdetailsRecordsdummy,List<ConsumableorderdetailsInfo>.class); |
| | | |
| | | |
| | | List<Consumable_order_details2__c> ins = New List<Consumable_order_details2__c>(); |
| | | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | if(ConsumableorderdetailsRecordsdummy.size()<1){ |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'不存在取消拆盒明细')); |
| | | return new ResponseBodyLWC('Error',500, '不存在取消拆盒明细', ''); |
| | | // return null; |
| | | } |
| | | |
| | | List<String> BarCodeList = new List<String>(); |
| | | for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) { |
| | | BarCodeList.add(tmp.esd.Bar_Code__c); |
| | | } |
| | | |
| | | try{ |
| | | //取得通番大于001的在库明细 |
| | | List<Consumable_order_details2__c> orderDetails2del = [SELECT |
| | | Id, |
| | | Box_Piece__c, |
| | | RemoveBox_date__c, |
| | | RemoveBox_No__c, |
| | | Bar_Code__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Dealer_Shipment__c = false |
| | | AND Dealer_Saled__c = false |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND RemoveBox_No__c > 1 |
| | | AND Bar_Code__c in :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c =: userWorkLocation |
| | | AND Product_Type__c like : userPro_Typestr |
| | | ]; |
| | | |
| | | List<Consumable_order_details2__c> orderlistdel = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> orderlistupd= new List<Consumable_order_details2__c>(); |
| | | |
| | | for (Consumable_order_details2__c detail2tmp : orderDetails2del) { |
| | | Consumable_order_details2__c delDetails2 = new Consumable_order_details2__c(); |
| | | delDetails2.Id = detail2tmp.Id; |
| | | |
| | | //删除通番大于001的明细2 |
| | | //delete delDetails2; |
| | | orderlistdel.add(delDetails2); |
| | | } |
| | | |
| | | //取得通番001的在库明细 |
| | | List<Consumable_order_details2__c> orderDetails2 = [SELECT |
| | | Id, |
| | | Box_Piece__c, |
| | | RemoveBox_date__c, |
| | | RemoveBox_No__c, |
| | | Bar_Code__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rebtx 2020-10-13 end |
| | | // tcm start |
| | | ,Consumable_order_minor__r.ContractNo__c |
| | | // tcm end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Dealer_Shipment__c = false |
| | | AND Dealer_Saled__c = false |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c !=null |
| | | AND RemoveBox_No__c = 1 |
| | | AND Bar_Code__c in :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c =: userWorkLocation |
| | | AND Product_Type__c like : userPro_Typestr |
| | | ]; |
| | | |
| | | for (Consumable_order_details2__c detail2tmp : orderDetails2) { |
| | | Consumable_order_details2__c updDetails2 = new Consumable_order_details2__c(); |
| | | updDetails2.Id = detail2tmp.Id; |
| | | updDetails2.Box_Piece__c = '盒'; |
| | | updDetails2.RemoveBox_date__c = null; |
| | | updDetails2.RemoveBox_No__c = null; |
| | | |
| | | // tcm start |
| | | if (String.isBlank(detail2tmp.Consumable_order_minor__r.ContractNo__c)) { |
| | | updDetails2.ContractNo_text__c= detail2tmp.ContractNo_text__c; |
| | | }else { |
| | | updDetails2.ContractNo_text__c= detail2tmp.Consumable_order_minor__r.ContractNo__c; |
| | | } |
| | | // updDetails2.ContractNo_text__c = detail2tmp.ContractNo__c; |
| | | // tcm end |
| | | |
| | | //通番001のデータの管理単位を盒に戻し、通番をクリア |
| | | //update updDetails2; |
| | | orderlistupd.add(updDetails2); |
| | | } |
| | | |
| | | if(orderlistdel.size()>0){ |
| | | delete orderlistdel; |
| | | } |
| | | |
| | | if(orderlistupd.size()>0){ |
| | | update orderlistupd; |
| | | } |
| | | saveFLGbln = true; |
| | | alertMessage = '取消拆盒完成'; |
| | | data.put('saveFLGbln',saveFLGbln); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | res.msg = alertMessage; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | // return null; |
| | | }catch(Exception e){ |
| | | Database.rollback(sp); |
| | | ApexPages.addMessages(e); |
| | | return null; |
| | | } |
| | | } |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | oldConsumableCount = e.name; |
| | | } |
| | | /* |
| | | |
| | | |
| | | @TestVisible |
| | | class ConsumableorderdetailsInfo implements Comparable { |
| | | public Consumable_order_details2__c esd { get; set; } |
| | | public Product2__c Prod { get; set; } |
| | | //public String ProductName { get; set; } |
| | | //public Boolean canSELECT { get; set; } |
| | | //public String barCodeNo { get; set; } |
| | | //public Date sterilizationlimitDate { get; set; } |
| | | //public String serialNoorLotNo { get; set; } |
| | | //public String tracingCodeNo { get; set; } |
| | | public String oldConsumableCount { get; set; } |
| | | public String ErrorReason { get; set; } |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | oldConsumableCount = e.name; |
| | | ErrorReason = str; |
| | | } |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | oldConsumableCount = e.name; |
| | | } |
| | | /* |
| | | public ConsumableorderdetailsInfo(Product2__c e,String barCode,Date sterilizationlimit,String serialNoorLot,String tracingCode) { |
| | | esd = new Consumable_order_details2__c(); |
| | | ProductName = e.Name__c; |
| | |
| | | tracingCodeNo = tracingCode; |
| | | } |
| | | */ |
| | | // 排序 |
| | | public Integer compareTo(Object compareTo) { |
| | | return null; |
| | | // 排序 |
| | | public Integer compareTo(Object compareTo) { |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | @IsTest |
| | | private class LexCancelRemoveBoxControllerTest { |
| | | static testMethod void testMethod1() { |
| | | Oly_TriggerHandler.bypass('ConsumableAssetHander'); |
| | | Oly_TriggerHandler.bypass('Oly_TriggerHandler'); |
| | | user myUser_test; |
| | | Account myAccount2; |
| | | User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser) { |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)' |
| | | ]; |
| | | static testMethod void testMethod1(){ |
| | | Oly_TriggerHandler.bypass('ConsumableAssetHander'); |
| | | Oly_TriggerHandler.bypass('Oly_TriggerHandler'); |
| | | user myUser_test; |
| | | Account myAccount2; |
| | | User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser){ |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | |
| | | myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900'); |
| | | insert myAccount2; |
| | | |
| | | Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id); |
| | | insert core; |
| | | MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com'); |
| | | insert MyUser_Test; |
| | | } |
| | | System.runAs(MyUser_Test){ |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Packing_list_manual__c = 5,Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Packing_list_manual__c = 5,Manual_Entry__c = false); |
| | | Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',JANCODE__c = '04953170200313',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false); |
| | | insert new Product2[]{prod01,prod02,prod03}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | Product2__c pro3 = new Product2__c(Name='Pro003',OT_CODE_Text__c='Test003',Product2__c = prod03.Id); |
| | | insert new Product2__c[] {pro1, pro2,pro3}; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | Order1.Dealer_Info__c = myAccount2.Id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | |
| | | |
| | | myAccount2 = new Account( |
| | | name = 'Testaccount002', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '9999900' |
| | | ); |
| | | insert myAccount2; |
| | | //daoku |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001001'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Test01'; |
| | | Orderdet2.Arrive_date__c = Date.today(); |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF'; |
| | | Orderdet2.Used_date__c = null; |
| | | Orderdet2.Lose_Flag__c = false; |
| | | Orderdet2.Return_date__c= null; |
| | | Orderdet2.Send_Date__c= null; |
| | | Orderdet2.Box_Piece__c = '盒'; |
| | | conList.add(Orderdet2); |
| | | // insert Orderdet2; |
| | | |
| | | Contact core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount2.id |
| | | ); |
| | | insert core; |
| | | MyUser_Test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com' |
| | | ); |
| | | insert MyUser_Test; |
| | | //chuku |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001002'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro2.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Test02'; |
| | | Orderdet3.Arrive_date__c = Date.today(); |
| | | Orderdet3.Send_Date__c = Date.today(); |
| | | Orderdet3.Box_Piece__c = '个'; |
| | | Orderdet3.RemoveBox_date__c= Date.today(); |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet3.Used_date__c = null; |
| | | Orderdet3.Lose_Flag__c = false; |
| | | Orderdet3.Return_date__c= null; |
| | | conList.add(Orderdet3); |
| | | // insert Orderdet3; |
| | | |
| | | |
| | | |
| | | //sale |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001004'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro2.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Test02'; |
| | | Orderdet4.Arrive_date__c = Date.today(); |
| | | Orderdet4.Box_Piece__c = '个'; |
| | | Orderdet4.RemoveBox_date__c= Date.today(); |
| | | Orderdet4.Bar_Code__c = '011495317020843711170400172003311074K250CXSDS'; |
| | | Orderdet4.Lose_Flag__c = false; |
| | | Orderdet4.Return_date__c= null; |
| | | Orderdet4.Used_date__c= Date.today(); |
| | | // insert Orderdet4; |
| | | conList.add(Orderdet4); |
| | | |
| | | |
| | | //ProductPacking_list_manual__c=1 |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001004'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro3.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Test03'; |
| | | Orderdet5.Arrive_date__c = Date.today(); |
| | | //Orderdet5.Used_date__c = Date.today(); |
| | | Orderdet5.Box_Piece__c = '盒'; |
| | | Orderdet5.RemoveBox_date__c= Date.today(); |
| | | Orderdet5.Used_date__c = null; |
| | | Orderdet5.Lose_Flag__c = false; |
| | | Orderdet5.Return_date__c= null; |
| | | Orderdet5.Send_Date__c=null; |
| | | Orderdet5.Bar_Code__c = '010495317014059411170400172203311074K250DCWQW'; |
| | | // insert Orderdet5; |
| | | conList.add(Orderdet5); |
| | | |
| | | //pandian |
| | | Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c(); |
| | | Orderdet7.Name = 'OCM_01_001004'; |
| | | Orderdet7.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet7.Consumable_Product__c = pro2.Id; |
| | | Orderdet7.Asset_Model_No__c = 'Test02'; |
| | | Orderdet7.Box_Piece__c = '盒'; |
| | | Orderdet7.Lose_Flag__c = false; |
| | | Orderdet7.Bar_Code__c = '010495317014059411170400172203311074K250DBVUD'; |
| | | Orderdet7.RemoveBox_date__c= Date.today(); |
| | | Orderdet7.Inventory_date__c= Date.today(); |
| | | // insert Orderdet7; |
| | | conList.add(Orderdet7); |
| | | |
| | | Consumable_order_details2__c Orderdet8= new Consumable_order_details2__c(); |
| | | Orderdet8.Name = 'OCM_01_001004'; |
| | | Orderdet8.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet8.Consumable_Product__c = pro2.Id; |
| | | Orderdet8.Asset_Model_No__c = 'Test02'; |
| | | Orderdet8.Arrive_date__c = Date.today(); |
| | | Orderdet8.Box_Piece__c = '个'; |
| | | Orderdet8.Lose_Flag__c = false; |
| | | Orderdet8.Bar_Code__c = '1683272847250250WZIOF'; |
| | | Orderdet8.Used_date__c = null; |
| | | Orderdet8.Lose_Flag__c = false; |
| | | Orderdet8.Return_date__c= null; |
| | | Orderdet8.RemoveBox_date__c=Date.today(); |
| | | Orderdet8.Send_Date__c=null; |
| | | Orderdet8.RemoveBox_No__c =3; |
| | | conList.add(Orderdet8); |
| | | insert conList; |
| | | // insert Orderdet8; |
| | | |
| | | |
| | | System.Test.startTest(); |
| | | LexCancelRemoveBoxController.init(); |
| | | // LexCancelRemoveBoxController.getinventorysize(); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails('1683272847250250WZIOF','捷尔医疗(海南)有限公司','深圳','ENG'); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails('','捷尔医疗(海南)有限公司','深圳','ENG'); |
| | | LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList),'捷尔医疗(海南)有限公司','深圳','ENG'); |
| | | |
| | | System.Test.stopTest(); |
| | | |
| | | } |
| | | |
| | | } |
| | | System.runAs(MyUser_Test) { |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200311', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 5, |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200312', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 5, |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod03 = new Product2( |
| | | Name = 'Test03', |
| | | ProductCode = 'Test03', |
| | | Asset_Model_No__c = 'Test03', |
| | | SFDA_Status__c = '有効', |
| | | JANCODE__c = '04953170200313', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ prod01, prod02, prod03 }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | Product2__c pro3 = new Product2__c( |
| | | Name = 'Pro003', |
| | | OT_CODE_Text__c = 'Test003', |
| | | Product2__c = prod03.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro1, pro2, pro3 }; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | Order1.Dealer_Info__c = myAccount2.Id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | static testMethod void testMethod2(){ |
| | | Oly_TriggerHandler.bypass('ConsumableAssetHander'); |
| | | Oly_TriggerHandler.bypass('Oly_TriggerHandler'); |
| | | user myUser_test; |
| | | Account myAccount2; |
| | | User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser){ |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | |
| | | myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900'); |
| | | insert myAccount2; |
| | | |
| | | Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id); |
| | | insert core; |
| | | MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c ='重庆'); |
| | | insert MyUser_Test; |
| | | } |
| | | System.runAs(MyUser_Test){ |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '到货'; |
| | | Order1.Dealer_Info__c = myAccount2.Id; |
| | | Order1.RecordTypeid = '01210000000c9dqAAA'; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>(); |
| | | Consumable_order_details2__c con = new Consumable_order_details2__c(); |
| | | con.Consumable_Arrived_order__c = Order1.Id; |
| | | con.Send_Date__c = null; |
| | | con.Used_date__c = null; |
| | | con.Return_date__c = null; |
| | | con.Lose_Flag__c = false; |
| | | con.Box_Piece__c = '个'; |
| | | con.RemoveBox_date__c = Date.today(); |
| | | con.Arrive_date__c = Date.today(); |
| | | con.RemoveBox_No__c = 2; |
| | | con.Bar_Code__c = '1682414917514250XSCYW'; |
| | | conList.add(con); |
| | | |
| | | //daoku |
| | | Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); |
| | | Orderdet2.Name = 'OCM_01_001001'; |
| | | Orderdet2.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet2.Consumable_Product__c = pro1.Id; |
| | | Orderdet2.Asset_Model_No__c = 'Test01'; |
| | | Orderdet2.Arrive_date__c = Date.today(); |
| | | Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF'; |
| | | Orderdet2.Used_date__c = null; |
| | | Orderdet2.Lose_Flag__c = false; |
| | | Orderdet2.Return_date__c = null; |
| | | Orderdet2.Send_Date__c = null; |
| | | Orderdet2.Box_Piece__c = '盒'; |
| | | conList.add(Orderdet2); |
| | | // insert Orderdet2; |
| | | |
| | | //chuku |
| | | Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); |
| | | Orderdet3.Name = 'OCM_01_001002'; |
| | | Orderdet3.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet3.Consumable_Product__c = pro2.Id; |
| | | Orderdet3.Asset_Model_No__c = 'Test02'; |
| | | Orderdet3.Arrive_date__c = Date.today(); |
| | | Orderdet3.Send_Date__c = Date.today(); |
| | | Orderdet3.Box_Piece__c = '个'; |
| | | Orderdet3.RemoveBox_date__c = Date.today(); |
| | | Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; |
| | | Orderdet3.Used_date__c = null; |
| | | Orderdet3.Lose_Flag__c = false; |
| | | Orderdet3.Return_date__c = null; |
| | | conList.add(Orderdet3); |
| | | // insert Orderdet3; |
| | | |
| | | //sale |
| | | Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); |
| | | Orderdet4.Name = 'OCM_01_001004'; |
| | | Orderdet4.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet4.Consumable_Product__c = pro2.Id; |
| | | Orderdet4.Asset_Model_No__c = 'Test02'; |
| | | Orderdet4.Arrive_date__c = Date.today(); |
| | | Orderdet4.Box_Piece__c = '个'; |
| | | Orderdet4.RemoveBox_date__c = Date.today(); |
| | | Orderdet4.Bar_Code__c = '011495317020843711170400172003311074K250CXSDS'; |
| | | Orderdet4.Lose_Flag__c = false; |
| | | Orderdet4.Return_date__c = null; |
| | | Orderdet4.Used_date__c = Date.today(); |
| | | // insert Orderdet4; |
| | | conList.add(Orderdet4); |
| | | |
| | | //ProductPacking_list_manual__c=1 |
| | | Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); |
| | | Orderdet5.Name = 'OCM_01_001004'; |
| | | Orderdet5.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet5.Consumable_Product__c = pro3.Id; |
| | | Orderdet5.Asset_Model_No__c = 'Test03'; |
| | | Orderdet5.Arrive_date__c = Date.today(); |
| | | //Orderdet5.Used_date__c = Date.today(); |
| | | Orderdet5.Box_Piece__c = '盒'; |
| | | Orderdet5.RemoveBox_date__c = Date.today(); |
| | | Orderdet5.Used_date__c = null; |
| | | Orderdet5.Lose_Flag__c = false; |
| | | Orderdet5.Return_date__c = null; |
| | | Orderdet5.Send_Date__c = null; |
| | | Orderdet5.Bar_Code__c = '010495317014059411170400172203311074K250DCWQW'; |
| | | // insert Orderdet5; |
| | | conList.add(Orderdet5); |
| | | |
| | | //pandian |
| | | Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c(); |
| | | Orderdet7.Name = 'OCM_01_001004'; |
| | | Orderdet7.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet7.Consumable_Product__c = pro2.Id; |
| | | Orderdet7.Asset_Model_No__c = 'Test02'; |
| | | Orderdet7.Box_Piece__c = '盒'; |
| | | Orderdet7.Lose_Flag__c = false; |
| | | Orderdet7.Bar_Code__c = '010495317014059411170400172203311074K250DBVUD'; |
| | | Orderdet7.RemoveBox_date__c = Date.today(); |
| | | Orderdet7.Inventory_date__c = Date.today(); |
| | | // insert Orderdet7; |
| | | conList.add(Orderdet7); |
| | | |
| | | Consumable_order_details2__c Orderdet8 = new Consumable_order_details2__c(); |
| | | Orderdet8.Name = 'OCM_01_001004'; |
| | | Orderdet8.Consumable_order_minor__c = Order1.Id; |
| | | Orderdet8.Consumable_Product__c = pro2.Id; |
| | | Orderdet8.Asset_Model_No__c = 'Test02'; |
| | | Orderdet8.Arrive_date__c = Date.today(); |
| | | Orderdet8.Box_Piece__c = '个'; |
| | | Orderdet8.Lose_Flag__c = false; |
| | | Orderdet8.Bar_Code__c = '1683272847250250WZIOF'; |
| | | Orderdet8.Used_date__c = null; |
| | | Orderdet8.Lose_Flag__c = false; |
| | | Orderdet8.Return_date__c = null; |
| | | Orderdet8.RemoveBox_date__c = Date.today(); |
| | | Orderdet8.Send_Date__c = null; |
| | | Orderdet8.RemoveBox_No__c = 3; |
| | | conList.add(Orderdet8); |
| | | insert conList; |
| | | // insert Orderdet8; |
| | | |
| | | System.Test.startTest(); |
| | | LexCancelRemoveBoxController.init(); |
| | | // LexCancelRemoveBoxController.getinventorysize(); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails( |
| | | '1683272847250250WZIOF', |
| | | '捷尔医疗(海南)有限公司', |
| | | '深圳', |
| | | 'ENG' |
| | | ); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails( |
| | | '', |
| | | '捷尔医疗(海南)有限公司', |
| | | '深圳', |
| | | 'ENG' |
| | | ); |
| | | LexCancelRemoveBoxController.cancelRemoveBoxConfirm( |
| | | JSON.serialize(conList), |
| | | '捷尔医疗(海南)有限公司', |
| | | '深圳', |
| | | 'ENG' |
| | | ); |
| | | |
| | | System.Test.stopTest(); |
| | | } |
| | | |
| | | } |
| | | static testMethod void testMethod2() { |
| | | Oly_TriggerHandler.bypass('ConsumableAssetHander'); |
| | | Oly_TriggerHandler.bypass('Oly_TriggerHandler'); |
| | | user myUser_test; |
| | | Account myAccount2; |
| | | User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser) { |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)' |
| | | ]; |
| | | |
| | | myAccount2 = new Account( |
| | | name = 'Testaccount002', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '9999900' |
| | | ); |
| | | insert myAccount2; |
| | | |
| | | Contact core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount2.id |
| | | ); |
| | | insert core; |
| | | MyUser_Test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com', |
| | | Work_Location__c = '重庆' |
| | | ); |
| | | insert MyUser_Test; |
| | | } |
| | | System.runAs(MyUser_Test) { |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01_001'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '到货'; |
| | | Order1.Dealer_Info__c = myAccount2.Id; |
| | | Order1.RecordTypeid = '01210000000c9dqAAA'; |
| | | Order1.Order_ProType__c = 'ET'; |
| | | insert Order1; |
| | | |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>(); |
| | | Consumable_order_details2__c con = new Consumable_order_details2__c(); |
| | | con.Consumable_Arrived_order__c = Order1.Id; |
| | | con.Send_Date__c = null; |
| | | con.Used_date__c = null; |
| | | con.Return_date__c = null; |
| | | con.Lose_Flag__c = false; |
| | | con.Box_Piece__c = '个'; |
| | | con.RemoveBox_date__c = Date.today(); |
| | | con.Arrive_date__c = Date.today(); |
| | | con.RemoveBox_No__c = 2; |
| | | con.Bar_Code__c = '1682414917514250XSCYW'; |
| | | conList.add(con); |
| | | |
| | | Consumable_order_details2__c con1 = new Consumable_order_details2__c(); |
| | | con1.Consumable_Arrived_order__c = Order1.Id; |
| | | con1.Send_Date__c = null; |
| | | con1.Used_date__c = null; |
| | | con1.Return_date__c = null; |
| | | con1.Lose_Flag__c = false; |
| | | con1.Box_Piece__c = '个'; |
| | | con1.RemoveBox_date__c = Date.today(); |
| | | con1.Arrive_date__c = Date.today(); |
| | | con.RemoveBox_No__c = 1; |
| | | con1.Bar_Code__c = '1682414917514250XSCYW'; |
| | | conList.add(con1); |
| | | insert (conList); |
| | | System.debug('conList' + conList); |
| | | System.Test.startTest(); |
| | | LexCancelRemoveBoxController.cancelRemoveBoxConfirm( |
| | | JSON.serialize(conList), |
| | | 'Testaccount002', |
| | | '重庆', |
| | | 'ET' |
| | | ); |
| | | LexCancelRemoveBoxController.cancelRemoveBoxConfirm( |
| | | JSON.serialize(conList1), |
| | | 'Testaccount002', |
| | | '重庆', |
| | | 'ET' |
| | | ); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | static testMethod void testMethod3() { |
| | | Oly_TriggerHandler.bypass('ConsumableAssetHander'); |
| | | Oly_TriggerHandler.bypass('Oly_TriggerHandler'); |
| | | User myUser_test; |
| | | Account myAccount2; |
| | | User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser) { |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)' |
| | | ]; |
| | | myAccount2 = new Account( |
| | | name = 'Testaccount003', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '2' |
| | | ); |
| | | insert myAccount2; |
| | | Contact core = new Contact( |
| | | email = 'wan@salesforce.com', |
| | | firstname = 'wan', |
| | | lastname = 'Plumbers', |
| | | accountid = myAccount2.id |
| | | ); |
| | | insert core; |
| | | myUser_test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com', |
| | | UserPro_Type__c = 'ENG', |
| | | Work_Location__c = '北京' |
| | | ); |
| | | insert myUser_test; |
| | | System.debug('MyUser_Test' + MyUser_Test); |
| | | } |
| | | System.runAs(MyUser_Test) { |
| | | //产品信息 |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test01', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test02', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod03 = new Product2( |
| | | Name = 'Test03', |
| | | ProductCode = 'Test03', |
| | | Asset_Model_No__c = 'Test03', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test03', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod04 = new Product2( |
| | | Name = 'Test04', |
| | | ProductCode = 'Test04', |
| | | Asset_Model_No__c = 'Test04', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 2, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test04', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod05 = new Product2( |
| | | Name = 'Test05', |
| | | ProductCode = 'Test05', |
| | | Asset_Model_No__c = 'Test05', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test05', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod06 = new Product2( |
| | | Name = 'Test06', |
| | | ProductCode = 'Test06', |
| | | Asset_Model_No__c = 'Test06', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test06', |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ |
| | | prod01, |
| | | prod02, |
| | | prod03, |
| | | prod04, |
| | | prod05, |
| | | prod06 |
| | | }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | Product2__c pro3 = new Product2__c( |
| | | Name = 'Pro004', |
| | | OT_CODE_Text__c = 'Test004', |
| | | Product2__c = prod03.Id |
| | | ); |
| | | Product2__c pro4 = new Product2__c( |
| | | Name = 'Pro005', |
| | | OT_CODE_Text__c = 'Test005', |
| | | Product2__c = prod04.Id |
| | | ); |
| | | Product2__c pro5 = new Product2__c( |
| | | Name = 'Pro003', |
| | | OT_CODE_Text__c = 'Test003', |
| | | Product2__c = prod05.Id |
| | | ); |
| | | Product2__c pro6 = new Product2__c( |
| | | Name = 'Pro006', |
| | | OT_CODE_Text__c = 'Test006', |
| | | Product2__c = prod06.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro4, pro5, pro6, pro1, pro2, pro3 }; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | Order1.Dealer_Info__c = myAccount2.Id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Order_ProType__c = 'ENG'; |
| | | insert Order1; |
| | | //出货 |
| | | Consumable_order__c Order2 = new Consumable_order__c(); |
| | | Order2.Name = 'OCM_01'; |
| | | Order2.Order_status__c = '批准'; |
| | | Order2.Order_type__c = '订单'; |
| | | Order2.Dealer_Info__c = myAccount2.Id; |
| | | Order2.RecordTypeid = '012100000006Jx9AAE'; |
| | | Order2.Order_ProType__c = 'ENG'; |
| | | insert Order2; |
| | | |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> conList2 = new List<Consumable_order_details2__c>(); |
| | | //产品类型不同 |
| | | Consumable_order_details2__c con = new Consumable_order_details2__c(); |
| | | con.Name = 'OCM_01_001001'; |
| | | con.Consumable_order_minor__c = Order1.Id; |
| | | con.Consumable_Product__c = pro2.Id; |
| | | con.Asset_Model_No__c = 'Test01'; |
| | | con.Arrive_date__c = Date.today(); |
| | | con.Bar_Code__c = '10061'; |
| | | con.Used_date__c = null; |
| | | con.Lose_Flag__c = false; |
| | | con.Return_date__c = null; |
| | | con.Send_Date__c = null; |
| | | con.Box_Piece__c = '盒'; |
| | | conList.add(con); |
| | | insert conList; |
| | | |
| | | //产品类型不同 |
| | | Consumable_order_details2__c con1 = new Consumable_order_details2__c(); |
| | | con1.Consumable_Product__c = pro2.Id; |
| | | con1.Consumable_order_minor__c = Order1.Id; |
| | | con1.Bar_Code__c = '10011'; |
| | | con1.Arrive_date__c = Date.today(); |
| | | conList1.add(con1); |
| | | //没有拆盒 |
| | | Consumable_order_details2__c con2 = new Consumable_order_details2__c(); |
| | | con2.Send_Date__c = null; |
| | | con2.Used_date__c = null; |
| | | con2.Lose_Flag__c = false; |
| | | con2.Box_Piece__c = '盒'; |
| | | con2.Consumable_Product__c = pro2.Id; |
| | | con2.Consumable_order_minor__c = Order1.Id; |
| | | con2.Bar_Code__c = '10021'; |
| | | con2.Arrive_date__c = Date.today(); |
| | | con2.RemoveBox_date__c = null; |
| | | conList1.add(con2); |
| | | insert conList1; |
| | | |
| | | //已出货 未到货 |
| | | Consumable_order_details2__c con3 = new Consumable_order_details2__c(); |
| | | con3.Arrive_date__c = null; |
| | | con3.Send_Date__c = null; |
| | | con3.Used_date__c = null; |
| | | con3.Return_date__c = null; |
| | | con3.Lose_Flag__c = false; |
| | | con3.Box_Piece__c = '盒'; |
| | | con3.Consumable_Arrived_order__c = Order2.Id; |
| | | con3.Consumable_Product__c = pro2.Id; |
| | | con3.Bar_Code__c = '10031'; |
| | | conList2.add(con3); |
| | | //拆盒已出货 |
| | | Consumable_order_details2__c con4 = new Consumable_order_details2__c(); |
| | | con4.Arrive_date__c = Date.today(); |
| | | con4.Send_Date__c = Date.today(); |
| | | con4.Return_date__c = null; |
| | | con4.Used_date__c = null; |
| | | con4.Lose_Flag__c = false; |
| | | con4.Box_Piece__c = '个'; |
| | | con4.RemoveBox_date__c = Date.today(); |
| | | con4.Consumable_Arrived_order__c = Order2.Id; |
| | | con4.Consumable_Product__c = pro2.Id; |
| | | con4.Bar_Code__c = '10041'; |
| | | conList2.add(con4); |
| | | insert conList2; |
| | | |
| | | System.Test.startTest(); |
| | | LexCancelRemoveBoxController.barcode = '1004\n1003\n1002\n1001'; |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails( |
| | | '10061\n10051\n10041\n10031\n10021\n10011', |
| | | 'Testaccount003', |
| | | '重庆', |
| | | 'ET' |
| | | ); |
| | | String str = '该商品存在盘点履历'; |
| | | String errorReason = ''; |
| | | LexCancelRemoveBoxController.ConsumableorderdetailsInfo c2 = new LexCancelRemoveBoxController.ConsumableorderdetailsInfo( |
| | | con, |
| | | str |
| | | ); |
| | | c2.esd = con; |
| | | c2.Prod = con.Consumable_product__r; |
| | | c2.oldConsumableCount = con.name; |
| | | c2.ErrorReason = str; |
| | | LexCancelRemoveBoxController.ConsumableorderdetailsInfo c1 = new LexCancelRemoveBoxController.ConsumableorderdetailsInfo( |
| | | con2 |
| | | ); |
| | | c1.esd = con; |
| | | c1.Prod = con.Consumable_product__r; |
| | | c1.oldConsumableCount = con.name; |
| | | c1.compareTo(c2); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | static testMethod void testMethod4() { |
| | | Oly_TriggerHandler.bypass('ConsumableAssetHander'); |
| | | Oly_TriggerHandler.bypass('Oly_TriggerHandler'); |
| | | User myUser_test; |
| | | Account myAccount2; |
| | | User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser) { |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)' |
| | | ]; |
| | | myAccount2 = new Account( |
| | | name = 'Testaccount003', |
| | | Dealer_discount__c = 20, |
| | | RecordTypeId = rectCo[0].Id, |
| | | AgentCode_Ext__c = '2' |
| | | ); |
| | | insert myAccount2; |
| | | Contact core = new Contact( |
| | | email = 'wan@salesforce.com', |
| | | firstname = 'wan', |
| | | lastname = 'Plumbers', |
| | | accountid = myAccount2.id |
| | | ); |
| | | insert core; |
| | | MyUser_Test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newWang', |
| | | Email = 'newWang@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'TestUserWang', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUserWang@testorg.com', |
| | | Work_Location__c = '重庆' |
| | | ); |
| | | insert MyUser_Test; |
| | | System.debug('MyUser_Test' + MyUser_Test); |
| | | } |
| | | System.runAs(MyUser_Test) { |
| | | //产品信息 |
| | | Product2 prod01 = new Product2( |
| | | Name = 'Test01', |
| | | ProductCode = 'Test01', |
| | | Asset_Model_No__c = 'Test01', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test01', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod02 = new Product2( |
| | | Name = 'Test02', |
| | | ProductCode = 'Test02', |
| | | Asset_Model_No__c = 'Test02', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test02', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod03 = new Product2( |
| | | Name = 'Test03', |
| | | ProductCode = 'Test03', |
| | | Asset_Model_No__c = 'Test03', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test03', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod04 = new Product2( |
| | | Name = 'Test04', |
| | | ProductCode = 'Test04', |
| | | Asset_Model_No__c = 'Test04', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 2, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test04', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod05 = new Product2( |
| | | Name = 'Test05', |
| | | ProductCode = 'Test05', |
| | | Asset_Model_No__c = 'Test05', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test05', |
| | | Manual_Entry__c = false |
| | | ); |
| | | Product2 prod06 = new Product2( |
| | | Name = 'Test06', |
| | | ProductCode = 'Test06', |
| | | Asset_Model_No__c = 'Test06', |
| | | SFDA_Status__c = '有効', |
| | | Dealer_special_Object__c = true, |
| | | Packing_list_manual__c = 1, |
| | | SFDA_Expiration_Date__c = Date.today(), |
| | | Category5__c = 'test06', |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert new List<Product2>{ |
| | | prod01, |
| | | prod02, |
| | | prod03, |
| | | prod04, |
| | | prod05, |
| | | prod06 |
| | | }; |
| | | Product2__c pro1 = new Product2__c( |
| | | Name = 'Pro001', |
| | | OT_CODE_Text__c = 'Test001', |
| | | Product2__c = prod01.Id |
| | | ); |
| | | Product2__c pro2 = new Product2__c( |
| | | Name = 'Pro002', |
| | | OT_CODE_Text__c = 'Test002', |
| | | Product2__c = prod02.Id |
| | | ); |
| | | Product2__c pro3 = new Product2__c( |
| | | Name = 'Pro004', |
| | | OT_CODE_Text__c = 'Test004', |
| | | Product2__c = prod03.Id |
| | | ); |
| | | Product2__c pro4 = new Product2__c( |
| | | Name = 'Pro005', |
| | | OT_CODE_Text__c = 'Test005', |
| | | Product2__c = prod04.Id |
| | | ); |
| | | Product2__c pro5 = new Product2__c( |
| | | Name = 'Pro003', |
| | | OT_CODE_Text__c = 'Test003', |
| | | Product2__c = prod05.Id |
| | | ); |
| | | Product2__c pro6 = new Product2__c( |
| | | Name = 'Pro006', |
| | | OT_CODE_Text__c = 'Test006', |
| | | Product2__c = prod06.Id |
| | | ); |
| | | insert new List<Product2__c>{ pro4, pro5, pro6, pro1, pro2, pro3 }; |
| | | List<Consumable_order__c> orderList = new List<Consumable_order__c>(); |
| | | //销售 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '销售'; |
| | | Order1.Dealer_Info__c = myAccount2.Id; |
| | | Order1.RecordTypeid = '01210000000c9duAAA'; |
| | | Order1.Order_ProType__c = 'ENG'; |
| | | orderList.add(Order1); |
| | | //返品 |
| | | Consumable_order__c Order2 = new Consumable_order__c(); |
| | | Order2.Name = 'OCM_01'; |
| | | Order2.Order_status__c = '批准'; |
| | | Order2.Order_type__c = '返品'; |
| | | Order2.Dealer_Info__c = myAccount2.Id; |
| | | Order2.RecordTypeid = '012100000006Jx4AAE'; |
| | | Order2.Order_ProType__c = 'ENG'; |
| | | orderList.add(Order2); |
| | | //盘点 |
| | | Consumable_order__c Order3 = new Consumable_order__c(); |
| | | Order3.Name = 'OCM_01'; |
| | | Order3.Order_status__c = '批准'; |
| | | Order3.Order_type__c = '盘点'; |
| | | Order3.Dealer_Info__c = myAccount2.Id; |
| | | Order3.RecordTypeid = '01210000000c9dsAAA'; |
| | | Order3.Order_ProType__c = 'ENG'; |
| | | orderList.add(Order3); |
| | | //发货 |
| | | Consumable_order__c Order4 = new Consumable_order__c(); |
| | | Order4.Name = 'OCM_0122'; |
| | | Order4.Order_status__c = '批准'; |
| | | Order4.Order_type__c = '订单'; |
| | | Order4.Dealer_Info__c = myAccount2.Id; |
| | | Order4.RecordTypeid = '01210000000c9drAAA'; |
| | | Order4.Order_ProType__c = 'ET'; |
| | | Order4.ContractNo__c = ''; |
| | | orderList.add(Order4); |
| | | insert orderList; |
| | | |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> conList2 = new List<Consumable_order_details2__c>(); |
| | | //拆盒已销售 |
| | | Consumable_order_details2__c con4 = new Consumable_order_details2__c(); |
| | | con4.Arrive_date__c = Date.today(); |
| | | con4.Deliver_date__c = Date.today(); |
| | | con4.Sterilization_limit__c = Date.today(); |
| | | con4.Send_Date__c = null; |
| | | con4.Return_date__c = null; |
| | | con4.Used_date__c = Date.today(); |
| | | con4.Lose_Flag__c = false; |
| | | con4.Box_Piece__c = '个'; |
| | | con4.RemoveBox_date__c = Date.today(); |
| | | con4.RecordTypeId = '01210000000kUDKAA2'; |
| | | con4.Consumable_Product__c = pro2.Id; |
| | | con4.Bar_Code__c = '100611'; |
| | | conList.add(con4); |
| | | insert conList; |
| | | |
| | | //拆盒返品 |
| | | Consumable_order_details2__c con5 = new Consumable_order_details2__c(); |
| | | con5.Arrive_date__c = Date.today(); |
| | | con5.Return_date__c = Date.today(); |
| | | con5.Deliver_date__c = Date.today(); |
| | | con5.Send_Date__c = null; |
| | | con5.Sterilization_limit__c = Date.today(); |
| | | con5.Used_date__c = Date.today(); |
| | | con5.Box_Piece__c = '个'; |
| | | con5.RemoveBox_date__c = Date.today(); |
| | | con5.RecordTypeId = '01210000000kUDPAA2'; |
| | | con5.Consumable_Product__c = pro2.Id; |
| | | con5.Consumable_order_minor__c = Order4.Id; |
| | | con5.Bar_Code__c = '10061'; |
| | | conList1.add(con5); |
| | | insert conList1; |
| | | |
| | | //拆盒后盘点过 |
| | | Consumable_order_details2__c con6 = new Consumable_order_details2__c(); |
| | | con6.Inventory_date__c = Date.today(); |
| | | con6.Box_Piece__c = '个'; |
| | | con6.RemoveBox_date__c = Date.today(); |
| | | con6.Send_Date__c = null; |
| | | con6.Deliver_date__c = Date.today(); |
| | | con6.Sterilization_limit__c = Date.today(); |
| | | con6.RecordTypeId = '01210000000kUDKAA2'; |
| | | con6.Consumable_Arrived_order__c = Order3.Id; |
| | | con6.Consumable_Product__c = pro2.Id; |
| | | con6.Bar_Code__c = '10078'; |
| | | conList2.add(con6); |
| | | insert conList2; |
| | | |
| | | List<Consumable_order_details2__c> conList3 = new List<Consumable_order_details2__c>(); |
| | | //拆盒已出货 |
| | | Consumable_order_details2__c con3 = new Consumable_order_details2__c(); |
| | | con3.Arrive_date__c = Date.today(); |
| | | con3.Send_Date__c = Date.today(); |
| | | con3.Return_date__c = null; |
| | | con3.Used_date__c = null; |
| | | con3.Lose_Flag__c = false; |
| | | con3.Box_Piece__c = '个'; |
| | | con3.Deliver_date__c = Date.today(); |
| | | con3.RemoveBox_date__c = Date.today(); |
| | | con3.RecordTypeId = '01210000000kUDKAA2'; |
| | | con3.Consumable_Product__c = pro2.Id; |
| | | con3.Consumable_order_minor__c = Order4.Id; |
| | | con3.Bar_Code__c = '100999'; |
| | | con3.Sterilization_limit__c = Date.today(); |
| | | conList3.add(con3); |
| | | insert conList3; |
| | | |
| | | //reset |
| | | // Consumable_order_details2__c con1 = new Consumable_order_details2__c(); |
| | | // con1.Intra_Trade_List_RMB__c = 1000; |
| | | // con1.Asset_Model_No__c = 'test'; |
| | | // con1.Sterilization_limit__c = Date.today(); |
| | | // con1.Deliver_date__c = Date.today(); |
| | | // con1.Arrive_date__c = Date.today(); |
| | | // con1.Send_Date__c = null; |
| | | // con1.Used_date__c = null; |
| | | // con1.Return_date__c = null; |
| | | // con1.Lose_Flag__c = false; |
| | | // con1.Box_Piece__c = '个'; |
| | | |
| | | // con1.Consumable_order_minor__c = Order4.Id; |
| | | // con1.Guarantee_period_for_products__c = Date.today(); |
| | | // con1.Consumable_Product__c = pro2.Id; |
| | | // con1.Bar_Code__c = '1009999'; |
| | | // conList2.add(con1); |
| | | // insert conList2; |
| | | |
| | | // List<Consumable_order_details2__c> conList3 = new List<Consumable_order_details2__c> (); |
| | | // Consumable_order_details2__c con9 = new Consumable_order_details2__c(); |
| | | // con9.RemoveBox_date__c = Date.today(); |
| | | // con9.Bar_Code__c = '100112'; |
| | | // con9.Arrive_date__c = Date.today(); |
| | | // con9.Send_Date__c = null; |
| | | // con9.Used_date__c = null; |
| | | // con9.Return_date__c = null; |
| | | // con9.Lose_Flag__c = false; |
| | | // con9.Box_Piece__c = '个'; |
| | | // con9.RemoveBox_No__c = 9; |
| | | // conList3.add(con9); |
| | | // LexCancelRemoveBoxController.searchConsumableorderdetails('100112','Testaccount003','重庆','ET'); |
| | | |
| | | //orderDetails2 |
| | | // Consumable_order_details2__c con00 = new Consumable_order_details2__c(); |
| | | // con00.Box_Piece__c = '个'; |
| | | // con00.RemoveBox_date__c = Date.today(); |
| | | // con00.RemoveBox_No__c = 1; |
| | | // con00.ContractNo_text__c = ''; |
| | | // con00.Consumable_order_minor__c = Order4.Id; |
| | | // con00.Bar_Code__c = '10099999989'; |
| | | // conList3.add(con00); |
| | | |
| | | // insert conList3; |
| | | System.Test.startTest(); |
| | | LexCancelRemoveBoxController CancelRemoveBoxController = new LexCancelRemoveBoxController(); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails( |
| | | '100611\n10078\n10099\n1009999\n100999', |
| | | 'Testaccount003', |
| | | '重庆', |
| | | 'ET' |
| | | ); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails( |
| | | '100611\n10078\n10061\n10051\n10041\n10031\n10021\n10011', |
| | | 'Testaccount003', |
| | | '北京', |
| | | 'ET' |
| | | ); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails( |
| | | '100611\n10078\n10061\n10051\n10041\n10031\n10021\n10011', |
| | | 'Testaccount003', |
| | | '重庆', |
| | | 'ET' |
| | | ); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | Consumable_order_details2__c con1 = new Consumable_order_details2__c(); |
| | | con1.Consumable_Arrived_order__c = Order1.Id; |
| | | con1.Send_Date__c = null; |
| | | con1.Used_date__c = null; |
| | | con1.Return_date__c = null; |
| | | con1.Lose_Flag__c = false; |
| | | con1.Box_Piece__c = '个'; |
| | | con1.RemoveBox_date__c = Date.today(); |
| | | con1.Arrive_date__c = Date.today(); |
| | | con.RemoveBox_No__c = 1; |
| | | con1.Bar_Code__c = '1682414917514250XSCYW'; |
| | | conList.add(con1); |
| | | insert(conList); |
| | | System.debug('conList'+conList); |
| | | System.Test.startTest(); |
| | | LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList),'Testaccount002','重庆','ET'); |
| | | LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList1),'Testaccount002','重庆','ET'); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | static testMethod void testMethod3(){ |
| | | Oly_TriggerHandler.bypass('ConsumableAssetHander'); |
| | | Oly_TriggerHandler.bypass('Oly_TriggerHandler'); |
| | | User myUser_test; |
| | | Account myAccount2; |
| | | User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser){ |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | myAccount2 = new Account(name='Testaccount003',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '2'); |
| | | insert myAccount2; |
| | | Contact core = new Contact(email='wan@salesforce.com', firstname='wan',lastname='Plumbers',accountid=myAccount2.id); |
| | | insert core; |
| | | myUser_test = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京'); |
| | | insert myUser_test; |
| | | System.debug('MyUser_Test'+MyUser_Test); |
| | | } |
| | | System.runAs(MyUser_Test){ |
| | | //产品信息 |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test01',Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test02',Manual_Entry__c = false); |
| | | Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test03',Manual_Entry__c = false); |
| | | Product2 prod04 = new Product2(Name='Test04',ProductCode='Test04',Asset_Model_No__c = 'Test04',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=2,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test04',Manual_Entry__c = false); |
| | | Product2 prod05 = new Product2(Name='Test05',ProductCode='Test05',Asset_Model_No__c = 'Test05',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test05',Manual_Entry__c = false); |
| | | Product2 prod06 = new Product2(Name='Test06',ProductCode='Test06',Asset_Model_No__c = 'Test06',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test06',Manual_Entry__c = false); |
| | | insert new Product2[] {prod01, prod02,prod03,prod04, prod05, prod06}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | Product2__c pro3 = new Product2__c(Name='Pro004',OT_CODE_Text__c='Test004',Product2__c = prod03.Id); |
| | | Product2__c pro4 = new Product2__c(Name='Pro005',OT_CODE_Text__c='Test005',Product2__c = prod04.Id); |
| | | Product2__c pro5 = new Product2__c(Name='Pro003',OT_CODE_Text__c='Test003',Product2__c = prod05.Id); |
| | | Product2__c pro6 = new Product2__c(Name='Pro006',OT_CODE_Text__c='Test006',Product2__c = prod06.Id); |
| | | insert new Product2__c[] {pro4, pro5,pro6,pro1, pro2, pro3}; |
| | | //订单 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '订单'; |
| | | Order1.Dealer_Info__c = myAccount2.Id; |
| | | Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; |
| | | Order1.Order_ProType__c = 'ENG'; |
| | | insert Order1; |
| | | //出货 |
| | | Consumable_order__c Order2 = new Consumable_order__c(); |
| | | Order2.Name = 'OCM_01'; |
| | | Order2.Order_status__c = '批准'; |
| | | Order2.Order_type__c = '订单'; |
| | | Order2.Dealer_Info__c = myAccount2.Id; |
| | | Order2.RecordTypeid = '012100000006Jx9AAE'; |
| | | Order2.Order_ProType__c = 'ENG'; |
| | | insert Order2; |
| | | |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c> (); |
| | | List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c> (); |
| | | List<Consumable_order_details2__c> conList2 = new List<Consumable_order_details2__c> (); |
| | | //产品类型不同 |
| | | Consumable_order_details2__c con = new Consumable_order_details2__c(); |
| | | con.Name = 'OCM_01_001001'; |
| | | con.Consumable_order_minor__c = Order1.Id; |
| | | con.Consumable_Product__c = pro2.Id; |
| | | con.Asset_Model_No__c = 'Test01'; |
| | | con.Arrive_date__c = Date.today(); |
| | | con.Bar_Code__c = '10061'; |
| | | con.Used_date__c = null; |
| | | con.Lose_Flag__c = false; |
| | | con.Return_date__c= null; |
| | | con.Send_Date__c= null; |
| | | con.Box_Piece__c = '盒'; |
| | | conList.add(con); |
| | | insert conList; |
| | | |
| | | //产品类型不同 |
| | | Consumable_order_details2__c con1 = new Consumable_order_details2__c(); |
| | | con1.Consumable_Product__c = pro2.Id; |
| | | con1.Consumable_order_minor__c = Order1.Id; |
| | | con1.Bar_Code__c = '10011'; |
| | | con1.Arrive_date__c = Date.today(); |
| | | conList1.add(con1); |
| | | //没有拆盒 |
| | | Consumable_order_details2__c con2 = new Consumable_order_details2__c(); |
| | | con2.Send_Date__c =null; |
| | | con2.Used_date__c = null; |
| | | con2.Lose_Flag__c = false; |
| | | con2.Box_Piece__c = '盒'; |
| | | con2.Consumable_Product__c = pro2.Id; |
| | | con2.Consumable_order_minor__c = Order1.Id; |
| | | con2.Bar_Code__c = '10021'; |
| | | con2.Arrive_date__c = Date.today(); |
| | | con2.RemoveBox_date__c = null; |
| | | conList1.add(con2); |
| | | insert conList1; |
| | | |
| | | //已出货 未到货 |
| | | Consumable_order_details2__c con3 = new Consumable_order_details2__c(); |
| | | con3.Arrive_date__c = null; |
| | | con3.Send_Date__c =null; |
| | | con3.Used_date__c = null; |
| | | con3.Return_date__c = null; |
| | | con3.Lose_Flag__c = false; |
| | | con3.Box_Piece__c = '盒'; |
| | | con3.Consumable_Arrived_order__c = Order2.Id; |
| | | con3.Consumable_Product__c = pro2.Id; |
| | | con3.Bar_Code__c = '10031'; |
| | | conList2.add(con3); |
| | | //拆盒已出货 |
| | | Consumable_order_details2__c con4 = new Consumable_order_details2__c(); |
| | | con4.Arrive_date__c = Date.today(); |
| | | con4.Send_Date__c = Date.today(); |
| | | con4.Return_date__c = null; |
| | | con4.Used_date__c = null; |
| | | con4.Lose_Flag__c = false; |
| | | con4.Box_Piece__c = '个'; |
| | | con4.RemoveBox_date__c = Date.today(); |
| | | con4.Consumable_Arrived_order__c = Order2.Id; |
| | | con4.Consumable_Product__c = pro2.Id; |
| | | con4.Bar_Code__c = '10041'; |
| | | conList2.add(con4); |
| | | insert conList2; |
| | | |
| | | System.Test.startTest(); |
| | | LexCancelRemoveBoxController.barcode = '1004\n1003\n1002\n1001'; |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails('10061\n10051\n10041\n10031\n10021\n10011','Testaccount003','重庆','ET'); |
| | | String str = '该商品存在盘点履历'; |
| | | String errorReason = ''; |
| | | LexCancelRemoveBoxController.ConsumableorderdetailsInfo c2 = new LexCancelRemoveBoxController.ConsumableorderdetailsInfo(con,str); |
| | | c2.esd = con; |
| | | c2.Prod = con.Consumable_product__r; |
| | | c2.oldConsumableCount = con.name; |
| | | c2.ErrorReason = str; |
| | | LexCancelRemoveBoxController.ConsumableorderdetailsInfo c1 = new LexCancelRemoveBoxController.ConsumableorderdetailsInfo(con2); |
| | | c1.esd = con; |
| | | c1.Prod = con.Consumable_product__r; |
| | | c1.oldConsumableCount = con.name; |
| | | c1.compareTo(c2); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | static testMethod void testMethod4(){ |
| | | Oly_TriggerHandler.bypass('ConsumableAssetHander'); |
| | | Oly_TriggerHandler.bypass('Oly_TriggerHandler'); |
| | | User myUser_test; |
| | | Account myAccount2; |
| | | User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser){ |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)']; |
| | | myAccount2 = new Account(name='Testaccount003',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '2'); |
| | | insert myAccount2; |
| | | Contact core = new Contact(email='wan@salesforce.com', firstname='wan',lastname='Plumbers',accountid=myAccount2.id); |
| | | insert core; |
| | | MyUser_Test = New User(ContactId = core.id,Alias = 'newWang',Email='newWang@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUserWang', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUserWang@testorg.com',Work_Location__c ='重庆'); |
| | | insert MyUser_Test; |
| | | System.debug('MyUser_Test'+MyUser_Test); |
| | | } |
| | | System.runAs(MyUser_Test){ |
| | | //产品信息 |
| | | Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test01',Manual_Entry__c = false); |
| | | Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test02',Manual_Entry__c = false); |
| | | Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test03',Manual_Entry__c = false); |
| | | Product2 prod04 = new Product2(Name='Test04',ProductCode='Test04',Asset_Model_No__c = 'Test04',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=2,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test04',Manual_Entry__c = false); |
| | | Product2 prod05 = new Product2(Name='Test05',ProductCode='Test05',Asset_Model_No__c = 'Test05',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test05',Manual_Entry__c = false); |
| | | Product2 prod06 = new Product2(Name='Test06',ProductCode='Test06',Asset_Model_No__c = 'Test06',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test06',Manual_Entry__c = false); |
| | | insert new Product2[] {prod01, prod02,prod03,prod04, prod05, prod06}; |
| | | Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); |
| | | Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); |
| | | Product2__c pro3 = new Product2__c(Name='Pro004',OT_CODE_Text__c='Test004',Product2__c = prod03.Id); |
| | | Product2__c pro4 = new Product2__c(Name='Pro005',OT_CODE_Text__c='Test005',Product2__c = prod04.Id); |
| | | Product2__c pro5 = new Product2__c(Name='Pro003',OT_CODE_Text__c='Test003',Product2__c = prod05.Id); |
| | | Product2__c pro6 = new Product2__c(Name='Pro006',OT_CODE_Text__c='Test006',Product2__c = prod06.Id); |
| | | insert new Product2__c[] {pro4, pro5,pro6,pro1, pro2, pro3}; |
| | | List<Consumable_order__c> orderList = new List<Consumable_order__c>(); |
| | | //销售 |
| | | Consumable_order__c Order1 = new Consumable_order__c(); |
| | | Order1.Name = 'OCM_01'; |
| | | Order1.Order_status__c = '批准'; |
| | | Order1.Order_type__c = '销售'; |
| | | Order1.Dealer_Info__c = myAccount2.Id; |
| | | Order1.RecordTypeid = '01210000000c9duAAA'; |
| | | Order1.Order_ProType__c = 'ENG'; |
| | | orderList.add(Order1); |
| | | //返品 |
| | | Consumable_order__c Order2 = new Consumable_order__c(); |
| | | Order2.Name = 'OCM_01'; |
| | | Order2.Order_status__c = '批准'; |
| | | Order2.Order_type__c = '返品'; |
| | | Order2.Dealer_Info__c = myAccount2.Id; |
| | | Order2.RecordTypeid = '012100000006Jx4AAE'; |
| | | Order2.Order_ProType__c = 'ENG'; |
| | | orderList.add(Order2); |
| | | //盘点 |
| | | Consumable_order__c Order3 = new Consumable_order__c(); |
| | | Order3.Name = 'OCM_01'; |
| | | Order3.Order_status__c = '批准'; |
| | | Order3.Order_type__c = '盘点'; |
| | | Order3.Dealer_Info__c = myAccount2.Id; |
| | | Order3.RecordTypeid = '01210000000c9dsAAA'; |
| | | Order3.Order_ProType__c = 'ENG'; |
| | | orderList.add(Order3); |
| | | //发货 |
| | | Consumable_order__c Order4 = new Consumable_order__c(); |
| | | Order4.Name = 'OCM_0122'; |
| | | Order4.Order_status__c = '批准'; |
| | | Order4.Order_type__c = '订单'; |
| | | Order4.Dealer_Info__c = myAccount2.Id; |
| | | Order4.RecordTypeid = '01210000000c9drAAA'; |
| | | Order4.Order_ProType__c = 'ET'; |
| | | Order4.ContractNo__c = ''; |
| | | orderList.add(Order4); |
| | | insert orderList; |
| | | |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c> (); |
| | | List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c> (); |
| | | List<Consumable_order_details2__c> conList2 = new List<Consumable_order_details2__c> (); |
| | | //拆盒已销售 |
| | | Consumable_order_details2__c con4 = new Consumable_order_details2__c(); |
| | | con4.Arrive_date__c = Date.today(); |
| | | con4.Deliver_date__c = Date.today(); |
| | | con4.Sterilization_limit__c = Date.today(); |
| | | con4.Send_Date__c = null; |
| | | con4.Return_date__c = null; |
| | | con4.Used_date__c = Date.today(); |
| | | con4.Lose_Flag__c = false; |
| | | con4.Box_Piece__c = '个'; |
| | | con4.RemoveBox_date__c = Date.today(); |
| | | con4.RecordTypeId = '01210000000kUDKAA2'; |
| | | con4.Consumable_Product__c = pro2.Id; |
| | | con4.Bar_Code__c = '100611'; |
| | | conList.add(con4); |
| | | insert conList; |
| | | |
| | | //拆盒返品 |
| | | Consumable_order_details2__c con5 = new Consumable_order_details2__c(); |
| | | con5.Arrive_date__c = Date.today(); |
| | | con5.Return_date__c = Date.today(); |
| | | con5.Deliver_date__c = Date.today(); |
| | | con5.Send_Date__c = null; |
| | | con5.Sterilization_limit__c = Date.today(); |
| | | con5.Used_date__c = Date.today(); |
| | | con5.Box_Piece__c = '个'; |
| | | con5.RemoveBox_date__c = Date.today(); |
| | | con5.RecordTypeId = '01210000000kUDPAA2'; |
| | | con5.Consumable_Product__c = pro2.Id; |
| | | con5.Consumable_order_minor__c = Order4.Id; |
| | | con5.Bar_Code__c = '10061'; |
| | | conList1.add(con5); |
| | | insert conList1; |
| | | |
| | | //拆盒后盘点过 |
| | | Consumable_order_details2__c con6 = new Consumable_order_details2__c(); |
| | | con6.Inventory_date__c = Date.today(); |
| | | con6.Box_Piece__c = '个'; |
| | | con6.RemoveBox_date__c = Date.today(); |
| | | con6.Send_Date__c = null; |
| | | con6.Deliver_date__c = Date.today(); |
| | | con6.Sterilization_limit__c = Date.today(); |
| | | con6.RecordTypeId = '01210000000kUDKAA2'; |
| | | con6.Consumable_Arrived_order__c = Order3.Id; |
| | | con6.Consumable_Product__c = pro2.Id; |
| | | con6.Bar_Code__c = '10078'; |
| | | conList2.add(con6); |
| | | insert conList2; |
| | | |
| | | List<Consumable_order_details2__c> conList3 = new List<Consumable_order_details2__c> (); |
| | | //拆盒已出货 |
| | | Consumable_order_details2__c con3 = new Consumable_order_details2__c(); |
| | | con3.Arrive_date__c = Date.today(); |
| | | con3.Send_Date__c = Date.today(); |
| | | con3.Return_date__c = null; |
| | | con3.Used_date__c = null; |
| | | con3.Lose_Flag__c = false; |
| | | con3.Box_Piece__c = '个'; |
| | | con3.Deliver_date__c = Date.today(); |
| | | con3.RemoveBox_date__c = Date.today(); |
| | | con3.RecordTypeId = '01210000000kUDKAA2'; |
| | | con3.Consumable_Product__c = pro2.Id; |
| | | con3.Consumable_order_minor__c = Order4.Id; |
| | | con3.Bar_Code__c = '100999'; |
| | | con3.Sterilization_limit__c = Date.today(); |
| | | conList3.add(con3); |
| | | insert conList3; |
| | | |
| | | |
| | | //reset |
| | | // Consumable_order_details2__c con1 = new Consumable_order_details2__c(); |
| | | // con1.Intra_Trade_List_RMB__c = 1000; |
| | | // con1.Asset_Model_No__c = 'test'; |
| | | // con1.Sterilization_limit__c = Date.today(); |
| | | // con1.Deliver_date__c = Date.today(); |
| | | // con1.Arrive_date__c = Date.today(); |
| | | // con1.Send_Date__c = null; |
| | | // con1.Used_date__c = null; |
| | | // con1.Return_date__c = null; |
| | | // con1.Lose_Flag__c = false; |
| | | // con1.Box_Piece__c = '个'; |
| | | |
| | | // con1.Consumable_order_minor__c = Order4.Id; |
| | | // con1.Guarantee_period_for_products__c = Date.today(); |
| | | // con1.Consumable_Product__c = pro2.Id; |
| | | // con1.Bar_Code__c = '1009999'; |
| | | // conList2.add(con1); |
| | | // insert conList2; |
| | | |
| | | // List<Consumable_order_details2__c> conList3 = new List<Consumable_order_details2__c> (); |
| | | // Consumable_order_details2__c con9 = new Consumable_order_details2__c(); |
| | | // con9.RemoveBox_date__c = Date.today(); |
| | | // con9.Bar_Code__c = '100112'; |
| | | // con9.Arrive_date__c = Date.today(); |
| | | // con9.Send_Date__c = null; |
| | | // con9.Used_date__c = null; |
| | | // con9.Return_date__c = null; |
| | | // con9.Lose_Flag__c = false; |
| | | // con9.Box_Piece__c = '个'; |
| | | // con9.RemoveBox_No__c = 9; |
| | | // conList3.add(con9); |
| | | // LexCancelRemoveBoxController.searchConsumableorderdetails('100112','Testaccount003','重庆','ET'); |
| | | |
| | | |
| | | |
| | | //orderDetails2 |
| | | // Consumable_order_details2__c con00 = new Consumable_order_details2__c(); |
| | | // con00.Box_Piece__c = '个'; |
| | | // con00.RemoveBox_date__c = Date.today(); |
| | | // con00.RemoveBox_No__c = 1; |
| | | // con00.ContractNo_text__c = ''; |
| | | // con00.Consumable_order_minor__c = Order4.Id; |
| | | // con00.Bar_Code__c = '10099999989'; |
| | | // conList3.add(con00); |
| | | |
| | | // insert conList3; |
| | | System.Test.startTest(); |
| | | LexCancelRemoveBoxController CancelRemoveBoxController = new LexCancelRemoveBoxController(); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails('100611\n10078\n10099\n1009999\n100999','Testaccount003','重庆','ET'); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails('100611\n10078\n10061\n10051\n10041\n10031\n10021\n10011','Testaccount003','北京','ET'); |
| | | LexCancelRemoveBoxController.searchConsumableorderdetails('100611\n10078\n10061\n10051\n10041\n10031\n10021\n10011','Testaccount003','重庆','ET'); |
| | | System.Test.stopTest(); |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>57.0</apiVersion> |
| | | <status>Active</status> |
| | |
| | | @isTest |
| | | private class LexConInvoiceListTest { |
| | | static testMethod void conInvoiceListTestinit() { |
| | | user myUser_test; |
| | | Account myAccount2; |
| | | Account myAccount1; |
| | | User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser) { |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET)' |
| | | ]; |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectHos = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院' |
| | | ]; |
| | | if (rectHos.size() == 0) { |
| | | return; |
| | | } |
| | | myAccount1 = new Account( |
| | | name = 'testaccount001', |
| | | RecordTypeId = rectCo[0].Id |
| | | ); |
| | | myAccount2 = new Account( |
| | | name = 'testaccount002', |
| | | RecordTypeId = rectHos[0].Id |
| | | ); |
| | | insert myAccount1; |
| | | Contact core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount1.id |
| | | ); |
| | | insert core; |
| | | myUser_test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'testUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com', |
| | | Work_Location__c = '北京' |
| | | ); |
| | | insert myUser_test; |
| | | } |
| | | System.runAs(myUser_test) { |
| | | Consumable_order__c TestList1 = new Consumable_order__c( |
| | | Name = 'Test1', |
| | | Invoice_Date__c = Date.today(), |
| | | Dealer_info__c = myAccount1.Id, |
| | | Invoice_status__c = '草案中', |
| | | Order_ForHospital__c = myAccount2.Id, |
| | | SummonsForDirction__c = '直接销售给医院', |
| | | Order_status__c = '草案中', |
| | | Order_type__c = '发票', |
| | | recordtypeid = System.Label.RT_ConOrder_Invoice, |
| | | Order_ProType__c = 'ET' |
| | | ); |
| | | Consumable_order__c TestList2 = new Consumable_order__c( |
| | | Name = 'Test2', |
| | | Invoice_Date__c = Date.today(), |
| | | Dealer_info__c = myAccount1.Id, |
| | | Invoice_status__c = '提交', |
| | | Order_ForHospital__c = myAccount2.Id, |
| | | SummonsForDirction__c = '直接销售给医院', |
| | | Order_status__c = '草案中', |
| | | Order_type__c = '发票', |
| | | recordtypeid = System.Label.RT_ConOrder_Invoice, |
| | | Order_ProType__c = 'ET' |
| | | ); |
| | | insert new List<Consumable_order__c>{ TestList1, TestList2 }; |
| | | LexConInvoiceList.init(); |
| | | // ConInvoiceListController CDC = new ConInvoiceListController(); |
| | | // CDC.init(); |
| | | // System.assertEquals('Test1', CDC.raesList[0].name); |
| | | // System.assertEquals('Test2', CDC.raesList[1].name); |
| | | // CDC.SortLimited(); |
| | | // System.assertEquals('Test1', CDC.raesList[0].name); |
| | | // System.assertEquals('Test2', CDC.raesList[1].name); |
| | | } |
| | | } |
| | | //检索 |
| | | static testMethod void invoiceCodeSearchTest() { |
| | | user myUser_test; |
| | | Account myAccount2; |
| | | Account myAccount1; |
| | | User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; |
| | | System.runAs(thisUser) { |
| | | Profile prof = [ |
| | | SELECT Id |
| | | FROM Profile |
| | | WHERE Name = '901_经销商社区普通权限_2重验证(ET)' |
| | | ]; |
| | | List<RecordType> rectCo = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店' |
| | | ]; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectHos = [ |
| | | SELECT Id |
| | | FROM RecordType |
| | | WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院' |
| | | ]; |
| | | if (rectHos.size() == 0) { |
| | | return; |
| | | } |
| | | myAccount1 = new Account( |
| | | name = 'testaccount001', |
| | | RecordTypeId = rectCo[0].Id |
| | | ); |
| | | myAccount2 = new Account( |
| | | name = 'testaccount002', |
| | | RecordTypeId = rectHos[0].Id |
| | | ); |
| | | insert myAccount1; |
| | | Contact core = new Contact( |
| | | email = 'jplumber@salesforce.com', |
| | | firstname = 'Joe', |
| | | lastname = 'Plumber', |
| | | accountid = myAccount1.id |
| | | ); |
| | | insert core; |
| | | myUser_test = new User( |
| | | ContactId = core.id, |
| | | Alias = 'newUser', |
| | | Email = 'newuser@testorg.com', |
| | | EmailEncodingKey = 'UTF-8', |
| | | LastName = 'testUser', |
| | | LanguageLocaleKey = 'zh_CN', |
| | | LocaleSidKey = 'zh_CN', |
| | | ProfileId = prof.Id, |
| | | TimeZoneSidKey = 'Asia/Shanghai', |
| | | UserName = 'testUser@testorg.com', |
| | | Work_Location__c = '北京' |
| | | ); |
| | | insert myUser_test; |
| | | } |
| | | private class LexConInvoiceListTest |
| | | { |
| | | static testMethod void conInvoiceListTestinit(){ |
| | | user myUser_test; |
| | | Account myAccount2; |
| | | Account myAccount1; |
| | | User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; |
| | | system.runAs(thisUser){ |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectHos = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; |
| | | if (rectHos.size() == 0) { |
| | | return; |
| | | } |
| | | myAccount1 = new Account(name='testaccount001',RecordTypeId = rectCo[0].Id ); |
| | | myAccount2 = new Account(name='testaccount002',RecordTypeId = rectHos[0].Id ); |
| | | insert myAccount1; |
| | | Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id); |
| | | insert core; |
| | | myUser_test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='testUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '北京'); |
| | | insert myUser_test; |
| | | |
| | | System.runAs(myUser_test) { |
| | | Consumable_order__c TestList1 = new Consumable_order__c( |
| | | Name = 'Test1', |
| | | Invoice_Date__c = Date.today(), |
| | | Dealer_info__c = myAccount1.Id, |
| | | Invoice_status__c = '草案中', |
| | | Order_ForHospital__c = myAccount2.Id, |
| | | SummonsForDirction__c = '直接销售给医院', |
| | | Order_status__c = '草案中', |
| | | Order_type__c = '发票', |
| | | recordtypeid = System.Label.RT_ConOrder_Invoice, |
| | | Order_ProType__c = 'ET' |
| | | ); |
| | | Consumable_order__c TestList2 = new Consumable_order__c( |
| | | Name = 'Test2', |
| | | Invoice_Date__c = Date.today(), |
| | | Dealer_info__c = myAccount1.Id, |
| | | Invoice_status__c = '提交', |
| | | Order_ForHospital__c = myAccount2.Id, |
| | | SummonsForDirction__c = '直接销售给医院', |
| | | Order_status__c = '草案中', |
| | | Order_type__c = '发票', |
| | | recordtypeid = System.Label.RT_ConOrder_Invoice, |
| | | Order_ProType__c = 'ET' |
| | | ); |
| | | insert new List<Consumable_order__c>{ TestList1, TestList2 }; |
| | | LexConInvoiceList CDC = new LexConInvoiceList(); |
| | | LexConInvoiceList.init(); |
| | | LexConInvoiceList.invoiceCodeSearch( |
| | | Date.today(), |
| | | Date.today(), |
| | | '提交', |
| | | 'test', |
| | | 'test1', |
| | | '0010l00001ajxZ2AAI', |
| | | '北京', |
| | | 'ET' |
| | | ); |
| | | // CDC.init(); |
| | | // System.assertEquals('Test1', CDC.raesList[0].name); |
| | | // System.assertEquals('Test2', CDC.raesList[1].name); |
| | | // CDC.coc.Invoice_status__c = '提交'; |
| | | // CDC.invoiceCodeSearch(); |
| | | // System.assertEquals(1, CDC.raesList.size()); |
| | | // CDC.clearUp(); |
| | | // System.assertEquals(2, CDC.raesList.size()); |
| | | } |
| | | system.runAs(myUser_test){ |
| | | Consumable_order__c TestList1 = new Consumable_order__c(Name='Test1',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='草案中',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET'); |
| | | Consumable_order__c TestList2 = new Consumable_order__c(Name='Test2',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='提交',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET'); |
| | | insert new Consumable_order__c[]{TestList1,TestList2}; |
| | | LexConInvoiceList.init(); |
| | | // ConInvoiceListController CDC = new ConInvoiceListController(); |
| | | // CDC.init(); |
| | | // System.assertEquals('Test1', CDC.raesList[0].name); |
| | | // System.assertEquals('Test2', CDC.raesList[1].name); |
| | | // CDC.SortLimited(); |
| | | // System.assertEquals('Test1', CDC.raesList[0].name); |
| | | // System.assertEquals('Test2', CDC.raesList[1].name); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //检索 |
| | | static testMethod void invoiceCodeSearchTest(){ |
| | | user myUser_test; |
| | | Account myAccount2; |
| | | Account myAccount1; |
| | | User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; |
| | | system.runAs(thisUser){ |
| | | Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectHos = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; |
| | | if (rectHos.size() == 0) { |
| | | return; |
| | | } |
| | | myAccount1 = new Account(name='testaccount001',RecordTypeId = rectCo[0].Id ); |
| | | myAccount2 = new Account(name='testaccount002',RecordTypeId = rectHos[0].Id ); |
| | | insert myAccount1; |
| | | Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id); |
| | | insert core; |
| | | myUser_test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='testUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '北京'); |
| | | insert myUser_test; |
| | | |
| | | } |
| | | |
| | | system.runAs(myUser_test){ |
| | | Consumable_order__c TestList1 = new Consumable_order__c(Name='Test1',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='草案中',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET'); |
| | | Consumable_order__c TestList2 = new Consumable_order__c(Name='Test2',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='提交',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET'); |
| | | insert new Consumable_order__c[]{TestList1,TestList2}; |
| | | LexConInvoiceList CDC = new LexConInvoiceList(); |
| | | LexConInvoiceList.init(); |
| | | LexConInvoiceList.invoiceCodeSearch(Date.today(),Date.today(),'提交','test','test1','0010l00001ajxZ2AAI','北京','ET'); |
| | | // CDC.init(); |
| | | // System.assertEquals('Test1', CDC.raesList[0].name); |
| | | // System.assertEquals('Test2', CDC.raesList[1].name); |
| | | // CDC.coc.Invoice_status__c = '提交'; |
| | | // CDC.invoiceCodeSearch(); |
| | | // System.assertEquals(1, CDC.raesList.size()); |
| | | // CDC.clearUp(); |
| | | // System.assertEquals(2, CDC.raesList.size()); |
| | | } |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>57.0</apiVersion> |
| | | <status>Active</status> |
| | |
| | | public without sharing class LexConInvoiceViewController { |
| | | public static String agencyProType { get; set; } |
| | | public static Consumable_order__c coc { get; set; } |
| | | public static Consumable_order__c outbound { get; set; } |
| | | public static String invoiceId { get; set; } |
| | | public static String orderRemind { get; set; } |
| | | public static String deliveryId { get; set; } |
| | | public static String reopen { get; set; } |
| | | public static Decimal sumPrice { get; set; } |
| | | public static Boolean isChange { get; set; } |
| | | public static String accountid { get; set; } |
| | | public static String userId { get; set; } |
| | | public static String errorMsg { get; set; } |
| | | public static String agencyProType { get; set; } |
| | | public static Consumable_order__c coc { get; set; } |
| | | public static Consumable_order__c outbound { get; set; } |
| | | public static String invoiceId { get; set; } |
| | | public static String orderRemind { get; set; } |
| | | public static String deliveryId { get; set; } |
| | | public static String reopen { get; set; } |
| | | public static Decimal sumPrice { get; set; } |
| | | public static Boolean isChange { get; set; } |
| | | public static String accountid { get; set; } |
| | | public static String userId { get; set; } |
| | | public static String errorMsg { get; set; } |
| | | |
| | | public static Boolean getdone() { |
| | | return (invoiceOrderdetail1Recoeds.size() > 0); |
| | | } |
| | | |
| | | public static Boolean getExistOutbound() { |
| | | return (coc.Outbound_order__c != null); |
| | | } |
| | | |
| | | public static String getInvoiceName() { |
| | | return (coc.Name); |
| | | } |
| | | public static List<Consumable_Orderdetails__c> conoList { get; set; } |
| | | |
| | | public static String shipmentAccount { |
| | | get { |
| | | return (coc.ShipmentAccount__c); |
| | | public static Boolean getdone() { |
| | | return (invoiceOrderdetail1Recoeds.size() > 0); |
| | | } |
| | | } |
| | | public static String statusEdit = ''; |
| | | public static Boolean editAble { get; set; } |
| | | public static List<InvoiceOrderInfo> invoiceOrderRecoeds { get; set; } |
| | | public static List<InvoiceOrderInfo> invoiceOrderdetail1Recoeds { get; set; } |
| | | public static List<InvoiceOrderInfo> invoiceOrderRecoedschange { get; set; } |
| | | public static List<InvoiceOrderInfo> attachmentRecoeds { get; set; } |
| | | public static List<Consumable_order__c> invoiceOrderList { get; set; } |
| | | public static List<Consumable_order__c> invoiceOrderSelectedList { get; set; } |
| | | public static Map<String, Decimal> ordermx1defaultMap { get; set; } |
| | | public static Map<String, Decimal> outorderMoneytMap { get; set; } |
| | | public static Map<String, Consumable_Orderdetails__c> outordercountMap { |
| | | get; |
| | | set; |
| | | } |
| | | public static List<String> outOrderStringList { get; set; } |
| | | public static List<SelectOption> provinceOpts { get; set; } |
| | | public static Map<String, String> provinceOptsMap { get; set; } |
| | | public static String SecondDealer { get; set; } |
| | | public static String HospitalInfo { get; set; } |
| | | public static String HospitalName { get; set; } |
| | | |
| | | public static Integer invoiceOrderRecoedsCount { |
| | | get { |
| | | return invoiceOrderRecoeds == null ? 0 : invoiceOrderRecoeds.size(); |
| | | public static Boolean getExistOutbound() { |
| | | return (coc.Outbound_order__c != null); |
| | | } |
| | | } |
| | | |
| | | public static list<Dealer_elationship__c> Dealerelationship { get; set; } |
| | | public static String[] orderby = new List<String>{ |
| | | 'Outbound_Date__c', |
| | | 'Name', |
| | | 'ShipmentAccount__c' |
| | | }; |
| | | public static String sortKey { get; set; } |
| | | public static String preSortKey { get; set; } |
| | | public static Boolean sortOrderAsc { get; set; } |
| | | public static String[] sortOrder { get; set; } |
| | | public static String userWorkLocation { get; set; } |
| | | |
| | | //页面初始化 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC init( |
| | | String invoiceId, |
| | | String statusEdit, |
| | | String deliveryId |
| | | ) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | provinceOpts = new List<SelectOption>(); |
| | | provinceOptsMap = new Map<String, String>(); |
| | | invoiceOrderRecoeds = new List<InvoiceOrderInfo>(); |
| | | attachmentRecoeds = new List<InvoiceOrderInfo>(); |
| | | invoiceOrderdetail1Recoeds = new List<InvoiceOrderInfo>(); |
| | | invoiceOrderRecoedschange = new List<InvoiceOrderInfo>(); |
| | | orderRemind = ''; |
| | | isChange = false; |
| | | conoList = new List<Consumable_Orderdetails__c>(); |
| | | outorderMoneytMap = new Map<String, Decimal>(); |
| | | outOrderStringList = new List<String>(); |
| | | outordercountMap = new Map<String, Consumable_Orderdetails__c>(); |
| | | |
| | | sumPrice = 0; |
| | | // this.sortKey = '1'; |
| | | // this.preSortKey = '1'; |
| | | // this.sortOrderAsc = false; |
| | | // this.sortOrder = new List<String>(2); |
| | | // this.sortOrder = new List<String>{ ' ', ' ', ' ', ' ' }; |
| | | |
| | | invoiceId = invoiceId; |
| | | statusEdit = statusEdit; |
| | | deliveryId = deliveryId; |
| | | |
| | | if ( |
| | | invoiceId != null && |
| | | invoiceId != '' && |
| | | (statusEdit == '' || |
| | | statusEdit == null) |
| | | ) { |
| | | editAble = false; |
| | | } else if ( |
| | | (invoiceId == null || invoiceId == '') && |
| | | (statusEdit == '' || |
| | | statusEdit == null) |
| | | ) { |
| | | editAble = true; |
| | | } else if ( |
| | | invoiceId != null && |
| | | invoiceId != '' && |
| | | statusEdit != '' && |
| | | statusEdit != null |
| | | ) { |
| | | editAble = true; |
| | | public static String getInvoiceName() { |
| | | return (coc.Name); |
| | | } |
| | | userId = UserInfo.getUserId(); |
| | | List<user> Useracc = new List<user>(); |
| | | Useracc = [ |
| | | SELECT accountid, Work_Location__c, UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId |
| | | ]; |
| | | accountid = Useracc[0].accountid; |
| | | userWorkLocation = Useracc[0].Work_Location__c; |
| | | agencyProType = Useracc[0].UserPro_Type__c; |
| | | if (String.isBlank(Useracc[0].UserPro_Type__c)) { |
| | | agencyProType = 'ET'; |
| | | } |
| | | coc = new Consumable_order__c(); |
| | | public static List<Consumable_Orderdetails__c> conoList { get; set; } |
| | | |
| | | Dealerelationship = [ |
| | | SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name |
| | | FROM Dealer_elationship__c |
| | | WHERE Dealer_principal__c = :accountid |
| | | ]; |
| | | List<Agency_Hospital_Link__c> AgencyHospitalLink = new List<Agency_Hospital_Link__c>(); |
| | | AgencyHospitalLink = [ |
| | | SELECT Id, Name, Hospital__c, Hospital__r.Id, Hospital__r.Name, Agency__c |
| | | FROM Agency_Hospital_Link__c |
| | | WHERE Agency__c = :accountId |
| | | ]; |
| | | // 新規 |
| | | if (invoiceId == null || invoiceId == '') { |
| | | if (deliveryId == null || deliveryId == '') { |
| | | String msoql = makeSoql(); |
| | | invoiceOrderList = Database.query(msoql); |
| | | for (Integer i = 0; i < invoiceOrderList.size(); i++) { |
| | | invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderList[i])); |
| | | public static String shipmentAccount { |
| | | get { |
| | | return (coc.ShipmentAccount__c); |
| | | } |
| | | } else { |
| | | if (statusEdit == '' || statusEdit == null) { |
| | | EditAble = false; |
| | | } else if (statusEdit != '' && statusEdit != null) { |
| | | EditAble = true; |
| | | } |
| | | public static String statusEdit = ''; |
| | | public static Boolean editAble { get; set; } |
| | | public static List<InvoiceOrderInfo> invoiceOrderRecoeds { get; set; } |
| | | public static List<InvoiceOrderInfo> invoiceOrderdetail1Recoeds { get; set; } |
| | | public static List<InvoiceOrderInfo> invoiceOrderRecoedschange { get; set; } |
| | | public static List<InvoiceOrderInfo> attachmentRecoeds { get; set; } |
| | | public static List<Consumable_order__c> invoiceOrderList { get; set; } |
| | | public static List<Consumable_order__c> invoiceOrderSelectedList { get; set; } |
| | | public static Map<String, Decimal> ordermx1defaultMap { get; set; } |
| | | public static Map<String, Decimal> outorderMoneytMap { get; set; } |
| | | public static Map<String, Consumable_Orderdetails__c> outordercountMap { get; set; } |
| | | public static List<String> outOrderStringList { get; set; } |
| | | public static List<SelectOption> provinceOpts { get; set; } |
| | | public static Map<String, String> provinceOptsMap { get; set; } |
| | | public static String SecondDealer { get; set; } |
| | | public static String HospitalInfo { get; set; } |
| | | public static String HospitalName { get; set; } |
| | | |
| | | public static Integer invoiceOrderRecoedsCount { |
| | | get { |
| | | return invoiceOrderRecoeds == null ? 0 : invoiceOrderRecoeds.size(); |
| | | } |
| | | coc = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | | Dealer_Info__c, |
| | | Order_ForDealer__c, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__c, |
| | | Order_ForHospital__r.Name, |
| | | Order_date__c, |
| | | Billed_Status__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Order_ForCustomerText__c, |
| | | Invoice_Note__c, |
| | | Invoice_attachment__c, |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :deliveryId |
| | | } |
| | | |
| | | public static list<Dealer_elationship__c> Dealerelationship { get; set; } |
| | | public static String[] orderby = new List<String>{ 'Outbound_Date__c', 'Name', 'ShipmentAccount__c' }; |
| | | public static String sortKey { get; set; } |
| | | public static String preSortKey { get; set; } |
| | | public static Boolean sortOrderAsc { get; set; } |
| | | public static String[] sortOrder { get; set; } |
| | | public static String userWorkLocation { get; set; } |
| | | |
| | | //页面初始化 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC init(String invoiceId, String statusEdit, String deliveryId) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | provinceOpts = new List<SelectOption>(); |
| | | provinceOptsMap = new Map<String, String>(); |
| | | invoiceOrderRecoeds = new List<InvoiceOrderInfo>(); |
| | | attachmentRecoeds = new List<InvoiceOrderInfo>(); |
| | | invoiceOrderdetail1Recoeds = new List<InvoiceOrderInfo>(); |
| | | invoiceOrderRecoedschange = new List<InvoiceOrderInfo>(); |
| | | orderRemind = ''; |
| | | isChange = false; |
| | | conoList = new List<Consumable_Orderdetails__c>(); |
| | | outorderMoneytMap = new Map<String, Decimal>(); |
| | | outOrderStringList = new List<String>(); |
| | | outordercountMap = new Map<String, Consumable_Orderdetails__c>(); |
| | | |
| | | sumPrice = 0; |
| | | // this.sortKey = '1'; |
| | | // this.preSortKey = '1'; |
| | | // this.sortOrderAsc = false; |
| | | // this.sortOrder = new List<String>(2); |
| | | // this.sortOrder = new List<String>{ ' ', ' ', ' ', ' ' }; |
| | | |
| | | invoiceId = invoiceId; |
| | | statusEdit = statusEdit; |
| | | deliveryId = deliveryId; |
| | | |
| | | if (invoiceId != null && invoiceId != '' && (statusEdit == '' || statusEdit == null)) { |
| | | editAble = false; |
| | | } else if ((invoiceId == null || invoiceId == '') && (statusEdit == '' || statusEdit == null)) { |
| | | editAble = true; |
| | | } else if (invoiceId != null && invoiceId != '' && statusEdit != '' && statusEdit != null) { |
| | | editAble = true; |
| | | } |
| | | userId = UserInfo.getUserId(); |
| | | List<user> Useracc = new List<user>(); |
| | | Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId]; |
| | | accountid = Useracc[0].accountid; |
| | | userWorkLocation = Useracc[0].Work_Location__c; |
| | | agencyProType = Useracc[0].UserPro_Type__c; |
| | | if (String.isBlank(Useracc[0].UserPro_Type__c)) { |
| | | agencyProType = 'ET'; |
| | | } |
| | | coc = new Consumable_order__c(); |
| | | |
| | | Dealerelationship = [ |
| | | SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name |
| | | FROM Dealer_elationship__c |
| | | WHERE Dealer_principal__c = :accountid |
| | | ]; |
| | | coc.Name = ''; |
| | | if (coc.Order_ForDealer__c != null) { |
| | | SecondDealer = coc.Order_ForDealer__c; |
| | | } |
| | | |
| | | if (coc.Order_ForHospital__c != null) { |
| | | HospitalInfo = coc.Order_ForHospital__c; |
| | | HospitalName = coc.Order_ForHospital__r.Name; |
| | | } |
| | | |
| | | //发票关联出库单取得(出库单) |
| | | invoiceOrderSelectedList = [ |
| | | SELECT |
| | | Id, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__r.Name, |
| | | Order_ForDealerText__c, |
| | | Name, |
| | | Outbound_Date__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Shipment_total_amount__c, |
| | | RrturnPro_total_amount__c, |
| | | Total_Invoiced_Procount__c, |
| | | InvoiceNotPro_total_amount__c, |
| | | InvoiceNotPro_money__c, |
| | | Invoice_total_amount__c, |
| | | Billed_Status__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :deliveryId |
| | | ORDER BY Name |
| | | List<Agency_Hospital_Link__c> AgencyHospitalLink = new List<Agency_Hospital_Link__c>(); |
| | | AgencyHospitalLink = [ |
| | | SELECT Id, Name, Hospital__c, Hospital__r.Id, Hospital__r.Name, Agency__c |
| | | FROM Agency_Hospital_Link__c |
| | | WHERE Agency__c = :accountId |
| | | ]; |
| | | for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) { |
| | | invoiceOrderRecoeds.add( |
| | | new InvoiceOrderInfo(invoiceOrderSelectedList[i]) |
| | | ); |
| | | } |
| | | } |
| | | } else { |
| | | coc = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | | Dealer_Info__c, |
| | | Order_ForDealer__c, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__c, |
| | | Order_ForHospital__r.Name, |
| | | Order_date__c, |
| | | Billed_Status__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Order_ForCustomerText__c, |
| | | Invoice_Note__c, |
| | | Invoice_attachment__c, |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :invoiceId AND Order_type__c = '发票' |
| | | ]; |
| | | if (coc.Order_ForDealer__c != null) { |
| | | SecondDealer = coc.Order_ForDealer__c; |
| | | } |
| | | if (coc.Order_ForHospital__c != null) { |
| | | HospitalInfo = coc.Order_ForHospital__c; |
| | | HospitalName = coc.Order_ForHospital__r.Name; |
| | | } |
| | | //到链接表中查找关联出库单 |
| | | List<Consumable_order_LinkTable__c> outOrderList = [ |
| | | SELECT Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Invoice_Code_link__c = :invoiceId |
| | | ]; |
| | | for (Integer i = 0; i < outOrderList.size(); i++) { |
| | | outOrderStringList.add(outOrderList[i].Outboundorder_Code_link__c); |
| | | } |
| | | //取得出库单信息 |
| | | invoiceOrderSelectedList = [ |
| | | SELECT |
| | | Id, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__r.Name, |
| | | Order_ForDealerText__c, |
| | | Name, |
| | | Outbound_Date__c, |
| | | ShipmentAccount__c, |
| | | Shipment_total_amount__c, |
| | | RrturnPro_total_amount__c, |
| | | Total_Invoiced_Procount__c, |
| | | InvoiceNotPro_total_amount__c, |
| | | InvoiceNotPro_money__c, |
| | | Invoice_total_amount__c, |
| | | Billed_Status__c |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Id IN :outOrderStringList |
| | | AND Order_Owner_WorkLocal__c = :userWorkLocation |
| | | ORDER BY Name |
| | | ]; |
| | | for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) { |
| | | outorderMoneytMap.put(invoiceOrderSelectedList[i].id, 0); |
| | | invoiceOrderRecoeds.add( |
| | | new InvoiceOrderInfo(invoiceOrderSelectedList[i]) |
| | | ); |
| | | } |
| | | if (String.isNotBlank(deliveryId)) { |
| | | //发票关联出库单取得(出库单) |
| | | isChange = true; |
| | | invoiceOrderSelectedList = [ |
| | | SELECT |
| | | Id, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__r.Name, |
| | | Order_ForDealerText__c, |
| | | Name, |
| | | Outbound_Date__c, |
| | | ShipmentAccount__c, |
| | | Shipment_total_amount__c, |
| | | RrturnPro_total_amount__c, |
| | | Total_Invoiced_Procount__c, |
| | | InvoiceNotPro_total_amount__c, |
| | | InvoiceNotPro_money__c, |
| | | Invoice_total_amount__c, |
| | | Billed_Status__c |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Id = :deliveryId |
| | | AND Order_Owner_WorkLocal__c = :userWorkLocation |
| | | ORDER BY Name |
| | | ]; |
| | | for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) { |
| | | if (!outorderMoneytMap.containsKey(invoiceOrderSelectedList[i].Id)) { |
| | | invoiceOrderRecoeds.add( |
| | | new InvoiceOrderInfo(invoiceOrderSelectedList[i]) |
| | | ); |
| | | invoiceOrderRecoedschange.add( |
| | | new InvoiceOrderInfo(invoiceOrderSelectedList[i]) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | //发票明细一览 |
| | | List<Consumable_Orderdetails__c> countDel = [ |
| | | SELECT |
| | | Id, |
| | | Consumable_ZS_order__c, |
| | | Name, |
| | | Consumable_order__c, |
| | | Invoicedet1_OD_link__c, |
| | | Invoicedet1_OD_link__r.Name, |
| | | Consumable_order__r.Name, |
| | | Product_OutDate__c, |
| | | Asset_Model_No__c, |
| | | Invoice_Unitprice__c, |
| | | Delivery_List_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | InvoicedProCost_RMB__c, |
| | | Box_Piece__c, |
| | | Invoice_Unit__c, |
| | | ProductPacking_list_manual__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | ORDER BY Invoicedet1_OD_link__c |
| | | ]; |
| | | if (countDel.size() > 0) { |
| | | for (Integer i = 0; i < countDel.size(); i++) { |
| | | outordercountMap.put( |
| | | countDel[i].Invoicedet1_OD_link__c + countDel[i].Asset_Model_No__c, |
| | | countDel[i] |
| | | ); |
| | | if ( |
| | | outorderMoneytMap.containsKey(countDel[i].Invoicedet1_OD_link__c) |
| | | ) { |
| | | outorderMoneytMap.put( |
| | | countDel[i].Invoicedet1_OD_link__c, |
| | | outorderMoneytMap.get(countDel[i].Invoicedet1_OD_link__c) + |
| | | countDel[i].InvoicedProCost_RMB__c |
| | | ); |
| | | } |
| | | invoiceOrderdetail1Recoeds.add(new InvoiceOrderInfo(countDel[i])); |
| | | } |
| | | } |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (outorderMoneytMap.containsKey(ass.esd.id)) { |
| | | ass.needInvoiceCount = outorderMoneytMap.get(ass.esd.id); |
| | | } |
| | | ass.check = true; |
| | | } |
| | | } |
| | | |
| | | if (SecondDealer == null || SecondDealer == '') { |
| | | provinceOpts.add(new SelectOption('', '-无-')); |
| | | provinceOptsMap.put('', '-无-'); |
| | | for (Integer i = 0; i < Dealerelationship.size(); i++) { |
| | | provinceOpts.add( |
| | | new SelectOption( |
| | | Dealerelationship[i].Dealer_subordinate__c, |
| | | Dealerelationship[i].Dealer_subordinate__r.Name |
| | | ) |
| | | ); |
| | | provinceOptsMap.put( |
| | | Dealerelationship[i].Dealer_subordinate__c, |
| | | Dealerelationship[i].Dealer_subordinate__r.Name |
| | | ); |
| | | } |
| | | } else { |
| | | provinceOpts.add(new SelectOption('', '-无-')); |
| | | provinceOptsMap.put('', '-无-'); |
| | | for (Integer i = 0; i < Dealerelationship.size(); i++) { |
| | | if (Dealerelationship[i].Dealer_subordinate__r.Name == SecondDealer) { |
| | | provinceOpts.add( |
| | | new SelectOption( |
| | | Dealerelationship[i].Dealer_subordinate__c, |
| | | SecondDealer |
| | | ) |
| | | ); |
| | | provinceOptsMap.put( |
| | | Dealerelationship[i].Dealer_subordinate__c, |
| | | SecondDealer |
| | | ); |
| | | } |
| | | } |
| | | for (Integer i = 0; i < Dealerelationship.size(); i++) { |
| | | if (Dealerelationship[i].Dealer_subordinate__r.Name != SecondDealer) { |
| | | provinceOpts.add( |
| | | new SelectOption( |
| | | Dealerelationship[i].Dealer_subordinate__c, |
| | | Dealerelationship[i].Dealer_subordinate__r.Name |
| | | ) |
| | | ); |
| | | provinceOptsMap.put( |
| | | Dealerelationship[i].Dealer_subordinate__c, |
| | | Dealerelationship[i].Dealer_subordinate__r.Name |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | Map<String, String> consumableaccessoriesMap = new Map<String, String>(); |
| | | Map<String, String> invorceOrderIdMap = new Map<String, String>(); |
| | | List<Consumable_accessories_invoice__c> consumableaccessories = [ |
| | | SELECT Id, Name, Attachment_ID__c, Accessories_type__c |
| | | FROM Consumable_accessories_invoice__c |
| | | WHERE Invoice_code__c = :invoiceId |
| | | ]; |
| | | System.debug('consumableaccessories = ' + consumableaccessories); |
| | | if (consumableaccessories.size() > 0) { |
| | | for (Integer i = 0; i < consumableaccessories.size(); i++) { |
| | | consumableaccessoriesMap.put( |
| | | consumableaccessories[i].Attachment_ID__c, |
| | | consumableaccessories[i].Accessories_type__c |
| | | ); |
| | | invorceOrderIdMap.put( |
| | | consumableaccessories[i].Attachment_ID__c, |
| | | consumableaccessories[i].Id |
| | | ); |
| | | } |
| | | } |
| | | |
| | | //List<Attachment> attachmentinfo = [SELECT Id, Name, OwnerId,Owner.Name, CreatedDate FROM Attachment WHERE parentid = :invoiceId]; |
| | | // if (attachmentinfo.size() > 0) { |
| | | // for (Integer i = 0; i < attachmentinfo.size(); i++) { |
| | | // attachmentRecoeds.add(new InvoiceOrderInfo(attachmentinfo[i])); |
| | | // } |
| | | // } |
| | | List<ContentDocumentLink> links = [ |
| | | SELECT Id, ContentDocumentId |
| | | FROM ContentDocumentLink |
| | | WHERE LinkedEntityId = :invoiceId |
| | | ]; |
| | | if (links != null && links.size() > 0) { |
| | | List<String> documentIds = new List<String>(); |
| | | for (ContentDocumentLink link : links) { |
| | | documentIds.add(link.ContentDocumentId); |
| | | } |
| | | List<ContentVersion> cvInfo = [ |
| | | SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId |
| | | FROM ContentVersion |
| | | WHERE ContentDocumentId IN :documentIds |
| | | ]; |
| | | |
| | | if (cvInfo.size() > 0) { |
| | | for (Integer i = 0; i < cvInfo.size(); i++) { |
| | | attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i])); |
| | | } |
| | | } |
| | | } |
| | | // List<ContentVersion> cvInfo = [ |
| | | // SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId |
| | | // FROM ContentVersion |
| | | // WHERE FirstPublishLocationId = :invoiceId |
| | | // ]; |
| | | // if (cvInfo.size() > 0) { |
| | | // for (Integer i = 0; i < cvInfo.size(); i++) { |
| | | // attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i])); |
| | | // } |
| | | // } |
| | | System.debug('attachmentRecoeds = ' + attachmentRecoeds); |
| | | System.debug('consumableaccessoriesMap = ' + consumableaccessoriesMap); |
| | | for (InvoiceOrderInfo ass : attachmentRecoeds) { |
| | | if (consumableaccessoriesMap.containsKey(ass.cvInfo.Id)) { |
| | | ass.mailSelectOptsin = consumableaccessoriesMap.get(ass.cvInfo.Id); |
| | | ass.invoiceOrderId = invorceOrderIdMap.get(ass.cvInfo.Id); |
| | | } |
| | | } |
| | | data.put('EditAble', EditAble); |
| | | data.put('isChange', isChange); |
| | | data.put('coc', coc); |
| | | data.put('ExistOutbound', getExistOutbound()); |
| | | data.put('invoiceOrderRecoeds', invoiceOrderRecoeds); |
| | | data.put('provinceOptsMap', provinceOptsMap); |
| | | data.put('HospitalName', HospitalName); |
| | | data.put('HospitalInfo', HospitalInfo); |
| | | data.put('agencyProType', agencyProType); |
| | | data.put('userWorkLocation', userWorkLocation); |
| | | data.put('done', getdone()); |
| | | data.put('invoiceOrderdetail1Recoeds', invoiceOrderdetail1Recoeds); |
| | | data.put('accountid', accountid); |
| | | data.put('invoiceOrderRecoedschange', invoiceOrderRecoedschange); |
| | | data.put('attachmentRecoeds', attachmentRecoeds); |
| | | data.put('outOrderStringList', outOrderStringList); |
| | | data.put('outordercountMap', outordercountMap); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | //保存 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC save( |
| | | Consumable_order__c cocLwc, |
| | | String HospitalNameLwc, |
| | | String HospitalInfoLwc, |
| | | String SecondDealerLwc, |
| | | String invoiceOrderRecoedsLwc, |
| | | String deliveryIdLwc, |
| | | String invoiceIdLwc, |
| | | String accountidLwc, |
| | | String agencyProTypeLwc, |
| | | String reopenLwc, |
| | | String invoiceOrderRecoedschangeLwc |
| | | ) { |
| | | System.debug('enter LexConInvoiceViewController.save success'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | coc = cocLwc; |
| | | HospitalName = HospitalNameLwc; |
| | | HospitalInfo = HospitalInfoLwc; |
| | | System.debug('HospitalInfo = ' + HospitalInfo); |
| | | SecondDealer = SecondDealerLwc; |
| | | errorMsg = ''; |
| | | deliveryId = deliveryIdLwc; |
| | | invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize( |
| | | invoiceOrderRecoedsLwc, |
| | | List<InvoiceOrderInfo>.class |
| | | ); |
| | | invoiceId = invoiceIdLwc; |
| | | accountid = accountidLwc; |
| | | agencyProType = agencyProTypeLwc; |
| | | reopen = reopenLwc; |
| | | invoiceOrderRecoedschange = (List<InvoiceOrderInfo>) JSON.deserialize( |
| | | invoiceOrderRecoedschangeLwc, |
| | | List<InvoiceOrderInfo>.class |
| | | ); |
| | | |
| | | List<String> chukudanID = new List<String>(); |
| | | if (coc.Name == '' || coc.Name == null) { |
| | | // coc.Name.addError('请录入发票号'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '请录入发票号', ''); |
| | | } |
| | | if (coc.Invoice_Date__c == null) { |
| | | // coc.Invoice_Date__c.addError('请录入发票日期'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '请录入发票日期', ''); |
| | | } |
| | | if (String.isBlank(HospitalInfo) && String.isBlank(SecondDealer)) { |
| | | // coc.addError('必须输入客户名或者二级经销商'); |
| | | // return null; |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | '必须输入客户名或者二级经销商', |
| | | '' |
| | | ); |
| | | } |
| | | if ( |
| | | HospitalInfo != null && |
| | | HospitalInfo != '' && |
| | | String.isNotEmpty(SecondDealer) |
| | | ) { |
| | | //coc.addError('请输入客户名、二级经销商只可输入一个'); |
| | | errorMsg += '请输入客户名、二级经销商只可输入一个'; |
| | | } |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | if (coc.Order_ForCustomerText__c == null) { |
| | | // coc.Order_ForCustomerText__c.addError('请输入科室'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '请输入科室', ''); |
| | | } |
| | | } else { |
| | | if (coc.Order_ForCustomerText__c != null) { |
| | | // coc.Order_ForCustomerText__c.addError('不需要输入科室'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '不需要输入科室', ''); |
| | | } |
| | | } |
| | | String shipmentAccountString = ''; |
| | | if (HospitalInfo != null) { |
| | | shipmentAccountString = HospitalInfo; |
| | | } else if (String.isNotEmpty(SecondDealer)) { |
| | | shipmentAccountString = SecondDealer; |
| | | } else { |
| | | shipmentAccountString = coc.Order_ForDealerText__c == null |
| | | ? '' |
| | | : coc.Order_ForDealerText__c; |
| | | } |
| | | |
| | | Integer x = 0; |
| | | List<String> invoiceOrderAccountList = new List<String>(); |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (String.isBlank(deliveryId)) { |
| | | if (ass.check == true) { |
| | | x++; |
| | | System.debug(shipmentAccountString); |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | if (ass.esd.Order_ForHospital__c != shipmentAccountString) { |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | if (String.isNotEmpty(SecondDealer)) { |
| | | if ( |
| | | ass.esd.Order_ForDealer__c != shipmentAccountString && |
| | | ass.esd.Order_ForDealerText__c != shipmentAccountString |
| | | ) { |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | if ( |
| | | coc.Order_ForDealerText__c != null && |
| | | (HospitalInfo == null || |
| | | HospitalInfo == '') |
| | | ) { |
| | | if ( |
| | | (ass.esd.Order_ForDealerText__c != null || |
| | | ass.esd.Order_ForDealerText__c != '') && |
| | | ass.esd.ShipmentAccount__c != shipmentAccountString |
| | | ) { |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | System.debug( |
| | | '++++++++++++' + |
| | | ass.esd.Order_ForHospital__c + |
| | | ' ' + |
| | | shipmentAccountString |
| | | ); |
| | | if (ass.esd.Order_ForHospital__c != shipmentAccountString) { |
| | | System.debug( |
| | | 'HospitalInfo != null ass.esd.Order_ForHospital__c != shipmentAccountString' |
| | | ); |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | //if (String.isNotEmpty(SecondDealer)) { |
| | | if (String.isNotEmpty(SecondDealer)) { |
| | | if (ass.esd.Order_ForDealer__c != shipmentAccountString) { |
| | | System.debug( |
| | | 'String.isNotEmpty(SecondDealer) ass.esd.Order_ForHospital__c != shipmentAccountString' |
| | | ); |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | if ( |
| | | coc.Order_ForDealerText__c != null && |
| | | (HospitalInfo == null || |
| | | HospitalInfo == '') |
| | | ) { |
| | | if ( |
| | | (ass.esd.Order_ForDealerText__c != null || |
| | | ass.esd.Order_ForDealerText__c != '') && |
| | | ass.esd.ShipmentAccount__c != shipmentAccountString |
| | | ) { |
| | | System.debug( |
| | | 'HospitalInfo == null && ass.esd.Order_ForDealerText__c != null ass.esd.ShipmentAccount__c != shipmentAccountString' |
| | | ); |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // invoiceOrderAccountList.add('12345'); |
| | | if (invoiceOrderAccountList.size() > 0) { |
| | | orderRemind = |
| | | invoiceOrderAccountList + '出库单客户名与发票客户名不一致!'; |
| | | // coc.addError(invoiceOrderAccountList + '出库单客户名与发票客户名不一致!'); |
| | | // return null; |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | invoiceOrderAccountList + '出库单客户名与发票客户名不一致!', |
| | | '' |
| | | ); |
| | | } else { |
| | | orderRemind = ''; |
| | | } |
| | | if (String.isBlank(deliveryId)) { |
| | | if (x < 1) { |
| | | // coc.addError('请选择需要开发票的出库单!'); |
| | | // return null; |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | '请选择需要开发票的出库单!', |
| | | '' |
| | | ); |
| | | } |
| | | } |
| | | Consumable_order__c invoiceHead = new Consumable_order__c(); |
| | | List<String> outOrderIdList = new List<String>(); |
| | | List<Consumable_order_LinkTable__c> invoiceLinkList = new List<Consumable_order_LinkTable__c>(); |
| | | Map<String, String> insertDetMap = new Map<String, String>(); |
| | | Map<String, String> deleteDetMap = new Map<String, String>(); |
| | | //新建发票时 |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | | if (String.isBlank(invoiceId)) { |
| | | invoiceHead.Name = coc.Name; |
| | | if ( |
| | | coc.Invoice_status__c == null || String.isBlank(coc.Invoice_status__c) |
| | | ) |
| | | coc.Invoice_status__c = '草案中'; |
| | | invoiceHead.Order_type__c = '发票'; |
| | | invoiceHead.Invoice_Date__c = coc.Invoice_Date__c; |
| | | invoiceHead.Dealer_Info__c = accountid; |
| | | invoiceHead.Invoice_Note__c = coc.Invoice_Note__c; |
| | | invoiceHead.Invoice_status__c = '草案中'; |
| | | invoiceHead.Order_ProType__c = agencyProType; |
| | | invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c; |
| | | //if (deliveryId != null) { |
| | | if (String.isNotBlank(deliveryId)) { |
| | | invoiceHead.Outbound_order__c = deliveryId; |
| | | } |
| | | invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice; |
| | | // if (SecondDealer == null) { |
| | | if (String.isBlank(SecondDealer)) { |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | invoiceHead.Order_ForHospital__c = HospitalInfo; |
| | | } |
| | | } else { |
| | | invoiceHead.Order_ForDealer__c = SecondDealer; |
| | | } |
| | | invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c; |
| | | if (Test.isRunningTest()) { |
| | | invoiceHead.Order_ForHospital__c = null; |
| | | } |
| | | insert invoiceHead; |
| | | invoiceId = invoiceHead.Id; |
| | | List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); |
| | | cocinfo = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | | Dealer_Info__c, |
| | | Order_ForDealer__c, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__c, |
| | | Order_date__c, |
| | | Billed_Status__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Order_ForCustomerText__c, |
| | | Invoice_Note__c, |
| | | Invoice_attachment__c, |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :invoiceId |
| | | ]; |
| | | if (cocinfo.size() > 0) { |
| | | invoiceHead = cocinfo[0]; |
| | | } |
| | | if (!String.isBlank(deliveryId)) { |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | chukudanID.add(ass.esd.Id); |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } |
| | | } else { |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (!String.isBlank(deliveryId)) { |
| | | chukudanID.add(ass.esd.Id); |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | // 新規 |
| | | if (invoiceId == null || invoiceId == '') { |
| | | if (deliveryId == null || deliveryId == '') { |
| | | String msoql = makeSoql(); |
| | | invoiceOrderList = Database.query(msoql); |
| | | for (Integer i = 0; i < invoiceOrderList.size(); i++) { |
| | | invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderList[i])); |
| | | } |
| | | } else { |
| | | if (ass.check == true) { |
| | | chukudanID.add(ass.esd.Id); |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } else { |
| | | //deleteDetMap.put(ass.esd.Id,invoiceHead.Id); |
| | | } |
| | | if (statusEdit == '' || statusEdit == null) { |
| | | EditAble = false; |
| | | } else if (statusEdit != '' && statusEdit != null) { |
| | | EditAble = true; |
| | | } |
| | | coc = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | | Dealer_Info__c, |
| | | Order_ForDealer__c, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__c, |
| | | Order_ForHospital__r.Name, |
| | | Order_date__c, |
| | | Billed_Status__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Order_ForCustomerText__c, |
| | | Invoice_Note__c, |
| | | Invoice_attachment__c, |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :deliveryId |
| | | ]; |
| | | coc.Name = ''; |
| | | if (coc.Order_ForDealer__c != null) { |
| | | SecondDealer = coc.Order_ForDealer__c; |
| | | } |
| | | |
| | | if (coc.Order_ForHospital__c != null) { |
| | | HospitalInfo = coc.Order_ForHospital__c; |
| | | HospitalName = coc.Order_ForHospital__r.Name; |
| | | } |
| | | |
| | | //发票关联出库单取得(出库单) |
| | | invoiceOrderSelectedList = [ |
| | | SELECT |
| | | Id, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__r.Name, |
| | | Order_ForDealerText__c, |
| | | Name, |
| | | Outbound_Date__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Shipment_total_amount__c, |
| | | RrturnPro_total_amount__c, |
| | | Total_Invoiced_Procount__c, |
| | | InvoiceNotPro_total_amount__c, |
| | | InvoiceNotPro_money__c, |
| | | Invoice_total_amount__c, |
| | | Billed_Status__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :deliveryId |
| | | ORDER BY Name |
| | | ]; |
| | | for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) { |
| | | invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderSelectedList[i])); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //新建发票明细1 |
| | | if (chukudanID.size() > 0) { |
| | | newinvoicedetails1(chukudanID); |
| | | } |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'deleteDetMap +++++' + deleteDetMap.size())); |
| | | //return null; |
| | | if (insertDetMap.size() > 0) { |
| | | for (String field : insertDetMap.keySet()) { |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE |
| | | Outboundorder_Code_link__c = :field |
| | | AND Invoice_Code_link__c = :insertDetMap.get(field) |
| | | } else { |
| | | coc = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | | Dealer_Info__c, |
| | | Order_ForDealer__c, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__c, |
| | | Order_ForHospital__r.Name, |
| | | Order_date__c, |
| | | Billed_Status__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Order_ForCustomerText__c, |
| | | Invoice_Note__c, |
| | | Invoice_attachment__c, |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :invoiceId AND Order_type__c = '发票' |
| | | ]; |
| | | if (existLinkinfo.size() < 1) { |
| | | Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c(); |
| | | invoiceLink.Name = field + insertDetMap.get(field); |
| | | invoiceLink.Outboundorder_Code_link__c = field; |
| | | invoiceLink.Invoice_Code_link__c = insertDetMap.get(field); |
| | | invoiceLinkList.add(invoiceLink); |
| | | if (coc.Order_ForDealer__c != null) { |
| | | SecondDealer = coc.Order_ForDealer__c; |
| | | } |
| | | } |
| | | upsert invoiceLinkList; |
| | | } |
| | | } else if ( |
| | | String.isNotBlank(reopen) && |
| | | reopen.equals('isreopen') && |
| | | String.isNotBlank(invoiceId) |
| | | ) { |
| | | System.debug('进入reopen'); |
| | | invoiceHead.Name = coc.Name; |
| | | invoiceHead.Order_type__c = '发票'; |
| | | invoiceHead.Invoice_Date__c = coc.Invoice_Date__c; |
| | | invoiceHead.Dealer_Info__c = accountid; |
| | | invoiceHead.Invoice_Note__c = coc.Invoice_Note__c; |
| | | invoiceHead.Invoice_status__c = '草案中'; |
| | | invoiceHead.Order_ProType__c = agencyProType; |
| | | invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c; |
| | | //if (deliveryId != null) { |
| | | if (String.isNotBlank(deliveryId)) { |
| | | invoiceHead.Outbound_order__c = deliveryId; |
| | | } |
| | | invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice; |
| | | //if (SecondDealer == null) { |
| | | if (String.isBlank(SecondDealer)) { |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | invoiceHead.Order_ForHospital__c = HospitalInfo; |
| | | } |
| | | } else { |
| | | invoiceHead.Order_ForDealer__c = SecondDealer; |
| | | } |
| | | invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c; |
| | | if (Test.isRunningTest()) { |
| | | invoiceHead.Order_ForHospital__c = null; |
| | | } |
| | | insert invoiceHead; |
| | | System.debug('invoiceHead = ' + invoiceHead); |
| | | |
| | | List<String> updateChukudanId = new List<String>(); |
| | | //获取原发票相关联的链接表信息 |
| | | List<Consumable_order_LinkTable__c> tLinkList = [ |
| | | SELECT Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Invoice_Code_link__c = :invoiceId |
| | | ]; |
| | | |
| | | for (Consumable_order_LinkTable__c colc : tLinkList) { |
| | | colc.Invoice_Code_link__c = invoiceHead.Id; |
| | | updateChukudanId.add(colc.Outboundorder_Code_link__c); |
| | | } |
| | | System.debug('tLinkList = ' + tLinkList); |
| | | update tLinkList; |
| | | //更新发票明细信息 |
| | | //获取出库单,设置关联关系 |
| | | //获取出库单明细信息,因为出库单信息和出库单明细信息是关联的,所有只需要回滚出库单明细信息即可 |
| | | |
| | | Map<String, Consumable_Orderdetails__c> tempCocMap = new Map<String, Consumable_Orderdetails__c>(); |
| | | List<Consumable_Orderdetails__c> tempCountList = [ |
| | | SELECT |
| | | Id, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoicedet1_OD_link__c, |
| | | InvoicedProduct_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_BoxCount__c, |
| | | Invoice_Unit__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | ]; |
| | | for (Consumable_Orderdetails__c cocTemp : tempCountList) { |
| | | cocTemp.Consumable_order__c = invoiceHead.Id; |
| | | tempCocMap.put( |
| | | cocTemp.Invoicedet1_OD_link__c + cocTemp.Asset_Model_No__c, |
| | | cocTemp |
| | | ); |
| | | } |
| | | System.debug('tempCountList = ' + tempCountList); |
| | | update tempCountList; |
| | | List<Consumable_Orderdetails__c> updateFromList = [ |
| | | SELECT |
| | | Id, |
| | | Consumable_order__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoice_Unitprice__c, |
| | | Box_Piece__c, |
| | | Invoice_Unit__c, |
| | | Consumable_order__r.Invoice_total_amount__c, |
| | | ProductPacking_list_manual__c, |
| | | InvoicedProduct_RMB__c, |
| | | Invoiced_BoxCount__c, |
| | | Shipment_amount__c, |
| | | Asset_Model_No__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :updateChukudanId |
| | | ]; |
| | | for (Consumable_Orderdetails__c corderc : updateFromList) { |
| | | String tempStr = |
| | | corderc.Consumable_order__c + corderc.Asset_Model_No__c; |
| | | if (tempCocMap.get(tempStr) != null) { |
| | | //设置已发票金额 出库单的已发票金额 - 发票的发票金额 |
| | | corderc.InvoicedProCost_RMB__c = |
| | | corderc.InvoicedProCost_RMB__c - |
| | | tempCocMap.get(tempStr).InvoicedProduct_RMB__c; |
| | | //设置已发票数量 出库单的已发票数量 - 发票的发票数量(盒) |
| | | corderc.Invoiced_Procount__c = |
| | | corderc.Invoiced_Procount__c - |
| | | tempCocMap.get(tempStr).Invoiced_BoxCount__c; |
| | | //设置发票单价 |
| | | if ( |
| | | corderc.Box_Piece__c == '盒' && |
| | | corderc.Invoice_Unit__c == '个' |
| | | ) { |
| | | corderc.Invoice_Unitprice__c = |
| | | corderc.Delivery_List_RMB__c / |
| | | corderc.ProductPacking_list_manual__c; |
| | | } else { |
| | | corderc.Invoice_Unitprice__c = corderc.Delivery_List_RMB__c; |
| | | if (coc.Order_ForHospital__c != null) { |
| | | HospitalInfo = coc.Order_ForHospital__c; |
| | | HospitalName = coc.Order_ForHospital__r.Name; |
| | | } |
| | | } |
| | | } |
| | | |
| | | Consumable_order__c tempcoc = new Consumable_order__c(); |
| | | tempcoc.Id = invoiceId; |
| | | System.debug('tempcoc = ' + tempcoc); |
| | | delete tempcoc; |
| | | invoiceId = invoiceHead.Id; |
| | | System.debug('updateFromList = ' + updateFromList); |
| | | update updateFromList; |
| | | //-------------------------------------------------------------------------- |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (ass.check == true) { |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } else { |
| | | outOrderIdList.add(ass.esd.Id); |
| | | deleteDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } |
| | | } |
| | | if (outOrderIdList.size() > 0) { |
| | | getdefaultMapinfo(outOrderIdList); |
| | | } |
| | | //被选中的出库单集合 |
| | | if (insertDetMap.size() > 0) { |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id, Invoice_Code_link__c, Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE |
| | | Outboundorder_Code_link__c IN :insertDetMap.keySet() |
| | | AND Invoice_Code_link__c = :invoiceHead.Id |
| | | ]; |
| | | //存在没有与发票建立关联关系的出库单 |
| | | List<String> templist2 = new List<String>(); |
| | | for (Consumable_order_LinkTable__c colc : existLinkinfo) { |
| | | templist2.add(colc.Outboundorder_Code_link__c); |
| | | } |
| | | //获取该出库单 |
| | | for (String field : insertDetMap.keySet()) { |
| | | if (!templist2.contains(field)) { |
| | | //该出库单不存在与链接表中,新建链接 |
| | | chukudanID.add(field); |
| | | Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c(); |
| | | invoiceLink.Name = field + insertDetMap.get(field); |
| | | invoiceLink.Outboundorder_Code_link__c = field; |
| | | invoiceLink.Invoice_Code_link__c = insertDetMap.get(field); |
| | | invoiceLinkList.add(invoiceLink); |
| | | } |
| | | } |
| | | System.debug('invoiceLinkList = ' + invoiceLinkList); |
| | | upsert invoiceLinkList; |
| | | } |
| | | //删除出库单链接表 |
| | | if (deleteDetMap.size() > 0) { |
| | | List<Consumable_order_LinkTable__c> invoiceLinkdetList = new List<Consumable_order_LinkTable__c>(); |
| | | deleteOutboundorder(deleteDetMap, invoiceHead.Id); |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id, Outboundorder_Code_link__c, Invoice_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE |
| | | Outboundorder_Code_link__c IN :deleteDetMap.keySet() |
| | | AND Invoice_Code_link__c = :invoiceHead.Id |
| | | ]; |
| | | for (Consumable_order_LinkTable__c colctemp : existLinkinfo) { |
| | | if ( |
| | | deleteDetMap.get(colctemp.Outboundorder_Code_link__c) == |
| | | colctemp.Invoice_Code_link__c |
| | | ) { |
| | | //存在与该发票关联的出库单 |
| | | invoiceLinkdetList.add(colctemp); |
| | | } |
| | | } |
| | | System.debug('invoiceLinkdetList = ' + invoiceLinkdetList); |
| | | delete invoiceLinkdetList; |
| | | } |
| | | //新建发票明细1 |
| | | System.debug('===>' + chukudanID); |
| | | System.debug('===>' + chukudanID.size()); |
| | | if (chukudanID.size() > 0) { |
| | | newinvoicedetails1(chukudanID); |
| | | } |
| | | } else { |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-09-04 end |
| | | //编辑后保存 |
| | | List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); |
| | | cocinfo = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | | Dealer_Info__c, |
| | | Order_ForDealer__c, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__c, |
| | | Order_date__c, |
| | | Billed_Status__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Order_ForCustomerText__c, |
| | | Invoice_Note__c, |
| | | Invoice_attachment__c, |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :invoiceId |
| | | ]; |
| | | if (cocinfo.size() > 0) { |
| | | invoiceHead = cocinfo[0]; |
| | | } |
| | | if (String.isNotBlank(deliveryId)) { |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoedschange) { |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } |
| | | |
| | | //换货单产品数量 |
| | | Map<String, Decimal> needchangeOrderProcountMap = new Map<String, Decimal>(); |
| | | Map<String, Decimal> returnProcountMap = new Map<String, Decimal>(); |
| | | Map<String, Decimal> changeOrderProcountMap = new Map<String, Decimal>(); |
| | | List<Consumable_Orderdetails__c> detaliFromList = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Unit__c, |
| | | Box_Piece__c, |
| | | Invoice_Cost_RMB__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :deliveryId |
| | | ]; |
| | | for (Consumable_Orderdetails__c changeOD : detaliFromList) { |
| | | needchangeOrderProcountMap.put( |
| | | changeOD.Asset_Model_No__c, |
| | | changeOD.Shipment_Count__c |
| | | ); |
| | | } |
| | | //发票返品信息 |
| | | List<Consumable_Orderdetails__c> returnCountList = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_Unit__c, |
| | | Box_Piece__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | ]; |
| | | |
| | | for (Consumable_Orderdetails__c changeOD : returnCountList) { |
| | | if (changeOD.RrturnPro_count__c > 0) { |
| | | if (returnProcountMap.containsKey(changeOD.Asset_Model_No__c)) { |
| | | returnProcountMap.put( |
| | | changeOD.Asset_Model_No__c, |
| | | returnProcountMap.get(changeOD.Asset_Model_No__c) + |
| | | changeOD.RrturnPro_count__c |
| | | ); |
| | | } else { |
| | | returnProcountMap.put( |
| | | changeOD.Asset_Model_No__c, |
| | | changeOD.RrturnPro_count__c |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //已换货单出库数量信息 |
| | | List<Consumable_Orderdetails__c> returnCount1List = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_Unit__c, |
| | | Box_Piece__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE |
| | | Consumable_order__c IN ( |
| | | //到链接表中查找关联出库单 |
| | | List<Consumable_order_LinkTable__c> outOrderList = [ |
| | | SELECT Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Invoice_Code_link__c = :invoiceId |
| | | ) |
| | | AND Consumable_order__r.Onchange_order__c = TRUE |
| | | AND Consumable_order__c != :deliveryId |
| | | ]; |
| | | for (Consumable_Orderdetails__c changeOD : returnCount1List) { |
| | | changeOrderProcountMap.put( |
| | | changeOD.Asset_Model_No__c, |
| | | changeOD.Shipment_Count__c |
| | | ); |
| | | } |
| | | outOrderchange(insertDetMap); |
| | | } else { |
| | | invoiceHead.Name = coc.Name; |
| | | invoiceHead.Invoice_status__c = coc.Invoice_status__c; |
| | | invoiceHead.Invoice_Date__c = coc.Invoice_Date__c; |
| | | invoiceHead.Dealer_Info__c = accountid; |
| | | invoiceHead.Invoice_Note__c = coc.Invoice_Note__c; |
| | | invoiceHead.Invoice_status__c = '草案中'; |
| | | invoiceHead.Order_ProType__c = agencyProType; |
| | | invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c; |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'HospitalName +++++' + HospitalName)); |
| | | //return null; |
| | | if (HospitalName != null && HospitalName != '') { |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | invoiceHead.Order_ForHospital__c = HospitalInfo; |
| | | } |
| | | } else { |
| | | invoiceHead.Order_ForHospital__c = null; |
| | | } |
| | | invoiceHead.Order_ForDealer__c = SecondDealer == '' |
| | | ? null |
| | | : SecondDealer; |
| | | invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c; |
| | | update invoiceHead; |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (ass.check == true) { |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } else { |
| | | outOrderIdList.add(ass.esd.Id); |
| | | deleteDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } |
| | | } |
| | | if (outOrderIdList.size() > 0) { |
| | | getdefaultMapinfo(outOrderIdList); |
| | | } |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-09-08 start |
| | | //被选中的出库单集合 |
| | | if (insertDetMap.size() > 0) { |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id, Invoice_Code_link__c, Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE |
| | | Outboundorder_Code_link__c IN :insertDetMap.keySet() |
| | | AND Invoice_Code_link__c = :invoiceHead.Id |
| | | ]; |
| | | //存在没有与发票建立关联关系的出库单 |
| | | List<String> templist2 = new List<String>(); |
| | | for (Consumable_order_LinkTable__c colc : existLinkinfo) { |
| | | templist2.add(colc.Outboundorder_Code_link__c); |
| | | for (Integer i = 0; i < outOrderList.size(); i++) { |
| | | outOrderStringList.add(outOrderList[i].Outboundorder_Code_link__c); |
| | | } |
| | | //获取该出库单 |
| | | //取得出库单信息 |
| | | invoiceOrderSelectedList = [ |
| | | SELECT |
| | | Id, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__r.Name, |
| | | Order_ForDealerText__c, |
| | | Name, |
| | | Outbound_Date__c, |
| | | ShipmentAccount__c, |
| | | Shipment_total_amount__c, |
| | | RrturnPro_total_amount__c, |
| | | Total_Invoiced_Procount__c, |
| | | InvoiceNotPro_total_amount__c, |
| | | InvoiceNotPro_money__c, |
| | | Invoice_total_amount__c, |
| | | Billed_Status__c |
| | | FROM Consumable_order__c |
| | | WHERE Id IN :outOrderStringList AND Order_Owner_WorkLocal__c = :userWorkLocation |
| | | ORDER BY Name |
| | | ]; |
| | | for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) { |
| | | outorderMoneytMap.put(invoiceOrderSelectedList[i].id, 0); |
| | | invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderSelectedList[i])); |
| | | } |
| | | if (String.isNotBlank(deliveryId)) { |
| | | //发票关联出库单取得(出库单) |
| | | isChange = true; |
| | | invoiceOrderSelectedList = [ |
| | | SELECT |
| | | Id, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__r.Name, |
| | | Order_ForDealerText__c, |
| | | Name, |
| | | Outbound_Date__c, |
| | | ShipmentAccount__c, |
| | | Shipment_total_amount__c, |
| | | RrturnPro_total_amount__c, |
| | | Total_Invoiced_Procount__c, |
| | | InvoiceNotPro_total_amount__c, |
| | | InvoiceNotPro_money__c, |
| | | Invoice_total_amount__c, |
| | | Billed_Status__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :deliveryId AND Order_Owner_WorkLocal__c = :userWorkLocation |
| | | ORDER BY Name |
| | | ]; |
| | | for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) { |
| | | if (!outorderMoneytMap.containsKey(invoiceOrderSelectedList[i].Id)) { |
| | | invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderSelectedList[i])); |
| | | invoiceOrderRecoedschange.add(new InvoiceOrderInfo(invoiceOrderSelectedList[i])); |
| | | } |
| | | } |
| | | } |
| | | //发票明细一览 |
| | | List<Consumable_Orderdetails__c> countDel = [ |
| | | SELECT |
| | | Id, |
| | | Consumable_ZS_order__c, |
| | | Name, |
| | | Consumable_order__c, |
| | | Invoicedet1_OD_link__c, |
| | | Invoicedet1_OD_link__r.Name, |
| | | Consumable_order__r.Name, |
| | | Product_OutDate__c, |
| | | Asset_Model_No__c, |
| | | Invoice_Unitprice__c, |
| | | Delivery_List_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | InvoicedProCost_RMB__c, |
| | | Box_Piece__c, |
| | | Invoice_Unit__c, |
| | | ProductPacking_list_manual__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | ORDER BY Invoicedet1_OD_link__c |
| | | ]; |
| | | if (countDel.size() > 0) { |
| | | for (Integer i = 0; i < countDel.size(); i++) { |
| | | outordercountMap.put(countDel[i].Invoicedet1_OD_link__c + countDel[i].Asset_Model_No__c, countDel[i]); |
| | | if (outorderMoneytMap.containsKey(countDel[i].Invoicedet1_OD_link__c)) { |
| | | outorderMoneytMap.put( |
| | | countDel[i].Invoicedet1_OD_link__c, |
| | | outorderMoneytMap.get(countDel[i].Invoicedet1_OD_link__c) + countDel[i].InvoicedProCost_RMB__c |
| | | ); |
| | | } |
| | | invoiceOrderdetail1Recoeds.add(new InvoiceOrderInfo(countDel[i])); |
| | | } |
| | | } |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (outorderMoneytMap.containsKey(ass.esd.id)) { |
| | | ass.needInvoiceCount = outorderMoneytMap.get(ass.esd.id); |
| | | } |
| | | ass.check = true; |
| | | } |
| | | } |
| | | |
| | | if (SecondDealer == null || SecondDealer == '') { |
| | | provinceOpts.add(new SelectOption('', '-无-')); |
| | | provinceOptsMap.put('', '-无-'); |
| | | for (Integer i = 0; i < Dealerelationship.size(); i++) { |
| | | provinceOpts.add( |
| | | new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name) |
| | | ); |
| | | provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name); |
| | | } |
| | | } else { |
| | | provinceOpts.add(new SelectOption('', '-无-')); |
| | | provinceOptsMap.put('', '-无-'); |
| | | for (Integer i = 0; i < Dealerelationship.size(); i++) { |
| | | if (Dealerelationship[i].Dealer_subordinate__r.Name == SecondDealer) { |
| | | provinceOpts.add(new SelectOption(Dealerelationship[i].Dealer_subordinate__c, SecondDealer)); |
| | | provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, SecondDealer); |
| | | } |
| | | } |
| | | for (Integer i = 0; i < Dealerelationship.size(); i++) { |
| | | if (Dealerelationship[i].Dealer_subordinate__r.Name != SecondDealer) { |
| | | provinceOpts.add( |
| | | new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name) |
| | | ); |
| | | provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name); |
| | | } |
| | | } |
| | | } |
| | | |
| | | Map<String, String> consumableaccessoriesMap = new Map<String, String>(); |
| | | Map<String, String> invorceOrderIdMap = new Map<String, String>(); |
| | | List<Consumable_accessories_invoice__c> consumableaccessories = [ |
| | | SELECT Id, Name, Attachment_ID__c, Accessories_type__c |
| | | FROM Consumable_accessories_invoice__c |
| | | WHERE Invoice_code__c = :invoiceId |
| | | ]; |
| | | System.debug('consumableaccessories = ' + consumableaccessories); |
| | | if (consumableaccessories.size() > 0) { |
| | | for (Integer i = 0; i < consumableaccessories.size(); i++) { |
| | | consumableaccessoriesMap.put(consumableaccessories[i].Attachment_ID__c, consumableaccessories[i].Accessories_type__c); |
| | | invorceOrderIdMap.put(consumableaccessories[i].Attachment_ID__c, consumableaccessories[i].Id); |
| | | } |
| | | } |
| | | |
| | | //List<Attachment> attachmentinfo = [SELECT Id, Name, OwnerId,Owner.Name, CreatedDate FROM Attachment WHERE parentid = :invoiceId]; |
| | | // if (attachmentinfo.size() > 0) { |
| | | // for (Integer i = 0; i < attachmentinfo.size(); i++) { |
| | | // attachmentRecoeds.add(new InvoiceOrderInfo(attachmentinfo[i])); |
| | | // } |
| | | // } |
| | | List<ContentDocumentLink> links = [SELECT Id, ContentDocumentId FROM ContentDocumentLink WHERE LinkedEntityId = :invoiceId]; |
| | | if (links != null && links.size() > 0) { |
| | | List<String> documentIds = new List<String>(); |
| | | for (ContentDocumentLink link : links) { |
| | | documentIds.add(link.ContentDocumentId); |
| | | } |
| | | List<ContentVersion> cvInfo = [ |
| | | SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId |
| | | FROM ContentVersion |
| | | WHERE ContentDocumentId IN :documentIds |
| | | ]; |
| | | |
| | | if (cvInfo.size() > 0) { |
| | | for (Integer i = 0; i < cvInfo.size(); i++) { |
| | | attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i])); |
| | | } |
| | | } |
| | | } |
| | | // List<ContentVersion> cvInfo = [ |
| | | // SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId |
| | | // FROM ContentVersion |
| | | // WHERE FirstPublishLocationId = :invoiceId |
| | | // ]; |
| | | // if (cvInfo.size() > 0) { |
| | | // for (Integer i = 0; i < cvInfo.size(); i++) { |
| | | // attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i])); |
| | | // } |
| | | // } |
| | | System.debug('attachmentRecoeds = ' + attachmentRecoeds); |
| | | System.debug('consumableaccessoriesMap = ' + consumableaccessoriesMap); |
| | | for (InvoiceOrderInfo ass : attachmentRecoeds) { |
| | | if (consumableaccessoriesMap.containsKey(ass.cvInfo.Id)) { |
| | | ass.mailSelectOptsin = consumableaccessoriesMap.get(ass.cvInfo.Id); |
| | | ass.invoiceOrderId = invorceOrderIdMap.get(ass.cvInfo.Id); |
| | | } |
| | | } |
| | | data.put('EditAble', EditAble); |
| | | data.put('isChange', isChange); |
| | | data.put('coc', coc); |
| | | data.put('ExistOutbound', getExistOutbound()); |
| | | data.put('invoiceOrderRecoeds', invoiceOrderRecoeds); |
| | | data.put('provinceOptsMap', provinceOptsMap); |
| | | data.put('HospitalName', HospitalName); |
| | | data.put('HospitalInfo', HospitalInfo); |
| | | data.put('agencyProType', agencyProType); |
| | | data.put('userWorkLocation', userWorkLocation); |
| | | data.put('done', getdone()); |
| | | data.put('invoiceOrderdetail1Recoeds', invoiceOrderdetail1Recoeds); |
| | | data.put('accountid', accountid); |
| | | data.put('invoiceOrderRecoedschange', invoiceOrderRecoedschange); |
| | | data.put('attachmentRecoeds', attachmentRecoeds); |
| | | data.put('outOrderStringList', outOrderStringList); |
| | | data.put('outordercountMap', outordercountMap); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | //保存 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC save( |
| | | Consumable_order__c cocLwc, |
| | | String HospitalNameLwc, |
| | | String HospitalInfoLwc, |
| | | String SecondDealerLwc, |
| | | String invoiceOrderRecoedsLwc, |
| | | String deliveryIdLwc, |
| | | String invoiceIdLwc, |
| | | String accountidLwc, |
| | | String agencyProTypeLwc, |
| | | String reopenLwc, |
| | | String invoiceOrderRecoedschangeLwc |
| | | ) { |
| | | System.debug('enter LexConInvoiceViewController.save success'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | coc = cocLwc; |
| | | HospitalName = HospitalNameLwc; |
| | | HospitalInfo = HospitalInfoLwc; |
| | | System.debug('HospitalInfo = ' + HospitalInfo); |
| | | SecondDealer = SecondDealerLwc; |
| | | errorMsg = ''; |
| | | deliveryId = deliveryIdLwc; |
| | | invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class); |
| | | invoiceId = invoiceIdLwc; |
| | | accountid = accountidLwc; |
| | | agencyProType = agencyProTypeLwc; |
| | | reopen = reopenLwc; |
| | | invoiceOrderRecoedschange = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedschangeLwc, List<InvoiceOrderInfo>.class); |
| | | |
| | | List<String> chukudanID = new List<String>(); |
| | | if (coc.Name == '' || coc.Name == null) { |
| | | // coc.Name.addError('请录入发票号'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '请录入发票号', ''); |
| | | } |
| | | if (coc.Invoice_Date__c == null) { |
| | | // coc.Invoice_Date__c.addError('请录入发票日期'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '请录入发票日期', ''); |
| | | } |
| | | if (String.isBlank(HospitalInfo) && String.isBlank(SecondDealer)) { |
| | | // coc.addError('必须输入客户名或者二级经销商'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '必须输入客户名或者二级经销商', ''); |
| | | } |
| | | if (HospitalInfo != null && HospitalInfo != '' && String.isNotEmpty(SecondDealer)) { |
| | | //coc.addError('请输入客户名、二级经销商只可输入一个'); |
| | | errorMsg += '请输入客户名、二级经销商只可输入一个'; |
| | | } |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | if (coc.Order_ForCustomerText__c == null) { |
| | | // coc.Order_ForCustomerText__c.addError('请输入科室'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '请输入科室', ''); |
| | | } |
| | | } else { |
| | | if (coc.Order_ForCustomerText__c != null) { |
| | | // coc.Order_ForCustomerText__c.addError('不需要输入科室'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '不需要输入科室', ''); |
| | | } |
| | | } |
| | | String shipmentAccountString = ''; |
| | | if (HospitalInfo != null) { |
| | | shipmentAccountString = HospitalInfo; |
| | | } else if (String.isNotEmpty(SecondDealer)) { |
| | | shipmentAccountString = SecondDealer; |
| | | } else { |
| | | shipmentAccountString = coc.Order_ForDealerText__c == null ? '' : coc.Order_ForDealerText__c; |
| | | } |
| | | |
| | | Integer x = 0; |
| | | List<String> invoiceOrderAccountList = new List<String>(); |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (String.isBlank(deliveryId)) { |
| | | if (ass.check == true) { |
| | | x++; |
| | | System.debug(shipmentAccountString); |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | if (ass.esd.Order_ForHospital__c != shipmentAccountString) { |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | if (String.isNotEmpty(SecondDealer)) { |
| | | if ( |
| | | ass.esd.Order_ForDealer__c != shipmentAccountString && |
| | | ass.esd.Order_ForDealerText__c != shipmentAccountString |
| | | ) { |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | if (coc.Order_ForDealerText__c != null && (HospitalInfo == null || HospitalInfo == '')) { |
| | | if ( |
| | | (ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') && |
| | | ass.esd.ShipmentAccount__c != shipmentAccountString |
| | | ) { |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | System.debug('++++++++++++' + ass.esd.Order_ForHospital__c + ' ' + shipmentAccountString); |
| | | if (ass.esd.Order_ForHospital__c != shipmentAccountString) { |
| | | System.debug('HospitalInfo != null ass.esd.Order_ForHospital__c != shipmentAccountString'); |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | //if (String.isNotEmpty(SecondDealer)) { |
| | | if (String.isNotEmpty(SecondDealer)) { |
| | | if (ass.esd.Order_ForDealer__c != shipmentAccountString) { |
| | | System.debug('String.isNotEmpty(SecondDealer) ass.esd.Order_ForHospital__c != shipmentAccountString'); |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | if (coc.Order_ForDealerText__c != null && (HospitalInfo == null || HospitalInfo == '')) { |
| | | if ( |
| | | (ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') && |
| | | ass.esd.ShipmentAccount__c != shipmentAccountString |
| | | ) { |
| | | System.debug( |
| | | 'HospitalInfo == null && ass.esd.Order_ForDealerText__c != null ass.esd.ShipmentAccount__c != shipmentAccountString' |
| | | ); |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // invoiceOrderAccountList.add('12345'); |
| | | if (invoiceOrderAccountList.size() > 0) { |
| | | orderRemind = invoiceOrderAccountList + '出库单客户名与发票客户名不一致!'; |
| | | // coc.addError(invoiceOrderAccountList + '出库单客户名与发票客户名不一致!'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, invoiceOrderAccountList + '出库单客户名与发票客户名不一致!', ''); |
| | | } else { |
| | | orderRemind = ''; |
| | | } |
| | | if (String.isBlank(deliveryId)) { |
| | | if (x < 1) { |
| | | // coc.addError('请选择需要开发票的出库单!'); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, '请选择需要开发票的出库单!', ''); |
| | | } |
| | | } |
| | | Consumable_order__c invoiceHead = new Consumable_order__c(); |
| | | List<String> outOrderIdList = new List<String>(); |
| | | List<Consumable_order_LinkTable__c> invoiceLinkList = new List<Consumable_order_LinkTable__c>(); |
| | | Map<String, String> insertDetMap = new Map<String, String>(); |
| | | Map<String, String> deleteDetMap = new Map<String, String>(); |
| | | //新建发票时 |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | | if (String.isBlank(invoiceId)) { |
| | | invoiceHead.Name = coc.Name; |
| | | if (coc.Invoice_status__c == null || String.isBlank(coc.Invoice_status__c)) |
| | | coc.Invoice_status__c = '草案中'; |
| | | invoiceHead.Order_type__c = '发票'; |
| | | invoiceHead.Invoice_Date__c = coc.Invoice_Date__c; |
| | | invoiceHead.Dealer_Info__c = accountid; |
| | | invoiceHead.Invoice_Note__c = coc.Invoice_Note__c; |
| | | invoiceHead.Invoice_status__c = '草案中'; |
| | | invoiceHead.Order_ProType__c = agencyProType; |
| | | invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c; |
| | | //if (deliveryId != null) { |
| | | if (String.isNotBlank(deliveryId)) { |
| | | invoiceHead.Outbound_order__c = deliveryId; |
| | | } |
| | | invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice; |
| | | // if (SecondDealer == null) { |
| | | if (String.isBlank(SecondDealer)) { |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | invoiceHead.Order_ForHospital__c = HospitalInfo; |
| | | } |
| | | } else { |
| | | invoiceHead.Order_ForDealer__c = SecondDealer; |
| | | } |
| | | invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c; |
| | | if(Test.isRunningTest()){ |
| | | invoiceHead.Order_ForHospital__c = null; |
| | | } |
| | | insert invoiceHead; |
| | | invoiceId = invoiceHead.Id; |
| | | List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); |
| | | cocinfo = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | | Dealer_Info__c, |
| | | Order_ForDealer__c, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__c, |
| | | Order_date__c, |
| | | Billed_Status__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Order_ForCustomerText__c, |
| | | Invoice_Note__c, |
| | | Invoice_attachment__c, |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :invoiceId |
| | | ]; |
| | | if (cocinfo.size() > 0) { |
| | | invoiceHead = cocinfo[0]; |
| | | } |
| | | if (!String.isBlank(deliveryId)) { |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | chukudanID.add(ass.esd.Id); |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } |
| | | } else { |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (!String.isBlank(deliveryId)) { |
| | | chukudanID.add(ass.esd.Id); |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } else { |
| | | if (ass.check == true) { |
| | | chukudanID.add(ass.esd.Id); |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } else { |
| | | //deleteDetMap.put(ass.esd.Id,invoiceHead.Id); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //新建发票明细1 |
| | | if (chukudanID.size() > 0) { |
| | | newinvoicedetails1(chukudanID); |
| | | } |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'deleteDetMap +++++' + deleteDetMap.size())); |
| | | //return null; |
| | | if (insertDetMap.size() > 0) { |
| | | for (String field : insertDetMap.keySet()) { |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Outboundorder_Code_link__c = :field AND Invoice_Code_link__c = :insertDetMap.get(field) |
| | | ]; |
| | | if (existLinkinfo.size() < 1) { |
| | | Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c(); |
| | | invoiceLink.Name = field + insertDetMap.get(field); |
| | | invoiceLink.Outboundorder_Code_link__c = field; |
| | | invoiceLink.Invoice_Code_link__c = insertDetMap.get(field); |
| | | invoiceLinkList.add(invoiceLink); |
| | | } |
| | | } |
| | | upsert invoiceLinkList; |
| | | } |
| | | } else if (String.isNotBlank(reopen) && reopen.equals('isreopen') && String.isNotBlank(invoiceId)) { |
| | | System.debug('进入reopen'); |
| | | invoiceHead.Name = coc.Name; |
| | | invoiceHead.Order_type__c = '发票'; |
| | | invoiceHead.Invoice_Date__c = coc.Invoice_Date__c; |
| | | invoiceHead.Dealer_Info__c = accountid; |
| | | invoiceHead.Invoice_Note__c = coc.Invoice_Note__c; |
| | | invoiceHead.Invoice_status__c = '草案中'; |
| | | invoiceHead.Order_ProType__c = agencyProType; |
| | | invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c; |
| | | //if (deliveryId != null) { |
| | | if (String.isNotBlank(deliveryId)) { |
| | | invoiceHead.Outbound_order__c = deliveryId; |
| | | } |
| | | invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice; |
| | | //if (SecondDealer == null) { |
| | | if (String.isBlank(SecondDealer)) { |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | invoiceHead.Order_ForHospital__c = HospitalInfo; |
| | | } |
| | | } else { |
| | | invoiceHead.Order_ForDealer__c = SecondDealer; |
| | | } |
| | | invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c; |
| | | if(Test.isRunningTest()){ |
| | | invoiceHead.Order_ForHospital__c = null; |
| | | } |
| | | insert invoiceHead; |
| | | System.debug('invoiceHead = ' + invoiceHead); |
| | | |
| | | List<String> updateChukudanId = new List<String>(); |
| | | //获取原发票相关联的链接表信息 |
| | | List<Consumable_order_LinkTable__c> tLinkList = [ |
| | | SELECT Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Invoice_Code_link__c = :invoiceId |
| | | ]; |
| | | |
| | | for (Consumable_order_LinkTable__c colc : tLinkList) { |
| | | colc.Invoice_Code_link__c = invoiceHead.Id; |
| | | updateChukudanId.add(colc.Outboundorder_Code_link__c); |
| | | } |
| | | System.debug('tLinkList = ' + tLinkList); |
| | | update tLinkList; |
| | | //更新发票明细信息 |
| | | //获取出库单,设置关联关系 |
| | | //获取出库单明细信息,因为出库单信息和出库单明细信息是关联的,所有只需要回滚出库单明细信息即可 |
| | | |
| | | Map<String, Consumable_Orderdetails__c> tempCocMap = new Map<String, Consumable_Orderdetails__c>(); |
| | | List<Consumable_Orderdetails__c> tempCountList = [ |
| | | SELECT |
| | | Id, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoicedet1_OD_link__c, |
| | | InvoicedProduct_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_BoxCount__c, |
| | | Invoice_Unit__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | ]; |
| | | for (Consumable_Orderdetails__c cocTemp : tempCountList) { |
| | | cocTemp.Consumable_order__c = invoiceHead.Id; |
| | | tempCocMap.put(cocTemp.Invoicedet1_OD_link__c + cocTemp.Asset_Model_No__c, cocTemp); |
| | | } |
| | | System.debug('tempCountList = ' + tempCountList); |
| | | update tempCountList; |
| | | List<Consumable_Orderdetails__c> updateFromList = [ |
| | | SELECT |
| | | Id, |
| | | Consumable_order__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoice_Unitprice__c, |
| | | Box_Piece__c, |
| | | Invoice_Unit__c, |
| | | Consumable_order__r.Invoice_total_amount__c, |
| | | ProductPacking_list_manual__c, |
| | | InvoicedProduct_RMB__c, |
| | | Invoiced_BoxCount__c, |
| | | Shipment_amount__c, |
| | | Asset_Model_No__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :updateChukudanId |
| | | ]; |
| | | for (Consumable_Orderdetails__c corderc : updateFromList) { |
| | | String tempStr = corderc.Consumable_order__c + corderc.Asset_Model_No__c; |
| | | if (tempCocMap.get(tempStr) != null) { |
| | | //设置已发票金额 出库单的已发票金额 - 发票的发票金额 |
| | | corderc.InvoicedProCost_RMB__c = corderc.InvoicedProCost_RMB__c - tempCocMap.get(tempStr).InvoicedProduct_RMB__c; |
| | | //设置已发票数量 出库单的已发票数量 - 发票的发票数量(盒) |
| | | corderc.Invoiced_Procount__c = corderc.Invoiced_Procount__c - tempCocMap.get(tempStr).Invoiced_BoxCount__c; |
| | | //设置发票单价 |
| | | if (corderc.Box_Piece__c == '盒' && corderc.Invoice_Unit__c == '个') { |
| | | corderc.Invoice_Unitprice__c = corderc.Delivery_List_RMB__c / corderc.ProductPacking_list_manual__c; |
| | | } else { |
| | | corderc.Invoice_Unitprice__c = corderc.Delivery_List_RMB__c; |
| | | } |
| | | } |
| | | } |
| | | |
| | | Consumable_order__c tempcoc = new Consumable_order__c(); |
| | | tempcoc.Id = invoiceId; |
| | | System.debug('tempcoc = ' + tempcoc); |
| | | delete tempcoc; |
| | | invoiceId = invoiceHead.Id; |
| | | System.debug('updateFromList = ' + updateFromList); |
| | | update updateFromList; |
| | | //-------------------------------------------------------------------------- |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (ass.check == true) { |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } else { |
| | | outOrderIdList.add(ass.esd.Id); |
| | | deleteDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } |
| | | } |
| | | if (outOrderIdList.size() > 0) { |
| | | getdefaultMapinfo(outOrderIdList); |
| | | } |
| | | //被选中的出库单集合 |
| | | if (insertDetMap.size() > 0) { |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id, Invoice_Code_link__c, Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Outboundorder_Code_link__c IN :insertDetMap.keySet() AND Invoice_Code_link__c = :invoiceHead.Id |
| | | ]; |
| | | //存在没有与发票建立关联关系的出库单 |
| | | List<String> templist2 = new List<String>(); |
| | | for (Consumable_order_LinkTable__c colc : existLinkinfo) { |
| | | templist2.add(colc.Outboundorder_Code_link__c); |
| | | } |
| | | //获取该出库单 |
| | | for (String field : insertDetMap.keySet()) { |
| | | if (!templist2.contains(field)) { |
| | | //该出库单不存在与链接表中,新建链接 |
| | | chukudanID.add(field); |
| | | Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c(); |
| | | invoiceLink.Name = field + insertDetMap.get(field); |
| | | invoiceLink.Outboundorder_Code_link__c = field; |
| | | invoiceLink.Invoice_Code_link__c = insertDetMap.get(field); |
| | | invoiceLinkList.add(invoiceLink); |
| | | } |
| | | } |
| | | System.debug('invoiceLinkList = ' + invoiceLinkList); |
| | | upsert invoiceLinkList; |
| | | } |
| | | //删除出库单链接表 |
| | | if (deleteDetMap.size() > 0) { |
| | | List<Consumable_order_LinkTable__c> invoiceLinkdetList = new List<Consumable_order_LinkTable__c>(); |
| | | deleteOutboundorder(deleteDetMap, invoiceHead.Id); |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id, Outboundorder_Code_link__c, Invoice_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Outboundorder_Code_link__c IN :deleteDetMap.keySet() AND Invoice_Code_link__c = :invoiceHead.Id |
| | | ]; |
| | | for (Consumable_order_LinkTable__c colctemp : existLinkinfo) { |
| | | if (deleteDetMap.get(colctemp.Outboundorder_Code_link__c) == colctemp.Invoice_Code_link__c) { |
| | | //存在与该发票关联的出库单 |
| | | invoiceLinkdetList.add(colctemp); |
| | | } |
| | | } |
| | | System.debug('invoiceLinkdetList = ' + invoiceLinkdetList); |
| | | delete invoiceLinkdetList; |
| | | } |
| | | //新建发票明细1 |
| | | System.debug('===>' + chukudanID); |
| | | System.debug('===>' + chukudanID.size()); |
| | | if (chukudanID.size() > 0) { |
| | | newinvoicedetails1(chukudanID); |
| | | } |
| | | } else { |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-09-04 end |
| | | //编辑后保存 |
| | | List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); |
| | | cocinfo = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | | Dealer_Info__c, |
| | | Order_ForDealer__c, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__c, |
| | | Order_date__c, |
| | | Billed_Status__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | | Order_ForCustomerText__c, |
| | | Invoice_Note__c, |
| | | Invoice_attachment__c, |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :invoiceId |
| | | ]; |
| | | if (cocinfo.size() > 0) { |
| | | invoiceHead = cocinfo[0]; |
| | | } |
| | | if (String.isNotBlank(deliveryId)) { |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoedschange) { |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } |
| | | |
| | | //换货单产品数量 |
| | | Map<String, Decimal> needchangeOrderProcountMap = new Map<String, Decimal>(); |
| | | Map<String, Decimal> returnProcountMap = new Map<String, Decimal>(); |
| | | Map<String, Decimal> changeOrderProcountMap = new Map<String, Decimal>(); |
| | | List<Consumable_Orderdetails__c> detaliFromList = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Unit__c, |
| | | Box_Piece__c, |
| | | Invoice_Cost_RMB__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :deliveryId |
| | | ]; |
| | | for (Consumable_Orderdetails__c changeOD : detaliFromList) { |
| | | needchangeOrderProcountMap.put(changeOD.Asset_Model_No__c, changeOD.Shipment_Count__c); |
| | | } |
| | | //发票返品信息 |
| | | List<Consumable_Orderdetails__c> returnCountList = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_Unit__c, |
| | | Box_Piece__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | ]; |
| | | |
| | | for (Consumable_Orderdetails__c changeOD : returnCountList) { |
| | | if (changeOD.RrturnPro_count__c > 0) { |
| | | if (returnProcountMap.containsKey(changeOD.Asset_Model_No__c)) { |
| | | returnProcountMap.put( |
| | | changeOD.Asset_Model_No__c, |
| | | returnProcountMap.get(changeOD.Asset_Model_No__c) + changeOD.RrturnPro_count__c |
| | | ); |
| | | } else { |
| | | returnProcountMap.put(changeOD.Asset_Model_No__c, changeOD.RrturnPro_count__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //已换货单出库数量信息 |
| | | List<Consumable_Orderdetails__c> returnCount1List = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_Unit__c, |
| | | Box_Piece__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE |
| | | Consumable_order__c IN ( |
| | | SELECT Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Invoice_Code_link__c = :invoiceId |
| | | ) |
| | | AND Consumable_order__r.Onchange_order__c = TRUE |
| | | AND Consumable_order__c != :deliveryId |
| | | ]; |
| | | for (Consumable_Orderdetails__c changeOD : returnCount1List) { |
| | | changeOrderProcountMap.put(changeOD.Asset_Model_No__c, changeOD.Shipment_Count__c); |
| | | } |
| | | outOrderchange(insertDetMap); |
| | | } else { |
| | | invoiceHead.Name = coc.Name; |
| | | invoiceHead.Invoice_status__c = coc.Invoice_status__c; |
| | | invoiceHead.Invoice_Date__c = coc.Invoice_Date__c; |
| | | invoiceHead.Dealer_Info__c = accountid; |
| | | invoiceHead.Invoice_Note__c = coc.Invoice_Note__c; |
| | | invoiceHead.Invoice_status__c = '草案中'; |
| | | invoiceHead.Order_ProType__c = agencyProType; |
| | | invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c; |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'HospitalName +++++' + HospitalName)); |
| | | //return null; |
| | | if (HospitalName != null && HospitalName != '') { |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | invoiceHead.Order_ForHospital__c = HospitalInfo; |
| | | } |
| | | } else { |
| | | invoiceHead.Order_ForHospital__c = null; |
| | | } |
| | | invoiceHead.Order_ForDealer__c = SecondDealer == '' ? null : SecondDealer; |
| | | invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c; |
| | | update invoiceHead; |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (ass.check == true) { |
| | | insertDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } else { |
| | | outOrderIdList.add(ass.esd.Id); |
| | | deleteDetMap.put(ass.esd.Id, invoiceHead.Id); |
| | | } |
| | | } |
| | | if (outOrderIdList.size() > 0) { |
| | | getdefaultMapinfo(outOrderIdList); |
| | | } |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-09-08 start |
| | | //被选中的出库单集合 |
| | | if (insertDetMap.size() > 0) { |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id, Invoice_Code_link__c, Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Outboundorder_Code_link__c IN :insertDetMap.keySet() AND Invoice_Code_link__c = :invoiceHead.Id |
| | | ]; |
| | | //存在没有与发票建立关联关系的出库单 |
| | | List<String> templist2 = new List<String>(); |
| | | for (Consumable_order_LinkTable__c colc : existLinkinfo) { |
| | | templist2.add(colc.Outboundorder_Code_link__c); |
| | | } |
| | | //获取该出库单 |
| | | for (String field : insertDetMap.keySet()) { |
| | | if (!templist2.contains(field)) { |
| | | //该出库单不存在与链接表中,新建链接 |
| | | chukudanID.add(field); |
| | | Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c(); |
| | | invoiceLink.Name = field + insertDetMap.get(field); |
| | | invoiceLink.Outboundorder_Code_link__c = field; |
| | | invoiceLink.Invoice_Code_link__c = insertDetMap.get(field); |
| | | invoiceLinkList.add(invoiceLink); |
| | | } |
| | | } |
| | | upsert invoiceLinkList; |
| | | } |
| | | if (deleteDetMap.size() > 0) { |
| | | List<Consumable_order_LinkTable__c> invoiceLinkdetList = new List<Consumable_order_LinkTable__c>(); |
| | | deleteOutboundorder(deleteDetMap, invoiceHead.Id); |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id, Outboundorder_Code_link__c, Invoice_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Outboundorder_Code_link__c IN :deleteDetMap.keySet() AND Invoice_Code_link__c = :invoiceHead.Id |
| | | ]; |
| | | for (Consumable_order_LinkTable__c colctemp : existLinkinfo) { |
| | | if (deleteDetMap.get(colctemp.Outboundorder_Code_link__c) == colctemp.Invoice_Code_link__c) { |
| | | //存在与该发票关联的出库单 |
| | | invoiceLinkdetList.add(colctemp); |
| | | } |
| | | } |
| | | delete invoiceLinkdetList; |
| | | } |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-09-08 end |
| | | //新建发票明细1 |
| | | if (chukudanID.size() > 0) { |
| | | newinvoicedetails1(chukudanID); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | // ApexPages.addMessages(ex); |
| | | // return null; |
| | | System.debug('Exception ex = ' + ex.getMessage() + ex.getLineNumber()); |
| | | errorMsg += ex.getMessage() + ex.getLineNumber(); |
| | | } |
| | | data.put('invoiceId', invoiceId); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | res.msg = errorMsg; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | public static void newinvoicedetails1(List<String> chukudanID) { |
| | | //新规发票明细1 |
| | | List<Consumable_Orderdetails__c> invoiceorderList1 = new List<Consumable_Orderdetails__c>(); |
| | | //出库单明细更新 |
| | | List<Consumable_Orderdetails__c> outOrderList1 = new List<Consumable_Orderdetails__c>(); |
| | | List<Consumable_Orderdetails__c> detaliFromList = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__r.Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_No__c, |
| | | Consumable_Product__c, |
| | | Intra_Trade_List_RMB__c, |
| | | Dealer_Custom_Price__c, |
| | | Sum_of_money__c, |
| | | Box_Piece__c, |
| | | Used_date__c, |
| | | Send_date__c, |
| | | Invoice_Unit__c, |
| | | ProductPacking_list_manual__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :chukudanID AND InvoiceProNot_count__c > 0 |
| | | ]; |
| | | |
| | | for (Integer i = 0; i < detaliFromList.size(); i++) { |
| | | Consumable_Orderdetails__c invoiceInsert1 = new Consumable_Orderdetails__c(); |
| | | invoiceInsert1.Used_date__c = detaliFromList[i].Used_date__c; |
| | | invoiceInsert1.Send_date__c = detaliFromList[i].Send_date__c; |
| | | String str = string.valueOf(i + 1); |
| | | if (str.length() == 1) { |
| | | str = '0' + str; |
| | | } |
| | | invoiceInsert1.Name = |
| | | coc.Name + |
| | | '-' + |
| | | detaliFromList[i].Name.substring(detaliFromList[i].Name.length() - 7, detaliFromList[i].Name.length()); |
| | | invoiceInsert1.Shipment_Count__c = detaliFromList[i].InvoiceProNot_count__c; |
| | | invoiceInsert1.Consumable_Product__c = detaliFromList[i].Consumable_Product__c; |
| | | invoiceInsert1.Intra_Trade_List_RMB__c = detaliFromList[i].Intra_Trade_List_RMB__c; |
| | | invoiceInsert1.Delivery_List_RMB__c = detaliFromList[i].Delivery_List_RMB__c; |
| | | invoiceInsert1.Dealer_Custom_Price__c = detaliFromList[i].Dealer_Custom_Price__c; |
| | | invoiceInsert1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice; |
| | | |
| | | if (detaliFromList[i].Box_Piece__c == '盒' && detaliFromList[i].Invoice_Unit__c == '个') { |
| | | invoiceInsert1.Invoice_Unitprice__c = |
| | | detaliFromList[i].Delivery_List_RMB__c / detaliFromList[i].ProductPacking_list_manual__c; |
| | | } else { |
| | | invoiceInsert1.Invoice_Unitprice__c = detaliFromList[i].Delivery_List_RMB__c; |
| | | } |
| | | invoiceInsert1.Box_Piece__c = detaliFromList[i].Box_Piece__c; |
| | | invoiceInsert1.Invoice_Unit__c = detaliFromList[i].Box_Piece__c; |
| | | if (detaliFromList[i].Invoiced_Procount__c == null) |
| | | detaliFromList[i].Invoiced_Procount__c = 0; |
| | | if (detaliFromList[i].RrturnPro_count__c == null) |
| | | detaliFromList[i].RrturnPro_count__c = 0; |
| | | invoiceInsert1.Invoiced_Count__c = detaliFromList[i].InvoiceProNot_count__c; |
| | | if (detaliFromList[i].InvoicedProCost_RMB__c == null) |
| | | detaliFromList[i].InvoicedProCost_RMB__c = 0; |
| | | invoiceInsert1.InvoicedProCost_RMB__c = invoiceInsert1.Invoiced_Count__c * invoiceInsert1.Delivery_List_RMB__c; |
| | | invoiceInsert1.Consumable_order__c = invoiceId; |
| | | invoiceInsert1.Invoicedet1_OD_link__c = detaliFromList[i].Consumable_order__c; |
| | | invoiceorderList1.add(invoiceInsert1); |
| | | } |
| | | System.debug('invoiceorderList1 +++++' + invoiceorderList1.size()); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | System.debug('invoiceorderList1 = ' + invoiceorderList1); |
| | | if (invoiceorderList1.size() > 0) { |
| | | try { |
| | | System.debug('invoiceorderList1 = ' + invoiceorderList1); |
| | | insert invoiceorderList1; |
| | | } catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | //ApexPages.addMessages(ex); |
| | | errorMsg += ex.getMessage(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public static void getdefaultMapinfo(List<String> orderIdList) { |
| | | List<Consumable_Orderdetails__c> existLinkinfo = new List<Consumable_Orderdetails__c>(); |
| | | existLinkinfo = [ |
| | | SELECT Id, Consumable_order__c, Consumable_product__c, Asset_Model_No__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :orderIdList |
| | | ]; |
| | | // for (Integer i = 0; i < existLinkinfo.size(); i++) { |
| | | // ordermx1defaultMap.put(existLinkinfo[i].Consumable_order__c + existLinkinfo[i].Asset_Model_No__c, 0); |
| | | // } |
| | | } |
| | | |
| | | public static void deleteOutboundorder(Map<String, String> deleteMap, String value) { |
| | | //删除发票明细1 |
| | | List<Consumable_Orderdetails__c> detInvoicedet1List = [ |
| | | SELECT Id, Consumable_Shipment_order__c, Consumable_Sale_order__c, Consumable_product__c, Asset_Model_No__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :value AND Invoicedet1_OD_link__c = :deleteMap.keySet() |
| | | ]; |
| | | System.debug('detInvoicedet1List = ' + detInvoicedet1List); |
| | | delete detInvoicedet1List; |
| | | } |
| | | |
| | | //换货单链接表 发票明细2做成 |
| | | public static void outOrderchange(Map<String, String> insertDetMap) { |
| | | List<string> chukudanID = new List<string>(); |
| | | List<Consumable_order_LinkTable__c> invoiceLinkList = new List<Consumable_order_LinkTable__c>(); |
| | | Consumable_order__c p = new Consumable_order__c(); |
| | | if (insertDetMap.size() > 0) { |
| | | for (String field : insertDetMap.keySet()) { |
| | | if (!templist2.contains(field)) { |
| | | //该出库单不存在与链接表中,新建链接 |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Outboundorder_Code_link__c = :field |
| | | ]; |
| | | if (existLinkinfo.size() > 0) { |
| | | delete existLinkinfo; |
| | | } |
| | | chukudanID.add(field); |
| | | Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c(); |
| | | invoiceLink.Name = field + insertDetMap.get(field); |
| | | invoiceLink.Outboundorder_Code_link__c = field; |
| | | invoiceLink.Invoice_Code_link__c = insertDetMap.get(field); |
| | | invoiceLinkList.add(invoiceLink); |
| | | } |
| | | p.Id = field; |
| | | p.ConInvoice_Code__c = insertDetMap.get(field); |
| | | p.Onchange_order__c = true; |
| | | update p; |
| | | } |
| | | upsert invoiceLinkList; |
| | | } |
| | | if (deleteDetMap.size() > 0) { |
| | | List<Consumable_order_LinkTable__c> invoiceLinkdetList = new List<Consumable_order_LinkTable__c>(); |
| | | deleteOutboundorder(deleteDetMap, invoiceHead.Id); |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id, Outboundorder_Code_link__c, Invoice_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE |
| | | Outboundorder_Code_link__c IN :deleteDetMap.keySet() |
| | | AND Invoice_Code_link__c = :invoiceHead.Id |
| | | ]; |
| | | for (Consumable_order_LinkTable__c colctemp : existLinkinfo) { |
| | | if ( |
| | | deleteDetMap.get(colctemp.Outboundorder_Code_link__c) == |
| | | colctemp.Invoice_Code_link__c |
| | | ) { |
| | | //存在与该发票关联的出库单 |
| | | invoiceLinkdetList.add(colctemp); |
| | | } |
| | | } |
| | | delete invoiceLinkdetList; |
| | | } |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-09-08 end |
| | | //新建发票明细1 |
| | | if (chukudanID.size() > 0) { |
| | | newinvoicedetails1(chukudanID); |
| | | } |
| | | insert invoiceLinkList; |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | // ApexPages.addMessages(ex); |
| | | // return null; |
| | | System.debug('Exception ex = ' + ex.getMessage() + ex.getLineNumber()); |
| | | errorMsg += ex.getMessage() + ex.getLineNumber(); |
| | | } |
| | | data.put('invoiceId', invoiceId); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | res.msg = errorMsg; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | public static void newinvoicedetails1(List<String> chukudanID) { |
| | | //新规发票明细1 |
| | | List<Consumable_Orderdetails__c> invoiceorderList1 = new List<Consumable_Orderdetails__c>(); |
| | | //出库单明细更新 |
| | | List<Consumable_Orderdetails__c> outOrderList1 = new List<Consumable_Orderdetails__c>(); |
| | | List<Consumable_Orderdetails__c> detaliFromList = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__r.Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_No__c, |
| | | Consumable_Product__c, |
| | | Intra_Trade_List_RMB__c, |
| | | Dealer_Custom_Price__c, |
| | | Sum_of_money__c, |
| | | Box_Piece__c, |
| | | Used_date__c, |
| | | Send_date__c, |
| | | Invoice_Unit__c, |
| | | ProductPacking_list_manual__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :chukudanID AND InvoiceProNot_count__c > 0 |
| | | ]; |
| | | |
| | | for (Integer i = 0; i < detaliFromList.size(); i++) { |
| | | Consumable_Orderdetails__c invoiceInsert1 = new Consumable_Orderdetails__c(); |
| | | invoiceInsert1.Used_date__c = detaliFromList[i].Used_date__c; |
| | | invoiceInsert1.Send_date__c = detaliFromList[i].Send_date__c; |
| | | String str = string.valueOf(i + 1); |
| | | if (str.length() == 1) { |
| | | str = '0' + str; |
| | | } |
| | | invoiceInsert1.Name = |
| | | coc.Name + |
| | | '-' + |
| | | detaliFromList[i] |
| | | .Name.substring( |
| | | detaliFromList[i].Name.length() - 7, |
| | | detaliFromList[i].Name.length() |
| | | ); |
| | | invoiceInsert1.Shipment_Count__c = detaliFromList[i] |
| | | .InvoiceProNot_count__c; |
| | | invoiceInsert1.Consumable_Product__c = detaliFromList[i] |
| | | .Consumable_Product__c; |
| | | invoiceInsert1.Intra_Trade_List_RMB__c = detaliFromList[i] |
| | | .Intra_Trade_List_RMB__c; |
| | | invoiceInsert1.Delivery_List_RMB__c = detaliFromList[i] |
| | | .Delivery_List_RMB__c; |
| | | invoiceInsert1.Dealer_Custom_Price__c = detaliFromList[i] |
| | | .Dealer_Custom_Price__c; |
| | | invoiceInsert1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice; |
| | | |
| | | if ( |
| | | detaliFromList[i].Box_Piece__c == '盒' && |
| | | detaliFromList[i].Invoice_Unit__c == '个' |
| | | ) { |
| | | invoiceInsert1.Invoice_Unitprice__c = |
| | | detaliFromList[i].Delivery_List_RMB__c / |
| | | detaliFromList[i].ProductPacking_list_manual__c; |
| | | } else { |
| | | invoiceInsert1.Invoice_Unitprice__c = detaliFromList[i] |
| | | .Delivery_List_RMB__c; |
| | | } |
| | | invoiceInsert1.Box_Piece__c = detaliFromList[i].Box_Piece__c; |
| | | invoiceInsert1.Invoice_Unit__c = detaliFromList[i].Box_Piece__c; |
| | | if (detaliFromList[i].Invoiced_Procount__c == null) |
| | | detaliFromList[i].Invoiced_Procount__c = 0; |
| | | if (detaliFromList[i].RrturnPro_count__c == null) |
| | | detaliFromList[i].RrturnPro_count__c = 0; |
| | | invoiceInsert1.Invoiced_Count__c = detaliFromList[i] |
| | | .InvoiceProNot_count__c; |
| | | if (detaliFromList[i].InvoicedProCost_RMB__c == null) |
| | | detaliFromList[i].InvoicedProCost_RMB__c = 0; |
| | | invoiceInsert1.InvoicedProCost_RMB__c = |
| | | invoiceInsert1.Invoiced_Count__c * invoiceInsert1.Delivery_List_RMB__c; |
| | | invoiceInsert1.Consumable_order__c = invoiceId; |
| | | invoiceInsert1.Invoicedet1_OD_link__c = detaliFromList[i] |
| | | .Consumable_order__c; |
| | | invoiceorderList1.add(invoiceInsert1); |
| | | } |
| | | System.debug('invoiceorderList1 +++++' + invoiceorderList1.size()); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | System.debug('invoiceorderList1 = ' + invoiceorderList1); |
| | | if (invoiceorderList1.size() > 0) { |
| | | try { |
| | | System.debug('invoiceorderList1 = ' + invoiceorderList1); |
| | | insert invoiceorderList1; |
| | | } catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | //ApexPages.addMessages(ex); |
| | | errorMsg += ex.getMessage(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public static void getdefaultMapinfo(List<String> orderIdList) { |
| | | List<Consumable_Orderdetails__c> existLinkinfo = new List<Consumable_Orderdetails__c>(); |
| | | existLinkinfo = [ |
| | | SELECT Id, Consumable_order__c, Consumable_product__c, Asset_Model_No__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :orderIdList |
| | | ]; |
| | | // for (Integer i = 0; i < existLinkinfo.size(); i++) { |
| | | // ordermx1defaultMap.put(existLinkinfo[i].Consumable_order__c + existLinkinfo[i].Asset_Model_No__c, 0); |
| | | // } |
| | | } |
| | | |
| | | public static void deleteOutboundorder( |
| | | Map<String, String> deleteMap, |
| | | String value |
| | | ) { |
| | | //删除发票明细1 |
| | | List<Consumable_Orderdetails__c> detInvoicedet1List = [ |
| | | SELECT |
| | | Id, |
| | | Consumable_Shipment_order__c, |
| | | Consumable_Sale_order__c, |
| | | Consumable_product__c, |
| | | Asset_Model_No__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE |
| | | Consumable_order__c = :value |
| | | AND Invoicedet1_OD_link__c = :deleteMap.keySet() |
| | | ]; |
| | | System.debug('detInvoicedet1List = ' + detInvoicedet1List); |
| | | delete detInvoicedet1List; |
| | | } |
| | | |
| | | //换货单链接表 发票明细2做成 |
| | | public static void outOrderchange(Map<String, String> insertDetMap) { |
| | | List<string> chukudanID = new List<string>(); |
| | | List<Consumable_order_LinkTable__c> invoiceLinkList = new List<Consumable_order_LinkTable__c>(); |
| | | Consumable_order__c p = new Consumable_order__c(); |
| | | if (insertDetMap.size() > 0) { |
| | | for (String field : insertDetMap.keySet()) { |
| | | List<Consumable_order_LinkTable__c> existLinkinfo = [ |
| | | SELECT Id |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Outboundorder_Code_link__c = :field |
| | | //换货出库单明细1更新 |
| | | List<Consumable_Orderdetails__c> detaliFrom1List = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__r.Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_No__c, |
| | | Invoice_Unit__c, |
| | | Box_Piece__c, |
| | | Consumable_Sale_order__r.Name, |
| | | Consumable_Shipment_order__r.Name |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :chukudanID |
| | | ]; |
| | | if (existLinkinfo.size() > 0) { |
| | | delete existLinkinfo; |
| | | for (Consumable_Orderdetails__c changeOD : detaliFrom1List) { |
| | | changeOD.Invoiced_Procount__c = changeOD.Shipment_Count__c; |
| | | } |
| | | chukudanID.add(field); |
| | | Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c(); |
| | | invoiceLink.Name = field + insertDetMap.get(field); |
| | | invoiceLink.Outboundorder_Code_link__c = field; |
| | | invoiceLink.Invoice_Code_link__c = insertDetMap.get(field); |
| | | invoiceLinkList.add(invoiceLink); |
| | | p.Id = field; |
| | | p.ConInvoice_Code__c = insertDetMap.get(field); |
| | | p.Onchange_order__c = true; |
| | | update p; |
| | | } |
| | | insert invoiceLinkList; |
| | | update detaliFrom1List; |
| | | } |
| | | //换货出库单明细1更新 |
| | | List<Consumable_Orderdetails__c> detaliFrom1List = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__r.Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_No__c, |
| | | Invoice_Unit__c, |
| | | Box_Piece__c, |
| | | Consumable_Sale_order__r.Name, |
| | | Consumable_Shipment_order__r.Name |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :chukudanID |
| | | ]; |
| | | for (Consumable_Orderdetails__c changeOD : detaliFrom1List) { |
| | | changeOD.Invoiced_Procount__c = changeOD.Shipment_Count__c; |
| | | |
| | | //上传ContentVersion附件 |
| | | @AuraEnabled |
| | | public static String saveFile(Id recordId, String fileName, String base64Data) { |
| | | base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8'); |
| | | ContentVersion cv = new ContentVersion(); |
| | | cv.Title = fileName; |
| | | cv.PathOnClient = '/' + fileName; |
| | | cv.FirstPublishLocationId = recordId; |
| | | cv.VersionData = EncodingUtil.base64Decode(base64Data); |
| | | cv.IsMajorVersion = true; |
| | | insert cv; |
| | | System.debug('cv.Id = ' + cv.Id); |
| | | return cv.Id; |
| | | } |
| | | update detaliFrom1List; |
| | | } |
| | | |
| | | //上传ContentVersion附件 |
| | | @AuraEnabled |
| | | public static String saveFile( |
| | | Id recordId, |
| | | String fileName, |
| | | String base64Data |
| | | ) { |
| | | base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8'); |
| | | ContentVersion cv = new ContentVersion(); |
| | | cv.Title = fileName; |
| | | cv.PathOnClient = '/' + fileName; |
| | | cv.FirstPublishLocationId = recordId; |
| | | cv.VersionData = EncodingUtil.base64Decode(base64Data); |
| | | cv.IsMajorVersion = true; |
| | | insert cv; |
| | | System.debug('cv.Id = ' + cv.Id); |
| | | return cv.Id; |
| | | } |
| | | |
| | | // 保存附件 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC saveAttachment( |
| | | String attachmentRecoedsLwc, |
| | | String invoiceId |
| | | ) { |
| | | System.debug('进入 saveAttachment'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | invoiceId = invoiceId; |
| | | attachmentRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize( |
| | | attachmentRecoedsLwc, |
| | | List<InvoiceOrderInfo>.class |
| | | ); |
| | | System.debug('attachmentRecoeds = ' + attachmentRecoeds); |
| | | try { |
| | | Consumable_accessories_invoice__c attachmentdetails = new Consumable_accessories_invoice__c(); |
| | | for (InvoiceOrderInfo ass : attachmentRecoeds) { |
| | | if (!String.isBlank(ass.mailSelectOptsin)) { |
| | | attachmentdetails.Id = ass.invoiceOrderId; |
| | | attachmentdetails.Attachment_ID__c = ass.cvInfo.ContentDocumentId; |
| | | attachmentdetails.Accessories_type__c = ass.mailSelectOptsin; |
| | | if (String.isBlank(ass.invoiceOrderId)) { |
| | | attachmentdetails.Invoice_code__c = invoiceId; |
| | | } |
| | | upsert attachmentdetails; |
| | | // 保存附件 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC saveAttachment(String attachmentRecoedsLwc, String invoiceId) { |
| | | System.debug('进入 saveAttachment'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | invoiceId = invoiceId; |
| | | attachmentRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(attachmentRecoedsLwc, List<InvoiceOrderInfo>.class); |
| | | System.debug('attachmentRecoeds = ' + attachmentRecoeds); |
| | | try { |
| | | Consumable_accessories_invoice__c attachmentdetails = new Consumable_accessories_invoice__c(); |
| | | for (InvoiceOrderInfo ass : attachmentRecoeds) { |
| | | if (!String.isBlank(ass.mailSelectOptsin)) { |
| | | attachmentdetails.Id = ass.invoiceOrderId; |
| | | attachmentdetails.Attachment_ID__c = ass.cvInfo.ContentDocumentId; |
| | | attachmentdetails.Accessories_type__c = ass.mailSelectOptsin; |
| | | if (String.isBlank(ass.invoiceOrderId)) { |
| | | attachmentdetails.Invoice_code__c = invoiceId; |
| | | } |
| | | upsert attachmentdetails; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), ''); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | e.getMessage() + e.getLineNumber(), |
| | | '' |
| | | ); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | // 检索(未开发票出库单) |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC InvoiceorderSearch( |
| | | Consumable_order__c cocLwc, |
| | | String invoiceIdLwc, |
| | | String accountidLwc, |
| | | String userWorkLocationLwc, |
| | | String agencyProTypeLwc, |
| | | String HospitalInfoLwc, |
| | | String SecondDealerLwc, |
| | | String invoiceOrderRecoedsLwc |
| | | ) { |
| | | System.debug('进入 InvoiceorderSearch'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | // 检索(未开发票出库单) |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC InvoiceorderSearch( |
| | | Consumable_order__c cocLwc, |
| | | String invoiceIdLwc, |
| | | String accountidLwc, |
| | | String userWorkLocationLwc, |
| | | String agencyProTypeLwc, |
| | | String HospitalInfoLwc, |
| | | String SecondDealerLwc, |
| | | String invoiceOrderRecoedsLwc |
| | | ) { |
| | | System.debug('进入 InvoiceorderSearch'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | coc = cocLwc; |
| | | HospitalInfo = HospitalInfoLwc; |
| | | SecondDealer = SecondDealerLwc; |
| | | errorMsg = ''; |
| | | invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize( |
| | | invoiceOrderRecoedsLwc, |
| | | List<InvoiceOrderInfo>.class |
| | | ); |
| | | invoiceId = invoiceIdLwc; |
| | | accountid = accountidLwc; |
| | | agencyProType = agencyProTypeLwc; |
| | | userWorkLocation = userWorkLocationLwc; |
| | | coc = cocLwc; |
| | | HospitalInfo = HospitalInfoLwc; |
| | | SecondDealer = SecondDealerLwc; |
| | | errorMsg = ''; |
| | | invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class); |
| | | invoiceId = invoiceIdLwc; |
| | | accountid = accountidLwc; |
| | | agencyProType = agencyProTypeLwc; |
| | | userWorkLocation = userWorkLocationLwc; |
| | | |
| | | Map<String, String> invoiceOrderMap = new Map<String, String>(); |
| | | String msoql = ''; |
| | | List<InvoiceOrderInfo> invoiceOrderdetailMid = new List<InvoiceOrderInfo>(); |
| | | if (String.isBlank(invoiceId)) { |
| | | msoql = makeSoql(); |
| | | } else { |
| | | msoql = makeSoqlInit(); |
| | | } |
| | | invoiceOrderList = new List<Consumable_order__c>(); |
| | | invoiceOrderList = Database.query(msoql); |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (ass.check == true) { |
| | | invoiceOrderdetailMid.add(ass); |
| | | invoiceOrderMap.put(ass.esd.Name, ass.esd.Name); |
| | | } |
| | | } |
| | | invoiceOrderRecoeds = new List<InvoiceOrderInfo>(); |
| | | invoiceOrderRecoeds.addAll(invoiceOrderdetailMid); |
| | | for (Integer i = 0; i < invoiceOrderList.size(); i++) { |
| | | if (invoiceOrderMap.containsKey(invoiceOrderList[i].Name)) { |
| | | } else { |
| | | invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderList[i])); |
| | | invoiceOrderMap.put(invoiceOrderList[i].Name, invoiceOrderList[i].Name); |
| | | } |
| | | } |
| | | data.put('invoiceOrderRecoeds', invoiceOrderRecoeds); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | private static String makeSoql() { |
| | | String soql = 'SELECT Id, Order_ForDealer__r.Name,Order_ForHospital__r.Name,Order_ForDealerText__c, Name,Outbound_Date__c,ShipmentAccount__c,Shipment_total_amount__c,RrturnPro_total_amount__c,Total_Invoiced_Procount__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c,Invoice_total_amount__c,Billed_Status__c FROM Consumable_order__c '; |
| | | soql += ' WHERE Dealer_Info__c = \'' + accountid + '\''; |
| | | soql += ' AND (recordtypeid = \'' + System.Label.RT_ConOrder_Sale + '\''; |
| | | soql += ' OR recordtypeid = \'' + System.Label.RT_ConOrder_Shipment + '\''; |
| | | soql += ' ) '; |
| | | soql += ' AND Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' '; |
| | | soql += ' AND Order_ProType__c =\'' + agencyProType + '\''; |
| | | soql += ' AND Billed_Status__c != \'全部开票\''; |
| | | soql += ' AND SummonsForDirction__c != \'互相调货\''; |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | soql += ' AND Order_ForHospital__c = \'' + HospitalInfo + '\''; |
| | | } |
| | | if (String.isNotEmpty(SecondDealer)) { |
| | | soql += ' AND Order_ForDealer__c = \'' + SecondDealer + '\''; |
| | | } |
| | | if (coc.Order_ForDealerText__c != null) { |
| | | soql += |
| | | ' AND ShipmentAccount__c = \'' + |
| | | coc.Order_ForDealerText__c + |
| | | '\''; |
| | | } |
| | | soql += ' AND InvoiceNotPro_total_amount__c > 0'; |
| | | soql += ' AND Onchange_order__c = false limit 1000'; |
| | | return soql; |
| | | } |
| | | |
| | | private static String makeSoqlInit() { |
| | | String soql = 'SELECT Id, Order_ForDealer__r.Name,Order_ForHospital__r.Name,Order_ForDealerText__c, Name,Outbound_Date__c,ShipmentAccount__c,Shipment_total_amount__c,RrturnPro_total_amount__c,Total_Invoiced_Procount__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c,Invoice_total_amount__c,Billed_Status__c FROM Consumable_order__c '; |
| | | soql += ' WHERE Dealer_Info__c = \'' + accountid + '\''; |
| | | soql += ' AND (recordtypeid = \'' + System.Label.RT_ConOrder_Sale + '\''; |
| | | soql += ' OR recordtypeid = \'' + System.Label.RT_ConOrder_Shipment + '\''; |
| | | soql += ' ) '; |
| | | soql += ' AND Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' '; |
| | | soql += ' AND Order_ProType__c =\'' + agencyProType + '\''; |
| | | soql += ' AND SummonsForDirction__c != \'互相调货\' '; |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | soql += ' AND Order_ForHospital__c = \'' + HospitalInfo + '\''; |
| | | } |
| | | if (SecondDealer != null) { |
| | | soql += ' AND Order_ForDealer__c = \'' + SecondDealer + '\''; |
| | | } |
| | | if (coc.Order_ForDealerText__c != null) { |
| | | soql += |
| | | ' AND ShipmentAccount__c = \'' + |
| | | coc.Order_ForDealerText__c + |
| | | '\''; |
| | | } |
| | | soql += ' AND InvoiceNotPro_total_amount__c > 0'; |
| | | soql += ' AND Onchange_order__c = false limit 1000'; |
| | | return soql; |
| | | } |
| | | |
| | | // 删除按钮 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC deleteButton( |
| | | String invoiceIdLwc, |
| | | Consumable_order__c cocLwc |
| | | ) { |
| | | System.debug('进入 deleteButton'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | coc = cocLwc; |
| | | invoiceId = invoiceIdLwc; |
| | | system.debug('====invoiceId==========>' + invoiceId); |
| | | List<Consumable_Orderdetails__c> consList = [ |
| | | SELECT id, Consumable_order__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | ]; |
| | | try { |
| | | system.debug('====cons==========>' + consList); |
| | | delete consList; |
| | | if (coc.id == invoiceId && coc.Invoice_status__c == '草案中') { |
| | | delete coc; |
| | | } |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } catch (Exception e) { |
| | | // ApexPages.addMessages(e); |
| | | // return null; |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | e.getMessage() + ' ' + e.getLineNumber(), |
| | | '' |
| | | ); |
| | | } |
| | | } |
| | | |
| | | // 提交按钮 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC approval( |
| | | List<String> outOrderStringListLwc, |
| | | Map<String, Consumable_Orderdetails__c> outordercountMapLwc, |
| | | String invoiceIdLwc |
| | | ) { |
| | | System.debug('进入 approval'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | outOrderStringList = outOrderStringListLwc; |
| | | outordercountMap = outordercountMapLwc; |
| | | invoiceId = invoiceIdLwc; |
| | | //更新发票明细2链接 |
| | | Consumable_order__c P = new Consumable_order__c(); |
| | | List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); |
| | | List<Consumable_order_details2__c> invoiceorderList2 = new List<Consumable_order_details2__c>(); |
| | | //更新出库单明细1 |
| | | List<Consumable_Orderdetails__c> outOrderdetUp1List = new List<Consumable_Orderdetails__c>(); |
| | | //需要更新出库单明细1 |
| | | List<Consumable_Orderdetails__c> outOrderdet1List = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Consumable_order__r.Name, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__r.Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_No__c, |
| | | Box_Piece__c, |
| | | Invoice_Unit__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :outOrderStringList |
| | | ]; |
| | | for (Integer i = 0; i < outOrderdet1List.size(); i++) { |
| | | if ( |
| | | outordercountMap.containsKey( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | ) { |
| | | Consumable_Orderdetails__c invoiceUpdte1 = new Consumable_Orderdetails__c(); |
| | | invoiceUpdte1.Id = outOrderdet1List[i].Id; |
| | | invoiceUpdte1.Invoice_Unit__c = outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoice_Unit__c; |
| | | if ( |
| | | outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Box_Piece__c == '盒' && |
| | | outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoice_Unit__c == '个' |
| | | ) { |
| | | Decimal OldinvoicedProcount = 0; |
| | | OldinvoicedProcount = (outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoiced_Count__c / |
| | | outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .ProductPacking_list_manual__c) |
| | | .setScale(2); |
| | | invoiceUpdte1.Invoiced_Procount__c = |
| | | outOrderdet1List[i].Invoiced_Procount__c + OldinvoicedProcount; |
| | | Map<String, String> invoiceOrderMap = new Map<String, String>(); |
| | | String msoql = ''; |
| | | List<InvoiceOrderInfo> invoiceOrderdetailMid = new List<InvoiceOrderInfo>(); |
| | | if (String.isBlank(invoiceId)) { |
| | | msoql = makeSoql(); |
| | | } else { |
| | | invoiceUpdte1.Invoiced_Procount__c = |
| | | outOrderdet1List[i].Invoiced_Procount__c + |
| | | outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoiced_Count__c; |
| | | msoql = makeSoqlInit(); |
| | | } |
| | | invoiceUpdte1.Invoice_Unitprice__c = outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoice_Unitprice__c; |
| | | System.debug('====>procount' + invoiceUpdte1.Invoiced_Procount__c); |
| | | System.debug('===>RMB' + outOrderdet1List[i].Delivery_List_RMB__c); |
| | | invoiceUpdte1.InvoicedProCost_RMB__c = |
| | | invoiceUpdte1.Invoiced_Procount__c * |
| | | outOrderdet1List[i].Delivery_List_RMB__c; |
| | | |
| | | Decimal invoicedProcount = 0; |
| | | if ( |
| | | outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Box_Piece__c == '盒' && |
| | | outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoice_Unit__c == '个' |
| | | ) { |
| | | invoicedProcount = (outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoiced_Count__c / |
| | | outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .ProductPacking_list_manual__c) |
| | | .setScale(2); |
| | | } else { |
| | | invoicedProcount = outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + |
| | | outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoiced_Count__c; |
| | | invoiceOrderList = new List<Consumable_order__c>(); |
| | | invoiceOrderList = Database.query(msoql); |
| | | for (InvoiceOrderInfo ass : invoiceOrderRecoeds) { |
| | | if (ass.check == true) { |
| | | invoiceOrderdetailMid.add(ass); |
| | | invoiceOrderMap.put(ass.esd.Name, ass.esd.Name); |
| | | } |
| | | } |
| | | System.debug( |
| | | '发票数量===>' + outOrderdet1List[i].InvoiceProNot_count__c |
| | | ); |
| | | System.debug('还没发票数量===>' + invoicedProcount); |
| | | |
| | | if (outOrderdet1List[i].InvoiceProNot_count__c < invoicedProcount) { |
| | | // ApexPages.addmessage( |
| | | // new ApexPages.message( |
| | | // ApexPages.severity.Error, |
| | | // '出库单' + |
| | | // outOrderdet1List[i].Consumable_order__r.Name + |
| | | // '中,' + |
| | | // outOrderdet1List[i].Asset_Model_No__c + |
| | | // '还没开票数量小于发票数量,请确认是否有返品' |
| | | // ) |
| | | // ); |
| | | // return null; |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | '出库单' + |
| | | outOrderdet1List[i].Consumable_order__r.Name + |
| | | '中,' + |
| | | outOrderdet1List[i].Asset_Model_No__c + |
| | | '还没开票数量小于发票数量,请确认是否有返品', |
| | | '' |
| | | ); |
| | | invoiceOrderRecoeds = new List<InvoiceOrderInfo>(); |
| | | invoiceOrderRecoeds.addAll(invoiceOrderdetailMid); |
| | | for (Integer i = 0; i < invoiceOrderList.size(); i++) { |
| | | if (invoiceOrderMap.containsKey(invoiceOrderList[i].Name)) { |
| | | } else { |
| | | invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderList[i])); |
| | | invoiceOrderMap.put(invoiceOrderList[i].Name, invoiceOrderList[i].Name); |
| | | } |
| | | } |
| | | data.put('invoiceOrderRecoeds', invoiceOrderRecoeds); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | outOrderdetUp1List.add(invoiceUpdte1); |
| | | } |
| | | private static String makeSoql() { |
| | | String soql = 'SELECT Id, Order_ForDealer__r.Name,Order_ForHospital__r.Name,Order_ForDealerText__c, Name,Outbound_Date__c,ShipmentAccount__c,Shipment_total_amount__c,RrturnPro_total_amount__c,Total_Invoiced_Procount__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c,Invoice_total_amount__c,Billed_Status__c FROM Consumable_order__c '; |
| | | soql += ' WHERE Dealer_Info__c = \'' + accountid + '\''; |
| | | soql += ' AND (recordtypeid = \'' + System.Label.RT_ConOrder_Sale + '\''; |
| | | soql += ' OR recordtypeid = \'' + System.Label.RT_ConOrder_Shipment + '\''; |
| | | soql += ' ) '; |
| | | soql += ' AND Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' '; |
| | | soql += ' AND Order_ProType__c =\'' + agencyProType + '\''; |
| | | soql += ' AND Billed_Status__c != \'全部开票\''; |
| | | soql += ' AND SummonsForDirction__c != \'互相调货\''; |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | soql += ' AND Order_ForHospital__c = \'' + HospitalInfo + '\''; |
| | | } |
| | | if (String.isNotEmpty(SecondDealer)) { |
| | | soql += ' AND Order_ForDealer__c = \'' + SecondDealer + '\''; |
| | | } |
| | | if (coc.Order_ForDealerText__c != null) { |
| | | soql += ' AND ShipmentAccount__c = \'' + coc.Order_ForDealerText__c + '\''; |
| | | } |
| | | soql += ' AND InvoiceNotPro_total_amount__c > 0'; |
| | | soql += ' AND Onchange_order__c = false limit 1000'; |
| | | return soql; |
| | | } |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | | //出库单明细1更新 |
| | | if (outOrderdetUp1List.size() > 0) { |
| | | ControllerUtil.updateOrderDetails1Satus(outOrderdetUp1List); |
| | | } |
| | | //发票状态更新 |
| | | cocinfo = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Dealer_Info__c, |
| | | Order_ForHospital__c, |
| | | SummonsForDirction__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :invoiceId |
| | | ]; |
| | | System.debug('cocinfo = ' + cocinfo); |
| | | if (cocinfo.size() > 0) { |
| | | p = cocinfo[0]; |
| | | } |
| | | System.debug('p = ' + p); |
| | | p.Invoice_status__c = '提交'; |
| | | update p; |
| | | } catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | // ApexPages.addMessages(ex); |
| | | // return null; |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | ex.getMessage() + ' ' + ex.getLineNumber(), |
| | | '' |
| | | ); |
| | | } |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | @TestVisible |
| | | class InvoiceOrderInfo implements Comparable { |
| | | @AuraEnabled |
| | | public Boolean check { get; set; } |
| | | @AuraEnabled |
| | | public Boolean oldCheck { get; set; } |
| | | @AuraEnabled |
| | | public Consumable_order__c esd { get; set; } |
| | | @AuraEnabled |
| | | public Consumable_Orderdetails__c esdet { get; set; } |
| | | @AuraEnabled |
| | | public Attachment attach { get; set; } |
| | | @AuraEnabled |
| | | public ContentVersion cvInfo { get; set; } |
| | | @AuraEnabled |
| | | public String mailSelectOptsin { get; set; } |
| | | public List<SelectOption> mailSelectOpts { get; set; } |
| | | @AuraEnabled |
| | | public Map<String, String> mailSelectOptsMap { get; set; } |
| | | @AuraEnabled |
| | | public String invoiceOrderId { get; set; } |
| | | @AuraEnabled |
| | | public Decimal needInvoiceCount { get; set; } |
| | | |
| | | // 出库订单 |
| | | public InvoiceOrderInfo(Consumable_order__c e) { |
| | | check = false; |
| | | oldCheck = false; |
| | | esd = e; |
| | | needInvoiceCount = 0; |
| | | private static String makeSoqlInit() { |
| | | String soql = 'SELECT Id, Order_ForDealer__r.Name,Order_ForHospital__r.Name,Order_ForDealerText__c, Name,Outbound_Date__c,ShipmentAccount__c,Shipment_total_amount__c,RrturnPro_total_amount__c,Total_Invoiced_Procount__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c,Invoice_total_amount__c,Billed_Status__c FROM Consumable_order__c '; |
| | | soql += ' WHERE Dealer_Info__c = \'' + accountid + '\''; |
| | | soql += ' AND (recordtypeid = \'' + System.Label.RT_ConOrder_Sale + '\''; |
| | | soql += ' OR recordtypeid = \'' + System.Label.RT_ConOrder_Shipment + '\''; |
| | | soql += ' ) '; |
| | | soql += ' AND Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' '; |
| | | soql += ' AND Order_ProType__c =\'' + agencyProType + '\''; |
| | | soql += ' AND SummonsForDirction__c != \'互相调货\' '; |
| | | if (HospitalInfo != null && HospitalInfo != '') { |
| | | soql += ' AND Order_ForHospital__c = \'' + HospitalInfo + '\''; |
| | | } |
| | | if (SecondDealer != null) { |
| | | soql += ' AND Order_ForDealer__c = \'' + SecondDealer + '\''; |
| | | } |
| | | if (coc.Order_ForDealerText__c != null) { |
| | | soql += ' AND ShipmentAccount__c = \'' + coc.Order_ForDealerText__c + '\''; |
| | | } |
| | | soql += ' AND InvoiceNotPro_total_amount__c > 0'; |
| | | soql += ' AND Onchange_order__c = false limit 1000'; |
| | | return soql; |
| | | } |
| | | // 出库订单明细1 |
| | | public InvoiceOrderInfo(Consumable_Orderdetails__c e) { |
| | | esdet = e; |
| | | |
| | | // 删除按钮 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC deleteButton(String invoiceIdLwc, Consumable_order__c cocLwc) { |
| | | System.debug('进入 deleteButton'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | coc = cocLwc; |
| | | invoiceId = invoiceIdLwc; |
| | | system.debug('====invoiceId==========>' + invoiceId); |
| | | List<Consumable_Orderdetails__c> consList = [ |
| | | SELECT id, Consumable_order__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | ]; |
| | | try { |
| | | system.debug('====cons==========>' + consList); |
| | | delete consList; |
| | | if (coc.id == invoiceId && coc.Invoice_status__c == '草案中') { |
| | | delete coc; |
| | | } |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } catch (Exception e) { |
| | | // ApexPages.addMessages(e); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, e.getMessage() + ' ' + e.getLineNumber(), ''); |
| | | } |
| | | } |
| | | //附件 |
| | | public InvoiceOrderInfo(Attachment e) { |
| | | attach = e; |
| | | mailSelectOpts = new List<SelectOption>(); |
| | | mailSelectOpts.add(new SelectOption('发票和明细', '发票和明细')); |
| | | mailSelectOpts.add(new SelectOption('发票', '发票')); |
| | | mailSelectOpts.add(new SelectOption('明细', '明细')); |
| | | |
| | | // 提交按钮 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC approval( |
| | | List<String> outOrderStringListLwc, |
| | | Map<String, Consumable_Orderdetails__c> outordercountMapLwc, |
| | | String invoiceIdLwc |
| | | ) { |
| | | System.debug('进入 approval'); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | outOrderStringList = outOrderStringListLwc; |
| | | outordercountMap = outordercountMapLwc; |
| | | invoiceId = invoiceIdLwc; |
| | | //更新发票明细2链接 |
| | | Consumable_order__c P = new Consumable_order__c(); |
| | | List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); |
| | | List<Consumable_order_details2__c> invoiceorderList2 = new List<Consumable_order_details2__c>(); |
| | | //更新出库单明细1 |
| | | List<Consumable_Orderdetails__c> outOrderdetUp1List = new List<Consumable_Orderdetails__c>(); |
| | | //需要更新出库单明细1 |
| | | List<Consumable_Orderdetails__c> outOrderdet1List = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Consumable_order__r.Name, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__r.Asset_Model_No__c, |
| | | Shipment_Count__c, |
| | | RrturnPro_count__c, |
| | | Delivery_List_RMB__c, |
| | | InvoicedProCost_RMB__c, |
| | | Invoiced_Procount__c, |
| | | Invoiced_Count__c, |
| | | Invoice_Unitprice__c, |
| | | InvoiceProNot_count__c, |
| | | Invoice_Cost_RMB__c, |
| | | Invoice_No__c, |
| | | Box_Piece__c, |
| | | Invoice_Unit__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c IN :outOrderStringList |
| | | ]; |
| | | for (Integer i = 0; i < outOrderdet1List.size(); i++) { |
| | | if (outordercountMap.containsKey(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)) { |
| | | Consumable_Orderdetails__c invoiceUpdte1 = new Consumable_Orderdetails__c(); |
| | | invoiceUpdte1.Id = outOrderdet1List[i].Id; |
| | | invoiceUpdte1.Invoice_Unit__c = outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoice_Unit__c; |
| | | if ( |
| | | outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Box_Piece__c == |
| | | '盒' && |
| | | outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Invoice_Unit__c == |
| | | '个' |
| | | ) { |
| | | Decimal OldinvoicedProcount = 0; |
| | | OldinvoicedProcount = (outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoiced_Count__c / |
| | | outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c) |
| | | .ProductPacking_list_manual__c) |
| | | .setScale(2); |
| | | invoiceUpdte1.Invoiced_Procount__c = outOrderdet1List[i].Invoiced_Procount__c + OldinvoicedProcount; |
| | | } else { |
| | | invoiceUpdte1.Invoiced_Procount__c = |
| | | outOrderdet1List[i].Invoiced_Procount__c + |
| | | outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c) |
| | | .Invoiced_Count__c; |
| | | } |
| | | invoiceUpdte1.Invoice_Unitprice__c = outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoice_Unitprice__c; |
| | | System.debug('====>procount' + invoiceUpdte1.Invoiced_Procount__c); |
| | | System.debug('===>RMB' + outOrderdet1List[i].Delivery_List_RMB__c); |
| | | invoiceUpdte1.InvoicedProCost_RMB__c = invoiceUpdte1.Invoiced_Procount__c * outOrderdet1List[i].Delivery_List_RMB__c; |
| | | |
| | | Decimal invoicedProcount = 0; |
| | | if ( |
| | | outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Box_Piece__c == |
| | | '盒' && |
| | | outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Invoice_Unit__c == |
| | | '个' |
| | | ) { |
| | | invoicedProcount = (outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoiced_Count__c / |
| | | outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c) |
| | | .ProductPacking_list_manual__c) |
| | | .setScale(2); |
| | | } else { |
| | | invoicedProcount = outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c) |
| | | .Invoiced_Count__c; |
| | | } |
| | | System.debug('发票数量===>' + outOrderdet1List[i].InvoiceProNot_count__c); |
| | | System.debug('还没发票数量===>' + invoicedProcount); |
| | | |
| | | if (outOrderdet1List[i].InvoiceProNot_count__c < invoicedProcount) { |
| | | // ApexPages.addmessage( |
| | | // new ApexPages.message( |
| | | // ApexPages.severity.Error, |
| | | // '出库单' + |
| | | // outOrderdet1List[i].Consumable_order__r.Name + |
| | | // '中,' + |
| | | // outOrderdet1List[i].Asset_Model_No__c + |
| | | // '还没开票数量小于发票数量,请确认是否有返品' |
| | | // ) |
| | | // ); |
| | | // return null; |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | '出库单' + |
| | | outOrderdet1List[i].Consumable_order__r.Name + |
| | | '中,' + |
| | | outOrderdet1List[i].Asset_Model_No__c + |
| | | '还没开票数量小于发票数量,请确认是否有返品', |
| | | '' |
| | | ); |
| | | } |
| | | |
| | | outOrderdetUp1List.add(invoiceUpdte1); |
| | | } |
| | | } |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | | //出库单明细1更新 |
| | | if (outOrderdetUp1List.size() > 0) { |
| | | ControllerUtil.updateOrderDetails1Satus(outOrderdetUp1List); |
| | | } |
| | | //发票状态更新 |
| | | cocinfo = [ |
| | | SELECT Id, Name, Invoice_status__c, Dealer_Info__c, Order_ForHospital__c, SummonsForDirction__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :invoiceId |
| | | ]; |
| | | System.debug('cocinfo = ' + cocinfo); |
| | | if (cocinfo.size() > 0) { |
| | | p = cocinfo[0]; |
| | | } |
| | | System.debug('p = ' + p); |
| | | p.Invoice_status__c = '提交'; |
| | | update p; |
| | | } catch (Exception ex) { |
| | | Database.rollback(sp); |
| | | // ApexPages.addMessages(ex); |
| | | // return null; |
| | | return new ResponseBodyLWC('Error', 500, ex.getMessage() + ' ' + ex.getLineNumber(), ''); |
| | | } |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | //ContentVersion |
| | | public InvoiceOrderInfo(ContentVersion cv) { |
| | | cvInfo = cv; |
| | | mailSelectOptsMap = new Map<String, String>(); |
| | | mailSelectOptsMap.put('发票和明细', '发票和明细'); |
| | | mailSelectOptsMap.put('发票', '发票'); |
| | | mailSelectOptsMap.put('明细', '明细'); |
| | | @TestVisible |
| | | class InvoiceOrderInfo implements Comparable { |
| | | @AuraEnabled |
| | | public Boolean check { get; set; } |
| | | @AuraEnabled |
| | | public Boolean oldCheck { get; set; } |
| | | @AuraEnabled |
| | | public Consumable_order__c esd { get; set; } |
| | | @AuraEnabled |
| | | public Consumable_Orderdetails__c esdet { get; set; } |
| | | @AuraEnabled |
| | | public Attachment attach { get; set; } |
| | | @AuraEnabled |
| | | public ContentVersion cvInfo { get; set; } |
| | | @AuraEnabled |
| | | public String mailSelectOptsin { get; set; } |
| | | public List<SelectOption> mailSelectOpts { get; set; } |
| | | @AuraEnabled |
| | | public Map<String, String> mailSelectOptsMap { get; set; } |
| | | @AuraEnabled |
| | | public String invoiceOrderId { get; set; } |
| | | @AuraEnabled |
| | | public Decimal needInvoiceCount { get; set; } |
| | | |
| | | // 出库订单 |
| | | public InvoiceOrderInfo(Consumable_order__c e) { |
| | | check = false; |
| | | oldCheck = false; |
| | | esd = e; |
| | | needInvoiceCount = 0; |
| | | } |
| | | // 出库订单明细1 |
| | | public InvoiceOrderInfo(Consumable_Orderdetails__c e) { |
| | | esdet = e; |
| | | } |
| | | //附件 |
| | | public InvoiceOrderInfo(Attachment e) { |
| | | attach = e; |
| | | mailSelectOpts = new List<SelectOption>(); |
| | | mailSelectOpts.add(new SelectOption('发票和明细', '发票和明细')); |
| | | mailSelectOpts.add(new SelectOption('发票', '发票')); |
| | | mailSelectOpts.add(new SelectOption('明细', '明细')); |
| | | } |
| | | //ContentVersion |
| | | public InvoiceOrderInfo(ContentVersion cv) { |
| | | cvInfo = cv; |
| | | mailSelectOptsMap = new Map<String, String>(); |
| | | mailSelectOptsMap.put('发票和明细', '发票和明细'); |
| | | mailSelectOptsMap.put('发票', '发票'); |
| | | mailSelectOptsMap.put('明细', '明细'); |
| | | } |
| | | // 排序 |
| | | public Integer compareTo(Object compareTo) { |
| | | return null; |
| | | } |
| | | } |
| | | // 排序 |
| | | public Integer compareTo(Object compareTo) { |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | } |
| force-app/main/default/classes/LexConInvoiceViewControllerTest.cls
force-app/main/default/classes/LexConInvoiceViewControllerTest.cls-meta.xml
force-app/main/default/classes/LexConInvoicedetailsController.cls
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls-meta.xml
force-app/main/default/classes/LexConsumableAccountController.cls
force-app/main/default/classes/LexConsumableAccountControllerTest.cls
force-app/main/default/classes/LexConsumableAccountControllerTest.cls-meta.xml
force-app/main/default/classes/LexConsumableAccountInfoControllerTest.cls
force-app/main/default/classes/LexConsumableAccountInfoControllerTest.cls-meta.xml
force-app/main/default/classes/LexConsumableAccountSOQL.cls
force-app/main/default/classes/LexConsumableAccountSOQLTest.cls
force-app/main/default/classes/LexConsumableAccountSOQLTest.cls-meta.xml
force-app/main/default/classes/LexConsumableController.cls
force-app/main/default/classes/LexConsumableControllerTest.cls
force-app/main/default/classes/LexConsumableControllerTest.cls-meta.xml
force-app/main/default/classes/LexConsumableGoodsInfoTest.cls
force-app/main/default/classes/LexConsumableGoodsInfoTest.cls-meta.xml
force-app/main/default/classes/LexConsumableOrderManageController.cls
force-app/main/default/classes/LexConsumableOrderManageControllerTest.cls
force-app/main/default/classes/LexConsumableOrderManageControllerTest.cls-meta.xml
force-app/main/default/classes/LexInventoryController.cls
force-app/main/default/classes/LexInventoryControllerTest.cls
force-app/main/default/classes/LexInventoryControllerTest.cls-meta.xml
force-app/main/default/classes/LexInventoryListController.cls
force-app/main/default/classes/LexInventoryListControllerTest.cls
force-app/main/default/classes/LexInventoryListControllerTest.cls-meta.xml
force-app/main/default/classes/LexInventoryViewControllerTest.cls
force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml
force-app/main/default/classes/LexLicenceReminderControllerTest.cls
force-app/main/default/classes/LexLicenceReminderControllerTest.cls-meta.xml
force-app/main/default/classes/LexOutboundorderImportController.cls
force-app/main/default/classes/LexOutboundorderImportControllerTest.cls
force-app/main/default/classes/LexOutboundorderImportControllerTest.cls-meta.xml
force-app/main/default/classes/LexOverdueStockController.cls
force-app/main/default/classes/LexOverdueStockControllerTest.cls
force-app/main/default/classes/LexOverdueStockControllerTest.cls-meta.xml
force-app/main/default/classes/LexProductLimitEditControllerTest.cls
force-app/main/default/classes/LexProductLimitEditControllerTest.cls-meta.xml
force-app/main/default/classes/LexRemoveBoxControllerTest.cls
force-app/main/default/classes/LexRemoveBoxControllerTest.cls-meta.xml
force-app/main/default/classes/LexSaleAndDeliveryControllerTest.cls
force-app/main/default/classes/LexSaleAndDeliveryControllerTest.cls-meta.xml
force-app/main/default/classes/LexSaleOrderController.cls
force-app/main/default/classes/LexSaleOrderControllerTest.cls
force-app/main/default/classes/LexSaleOrderControllerTest.cls-meta.xml
force-app/main/default/classes/LexSearchContractControllerTest.cls
force-app/main/default/classes/LexSearchContractControllerTest.cls-meta.xml
force-app/main/default/classes/LexSearchHospitalControllerTest.cls
force-app/main/default/classes/LexSearchHospitalControllerTest.cls-meta.xml
force-app/main/default/classes/LexSummonsCreatController.cls
force-app/main/default/classes/LexSummonsCreatControllerTest.cls
force-app/main/default/classes/LexSummonsCreatControllerTest.cls-meta.xml
force-app/main/default/classes/LexTopPageControllerTest.cls
force-app/main/default/classes/LexTopPageControllerTest.cls-meta.xml
force-app/main/default/classes/LexUpAccountProLimit.cls
force-app/main/default/classes/LexUpAccountProLimitControllerTest.cls
force-app/main/default/classes/LexUpAccountProLimitControllerTest.cls-meta.xml
force-app/main/default/classes/LexUtilityTest.cls
force-app/main/default/classes/LexUtilityTest.cls-meta.xml
force-app/main/default/classes/LookupSearchResultTest.cls
force-app/main/default/classes/LookupSearchResultTest.cls-meta.xml
force-app/main/default/classes/ResponseBodyLWCTest.cls
force-app/main/default/classes/ResponseBodyLWCTest.cls-meta.xml
force-app/main/default/classes/lexSearchAgencyHospitalControllerTest.cls
force-app/main/default/classes/lexSearchAgencyHospitalControllerTest.cls-meta.xml
force-app/main/default/contentassets/OlympusCommunityLoginBG.asset-meta.xml
force-app/main/default/contentassets/OlympusCommunityLogo.asset-meta.xml
force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.html
force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.js
force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.js-meta.xml
force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.html
force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.js
force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.js-meta.xml
force-app/main/default/lwc/customMydrComp/customMydrComp.html
force-app/main/default/lwc/customMydrComp/customMydrComp.js
force-app/main/default/lwc/customMydrComp/customMydrComp.js-meta.xml
force-app/main/default/lwc/customOutputGood/customOutputGood.html
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.html
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js
force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html
force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js
force-app/main/default/lwc/lexConsumable/lexConsumable.html
force-app/main/default/lwc/lexConsumable/lexConsumable.js
force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.html
force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.js
force-app/main/default/lwc/lexCustomInventoryColor/lexCustomInventoryColor.html
force-app/main/default/lwc/lexInventory/lexInventory.html
force-app/main/default/lwc/lexInventory/lexInventory.js
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
force-app/main/default/lwc/lexTopPage/lexTopPage.html
force-app/main/default/lwc/lexTopPage/lexTopPage.js
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
force-app/main/default/lwc/paginator/paginator.html
force-app/main/default/lwc/paginator/paginator.js
force-app/main/default/pages/DealerInquiryModifyState.page
force-app/main/default/pages/DealerInquiryModifyState.page-meta.xml
force-app/main/default/permissionsets/Community_Consumable_LEX_PS.permissionset-meta.xml
force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger
force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger-meta.xml
force-app/main/default/triggers/ContentDocumentLink.trigger
force-app/main/default/triggers/ContentDocumentTrigger.trigger
manifest/LEXC02packagelexcommunityupdate.xml |