buli
2023-06-05 e9b970ea36eea5dcf93fd5b965bf13d7010ce0ad
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportHelper.js
@@ -1,5 +1,6 @@
({
    doinit: function (component, event, helper) {
        debugger
        this.report_date_list(component, event, helper, 5);
        component.set('v.login', true);
        var action = component.get('c.getalldata');
@@ -11,6 +12,12 @@
                component.set('v.fieldsmap', res.fieldsMap);
                component.set('v.allselectlist', res.allselectlist);
                component.set('v.doclist', res.doclist);
                //fy
                debugger
                var xx=res.UserProType;
                component.set('v.UserProType', res.UserProType);
                var gg=component.get('v.UserProType');
                //fy
                component.find('select_agency_person').set('v.options', this.conv_selected(res.allselectlist.AgencyPerson__c));
                component.find('select_DealerPersonnel').set('v.options', this.conv_selected(res.allselectlist.DealerPersonnel__c));
                component.find('select_purpose_type').set('v.options', this.conv_selected(res.allselectlist.WorkRecord__c));
@@ -19,6 +26,8 @@
                component.set('v.selected_agency_person', res.allselectlist.AgencyPerson__c[0].label);
                component.set('v.dialog_type', '新建');
                this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
                component.set('v.PIConfig', res.PIConfig);// 20220222 PI改造 by Bright
                component.set('v.login', false);
            }
            else {
@@ -77,10 +86,46 @@
                }
                if (res.reports.length > 0) {
                    component.set('v.list_message', '');
                    // PI 改造 By Bright 20220328
                    if(true){
                        let doctor_awsids = res.reports.map(function(d){return d.doctor2__r.AWS_Data_Id__c;});
                        let PIConfig = component.get('v.PIConfig');
                        let staticResourceAgencyContact = JSON.parse(PIConfig.staticResourceAgencyContact);
                        if(doctor_awsids.length > 0){
                            AWSService.search(staticResourceAgencyContact.searchUrl,{
                                dataIds:doctor_awsids
                            }, function(data){
                                if(data && data.object && data.object.length){
                                    let m = {};
                                    for(let di in data.object){
                                        if(data.object[di] && data.object[di].dataId){
                                            m[data.object[di].dataId] = data.object[di];
                                        }
                                    }
                                    for(let ri in res.reports){
                                        if(res.reports[ri] && res.reports[ri].doctor2__r && res.reports[ri].doctor2__r.AWS_Data_Id__c && m.hasOwnProperty(res.reports[ri].doctor2__r.AWS_Data_Id__c)){
                                            res.reports[ri].doctor2__r.awsdata = m[res.reports[ri].doctor2__r.AWS_Data_Id__c];
                                        }
                                    }
                                    component.set('v.reports', res.reports);
                               component.set('v.report_count', res.reports.length);
                                }
                                component.set('v.login', false);
                            }, staticResourceAgencyContact.token);
                        }else{
                            component.set('v.login', false);
                        }
                    }
                } else {
                    component.set('v.list_message', 'no_data');
                        component.set('v.login', false);
                }
                component.set('v.login', false);
            }
            else {
                component.set('v.errorMessage', 'get_reports failed.');
@@ -165,7 +210,7 @@
                //使用产品2
                var UseProduct2Text = '';
                var UseProduct2Id = '';
                if (select_data['UseProduct2__c'] != '') {
                if (select_data['UseProduct2__c'] != ''&&select_data['UseProduct2__c'] != undefined) {
                    for (var i = 0; i < reports.length; i++) {
                        if (reports[i]['UseProduct2__c'] == select_data['UseProduct2__c']) {
                            UseProduct2Text = reports[i]['UseProduct2__r']['Name'];
@@ -178,7 +223,7 @@
                //使用产品3
                var UseProduct3Text = '';
                var UseProduct3Id = '';
                if (select_data['UseProduct3__c'] != '') {
                if (select_data['UseProduct3__c'] != ''&&select_data['UseProduct3__c'] != undefined) {
                    for (var i = 0; i < reports.length; i++) {
                        if (reports[i]['UseProduct3__c'] == select_data['UseProduct3__c']) {
                            UseProduct3Text = reports[i]['UseProduct3__r']['Name'];
@@ -237,14 +282,14 @@
                var report_id = component.get('v.edit_copy_select_report_id');
                if (report_id != "") {
                    var select_EffectProgress1 = '';
                    var OtherBrandConsumables = '';
                    var WarlockClassification = '';
                    var ProductCcategory = '';
                    var productCategories = '';
                    var i = 0;
                    for (i = 0; i < reports.length; i++) {
                        if (report_id == reports[i]["Id"]) {
                            select_EffectProgress1 = reports[i]["EffectProgress__c"];
                            OtherBrandConsumables = reports[i]["OtherBrandConsumables__c"];
                            WarlockClassification = reports[i]["WarlockClassification__c"];
                            ProductCcategory = reports[i]["ProductCcategory__c"];
                            productCategories = reports[i]["productCategories__c"];
                                break;
@@ -255,8 +300,8 @@
                        component.find('select_EffectProgress').set('v.value', select_EffectProgress1);
                    }
                    //术士分类
                    if (OtherBrandConsumables != null && OtherBrandConsumables != '') {
                        component.find('select_OtherBrandConsumables').set('v.value', OtherBrandConsumables);
                    if (WarlockClassification != null && WarlockClassification != '') {
                        component.find('select_OtherBrandConsumables').set('v.value', WarlockClassification);
                    }
                    //已采用其他品牌
                    if (ProductCcategory != null && ProductCcategory != '') {
@@ -283,7 +328,7 @@
            var doctor2__c = component.find('select_doctor').get('v.value');
            var WorkRecord__c = component.find('select_purpose_type').get('v.value');
            var EffectProgress__c = component.find('select_EffectProgress').get('v.value');
            var OtherBrandConsumables__c = component.find('select_OtherBrandConsumables').get('v.value');
            var WarlockClassification__c = component.find('select_OtherBrandConsumables').get('v.value');
            var ProductCcategory__c = component.find('select_ProductCcategory').get('v.value');
            var productCategories__c = component.find('select_productCategories').get('v.value');
            var warlocksNumber__c = component.find('select_warlocksNumber').get('v.value');
@@ -301,7 +346,7 @@
                    !DealerPersonnel__c &&
                    !doctor2__c &&
                    !EffectProgress__c &&
                    !OtherBrandConsumables__c &&
                    !WarlockClassification__c &&
                    !ProductCcategory__c &&
                    !productCategories__c &&
                    !warlocksNumber__c &&
@@ -327,7 +372,7 @@
                    select_report_data['DealerPersonnel__c'] == DealerPersonnel__c &&
                    select_report_data['doctor2__c'] == doctor2__c &&
                    select_report_data['EffectProgress__c'] == EffectProgress__c &&
                    select_report_data['OtherBrandConsumables__c'] == OtherBrandConsumables__c &&
                    select_report_data['WarlockClassification__c'] == WarlockClassification__c &&
                    select_report_data['ProductCcategory__c'] == ProductCcategory__c &&
                    select_report_data['productCategories__c'] == productCategories__c &&
                    select_report_data['warlocksNumber__c'] == warlocksNumber__c &&
@@ -352,7 +397,7 @@
                    select_report_data['DealerPersonnel__c'] == DealerPersonnel__c &&
                    select_report_data['doctor2__c'] == doctor2__c &&
                    select_report_data['EffectProgress__c'] == EffectProgress__c &&
                    select_report_data['OtherBrandConsumables__c'] == OtherBrandConsumables__c &&
                    select_report_data['WarlockClassification__c'] == WarlockClassification__c &&
                    select_report_data['ProductCcategory__c'] == ProductCcategory__c &&
                    select_report_data['productCategories__c'] == productCategories__c &&
                    select_report_data['warlocksNumber__c'] == warlocksNumber__c &&
@@ -453,6 +498,7 @@
    //编辑按钮
    edit_button: function (component, event, helper) {
        this.allclear(component);
        debugger
        component.set('v.loadOpp', true);
        var index = event.getSource().get('v.value');
        component.set('v.select_report_data', component.get('v.reports')[index]);
@@ -488,6 +534,7 @@
            // 担当 Person_In_Charge2__c
            Person_In_Charge2__c = component.find('select_agency_person').get('v.value');
        }
        debugger
        // Agency_Report_Header__c
        var Agency_Report_Header__c = component.get('v.agency_report_header_id');
        // 医院 
@@ -510,10 +557,11 @@
        var WorkRecord__c = component.find('select_purpose_type').get('v.value');
         // 效果/进度    EffectProgress__c
        var EffectProgress__c = component.find('select_EffectProgress').get('v.value');
        // alert(EffectProgress__c);
         // 科室同来耗材月使用量   ConsumptionOfConsumables__c      
        var ConsumptionOfConsumables__c = component.find('select_ConsumptionOfConsumables').get('v.value');
         // 术士分类   OtherBrandConsumables__c
        var OtherBrandConsumables__c = component.find('select_OtherBrandConsumables').get('v.value');
         // 术士分类   WarlockClassification__c
        var WarlockClassification__c = component.find('select_OtherBrandConsumables').get('v.value');
          // 已采用其他品牌   ProductCcategory__c  
        var ProductCcategory__c = component.find('select_ProductCcategory').get('v.value');
           // 其他品牌产品类别   productCategories__c  
@@ -554,18 +602,22 @@
        if (!Agency_Report_Header__c) { this.error("Report Header Id 不存在"); }
        if (!Agency_Hospital__c) { error.push("医院 不存在"); }  
        if (!UseProduct1__c) { error.push("使用产品1(产品型号) 不存在"); } 
        if (!UseProduct2__c) { error.push("使用产品2 不存在"); }
        if (!UseProduct3__c) { error.push("使用产品3 不存在"); }
        // if (!UseProduct2__c) { error.push("使用产品2 不存在"); }
        // if (!UseProduct3__c) { error.push("使用产品3 不存在"); }
        if (!Department_Cateogy__c) { error.push("科室 不存在"); }
        if (!DealerPersonnel__c) { error.push("经销商人员 不存在"); }
        if (!doctor2__c) { error.push("医院人员 不存在"); }
        if (!WorkRecord__c) { error.push("工作记录 不存在"); }
        if (!EffectProgress__c) { error.push("效果/进度 不存在"); } 
        // if (!OtherBrandConsumables__c) { error.push("术士分类 不存在"); }
        if (!ProductCcategory__c) { error.push("已采用其他品牌  不存在"); }
        if (!productCategories__c) { error.push("产品类别 不存在"); }
        if (ProductCcategory__c==''||ProductCcategory__c==""||ProductCcategory__c==undefined) { error.push("已采用其他品牌  不存在"); }
        // if (!productCategories__c) { error.push("其他品牌产品类别 不存在"); }
        if (!ConsumptionOfConsumables__c) { error.push("科室同类耗材月使用量 不能为空"); }
        if (!warlocksNumber__c) { error.push("产品用量 不能为空"); }
        //fy start
        if(WorkRecord__c != 'SIS'){
            if (!warlocksNumber__c) { error.push("产品用量 不能为空"); }
        }
        //fy end
        for (var i = 0; i < error.length; i++) {
            component.set('v.errorMessage', error[i]);
            this.showErrorToast(component);
@@ -585,7 +637,7 @@
                "ConsumptionOfConsumables": ConsumptionOfConsumables__c,
                "WorkRecord": WorkRecord__c,
                "EffectProgress": EffectProgress__c,
                "OtherBrandConsumables" : OtherBrandConsumables__c,
                "WarlockClassification" : WarlockClassification__c,
                "ProductCcategory" : ProductCcategory__c,
                "productCategories" : productCategories__c,
                "warlocksNumber" : warlocksNumber__c,
@@ -646,7 +698,7 @@
                "DealerPersonnel": DealerPersonnel__c,
                "ProductCcategory" : ProductCcategory__c,
                "productCategories" : productCategories__c,
                "OtherBrandConsumables" : OtherBrandConsumables__c,
                "WarlockClassification" : WarlockClassification__c,
                "ProductClassification": ProductClassification__c,
                "WorkRecord": WorkRecord__c,
                "EffectProgress": EffectProgress__c,
@@ -1126,6 +1178,7 @@
                    var default_doctor = component.get('v.default_select_doctor_id');
                    if (default_doctor != '' && res.length > 0) {
                        var doctor_title = '';
                        let awsids = [];
                        for (var i = 0; i < res.length; i++) {
                            if (res[i].value == default_doctor) {
                                res[i].selected = true;
@@ -1133,9 +1186,38 @@
                            } else {
                                res[i].selected = false;
                            }
                            if(res[i].AWS_Data_Id__c){
                                awsids.push(res[i].AWS_Data_Id__c);
                            }
                        }
                        component.find('select_doctor').set('v.options', res);
                        component.set('v.doctor_title', doctor_title);
                        if(awsids.length > 0){
                            let PIConfig = component.get('v.PIConfig');
                            let staticResourceAgencyContact = JSON.parse(PIConfig.staticResourceAgencyContact);
                            AWSService.search(staticResourceAgencyContact.searchUrl,{
                                dataIds:awsids
                            }, function(data){
                                if(data && data.object && data.object.length){
                                    let m = {};
                                    for(let di in data.object){
                                        if(data.object[di] && data.object[di].dataId){
                                            m[data.object[di].dataId] = data.object[di];
                                        }
                                    }
                                    for(let ri in res){
                                        if(res[ri] && res[ri].AWS_Data_Id__c && m.hasOwnProperty(res[ri].AWS_Data_Id__c)){
                                            res[ri].label = m[res[ri].AWS_Data_Id__c].name;
                                        }
                                    }
                                    component.find('select_doctor').set('v.options', res);
                                }
                                component.set('v.login', false);
                            }, staticResourceAgencyContact.token);
                        }
                    } else {
                        component.find('select_doctor').set('v.options', res);
                        if (res.length > 0) {
@@ -1224,6 +1306,7 @@
    },
    //弹出 成功提示
    showSuccessToast: function (component) {
        debugger
        $A.util.removeClass(component.find('successDiv'), 'slds-hide');
        window.setTimeout($A.getCallback(function () {
            $A.util.addClass(component.find('successDiv'), 'slds-hide');
@@ -1233,6 +1316,7 @@
    },
    //弹出 成功提示
    showSuccessToast01: function (component) {
        debugger
        $A.util.removeClass(component.find('successDiv01'), 'slds-hide');
        window.setTimeout($A.getCallback(function () {
            $A.util.addClass(component.find('successDiv01'), 'slds-hide');
@@ -1242,6 +1326,7 @@
    },
    //弹出 错误提示
    showErrorToast: function (component) {
        debugger
        $A.util.removeClass(component.find('errorDiv'), 'slds-hide');
        window.setTimeout($A.getCallback(function () {
            $A.util.addClass(component.find('errorDiv'), 'slds-hide');
@@ -1441,7 +1526,7 @@
        }
        columnDivider = ',';
        lineDivider = '\n';
        keys = ['Submit_date__c', 'Person_In_Charge2__c', 'Report_Date__c', 'Agency_Hospital__c','Department_Cateogy__c','DealerPersonnel__c','WorkRecord__c','doctor2__c','ProductClassification__c','UseProduct1__c', 'UseProduct2__c','UseProduct3__c', 'EffectProgress__c','ConsumptionOfConsumables__c',  'OtherBrandConsumables__c', 'ProductCcategory__c', 'productCategories__c','warlocksNumber__c','WorkMark__c'];
        keys = ['Submit_date__c', 'Person_In_Charge2__c', 'Report_Date__c', 'Agency_Hospital__c','Department_Cateogy__c','DealerPersonnel__c','WorkRecord__c','doctor2__c','ProductClassification__c','UseProduct1__c', 'UseProduct2__c','UseProduct3__c', 'EffectProgress__c','ConsumptionOfConsumables__c',  'WarlockClassification__c', 'ProductCcategory__c', 'productCategories__c','warlocksNumber__c','WorkMark__c'];
        thkeys = ['周', '担当', '活动日', '医院', '科室', '经销商人员', '工作记录',  '医院人员','产品分类(第三分类)', '使用产品1(产品型号)', '使用产品2','使用产品3','效果/进度','科室同类耗材月使用量','术士分类','已采用其他品牌','其他品牌产品类别','产品用量','工作标记']
        csvStringResult = '';
        csvStringResult += thkeys.join(columnDivider);
@@ -1472,14 +1557,6 @@
                    csvStringResult +=  objectRecords[i].UseProduct2__r.Name;
                } else if (skey == 'UseProduct3__c') {
                    csvStringResult +=  objectRecords[i].UseProduct3__r.Name;
                } else if (skey == 'EffectProgress__c'){
                    csvStringResult +=  objectRecords[i].EffectProgress__r.Name;
                }else if (skey == 'OtherBrandConsumables__c'){
                    csvStringResult +=  objectRecords[i].OtherBrandConsumables__r.Name;
                }else if(skey == 'ProductCcategory__c'){
                    csvStringResult +=  objectRecords[i].ProductCcategory__r.Name;
                }else if(skey == 'productCategories__c'){
                    csvStringResult +=  objectRecords[i].productCategories__r.Name;
                }else{
                    csvStringResult +=  objectRecords[i][skey] ;
                }
@@ -1493,7 +1570,7 @@
    //  导出页面显示的模板
    showExportDate: function (component, objectRecords) {
        console.log('进入showexceportdate' + objectRecords);
        var keys = ['Submit_date__c', 'Person_In_Charge2__c', 'Report_Date__c', 'Agency_Hospital__c','Department_Cateogy__c','DealerPersonnel__c','WorkRecord__c','doctor2__c','ProductClassification__c','UseProduct1__c', 'UseProduct2__c','UseProduct3__c', 'EffectProgress__c','ConsumptionOfConsumables__c',  'OtherBrandConsumables__c', 'ProductCcategory__c','productCategories__c', 'warlocksNumber__c','WorkMark__c'];
        var keys = ['Submit_date__c', 'Person_In_Charge2__c', 'Report_Date__c', 'Agency_Hospital__c','Department_Cateogy__c','DealerPersonnel__c','WorkRecord__c','doctor2__c','ProductClassification__c','UseProduct1__c', 'UseProduct2__c','UseProduct3__c', 'EffectProgress__c','ConsumptionOfConsumables__c',  'WarlockClassification__c', 'ProductCcategory__c','productCategories__c', 'warlocksNumber__c','WorkMark__c'];
        var headers = ['周', '担当', '活动日', '医院', '科室', '经销商人员', '工作记录',  '医院人员','产品分类(第三分类)', '使用产品1(产品型号)', '使用产品2','使用产品3','效果/进度','科室同类耗材月使用量','术士分类','已采用其他品牌','其他品牌产品类别','产品用量','工作标记']
        var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
        content += "<thead><tr class=\"slds-text-title--caps\">";
@@ -1526,14 +1603,6 @@
                    content += '<td>' + objectRecords[i].UseProduct2__r.Name + '</td>';
                } else if (skey == 'UseProduct3__c') {
                    content += '<td>' + objectRecords[i].UseProduct3__r.Name + '</td>';
                } else if (skey == 'EffectProgress__c'){
                    content += '<td>' + objectRecords[i].EffectProgress__r.Name + '</td>';
                }else if (skey == 'OtherBrandConsumables__c'){
                    content += '<td>' + objectRecords[i].OtherBrandConsumables__r.Name + '</td>';
                }else if (skey == 'ProductCcategory__c'){
                    content += '<td>' + objectRecords[i].ProductCcategory__r.Name + '</td>';
                }else if (skey == 'productCategories__c'){
                    content += '<td>' + objectRecords[i].productCategories__r.Name + '</td>';
                }else{
                    content += '<td>' + objectRecords[i][skey] + '</td>';
                }
@@ -1564,7 +1633,45 @@
                var res = response.getReturnValue();
                console.log('输入的开始日期3' + res);
                component.set('v.login', false);
                this.showExportDate(component, res);
                // PI 改造 By Bright 20220328
                if(true){
                    let awsids = [];
                    for (let ri in res) {
                        if(res[ri] && res[ri].doctor2__r && res[ri].doctor2__r.AWS_Data_Id__c){
                            awsids.push(res[ri].doctor2__r.AWS_Data_Id__c);
                        }
                    }
                    if(awsids.length > 0){
                        let PIConfig = component.get('v.PIConfig');
                        let staticResourceAgencyContact = JSON.parse(PIConfig.staticResourceAgencyContact);
                        AWSService.search(staticResourceAgencyContact.searchUrl,{
                            dataIds:awsids
                        }, function(data){
                            if(data && data.object && data.object.length){
                                let m = {};
                                for(let di in data.object){
                                    if(data.object[di] && data.object[di].dataId){
                                        m[data.object[di].dataId] = data.object[di];
                                    }
                                }
                                for(let ri in res){
                                    if(res[ri] && res[ri].doctor2__r && res[ri].doctor2__r.AWS_Data_Id__c && m.hasOwnProperty(res[ri].doctor2__r.AWS_Data_Id__c)){
                                        res[ri].doctor2__r.Name = m[res[ri].doctor2__r.AWS_Data_Id__c].name;
                                    }
                                }
                            }
                            helper.showExportDate(component, res);
                            component.set('v.login', false);
                        }, staticResourceAgencyContact.token);
                    }else{
                        helper.showExportDate(component, res);
                    }
                }
                component.set('v.reports_date', res);
            } else {
                alert('导出失败,请检查活动日');
@@ -1703,6 +1810,7 @@
    //工作会记录
    selectPurposeType: function (component,event,helper) {
        var doctor_value = component.find('select_purpose_type').get('v.value');
        // alert(doctor_value);
        if(doctor_value != ''){
        var action = component.get('c.selectPurposeTypes');
        action.setParams({
@@ -1745,7 +1853,14 @@
        var select_ProductCcategory = component.find('select_ProductCcategory').get('v.value');
        if(select_ProductCcategory != ''){
            var result = component.find('result');
            var UserProType = component.get('v.UserProType');
        //fy
        $A.util.removeClass(result, 'disp_none');
        if(UserProType=='ENG'){
            $A.util.removeClass(result, 'disp_none');
        }else{
            $A.util.addClass(result, 'disp_none');
        }
        var action = component.get('c.selectProductCcategory01');
        action.setParams({
            "select_ProductCcategory": select_ProductCcategory
@@ -1766,14 +1881,20 @@
    },
    selectpurposetype : function(component,event,helper){
        var select_ProductCcategory = component.find('select_ProductCcategory').get('v.value');
        if (select_ProductCcategory == null && select_ProductCcategory == undefined) {
        if (select_ProductCcategory == null && select_ProductCcategory == undefined  && select_ProductCcategory == '') {
            var result = component.find('result');
        $A.util.removeClass(result, 'disp_none');
            // $A.util.removeClass(result, 'disp_none');
            if(UserProType=='ENG'){
                $A.util.removeClass(result, 'disp_none');
            }else{
                $A.util.addClass(result, 'disp_none');
            }
        } else {
            debugger
            component.find('select_productCategories').set('v.value', '');
            var result = component.find('result');
        $A.util.addClass(result, 'disp_none');
        this.select_ProductCcategory(component);
            $A.util.addClass(result, 'disp_none');
            this.select_ProductCcategory(component);
        }
    },
})