Java中数据库查询方法MapListProcessor的应用

1.供应链系统的销售合同捉过了两个金额一样的,同一个项目
2.合同号也一样,oaid不一样,但是从OA前台只有一个
3.一个是建云的一个是泛微的
4.做下过滤,如果同一个合同编号,在泛微里面有的,建云的就不获取了
5.再加一个条件,合同编号和合同含税金额相同的,之前确实有合同号相同,一个泛微,一个建云,合同金额不同,但2个都需要保留的

List<String> htcodelist = new ArrayList<String>();
htcodelist.add(vo.getHtcode());
SqlBuilder codesql = new SqlBuilder(); 
codesql.append(" select htcode,nmny from jych_xshtdj where isnull(dr,0) = 0 and sjly = '泛微' and ");
codesql.append(" htcode ", htcodelist.toArray(new String[0]));
List<Map<String, Object>> codelist = (List<Map<String, Object>>) getDao().executeQuery(codesql.toString(), new MapListProcessor());
Map<String, List<UFDouble>> codemap = new HashMap<String, List<UFDouble>>();
if(codelist != null && codelist.size() > 0){
	for (Map<String, Object> code : codelist) {
		String htcode = NullValueUtils.getNullStringValue(code.get("htcode"));
		UFDouble nmny = NullValueUtils.getNullUFdoubleValue(code.get("nmny"));
		if(codemap.containsKey(htcode)){
			List<UFDouble> list = codemap.get(htcode);
			list.add(nmny);
			codemap.put(htcode, list);
		} else {
			List<UFDouble> list = new ArrayList<>();
			list.add(nmny);
			codemap.put(htcode, list);
		}
	}
}
if(codemap.containsKey(xshtdjVO.getHtcode())){
	List<UFDouble> list = codemap.get(xshtdjVO.getHtcode());
	if(list.contains(xshtdjVO.getNmny())){
		continue;
	}
}

你可能感兴趣的:(nc积累,java,数据库,windows)