package com.ample.icms.util; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.amarsoft.are.jbo.JBOException; import com.amarsoft.are.jbo.JBOTransaction; import com.amarsoft.awe.util.ASResultSet; import com.amarsoft.awe.util.SqlObject; import com.amarsoft.awe.util.Transaction; import java.sql.SQLException; public class GetInfoUtil { private String flowUnid; private String projectId; private String projectNo; private String contractId; private String productId; private String flowNo; private String sTable; /** * 根据流程ID获取appCode和appName * * @return * @throws Exception */ public String getAppInfoByFlowUnidRJM() throws Exception { return getAppInfoByFlowUnid(this.flowUnid); } public String getAppInfoByFlowUnid(String flowUnid) throws Exception { Transaction Sqlca = Transaction.createTransaction("als"); String projectNo = this.getProjectNoByFlowUnid(flowUnid, Sqlca); if (projectNo == null || "".equals(projectNo)) { return "0000@未找到当前流程对应的项目编号"; } String flowNo = this.getFlowNoByFlowUnid(flowUnid, Sqlca); if (flowNo == null || "".equals(flowNo)) { return "0000@未找到当前流程对应的流程编号"; } String appInfo = getAppInfoByProjectNo(projectNo, flowNo, Sqlca); if(appInfo==null||appInfo.contains("0000@")){ String productId = getProductIdByFlowUnid(flowUnid, Sqlca); appInfo = this.getAppInfoByProductId(productId, flowNo, Sqlca); } if (Sqlca != null) { Sqlca.commit(); } return appInfo; } /** * 根据项目编号和流程编号获取appCode和appName * * @return * @throws SQLException */ public String getAppInfoByProjectNoRJM() throws SQLException, JBOException { return getAppInfoByProjectNo(this.projectNo, this.flowNo); } public String getAppInfoByProjectNo(String projectNo, String flowNo) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction("als"); String appInfo = this.getAppInfoByProjectNo(projectNo, flowNo, Sqlca); return appInfo; } public String getAppInfoByProjectNo(String projectNo,String flowNo,JBOTransaction tx) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction(tx); String appInfo = getAppInfoByProjectNo(projectNo,flowNo,Sqlca); return appInfo; } public String getAppInfoByProjectNo(String projectNo, String flowNo, Transaction Sqlca) throws SQLException, JBOException { String sql = "select app_code,app_name from icms_rela where flow_no='" + flowNo + "' and project_no='" + projectNo + "'"; SqlObject sql_icms = new SqlObject(sql); ASResultSet rs = Sqlca.getASResultSet(sql_icms); String appCode = null; String appName = null; while (rs.next()) { appCode = rs.getString("app_code"); appName = rs.getString("app_name"); } String appInfo = appCode + "@" + appName; if (appCode == null) { String productId = getProductIdByProjectNo(projectNo,Sqlca); appInfo = this.getAppInfoByProductId(productId, flowNo, Sqlca); } return appInfo; } public String getAllAppInfoByProjectIdRJMT(JBOTransaction tx) throws SQLException, JBOException { return getAllAppInfoByProjectId(this.projectId,tx); } public String getAllAppInfoByProjectId(String projectId,JBOTransaction tx) throws SQLException, JBOException { String projectNo = getProjectNoByProjectId(projectId,tx); return getAllAppInfoByProjectNo(projectNo,tx); } public JSONArray getAllAppInfoJsonByProjectId(String projectId,JBOTransaction tx) throws SQLException, JBOException { String projectNo = getProjectNoByProjectId(projectId,tx); Transaction Sqlca = Transaction.createTransaction(tx); return getAllAppInfoJsonByProjectNo(projectNo,Sqlca); } /** * 根据项目编号和流程编号获取appCode和appName * * @return * @throws SQLException */ public String getAllAppInfoByProjectNoRJM() throws SQLException, JBOException { return getAllAppInfoByProjectNo(this.projectNo); } public String getAllAppInfoByProjectNoRJMT(JBOTransaction tx) throws SQLException, JBOException { return getAllAppInfoByProjectNo(this.projectNo,tx); } public String getAllAppInfoByProjectNo(String projectNo) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction("als"); String appInfo = this.getAllAppInfoByProjectNo(projectNo, Sqlca); return appInfo; } public String getAllAppInfoByProjectNo(String projectNo,JBOTransaction tx) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction(tx); String appInfo = this.getAllAppInfoByProjectNo(projectNo, Sqlca); return appInfo; } public String getAllAppInfoByProjectNo(String projectNo, Transaction Sqlca) throws SQLException { return getAllAppInfoJsonByProjectNo(projectNo,Sqlca).toJSONString(); } public JSONArray getAllAppInfoJsonByProjectNo(String projectNo, Transaction Sqlca) throws SQLException { String sql = "select app_code,app_name from icms_rela where project_no='" + projectNo + "' and flow_no<>'MortgageFileMailFlow' group by app_code"; SqlObject sql_icms = new SqlObject(sql); ASResultSet rs = Sqlca.getASResultSet(sql_icms); if(!rs.next()){ String productId = getProductIdByProjectNo(projectNo,Sqlca); JSONArray ja = getAllAppInfoJsonByProductId(productId,Sqlca); return ja; } String appCode = null; String appName = null; JSONArray ja = new JSONArray(); while (rs.next()) { appCode = rs.getString("app_code"); appName = rs.getString("app_name"); JSONObject appInfo = new JSONObject(); appInfo.put("app_code",appCode); appInfo.put("app_name",appName); appInfo.put("project_no",projectNo); ja.add(appInfo); } return ja; } public JSONArray getAllAppInfoJsonByProductId(String productId, Transaction Sqlca) throws SQLException { String sql = "select app_code,app_name from icms_prd_rela where productid='" + productId + "' and flowno<>'MortgageFileMailFlow' group by app_code"; SqlObject sql_icms = new SqlObject(sql); ASResultSet rs = Sqlca.getASResultSet(sql_icms); String appCode = null; String appName = null; JSONArray ja = new JSONArray(); while (rs.next()) { appCode = rs.getString("app_code"); appName = rs.getString("app_name"); JSONObject appInfo = new JSONObject(); appInfo.put("app_code",appCode); appInfo.put("app_name",appName); ja.add(appInfo); } if (appCode == null) { return null; } return ja; } /** * 根据productId和流程编号获取appCode和appName * * @return * @throws SQLException */ public String getAppInfoByProductIdRJM() throws SQLException, JBOException { return getAppInfoByProjectNo(this.productId, this.flowNo); } public String getAppInfoByProductId(String productId, String flowNo) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction("als"); String appInfo = this.getAppInfoByProductId(productId, flowNo, Sqlca); return appInfo; } public String getAppInfoByProductId(String productId, String flowNo, Transaction Sqlca) throws SQLException { String sql = "select app_code,app_name from icms_prd_rela where flowno='" + flowNo + "' and productid='" + productId + "'"; SqlObject sql_icms = new SqlObject(sql); ASResultSet rs = Sqlca.getASResultSet(sql_icms); String appCode = null; String appName = null; while (rs.next()) { appCode = rs.getString("app_code"); appName = rs.getString("app_name"); } if (appCode == null) { return "0000@未找到初始化的影像信息配置,请联系管理员"; } String appInfo = appCode + "@" + appName; return appInfo; } /** * 根据flowunid获取projectNo * * @return * @throws SQLException */ public String getProjectNoByFlowUnidRJM() throws SQLException, JBOException { return getProjectNoByFlowUnid(this.flowUnid); } public String getProjectNoByFlowUnid(String flowUnid) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction("als"); String projectNo = getProjectNoByFlowUnid(flowUnid, Sqlca); if (Sqlca != null) { Sqlca.commit(); } return projectNo; } public String getProjectNoByFlowUnid(String flowUnid, Transaction Sqlca) throws SQLException { String sql = "select PROJECT_NO from lb_project_info_temp where FLOWUNID='" + flowUnid + "'"; String projectNo = Sqlca.getString(new SqlObject(sql)); if (projectNo == null || "".equals(projectNo) || projectNo.length() == 0) { sql = "select PROJECT_NO from lb_project_info where id=(select project_id from lb_contract_info_temp where FLOWUNID='" + flowUnid + "')"; projectNo = Sqlca.getString(new SqlObject(sql)); } if (projectNo == null || "".equals(projectNo) || projectNo.length() == 0) { return null; } return projectNo; } /** * 根据项目编号 * * @param tx * @return * @throws SQLException,JBOException */ public String getProjectNoByProjectIdRJMT(JBOTransaction tx) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction(tx); String projectNo = getProjectNoByProjectId(projectId,Sqlca); return projectNo; } public String getProjectNoByProjectId(String projectId, JBOTransaction tx) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction(tx); String projectNo = getProjectNoByProjectId(projectId,Sqlca); return projectNo; } public String getProjectNoByProjectId(String projectId, Transaction Sqlca) throws SQLException { String sql = "select project_no from lb_project_info where id='" + projectId + "'"; String projectNo = Sqlca.getString(new SqlObject(sql)); return projectNo; } public String getProjectNoByContractIdRJMT(JBOTransaction tx) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction(tx); String projectNo = getProjectNoByContractId(contractId,Sqlca); return projectNo; } public String getProjectNoByContractId(String contractId, JBOTransaction tx) throws SQLException, JBOException { Transaction Sqlca = Transaction.createTransaction(tx); String projectNo = getProjectNoByContractId(contractId,Sqlca); return projectNo; } public String getProjectNoByContractId(String contractId,Transaction Sqlca) throws SQLException { String sql = "select project_no from lb_project_info where id=(select project_id from lb_contract_info where id='"+contractId+"')"; String projectNo = Sqlca.getString(new SqlObject(sql)); return projectNo; } public String getProjectIdByContractId(String contractId,Transaction Sqlca) throws SQLException { String sql = "select project_id from lb_contract_info where id='"+contractId+"'"; String projectNo = Sqlca.getString(new SqlObject(sql)); return projectNo; } /** * 根据流程编号 * * @param flowUnid * @param Sqlca * @return * @throws SQLException */ public String getFlowNoByFlowUnid(String flowUnid, Transaction Sqlca) throws SQLException { String sql = "select flowno from flow_object where objectno='" + flowUnid + "'"; String flowNo = Sqlca.getString(new SqlObject(sql)); return flowNo; } /** * 根据flowunid获取productid * * @param flowUnid * @param Sqlca * @return * @throws SQLException */ public String getProductIdByFlowUnid(String flowUnid, Transaction Sqlca) throws SQLException { String sql = "select productId from flow_bussiness_object where flow_unid='" + flowUnid + "'"; String productId = Sqlca.getString(new SqlObject(sql)); return productId; } public String getProductIdByProjectNo(String projectNo, Transaction Sqlca) throws SQLException { String sql = "select product_id from lb_project_info where project_no='"+projectNo+"'"; String productId = Sqlca.getString(new SqlObject(sql)); return productId; } public String getFlowUnid() { return flowUnid; } public void setFlowUnid(String flowUnid) { this.flowUnid = flowUnid; } public String getProjectNo() { return projectNo; } public void setProjectNo(String projectNo) { this.projectNo = projectNo; } public String getFlowNo() { return flowNo; } public void setFlowNo(String flowNo) { this.flowNo = flowNo; } public String getsTable() { return sTable; } public void setsTable(String sTable) { this.sTable = sTable; } public String getProductId() { return productId; } public void setProductId(String productId) { this.productId = productId; } public String getProjectId() { return projectId; } public void setProjectId(String projectId) { this.projectId = projectId; } public String getContractId() { return contractId; } public void setContractId(String contractId) { this.contractId = contractId; } }