From a1b500c74db7ed741ab4bebbd42530fd30b89bf9 Mon Sep 17 00:00:00 2001
From: yangjieke <yangjieke@prec-tech.com>
Date: 星期五, 01 四月 2022 10:07:17 +0800
Subject: [PATCH] SWAG-CCL6R7 补充

---
 force-app/main/default/pages/StraightBackAddress.page |  227 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 201 insertions(+), 26 deletions(-)

diff --git a/force-app/main/default/pages/StraightBackAddress.page b/force-app/main/default/pages/StraightBackAddress.page
index 9dca379..790dde0 100644
--- a/force-app/main/default/pages/StraightBackAddress.page
+++ b/force-app/main/default/pages/StraightBackAddress.page
@@ -1,3 +1,10 @@
+<!--
+  @description       : 
+  @author            : ChangeMeIn@UserSettingsUnder.SFDoc
+  @group             : 
+  @last modified on  : 03-30-2022
+  @last modified by  : ChangeMeIn@UserSettingsUnder.SFDoc
+-->
 <apex:page controller="StraightBackAddressController"  action="{!init}"  showHeader="false"   sidebar="true" id="allPage"  title="鐩磋繑鏀惰揣鍦板潃">
     <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
     <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
@@ -10,6 +17,8 @@
         var tableDataStr = '';
         var staticResource = JSON.parse('{!staticResource}');
         var staticResourceContact = JSON.parse('{!staticResourceContact}');
+        var staticResourceRepair = JSON.parse('{!staticResourceRepair}');
+        
         var PIData = {};
         var contactDataIds = [];
         var ObjIdDecrypt = '';
@@ -19,9 +28,11 @@
         var isAddCon = false;
         var contactInfoStr = '';
 
+        var addressAwsData = {};
+
         //鏇挎崲vlookup
         var newSearchContactWindow = null;
