呈核界面添加两个表单
工作包表单
获取参数kpmc1no,作为查询条件从数据库查询出一个list,用以前端展示,SQL为:
SELECT a.* FROM DB.TBKPMW2 a join DB.TBKPMW1 b on a.kpmw2id=b.kpmw2id WHERE b.ISLEAF='Y' and a.kpmc1no='kpmc1no' order by b.LEVEL
该SQL语句返回的参数为List<kpactbw2VO>,kpactbw2VO是一个对象,而前端接收的数据应为JSON格式,所以需要将List<kpactbw2VO>转化成List<Map>格式,转化的代码为:
1 List detailData1 = new ArrayList(); 2 kpactbw2DAO kpactbw2Dao = new kpactbw2DAO(dsCom); 3 List list2 = kpactbw2Dao.getW2s(kpma0noa); 4 for(int i=0;i<list2.size();i++){ 5 kpactbw2VO kej102VO1 = (kpactbw2VO) list2.get(i); 6 kpactbw2VO kej102VO2 = new kpactbw2VO(); 7 if(i!=0) 8 kej102VO2 = (kpactbw2VO) list2.get(i-1); 9 Map fieldsMap = new HashMap(); 10 fieldsMap.put("kpmw2name", change(kej102VO1.getKpmw2name()==null?"":kej102VO1.getKpmw2name())); 11 fieldsMap.put("eststartdate", kej102VO1.getEststartdate()==null?"":kej102VO1.getEststartdate()); 12 detailData1.add(fieldsMap);//detailData1结构为List<Map> 13 } 14 Map detail5 = new HashMap(); 15 detail5.put("title", "工作包分解"); 16 detail5.put("detailData", detailData1);
审批记录表单
获取参数kpma0no,作为查询条件从数据库查询出一个list,用于前端展示,SQL为:
SELECT * FROM DB.TBKPMA01 A WHERE A.KPMA0NO = 'kpma0no' ORDER BY A.UPDDATE DESC,A.UPDTIME DESC
该SQL返回参数为List<kpactba01VO>,也需要将数据转换成List<Map>格式,代码为:
1 List list1 = kpactba01dao.FindByKpma0no(kpma0no); 2 for(int i=0;i<list1.size();i++){ 3 kpactba01VO kej102VO1 = (kpactba01VO) list1.get(i); 4 kpactba01VO kej102VO2 = new kpactba01VO(); 5 if(i!=0) 6 kej102VO2 = (kpactba01VO) list1.get(i-1); 7 Map fieldsMap = new HashMap(); 8 fieldsMap.put("period", change(kej102VO1.getPeriod()==null?"":kej102VO1.getPeriod())); 9 fieldsMap.put("verifyAction", kej102VO1.getVerifyReason()==null?"":kej102VO1.getVerifyReason()); 10 fieldsMap.put("updReason", kej102VO1.getUpdReason()==null?"":kej102VO1.getUpdReason()); 11 detailData.add(fieldsMap);//detailData结构为List<Map> 12 } 13 Map detail4 = new HashMap(); 14 detail4.put("title", "审批记录"); 15 detail4.put("detailData", detailData);
然后将detail5和detail4 add到list中,再将listput到一个map中,将map转化成json格式传回给前端