binxie
2024-01-16 4d3febe8045eb0fa0283af3c53b0c48344b8664d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?xml version="1.0" encoding="UTF-8"?>
<WebLink xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>upload_To_Recognition_Model_new</fullName>
    <availability>online</availability>
    <displayType>button</displayType>
    <linkType>javascript</linkType>
    <masterLabel>上传认款合同</masterLabel>
    <openType>onClickJavaScript</openType>
    <protected>false</protected>
    <url>{!RequireScript(&quot;/soap/ajax/51.0/connection.js&quot;)}
{!RequireScript(&quot;/soap/ajax/51.0/apex.js&quot;)}
{!RequireScript(&quot;/resource/CommonUtilJs&quot;)}
//zhangzhengmei 2023/06/28 start
var executeFoo = function() {
 
    var mcpid = &apos;{!MaintanceContractPack__c.Id}&apos;;
    console.log(&apos;mcpid =&apos;+mcpid);
    var sql = &quot;select Id,Name,Decided_Estimation__c,Contract_quotation_or_not__c,Maintenance_Contract_No__c,upload_to_sap_time__c,upload_to_RM_time__c,old_Is_RecognitionModel__c,Payment_Plan_Sum_First__c from Maintenance_Contract__c where MaintanceContractPack__c=&apos;&quot; + mcpid + &quot;&apos;&quot;;
    var sqlResult = sforce.connection.query(sql);
    var records = sqlResult.getArray(&quot;records&quot;);
    var msg = &apos;&apos;;
    for(var i=0;i&lt;records.length;i++) {
        j = i+1;
        var fooResult = foo(records[i]);
        if(fooResult != &apos;1&apos;) {
            msg += &apos;【&apos;+j+&apos;】&apos;+records[i].Name+&apos;: &apos; + foo(records[i]) +&apos;\n&apos;;
            console.log(msg);
            console.log(&apos;record&apos;+i+records[i]);
        }
        
    }
    if(msg ) {
        alert(msg);
        return;
    }
    
    if(!confirm(&apos;请确认是否要上传认款合同。&apos;)){
        return;
    }
    for(var i=0;i&lt;records.length;i++) {
        var rst = up2sapJs( records[i].Id);
        if(rst!=&apos;1&apos;) {
            alert(&apos;上传认款合同失败&apos;);
            return;
        }
    }
    alert(&apos;上传认款合同成功&apos;);
 
}
executeFoo();
function foo(mc){
    var resultMsg = &apos;&apos;;
    // var resultMsg = &apos;【&apos;+mc.Name+&apos;】&apos;;
    if(mc.Contract_quotation_or_not__c == &apos;还没做报价&apos;){
        resultMsg +=&quot;您还没有做合同报价,不能上传认款合同。&quot;;
        return resultMsg ;
    }else if(!mc.Decided_Estimation__c) {
        resultMsg += &apos;合同报价还没有decide,不能上传认款合同。&apos;;
        return resultMsg ;
    }else if (mc.Maintenance_Contract_No__c==&apos;&apos; || mc.Maintenance_Contract_No__c==null) {
        resultMsg +=&quot;合同号码为空,不能上传认款合同。&quot;;
        return resultMsg ;
    }else if (mc.upload_to_sap_time__c != &apos;&apos; &amp;&amp; mc.upload_to_sap_time__c != null) {
        resultMsg +=&quot;已经上传SAP,不能再次上传认款合同。&quot;;
        return resultMsg ;
    }else if(mc.upload_to_RM_time__c != &apos;&apos; &amp;&amp; mc.upload_to_RM_time__c != null){
        resultMsg +=&quot;已经上传认款合同,不能再次上传认款合同。&quot;;
        return resultMsg ;
    }else{
        if(mc.old_Is_RecognitionModel__c==&apos;false&apos; || mc.old_Is_RecognitionModel__c==false){
            resultMsg +=&quot;经销商为空或经销商不是先款对象,不需要上传认款合同。&quot;;
            return resultMsg ;
        }else if(mc.Payment_Plan_Sum_First__c == &apos;&apos; || mc.Payment_Plan_Sum_First__c == null ){
            resultMsg +=&quot;第一次计划付款金额不能为空。&quot;;
            return resultMsg ;
        }else{
            return &apos;1&apos;;
 
 
        }
    }
    return resultMsg;
}
function up2sapJs (mcid) {
   sforce.connection.sessionId = &apos;{!$Api.Session_ID}&apos;;
   var resultMsg  = &apos;1&apos;;
   var result = sforce.apex.execute(&quot;MaintenanceContractSetColunmWebService&quot;,&quot;updateColunm&quot;,{mcid: mcid});
   if (result != &apos;1&apos;){
        resultMsg = &apos;2&apos;;
        return resultMsg  ;
    //&quot;上传认款合同失败,因为 来年合同相关信息修改失败&quot;;
    }
     //上传认款合同
    var rtn = sforce.apex.execute(&quot;MaintenanceContractWebService&quot;, &quot;up2sap&quot;, {mcid: mcid});
    if (rtn == &apos;1&apos;) {
        resultMsg =&quot;1&quot;;
    } else {
     resultMsg =&apos;3&apos;;
    }
    return resultMsg ;
}
 
 
//zhangzhengmei 2023/06/28 end</url>
</WebLink>