diff --git a/src_cmb/com/tenwa/sdk/controller/CmbToCallbackController.java b/src_cmb/com/tenwa/sdk/controller/CmbToCallbackController.java index c3f330079..80745cbf1 100644 --- a/src_cmb/com/tenwa/sdk/controller/CmbToCallbackController.java +++ b/src_cmb/com/tenwa/sdk/controller/CmbToCallbackController.java @@ -11,6 +11,7 @@ import com.amarsoft.are.jbo.BizObjectQuery; import com.amarsoft.are.jbo.JBOException; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.are.jbo.JBOTransaction; +import com.amarsoft.are.util.StringFunction; import com.tenwa.flow.action.comm.BaseFlowStartAction; import com.tenwa.sdk.VO.SDKCheckCallBackVO; import com.tenwa.sdk.VO.SDKCheckCallDetail; @@ -21,11 +22,13 @@ import com.tenwa.sdk.utils.HttpRequest; import com.tenwa.sdk.utils.XMLStream; import com.thoughtworks.xstream.XStream; +import jbo.com.tenwa.lease.carbrand.BUSINESS_STATUS; import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO; import jbo.app.tenwa.calc.LC_FUND_INCOME_TEMP; import jbo.com.tenwa.entity.comm.own.OWN_ACCOUNT; import jbo.com.tenwa.lease.comm.LC_FUND_INCOME_CALLBACK_DETAIL_TEMP; import net.sf.json.JSONObject; +import com.amarsoft.context.ASUser; public class CmbToCallbackController extends BaseFlowStartAction { private String FLOWUNID ; //流程号 @@ -156,6 +159,8 @@ public class CmbToCallbackController extends BaseFlowStartAction { sql1 = "update O set O.EBANK_STATUS='04' where O.FLOWUNID='"+FLOWUNID+"'"; } JBOFactory.createBizObjectQuery(LC_FUND_INCOME_TEMP.CLASS_NAME,sql1).executeUpdate(); + //保存项目进度表 + saveBusinessStatus(FLOWUNID); } map.put("code", "0") ; map.put("msg", "查询结果刷新成功") ; @@ -184,10 +189,65 @@ public class CmbToCallbackController extends BaseFlowStartAction { return jsonObj.toString(); } } + public void sql() throws JBOException{ String sql2 = "update O left join jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO lci on lci.id=O.contract_id" +" left join jbo.com.tenwa.lease.comm.LC_FUND_INCOME_CALLBACK_DETAIL_TEMP tt on tt.DISTRIBUTOR_ID=lci.distributor_id" +" and O.FLOWUNID=tt.FLOWUNID set O.EBANK_STATUS=case when tt.RTNFLG='S' then '05' else '04' end where O.FLOWUNID='"+FLOWUNID+"'" ; JBOFactory.createBizObjectQuery(LC_FUND_INCOME_TEMP.CLASS_NAME,sql2).executeUpdate(); } + /** + * 将银行返回的结果保存项目进度表 + * 放款成功和放款失败 + */ + private void saveBusinessStatus(String flowuid) { + + try { + List successList = JBOFactory.createBizObjectQuery(LC_FUND_INCOME_TEMP.CLASS_NAME, "flowunid=:flowunid").setParameter("flowunid", flowuid).getResultList(false); + if(successList!=null && successList.size()>0) { + + for (BizObject bizObject : successList) { + String EBANK_STATUS = bizObject.getAttribute("EBANK_STATUS").toString(); + if(!(EBANK_STATUS==null || "".equals(EBANK_STATUS))){ + String projectId = bizObject.getAttribute("project_id").toString(); + BizObject contractInfo = JBOFactory.createBizObjectQuery(LB_CONTRACT_INFO.CLASS_NAME, "project_id=:project_id").setParameter("project_id", projectId).getSingleResult(false); + String contract_number = contractInfo.getAttribute("contract_number").toString(); + if("05".equals(EBANK_STATUS)){ + save(contract_number,"31"); + }else if("04".equals(EBANK_STATUS)){ + save(contract_number,"32"); + } + } + } + + } + } catch (JBOException e) { + e.printStackTrace(); + } + } + /** + * 入项目进度表 + * @param contractNumber + * @param status + */ + private void save(String contractNumber,String status) { + JBOTransaction tx = null; + ASUser asUser = null; + BizObjectManager bsbom; + try { + bsbom = JBOFactory.getBizObjectManager(BUSINESS_STATUS.CLASS_NAME,tx); + BizObject bsbo = bsbom.newObject(); + + bsbo.setAttributeValue(BUSINESS_STATUS.contract_number,contractNumber); + bsbo.setAttributeValue(BUSINESS_STATUS.business_status, status); + bsbo.setAttributeValue(BUSINESS_STATUS.inputuserid,asUser.getUserID()); + bsbo.setAttributeValue(BUSINESS_STATUS.inputtime,StringFunction.getTodayNow()); + bsbo.setAttributeValue(BUSINESS_STATUS.inputorgid,asUser.getOrgID()); + bsbom.saveObject(bsbo); + } catch (JBOException e) { + e.printStackTrace(); + } + + } + }