diff --git a/src/com/tenwa/channelportal/action/ContractSignAction.java b/src/com/tenwa/channelportal/action/ContractSignAction.java index 96774e819..a61e21345 100644 --- a/src/com/tenwa/channelportal/action/ContractSignAction.java +++ b/src/com/tenwa/channelportal/action/ContractSignAction.java @@ -1112,7 +1112,7 @@ public class ContractSignAction{ if ("REQUIRED".equals(signStatus)) { this.sign(tx); downloadDoc(tx); - keys.setAttributeValue("PROCESS", "4"); + keys.setAttributeValue("PROCESS", "6"); } contBom.saveObject(keys); } diff --git a/src/com/tenwa/channelportal/action/ContractSignActionTwo.java b/src/com/tenwa/channelportal/action/ContractSignActionTwo.java index 0559a761c..366f644d7 100644 --- a/src/com/tenwa/channelportal/action/ContractSignActionTwo.java +++ b/src/com/tenwa/channelportal/action/ContractSignActionTwo.java @@ -235,8 +235,8 @@ public class ContractSignActionTwo { //调用公司盖章 catu.companySealSign(SubjectId, signContractId); bo.setAttributeValue("SIGN_TYPE", "COMPLETE"); - bo.setAttributeValue("SENDPROCESS", "1"); - contBom.saveObject(bo); + bo.setAttributeValue("PROCESS", "5"); + // contBom.saveObject(bo); Map fromCondtion = new HashMap(); Map otherProperty = new HashMap(); String contractDocId = bo.getAttribute("id").toString(); @@ -252,6 +252,8 @@ public class ContractSignActionTwo { pbm.saveObject(pbo); String downloadstatus = catu.contractDownload(SubjectId, documentId, makefullPath); System.out.println("合同下载log===" + downloadstatus); + bo.setAttributeValue("PROCESS", "6"); + contBom.saveObject(bo); return "已完成"; }else{ return contractStatus; diff --git a/src_app_fresh/apx/com/amarsoft/als/apzl/apply/contract/make/service/impl/ContractMakeServiceImpl.java b/src_app_fresh/apx/com/amarsoft/als/apzl/apply/contract/make/service/impl/ContractMakeServiceImpl.java index edbf30d85..9120c7029 100644 --- a/src_app_fresh/apx/com/amarsoft/als/apzl/apply/contract/make/service/impl/ContractMakeServiceImpl.java +++ b/src_app_fresh/apx/com/amarsoft/als/apzl/apply/contract/make/service/impl/ContractMakeServiceImpl.java @@ -257,13 +257,25 @@ public class ContractMakeServiceImpl implements ContractMakeService{ ContractSignAction csa = new ContractSignAction(); csa.setProjectId(flowParms.get("ProjectId")); - String checkFile = this.checkFile(csa, tx); - if(!"success".equals(checkSign)){ + //String checkFile = this.checkFile(csa, tx); + if(!"DRAFT".equals(checkSign)){ + String message = ""; body.put("status", "01"); - body.put("message", checkSign); - }else if(!"success".equals(checkFile)){ - body.put("status", "01"); - body.put("message", checkFile); + switch (checkSign) { + case "NOTCONTRACT": + message = "请先生成合同!"; + break; + case "SIGNING": + message = "电子签约已发起!"; + break; + case "COMPLETE": + message = "电子签约已完成!"; + break; + default: + message = "未查询到对应信息!"; + break; + } + body.put("message", message); }else{ String signIng = ""; String operationType = flowParms.get("operationType"); @@ -333,9 +345,25 @@ public class ContractMakeServiceImpl implements ContractMakeService{ return ReturnMapUtil.getReturnMap(); } String checkSign = this.checkSign(flowParms,"sendMessageAgain", tx); - if(!"success".equals(checkSign)){ + if(!"SIGNING".equals(checkSign)){ body.put("status", "01"); - body.put("message", checkSign); + String message = ""; + body.put("status", "01"); + switch (checkSign) { + case "NOTCONTRACT": + message = "请先生成合同!"; + break; + case "DRAFT": + message = "电子签约未发起!"; + break; + case "COMPLETE": + message = "电子签约已完成!"; + break; + default: + message = "未查询到对应信息!"; + break; + } + body.put("message", message); }else{ String sendMessageAgain = ""; String operationType = flowParms.get("operationType"); @@ -382,9 +410,25 @@ public class ContractMakeServiceImpl implements ContractMakeService{ return ReturnMapUtil.getReturnMap(); } String checkSign = this.checkSign(flowParms,"queryAgain", tx); - if(!"success".equals(checkSign)){ + if(!"SIGNING".equals(checkSign)){ body.put("status", "01"); - body.put("message", checkSign); + String message = ""; + body.put("status", "01"); + switch (checkSign) { + case "NOTCONTRACT": + message = "请先生成合同!"; + break; + case "DRAFT": + message = "电子签约未发起!"; + break; + case "COMPLETE": + message = "电子签约已完成!"; + break; + default: + message = "未查询到对应信息!"; + break; + } + body.put("message", message); }else{ String contractSignStatus = ""; String operationType = flowParms.get("operationType"); @@ -421,27 +465,14 @@ public class ContractMakeServiceImpl implements ContractMakeService{ //校验发起电子签约条件 public String checkSign(Map flowParms,String signType,JBOTransaction tx) throws Exception{ - String message = "success"; - ContractAward ca = new ContractAward(); - ca.setProject_id(flowParms.get("ProjectId")); - ca.setFlowUnid(flowParms.get("FlowUnid")); - String projectStatus = ca.projectStatus(tx); - String[] result = projectStatus.split("@"); - String status = result[0]; - if("true".equals(result[3])){ - message = "请先生成pdf版的合同!!!"; - }else if(status!=null && !status.equals("null") && status.length()>0 && new Integer(status) > 4 &&new Integer(status) < 7 ){ - message = "合同状态为:"+result[1]+"不可以电子签章"; - }else if (("sendMessageAgain".equals(signType)||"queryAgain".equals(signType)) && new Integer(status) == 2){ - message = "电子签约未发起,无法查询或短信重发!"; + BizObjectManager ldclBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME,tx); + BizObject ldclBo = ldclBom.createQuery("project_id='"+flowParms.get("ProjectId")+"' and file_flag='yes' and sendprocess='1'").getSingleResult(false); + if(ldclBo==null){ + return "NOTCONTRACT"; + }else{ + return ldclBo.getAttribute("sign_type").toString(); } - if("4".equals(status)){ - message = "电子签约已完成"; - }; - if("8".equals(status) && "initiateSign".equals(signType)){ - message = "电子签约已发起,请签署电子合同!"; - }; - return message; + } @Override public Map getContractChangeNumber(