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;}
}