//读取数据库
DataBean dataBean = this.getERPServiceDelegation().getMasterProductionScheduleService().getModifyPHSetup(parameterFB);
TableBean tableBean = dataBean.getTableBean("tradingDataTableBean");
ClassPOJO classPOJO = new ClassPOJO("PH A LEFT JOIN TN_ROUTE_SECTION SECTION ON A.CR_SECTION_ID = SECTION.CN_ID");
classPOJO.addAttribute(new ClassAttributePOJO("A.*, SECTION.CN_NAME as sectionName, SECTION.CN_NO as sectionNo"));
TableBean tableBean = this.baseDao.query(classPOJO, new CondSetBean(ariticle), new OrderBy("sectionNo", Sort.ASC));
if (tradingDataTableBean != null && tradingDataTableBean.size() > 0) {
//获取Requset中的Form设定
FormBean formBean = (FormBean)request.getAttribute(TriangleDefinition.REQUEST_KEY_POPUP_FORM);
CellBean routeSectionIdCellBean = formBean.get("routeSectionId");
CellBean leadTimeDayCellBean = formBean.get("leadTimeDay");
CellBean PHCellBean = formBean.get("PH");
for (int i = 0; i < tableBean.size(); i++) {
RowBean rowBean = tableBean.get(i);
String sectionName = rowBean.getCellBeanValue("sectionName");
CellBean routeSectionIdCloneCellBean = routeSectionIdCellBean.clone();
CellBean leadTimeDayCloneCellBean = leadTimeDayCellBean.clone();
CellBean PHCloneCellBean = PHCellBean.clone();
routeSectionIdCloneCellBean.setValue("sectionName");
leadTimeDayCloneCellBean.setValue("11");
PHCloneCellBean.setValue("22");
routeSectionIdCloneCellBean.getFormDataBean().setId(id);
routeSectionIdCloneCellBean.getFormDataBean().setName(name);
routeSectionIdCloneCellBean.getFormDataBean().setId(id);
routeSectionIdCloneCellBean.getFormDataBean().setName(name);
routeSectionIdCloneCellBean.getFormDataBean().setId(id);
routeSectionIdCloneCellBean.getFormDataBean().setName(name);
formBean.addCellBean(routeSectionIdCloneCellBean);
formBean.addCellBean(leadTimeDayCloneCellBean);
formBean.addCellBean(PHCloneCellBean);
}
// }
return mapping.findForward("success");
另一种多表查询
//读取起始日期最近的SOP(工艺BOM)
HashMap<String, RowBean> hmArticleIdToSOP = new HashMap<String, RowBean>();
CondSetBean csbSOP = new CondSetBeanJustAnd();
ClassPOJO classPOJOSOP = new ClassPOJO("TN_ROUTE_TREE a,TR_ROUTE_TREE_ARTICLE b");
classPOJOSOP.addAttribute(new ClassAttributePOJO("a.CN_ID as routeTreeId"));
classPOJOSOP.addAttribute(new ClassAttributePOJO("a.CN_ISSUE_DATE as issueDate"));
classPOJOSOP.addAttribute(new ClassAttributePOJO("b.CR_ARTICLE_ID as articleId"));
csbSOP.addCondBean(cbInSOPArticleId);
csbSOP.addCondBean(new CondBeanLessOrEqual("a.CN_ISSUE_DATE", String.valueOf(todayEndCal.getTimeInMillis())));
csbSOP.addCondBean(new CondBeanEqual("a.CN_ID", "b.CR_ROUTE_TREE_ID", TriangleDefinition.CLASS_ATTRIBUTE_DB_TYPE_LONG));
TableBean routeTreeTableBean = this.baseDAO.queryForTableBean(classPOJOSOP, csbSOP);
// ClassPOJO classPOJOSOP = new ClassPOJO("TN_ROUTE_TREE a LEFT JOIN TR_ROUTE_TREE_ARTICLE b ON a.CN_ID = b.CR_ROUTE_TREE_ID");
// classPOJOSOP.addAttribute(new ClassAttributePOJO("a.CN_ID as routeTreeId,a.CN_ISSUE_DATE as issueDate,b.CR_ARTICLE_ID as articleId"));