-        window.onload = () => {
+        window.onload = function () {
             document.getElementById("tab01").style.height  =  screen.availHeight*0.07+'px';
             document.getElementById("tab02").style.height  =  screen.availHeight*0.53+'px';
             document.getElementById("tab03").style.height  =  screen.availHeight*0.25+'px';
@@ -81,7 +92,7 @@
             let divs = j$(e).find("div.message");
             for (let i = 0; i < divs.length; i++) {
                 for (let j = 0; j < divs[i].classList.length; j++) {
-                    for(let cls of divs[i].classList){
+                    for(let cls in divs[i].classList){
                         if (cls.indexOf('error')>-1) {
                             return true;
                         }
@@ -264,8 +275,10 @@
                             searchBtn('\''+addressName+'\'');
                             return
                         }else{
+                             
                             for(var i=0;i<result.object.length;i++){
                                 addressDataIds += ',\''+ result.object[i].dataId + '\'';
+                                addressAwsData[result.object[i].dataId] = result.object[i];
                             }
                             addressDataIds = addressDataIds.substring(1);
                             resolve('success');
@@ -282,21 +295,155 @@
                 searchBtn(addressDataIds);
             }
         }
-        //閲囩敤鎸夐挳
-        function onAdoptJs(objId){
-            if(objId != null){
-                //鍒ゆ柇褰撳墠淇悊鍗曟槸鍚﹀凡缁忕敵璇蜂慨鐞�
-                var uploadTime = '{!FSEApplyForRepairTime}';
-                if(uploadTime != 'null'){
-                    var prompt  = '鐢变簬褰撳墠淇悊鍗曞凡鐢宠淇悊锛岃闂槸鍚﹂噰鐢ㄥ苟涓婁紶鏁版嵁鍒癝AP锛�';
-                    if(confirm(prompt)){
-                        blockme();
-                        adoptSave(objId+"",true);
-                    }
-                }else{
-                    adoptSave(objId+"",false);
+        //鍔犲瘑瀹㈡埛鍚嶅瓧娈�
+        // function encryptCustomer(e){
+        //     let obj = JSON.parse(payloadForNewPI);
+        //     let payloadForNewPIJson = JSON.stringify(obj);
+        //     let payloadForNewPI = jQuery(e.target).closest("tr").find("a.cusmer__c");
+        //     AWSService.update(staticResources.updateUrl, '', payloadForNewPI, updateMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack, redirectCallBack);
+        // },
+
+        sforce.connection.sessionId = '{!GETSESSIONID()}';
+        function UpdateSobject(staticResource,sobj,transId,callback){
+            
+            let result = sforce.connection.update([sobj]);
+            let tobj = {
+                txId: transId
+            };
+            let b = result[0].getBoolean('success');
+            if(b) {
+                console.log('call sf Log Id: ' + result[0].id);
+                tobj.sfRecordId = result[0].id;
+                tobj.isSuccess = 1;
+                
+                //return result[0].id;
+            }else {
+                console.log('call sf to insert log');
+                tobj.isSuccess = 0;
+                //return '';
+            }
+
+            AWSService.post(staticResource.transactionUrl,tobj,function(data){
+                if (callback) {
+                    data.isSuccess = b;
+                    callback(data)
                 }
-            } 
+            },staticResource.token);
+        }
+
+        
+
+        function adoptSaveJs(address){
+            //鐢变簬瑕佹妸閲囩敤鏃堕棿璁板綍鍒板湴鍧�琛ㄤ腑锛屾墍浠ユ柊寤轰竴涓湴鍧�瀵硅薄
+            // Address__c DatetimeUpdate = new Address__c();
+            // DatetimeUpdate = tableData[i].address;
+            //璇︾粏鍦板潃
+            let address_str = address.Detailed_Address__c.trim();addressAwsData
+            let cityName = '';//甯�
+            //甯備笉涓虹┖锛屽洜涓鸿浣跨敤 __r.Name  濡傛灉涓虹┖锛屼細鎶ラ敊
+            if(address.City__c){
+                cityName = address.City__r.Name.trim();
+                //鐪� 鍚屼笂
+                if(address.Province__c){
+                    let ProvinceCity = address.Province__r.name.trim()+cityName;
+                    //闃叉璇︾粏鍦板潃閲岄潰甯︾潃鐪佷唤鍜屽競
+                    if(address_str.indexOf(ProvinceCity) < 0){
+                        address_str = ProvinceCity + address_str;
+                    }
+                }
+            }
+            //鑱旂郴浜�
+            let contactsName = '';
+            if(address.Contacts__c){
+                contactsName = address.Contacts__r.Name;
+            }
+            //瀹㈡埛
+            let ContactPerson = '';
+            if(address.Customer__c){
+                ContactPerson = address.Customer__r.Name;
+            }
+            try{
+                //淇濆瓨鏁版嵁鍒颁慨鐞嗚〃涓�
+                let rc = new sforce.SObject('Repair__c');
+                rc.Id='{!RepairId}';
+                rc.address_Contacts__c=contactsName;
+                rc.address_ZipCode__c = address.ZipCode__c;
+                rc.address_City__c = cityName;
+                rc.address_Contacts_Name__c = ContactPerson;
+                //isUpload锛氭槸鍚︿笂浼燬AP  FSEApplyForRepairTime锛歋AP淇悊鐢宠鏃堕棿
+                if({!isUpload} && pc.SAP_Transfer_time__c){
+                    rc.Address_type__c = 'X';
+                    rc.Address_Type_Index__c = rc.Address_Type_Index__c+1;
+                }
+                rc.address_Telephone__c=address.Telephone__c;
+                rc.Detailed_Address__c=address_str;
+                
+                let UpdateRepair = function(callback){
+                    AWSService.post(staticResourceRepair.updateUrl,[{
+                        dataId:'{!pc.AWS_Data_Id__c}',
+                        addressContactsName:rc.address_Contacts_Name__c,
+                        detailedAddress:rc.Detailed_Address__c
+                    }],function(data){
+                        if(data && data.object){
+                            console.log(data);
+                            rc.address_Contacts__c = data.object[0].addressContactsName;
+                            rc.Detailed_Address__c = data.object[0].detailedAddress;
+                            UpdateSobject(staticResourceRepair,data.txId,callback);
+                        }else{
+                            alert('鏇存柊淇悊澶辫触');
+                            unblockUI();
+                        }
+                    },staticResourceRepair.token)
+                }
+                
+                //淇濆瓨鏁版嵁鍒颁繚鏈夎澶囪〃涓�
+                let UpdateAsset = function(){
+                    let ast = new sforce.SObject('Asset');
+                    ast.Id = pc.Delivered_Product__c,
+                    ast.address_Contacts__c= contactsName,
+                    ast.address_ZipCode__c = address.ZipCode__c,
+                    ast.address_City__c = cityName,
+                    ast.address_Telephone__c = address.Telephone__c,
+                    ast.address_Contacts_Name__c = ContactPerson,
+                    ast.Detailed_Address__c= address_str
+                    let result = sforce.connection.update([ast]);
+                    let b = result[0].getBoolean('success');
+                    return b;
+                }
+                
+                
+                let UpdateAddress = function(){
+                    let add = new sforce.SObject('Address__c');
+                    add.Id = address.Id;
+                    //鏈�鍚庢妸褰撳墠鏃堕棿淇濆瓨鍒板湴鍧�琛ㄤ腑锛屼綔涓洪噰鐢ㄦ椂闂�
+                    add.Using_Datetime__c = new Date();
+                    let result = sforce.connection.update([add]);
+                    let b = result[0].getBoolean('success');
+                    return b;
+                }
+                
+                UpdateAddress
+                //椤甸潰閲嶅畾鍚�
+                //return redirectPag();
+            }catch( e){
+                //澶辫触鎻愮ず
+                //ApexPages.addMessages(e);
+            }
+        }
+        //閲囩敤鎸夐挳
+        function onAdoptJs(e, address){
+            
+            //鍒ゆ柇褰撳墠淇悊鍗曟槸鍚﹀凡缁忕敵璇蜂慨鐞�
+            var uploadTime = '{!FSEApplyForRepairTime}';
+            if(uploadTime != 'null'){
+                var prompt  = '鐢变簬褰撳墠淇悊鍗曞凡鐢宠淇悊锛岃闂槸鍚﹂噰鐢ㄥ苟涓婁紶鏁版嵁鍒癝AP锛�';
+                if(confirm(prompt)){
+                    adoptSaveJs(address);
+                }
+            }else{
+                adoptSaveJs(address);
+            }
+
         }
        /* function onAdoptJs(){
             if(checkedTrue != null){
@@ -357,7 +504,12 @@
                 for(var i=0;i<tableDataStr.length;i++){
                     if(tableDataStr[i].address.AWS_Data_Id__c){
                         correct++;
-                        AWSService.queryRepair(staticResource.queryUrl,tableDataStr[i].address.AWS_Data_Id__c,tableDataStr[i].address.Id,tableDataStr[i].address.Contacts__r.AWS_Data_Id__c,searchCallBack,staticResource.token);
+                        AWSService.queryRepair(staticResource.queryUrl,
+                                                tableDataStr[i].address.AWS_Data_Id__c,
+                                                tableDataStr[i].address.Id,
+                                                tableDataStr[i].address.Contacts__r.AWS_Data_Id__c,
+                                                searchCallBack,
+                                                staticResource.token);
                     } 
                 }
                 var interval=self.setInterval(function (){
@@ -379,7 +531,6 @@
                 let queryBack = function queryBack(result) {
                     let contacts = result.object;
                     if(contacts == null){
-                        console.log('鏌ヨ鑱旂郴浜虹殑鏁版嵁 == null')
                         return;
                     }
                     for(var i=0;i<result.object.length;i++){
@@ -442,7 +593,7 @@
                 '\n閭紪: '+PIData[awsDataId].zipCode+
                 '\n璇︾粏鍦板潃: '+PIData[awsDataId].detailedAddress
             }else{
-                piInformation = '鑱旂郴浜�: '+
+                piInformation = '鑱旂郴浜�: null'+
                 '\n鐢佃瘽: '+PIData[awsDataId].telephone+
                 '\n閭紪: '+PIData[awsDataId].zipCode+
                 '\n璇︾粏鍦板潃: '+PIData[awsDataId].detailedAddress
@@ -453,12 +604,12 @@
             let y=window.event.y; 
             createDiv.style.left=x;  
             createDiv.style.top=y;  
-            createDiv.style.width = '100px';
-            createDiv.style.height = '100px';
+            createDiv.style.height='100px';  
+            createDiv.style.width='100px'; 
             createDiv.style.background="#dddddd";
             createDiv.style.position = "absolute";
             parentNode.appendChild(createDiv);  
-            parentNode.style.position = "relative";
+            parentNode.style.position = "relative";  
         }
 
         function hidePIDiv(awsDataId){
@@ -632,12 +783,12 @@
                                         <td  align="center"  style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                             <apex:outputText value="{!or.address.Address_Classification__c}" />
                                         </td>
-                                        <td align="left"  style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
+                                        <td align="left" class="Customer__c" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                             <apex:outputfield value="{!or.address.Customer__c}" />
                                         </td>
-                                        <td align="left"  style="vertical-align: inherit;border-width: 0px 1px 1px 0px;" aws-data-id="{!or.address.AWS_Data_Id__c}" >
+                                        <td align="left" class="address" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;" aws-data-id="{!or.address.AWS_Data_Id__c}">
                                             <!-- <apex:outputfield value="{!or.address.Contacts__c}" id="{!or.address.Contacts__c}_{!or.address.Id}"/> -->
-                                            <a href="#" id="{!or.address.Id}"   aws-data-id="{!or.address.Contacts__r.AWS_Data_Id__c}" onmouseover="showPIDiv('{!or.address.Id}')" onmouseout="hidePIDiv('{!or.address.Id}')">{!or.address.Contacts__r.Name}</a>
+                                            <a href="#" id="{!or.address.Id}" onmouseover="showPIDiv('{!or.address.Id}')" onmouseout="hidePIDiv('{!or.address.Id}')"  aws-data-id="{!or.address.Contacts__r.AWS_Data_Id__c}">{!or.address.Contacts__r.Name}</a>
                                         </td>
                                         <td align="left" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
                                             <apex:outputText value="{!or.address.Telephone__c}" />
@@ -661,7 +812,7 @@
                                             <apex:commandButton value=" 澶嶅埗 " onclick="onCopyJs('{!or.address.id}');return false;" style="background: #98c1fbf7;display:{!or.canCopy};"/>
                                         </td>
                                         <td align="center" style="vertical-align: inherit;width:30px;">
-                                            <apex:commandButton value=" 閲囩敤 " onclick="onAdoptJs('{!or.address.id}');return false;" style="background: #98c1fbf7;display:{!or.canAdopt};"/>
+                                            <apex:commandButton value=" 閲囩敤 " onclick="onAdoptJs(event,JSON.parse('{!or.addressJson}'));return false;" style="background: #98c1fbf7;display:{!or.canAdopt};"/>
                                         </td>
                                     </tr>
                                     <apex:variable value="{!cnt + 1}" var="cnt" />
@@ -723,6 +874,30 @@
     <apex:outputPanel id="checEventFrame">
       <script type="text/javascript">
             j$("select option[value='鍔炰簨澶�']")[1].remove();
+            let arr = [];
+            j$('td.address').each(function(i,e){
+               let did = j$(e).attr('aws-data-id');
+               if (did) {
+                   arr.push(did);
+               }
+            })
+            if (arr.length) {
+                blockme();
+                AWSService.post(staticResource.searchUrl,{
+                    dataIds:arr
+                },function(data){
+                    unblockUI();
+                    if(data && data.object && data.object.length > 0){
+                        for (let di in data.object) {
+                            if (data.object[di] && data.object[di].dataId) {
+                                addressAwsData[data.object[di].dataId] = data.object[di];
+                            }
+                        }
+                        
+                    }
+                },staticResource.token)
+            }
+            
         </script>
     </apex:outputPanel>
     <script type="javascript/text">

--
Gitblit v1.9.1