更新扣款卡信息变更发起电子签约
This commit is contained in:
parent
6a2d2b708f
commit
81d7d693fe
@ -20,15 +20,20 @@
|
||||
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格
|
||||
String sButtons[][] = {
|
||||
{"true","All","Button","生成模板","生成模板","generatepdf()","","","",""},
|
||||
{"true","All","Button","发起电子签约","查看/修改详情","stamp()","","","",""},
|
||||
{"true","All","Button","查询签约结果","查看/修改详情","","","","",""},
|
||||
{"true","All","Button","重新发送短息","查看/修改详情","","","","","btn_icon_refresh"},
|
||||
{"true","All","Button","发起电子签约","发起电子签约","stamp()","","","",""},
|
||||
{"true","All","Button","查询签约结果","查询签约结果","getStatus()","","","",""},
|
||||
{"true","All","Button","重新发送短息","重新发送短息","sendMessageAgain()","","","","btn_icon_refresh"},
|
||||
};
|
||||
//sButtonPosition = "north";
|
||||
%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
|
||||
<script type="text/javascript">
|
||||
|
||||
function generatepdf(){
|
||||
var results = RunJavaMethodTrans("com.tenwa.action.channelportal.businesshanding.contractaward.ContractAward","selectStatus","FlowUnid="+"<%=flowunid%>"+",contract_id="+"<%=contractid%>");
|
||||
if("1"!=results || "2"!=results){
|
||||
alert("已发起电子签约,无法再次生成扣款书!!!");
|
||||
return ;
|
||||
}
|
||||
var param={};
|
||||
var tempParam={};
|
||||
var sparam="";
|
||||
@ -56,16 +61,62 @@
|
||||
}
|
||||
|
||||
function stamp(){
|
||||
var results = RunJavaMethodTrans("com.tenwa.action.channelportal.businesshanding.contractaward.ContractAward","selectStatus","FlowUnid="+"<%=flowunid%>"+",contract_id="+"<%=contractid%>");
|
||||
if("1"==results){
|
||||
alert("请先生成扣款书!!!");
|
||||
return ;
|
||||
}else if("2"!=results){
|
||||
alert("已发起电子签约,无需重复发起!!!");
|
||||
return ;
|
||||
}
|
||||
var result=RunJavaMethodTrans("com.tenwa.channelportal.action.ContractSignAction","changeCarSignA","FlowUnid="+"<%=flowunid%>"+",contract_id="+"<%=contractid%>"+",flagType=changeCar");
|
||||
if("success"==result){
|
||||
alert("发起电子签约成功!!!");
|
||||
location.reload();
|
||||
}else{
|
||||
alert("发起电子签约失败!!!");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//查询电子签约状态
|
||||
function getStatus(){
|
||||
var results = RunJavaMethodTrans("com.tenwa.action.channelportal.businesshanding.contractaward.ContractAward","selectStatus","FlowUnid="+"<%=flowunid%>"+",contract_id="+"<%=contractid%>");
|
||||
if("1"==results || "2"==results){
|
||||
alert("请先发起电子签约!!!");
|
||||
return ;
|
||||
}
|
||||
if("4"==results){
|
||||
alert("电子签约已完成!!!");
|
||||
return ;
|
||||
}
|
||||
var sParams="FlowUnid="+"<%=flowunid%>"+",contract_id="+"<%=contractid%>";
|
||||
var sReturn=RunJavaMethodTrans("com.tenwa.channelportal.action.ContractSignAction","changeCarSignStatus",sParams);
|
||||
AsDebug.showMessage("提示",sReturn,"","",true,'','','',function(){
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//重新发送短信
|
||||
function sendMessageAgain(){
|
||||
var results = RunJavaMethodTrans("com.tenwa.action.channelportal.businesshanding.contractaward.ContractAward","selectStatus","FlowUnid="+"<%=flowunid%>"+",contract_id="+"<%=contractid%>");
|
||||
if("1"==results || "2"==results){
|
||||
alert("请先发起电子签约!!!");
|
||||
return ;
|
||||
}
|
||||
if("4"==results){
|
||||
alert("已完成电子签约,无法重新发送短信!!!");
|
||||
return ;
|
||||
}
|
||||
var sParams="FlowUnid="+"<%=flowunid%>"+",contract_id="+"<%=contractid%>";
|
||||
var sReturn = RunJavaMethodTrans("com.tenwa.channelportal.action.ContractSignAction","ChangesendMessageAgain",sParams);
|
||||
if("success"==sReturn){
|
||||
AsDebug.showMessage("提示","短信发送成功!","","",true);
|
||||
}else{
|
||||
AsDebug.showMessage("提示","短信发送失败!["+sReturn+"]","","",true);
|
||||
}
|
||||
}
|
||||
|
||||
//在加载完表格后调用
|
||||
function afterSearch(){
|
||||
for(var i=0;i<getRowCount(0);i++){
|
||||
|
||||
@ -1078,6 +1078,82 @@ public class ContractSignAction{
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取扣款卡信息变革电子签约状态
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public String changeCarSignStatus(JBOTransaction tx) throws Exception {
|
||||
requestService = (HttpRequestAppService) factory.create(HttpRequestAppService.class, this.getConfigRequestUrl());
|
||||
BizObjectManager clBom = JBOFactory.getBizObjectManager(CODE_LIBRARY.CLASS_NAME, tx);
|
||||
BizObjectManager ldlMange = JBOFactory.getBizObjectManager(LB_DOCLIBRARY.CLASS_NAME, tx);
|
||||
BizObjectManager ldMange = JBOFactory.getBizObjectManager(LB_DOCRELATIVE.CLASS_NAME, tx);
|
||||
BizObjectManager lulMange = JBOFactory.getBizObjectManager(LB_UNION_LESSEE.CLASS_NAME, tx);
|
||||
BizObjectManager ldaMange = JBOFactory.getBizObjectManager(LB_DOCATTRIBUTE.CLASS_NAME, tx);
|
||||
BizObject lul = lulMange.createQuery("CONTRACT_ID=:contractid").setParameter("contractid",contract_id).getSingleResult(false);
|
||||
String status = "";
|
||||
String peopleStatus="";
|
||||
String sql = "OBJECTTYPE='ChangeCar' and FLOW_UNID=:flowunid and CONTRACT_ID=:contractid ";
|
||||
@SuppressWarnings("unchecked")
|
||||
BizObject ldb = ldMange.createQuery(sql).setParameter("flowunid",FlowUnid).setParameter("contractid",contract_id).getSingleResult(true);
|
||||
BizObject lda = null;
|
||||
if (ldb != null) {
|
||||
boolean flag = true;
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
|
||||
map.put(ldb.getAttribute("TEMPLATE_ID").toString(),lul.getAttribute("CUSTOMER_NAME").toString());
|
||||
|
||||
for (String key : map.keySet()) {
|
||||
try {
|
||||
String signStatu = requestService.getContractSignStatus(key);
|
||||
int index = signStatu.indexOf("$");
|
||||
String signStatus = signStatu.substring(0, index);
|
||||
peopleStatus = signStatu.substring(index+1);
|
||||
String signStatusName =
|
||||
clBom.createQuery("itemno='" + signStatus + "'").getSingleResult(false).getAttribute("itemname").toString();
|
||||
BizObject ldl = ldlMange.createQuery("RELATIVE_ID=:relativeid").setParameter("relativeid", ldb.getAttribute("ID").getString()).getSingleResult(false);
|
||||
lda = ldaMange.createQuery("LIBRARY_ID=:libraryid").setParameter("libraryid", ldl.getAttribute("ID").getString()).getSingleResult(true);
|
||||
if (signStatu.indexOf("已签署")>0) {
|
||||
signStatus = "REQUIRED";
|
||||
}else{
|
||||
flag = false;
|
||||
}
|
||||
if ("REQUIRED".equals(signStatus)) {
|
||||
status += ";<br>客户" + map.get(key) + "签约状态:已签名";
|
||||
} else {
|
||||
status += ";<br>客户" + map.get(key) + "签约状态:" + signStatusName;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return "获取签约状态失败!";
|
||||
}
|
||||
}
|
||||
// 合同签约已完成
|
||||
if (flag) {
|
||||
lda.setAttributeValue("REMARK", "COMPLETE");// 状态改成已完成电子签约
|
||||
ldaMange.saveObject(lda);
|
||||
status = ";<br>已经完成电子签约";
|
||||
changedownloadDoc(tx);
|
||||
}
|
||||
}
|
||||
|
||||
if (status.length() < 1) {
|
||||
return "获取签约状态失败,没有合同文件";
|
||||
} else {
|
||||
status = status.substring(5);
|
||||
String[] peopleStat = peopleStatus.split(",");
|
||||
if(peopleStat.length>1){
|
||||
status = status+"<br>";
|
||||
for(int i=0;i<peopleStat.length;i++){
|
||||
String[] stat = peopleStat[i].split("@");
|
||||
status = status+stat[0]+":"+stat[1]+";";
|
||||
}
|
||||
}
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取电子签约状态
|
||||
*待完善
|
||||
@ -1207,6 +1283,62 @@ public class ContractSignAction{
|
||||
return "success";
|
||||
}
|
||||
|
||||
/**
|
||||
* 扣款卡信息变更根据document_id下载合同
|
||||
*
|
||||
* @param tx
|
||||
* @return
|
||||
* @throws Exception
|
||||
* @throws MalformedURLException
|
||||
*/
|
||||
public String changedownloadDoc(JBOTransaction tx) throws MalformedURLException, Exception {
|
||||
requestService = (HttpRequestAppService) factory.create(HttpRequestAppService.class, this.getConfigRequestUrl());
|
||||
BizObjectManager ldMange = JBOFactory.getBizObjectManager(LB_DOCRELATIVE.CLASS_NAME, tx);
|
||||
String sql = "OBJECTTYPE='ChangeCar' and FLOW_UNID=:flowunid and CONTRACT_ID=:contractid ";
|
||||
@SuppressWarnings("unchecked")
|
||||
BizObject ldb = ldMange.createQuery(sql).setParameter("flowunid",FlowUnid).setParameter("contractid",contract_id).getSingleResult(true);
|
||||
BizObjectManager clBom = JBOFactory.getBizObjectManager(LB_DOCLIBRARY.CLASS_NAME, tx);
|
||||
try {
|
||||
if (ldb != null) {
|
||||
BizObject ldl = clBom.createQuery("RELATIVE_ID=:relativeid").setParameter("relativeid", ldb.getAttribute("ID").getString()).getSingleResult(false);
|
||||
BizObjectManager ldaMange = JBOFactory.getBizObjectManager(LB_DOCATTRIBUTE.CLASS_NAME, tx);
|
||||
BizObject lda = ldaMange.createQuery("LIBRARY_ID=:libraryid").setParameter("libraryid", ldl.getAttribute("ID").getString()).getSingleResult(false);
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
map.put(ldl.getAttribute("REMARK").toString(), lda.getAttribute("FULLPATH").toString());
|
||||
Map<String, String> result = requestService.downloadDoc(map);
|
||||
if (!result.containsKey("error")) {
|
||||
for (String contractId : map.keySet()) {
|
||||
try {
|
||||
if ("success".equals(result.get(contractId))) {
|
||||
String fileString = result.get("file_" + contractId);
|
||||
InputStream fileInput = BASE64.encodeFileToBase64(fileString);
|
||||
OutputStream fileOut = new FileOutputStream(map.get(contractId));// TODO
|
||||
byte[] buffByte = new byte[1024];
|
||||
int size = 0;
|
||||
while ((size = fileInput.read(buffByte)) != -1) {
|
||||
fileOut.write(buffByte, 0, size);
|
||||
}
|
||||
fileInput.close();
|
||||
fileOut.close();
|
||||
} else if ("error".equals(result.get(contractId))) {
|
||||
return "error";
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
}
|
||||
}
|
||||
return "success";
|
||||
} else {
|
||||
return "error";
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return "error";
|
||||
}
|
||||
return "success";
|
||||
}
|
||||
|
||||
//扣款卡变更下载合同
|
||||
public String downloadDocContract(JBOTransaction tx) throws MalformedURLException, Exception {
|
||||
requestService = (HttpRequestAppService) factory.create(HttpRequestAppService.class, this.getConfigRequestUrl());
|
||||
@ -1803,6 +1935,52 @@ public String sendMessageAgain(JBOTransaction tx) {
|
||||
return "error";
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 扣款卡信息变更重新发送短信
|
||||
* */
|
||||
public String ChangesendMessageAgain(JBOTransaction tx) {
|
||||
try{
|
||||
requestService = (HttpRequestAppService) factory.create(HttpRequestAppService.class, this.getConfigRequestUrl());
|
||||
List<BizObject> bo = null;
|
||||
String file = new String();
|
||||
Map<String,String> contractmap = new HashMap<String,String>();
|
||||
List<String> list = new ArrayList<String>();
|
||||
BizObjectManager ldMange = JBOFactory.getBizObjectManager(LB_DOCRELATIVE.CLASS_NAME, tx);
|
||||
String status = "";
|
||||
String peopleStatus="";
|
||||
String sql = "OBJECTTYPE='ChangeCar' and FLOW_UNID=:flowunid and CONTRACT_ID=:contractid ";
|
||||
@SuppressWarnings("unchecked")
|
||||
BizObject ldb = ldMange.createQuery(sql).setParameter("flowunid",FlowUnid).setParameter("contractid",contract_id).getSingleResult(true);
|
||||
if(ldb!=null){
|
||||
String singcontractid = ldb.getAttribute("TEMPLATE_ID").toString();
|
||||
contractmap.put(singcontractid, "直租个人授权协议书.pdf");
|
||||
}
|
||||
list.addAll(contractmap.keySet());
|
||||
Map<String,String> map = requestService.sendNotice(list);
|
||||
if(!map.containsKey("error")){
|
||||
return "success";
|
||||
}else{
|
||||
for(String singcontractid:map.keySet()){
|
||||
String sendStatus = map.get(singcontractid);
|
||||
if("2"==sendStatus){
|
||||
file += contractmap.get(singcontractid)+";";
|
||||
}
|
||||
}
|
||||
return file;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
tx.rollback();
|
||||
} catch (JBOException e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e.printStackTrace();
|
||||
return "error";
|
||||
}
|
||||
}
|
||||
|
||||
public String getProcess(JBOTransaction tx){
|
||||
try {
|
||||
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME,tx);
|
||||
@ -2076,13 +2254,15 @@ public String claimSign(JBOTransaction tx) throws Exception {
|
||||
for (String key : resultMap.keySet()) {
|
||||
if (key.indexOf("contract_") == -1) {
|
||||
// DOCRELATIVE.setAttributeValue("SINGCONTRACT_ID",resultMap.get("contract_" + key));
|
||||
DOCRELATIVE.setAttributeValue("TEMPLATE_ID", resultMap.get(key));
|
||||
library.setAttributeValue("REMARK", "SIGNING");
|
||||
DOCRELATIVE.setAttributeValue("TEMPLATE_ID", resultMap.get("contract_" + key));
|
||||
library.setAttributeValue("REMARK",resultMap.get(key));
|
||||
bo.setAttributeValue("REMARK","SIGNING");
|
||||
contract_id = resultMap.get(key);
|
||||
}
|
||||
}
|
||||
bom.saveObject(DOCRELATIVE);
|
||||
bom1.saveObject(library);
|
||||
contBom.saveObject(bo);
|
||||
tx.commit();
|
||||
} else {
|
||||
return "error";
|
||||
|
||||
@ -8,6 +8,7 @@ import java.util.Map;
|
||||
import jbo.app.tenwa.calc.LC_PROJ_CONDITION;
|
||||
import jbo.app.tenwa.doc.LB_DOCATTRIBUTE;
|
||||
import jbo.app.tenwa.doc.LB_DOCLIBRARY;
|
||||
import jbo.app.tenwa.doc.LB_DOCRELATIVE;
|
||||
import jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST;
|
||||
import jbo.com.tenwa.lease.carbrand.BUSINESS_STATUS;
|
||||
import jbo.com.tenwa.lease.carbrand.VI_CONTRACTMAKEPRINTLIST;
|
||||
@ -562,4 +563,28 @@ public String setProjectStatus(JBOTransaction tx) throws Exception{
|
||||
}
|
||||
return "success";
|
||||
}
|
||||
|
||||
public String selectStatus(JBOTransaction tx) throws Exception{
|
||||
BizObjectManager ldrManage = JBOFactory.getBizObjectManager(LB_DOCRELATIVE.CLASS_NAME, tx);
|
||||
BizObjectManager ldlManage = JBOFactory.getBizObjectManager(LB_DOCLIBRARY.CLASS_NAME, tx);
|
||||
BizObjectManager ldaManage = JBOFactory.getBizObjectManager(LB_DOCATTRIBUTE.CLASS_NAME, tx);
|
||||
BizObject ldr = ldrManage.createQuery("OBJECTTYPE='ChangeCar' and FLOW_UNID=:flowunid and CONTRACT_ID=:contractid ").setParameter("flowunid",FlowUnid).setParameter("contractid",contract_id).getSingleResult(false);
|
||||
if(ldr != null){
|
||||
String singID = ldr.getAttribute("TEMPLATE_ID").getString();
|
||||
if(singID.length()>0){
|
||||
BizObject ldl = ldlManage.createQuery("RELATIVE_ID=:relativeid").setParameter("relativeid", ldr.getAttribute("ID").getString()).getSingleResult(false);
|
||||
BizObject lda = ldaManage.createQuery("LIBRARY_ID=:libraryid").setParameter("libraryid", ldl.getAttribute("ID").getString()).getSingleResult(false);
|
||||
String singStatus = lda.getAttribute("REMARK").getString();
|
||||
if("SIGNING".equals(singStatus)){
|
||||
return "3";
|
||||
}else{
|
||||
return "4";
|
||||
}
|
||||
}else{
|
||||
return "2";
|
||||
}
|
||||
}else{
|
||||
return "1";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user