星期三, 8月 01, 2018

[技術文件]WEB 挑選會簽人員後送會簽關卡範例CODE

print("會簽 seletion.");
var viewPanel = getComponent("viewPanel1");
var docIDArray = viewPanel.getSelectedIds();
getComponent("inputText1").setValue(docIDArray.length);
try {
    if (docIDArray.length == 0 ){
     
      getComponent("inputText1").setValue("請選取一份");
      view.postScript("alert('請選取一員');")
      return false;
    }
     if (docIDArray.length > 1 ){
      //alert("請選取一份");  前端
      getComponent("inputText1").setValue("請選取一份");
      view.postScript("alert('請選取一員');")
      return false;
    }
    print(docIDArray[0]);
    if (getComponent("Comment").getValue() == ""){
    getComponent("inputText1").setValue("請輸入理由");
    view.postScript("alert('請輸入理由');")
      return false;
    }
    var empDB:NotesDatabase = session.getDatabase("","GroupSystem\\GroupEmpHR.nsf");
    if (empDB == null){
       print("empDB == null");
       return false;
    }
    else{
    var empdoc:Notesdocument = empDB.getDocumentByID(docIDArray[0]);  // :Notesdocument
  print(empdoc.getItemValueString("EmpCName"));
    print(getComponent("CurDocID").getValue());
if (getComponent("CurDocID").getValue() != ""){  //有紀錄原始文件ID
var currdoc:Notesdocument=database.getDocumentByUNID(getComponent("CurDocID").getValue());
if (currdoc == null) {
print("currdoc == null");
}
else{
currdoc.replaceItemValue("CountersignCode",empdoc.getItemValueString("EmpCode"));
currdoc.replaceItemValue("CountersignName",empdoc.getItemValueString("EmpCName"));
currdoc.replaceItemValue("Countersign",empdoc.getItemValueString("EmpNotesID"));
currdoc.save();
print("currdoc.save()");
// 以下為簽閱的CODE
var tmpdoc = database.createDocument();   //建立暫存文件
//view.postScript('alert("'+getComponent('ChoiceOSValue').getValue()+'")')
//print (getComponent("SignComment").getValue());
//$("[name$='ApprovalChoiceOSBT']:checked").val()
//view.postScript("$(\"[id$='BSbutton']\").click()");
//return false;
tmpdoc.replaceItemValue("Form","fTempSign");
print(currdoc.getItemValueString("InstanceOS"));
//tmpdoc.replaceItemValue("DocNo",getComponent("InstanceOS").getValue());
tmpdoc.replaceItemValue("DocNo",currdoc.getItemValueString("InstanceOS"));
tmpdoc.replaceItemValue("SignUser",@Name("[CN]",session.getEffectiveUserName()));
//tmpdoc.replaceItemValue("APPROVALALT",getComponent("ChoiceOSValue").getValue());
tmpdoc.replaceItemValue("APPROVALALT","會簽請求");
print(currdoc.getItemValueString("SignComment"));  // For Debug
tmpdoc.replaceItemValue("SignComment",currdoc.getItemValueString("SignComment"));
var agentName:String="XpageSign";
//tmpdoc.replaceItemValue("MDocUnid",getComponent("BinderDocIDOS").getValue());
//print(currdoc.getItemValueString("BinderDocIDOS"));
tmpdoc.replaceItemValue("MDocUnid",currdoc.getItemValueString("BinderDocIDOS"));

//tmpdoc.replaceItemValue("DeleteFlag","1");
tmpdoc.save();
var NoteID:string = tmpdoc.getNoteID();
tmpdoc.recycle();
print("doc.recycle()");
//Delete tmpdoc   '此行若不加的話,後續RunOnServer 後會無法再次取得tmpdoc

var agent:NotesAgent = database.getAgent(agentName);
if(agent.runOnServer(NoteID) == 0){
//agent.run(NoteID);
var tmpdoc:NotesDocument = database.getDocumentByID(NoteID);
if (tmpdoc!=null){
if (tmpdoc.getItemValueString('IsNoWrite')== "1"){
view.postScript("alert('沒有選擇任何決定');");
}else{
view.postScript("top.location.replace('HomePage.xsp');");
//context.redirectToHome();
  }
}

}else{
view.postScript("alert(agent.Name + '程式無法執行完成,請檢查,謝謝!!');");
}

}
}
}
print("parent.location.reload();");
    //view.postScript("window.parent.$('.modal').modal('hide');");
//view.postScript("parent.location.reload();");
} catch (e) {
getComponent("inputText1").setValue(e.toString());
    print("Error:" + e.toString());
    view.postScript("alert('Error:' + e.toString());")
}

沒有留言: