公司内部SQL联合查询

String prodTableId = assignWorkTB.get(0).getCellBeanValue("CR_PROD_TABLE_ID");
ClassPOJO classPOJO = new ClassPOJO("TN_PROD_ASSIGN_WORK a INNER JOIN TN_PROD_ASSIGN_WORK_OPERATION b ON a.CN_ID = b.CR_PROD_ASSIGN_WORK_ID " +
	"INNER JOIN TN_ROUTE_TREE_OPERATION c ON b.CR_ROUTE_TREE_OPERATION_ID = c.CN_ID INNER JOIN TN_RECEIPTS_LIST_LINE d ON b.CN_ID = d.CR_ORDER_LINE_ID " +
	"INNER JOIN TN_IQC_LINE e ON d.CN_ID = e.CR_SOURCE_LINE_ID INNER JOIN TN_INSTOCK_LINE f ON e.CN_ID = f.CR_IQC_LINE_ID");
classPOJO.addAttribute(new ClassAttributePOJO("c.CN_ID AS wipId, f.CN_INSTOCK_QTY AS instockQty"));
CondSetBean condSetBean = new CondSetBeanJustAnd();
condSetBean.addCondBean(new CondBeanEqual("a.CR_PROD_TABLE_ID", prodTableId));
CondBeanIn cbi = new CondBeanIn("b.CR_ROUTE_TREE_OPERATION_ID");
condSetBean.addCondBean(cbi);
for (int i = 0; i < wipTB.size(); i++) {
	cbi.addValue(wipTB.get(i).getCellBeanValue(TriangleDefinition.COLUMN_NAME_CN_ID));
}
TableBean newWipTB = this.baseDAO.queryForTableBean(classPOJO, condSetBean);

另外一种

if (matrixTableBean != null && matrixTableBean.size() > 0) {
					dataBean.addFormBean(matrixDataBean.getFormBean(TriangleDefinition.FORM_BEAN_KEY_SPLIT_PAGE_INFO));
					// 读取交易记录的定性|Domain|Relation|Exception
					CondSetBean csbAttribute = new CondSetBeanJustAnd();
					CondBeanIn cbiMatrixIdForAttr = new CondBeanIn("CR_TRADING_RECORD_MATRIX_ID");
					csbAttribute.addCondBean(cbiMatrixIdForAttr);
					StringBuffer inMatrixSQL = new StringBuffer();
					for (int i = 0; i < matrixTableBean.size(); i++) {
						RowBean rowBean = matrixTableBean.get(i);
						String matrixId = rowBean.getCellBeanValue(TriangleDefinition.COLUMN_NAME_CN_ID);
						cbiMatrixIdForAttr.addValue(matrixId);
						if (i > 0) {
							inMatrixSQL.append(",");
						}
						inMatrixSQL.append("'" + matrixId + "'");
					}
					// 读取属性要加入排序.以便后续生成数据Table的时候有固定的顺序
					OrderBy obAttribute = new OrderBy();
					obAttribute.addSort(new Sort("CR_ATTRIBUTE_TYPE_ID"));
					obAttribute.addSort(new Sort("CN_ATTRIBUTE_ID"));
					// Domain
					TableBean domainTableBean = this.baseDAO.queryForTableBean(new ClassPOJO(domainTableName), csbAttribute, obAttribute);
					// 定性
					TableBean qualitativeTableBean = this.baseDAO.queryForTableBean(new ClassPOJO(qualitativeTableName), csbAttribute, obAttribute);
					// 异常数量

					ClassPOJO countExceptionClassPOJO = new ClassPOJO(hmAccountInfo.get("public_RecordDBTableName"));
					countExceptionClassPOJO.addAttribute(new ClassAttributePOJO("CR_TRADING_RECORD_MATRIX_ID"));
					countExceptionClassPOJO.addAttribute(new ClassAttributePOJO("COUNT(CN_ID)"));
					StringBuffer countExceptionSQL = new StringBuffer();
					countExceptionSQL.append("SELECT CR_TRADING_RECORD_MATRIX_ID AS matrixId,COUNT(CN_ID) AS number FROM ");
					countExceptionSQL.append(hmAccountInfo.get("public_RecordDBTableName"));
					countExceptionSQL.append(" WHERE CR_TRADING_RECORD_MATRIX_ID IN (");
					countExceptionSQL.append(inMatrixSQL);
					countExceptionSQL.append(") GROUP BY CR_TRADING_RECORD_MATRIX_ID");
					TableBean exceptionTableBean = this.baseDAO.queryForTableBeanOnSQL(countExceptionSQL.toString());


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值