您的位置:首页 > 其它

自我整理:list中不重复的修改已有节点或添加新节点

2016-12-12 00:00 197 查看
list中不重复的修改已有节点或添加新节点 --2016年12月12日--oapp--薪资区间查询数据转换

private List<SalaryMonthData> getSalaryMonthDataListFromSap(SalaryReq req) {

Map<String, Object> map = new HashMap<String, Object>();

List<SalaryMonthData> result = new ArrayList<SalaryMonthData>();

SalaryMonthData model;

float countYfSal = 0;

float countSfSal = 0;

float countYfBon = 0;

float countSfBon = 0;

List<Map<String, Object>> payList = (List<Map<String, Object>>) map.get("etPayList");

for (Map<String, Object> e : payList) {

String fpEnd = (String) e.get("fpend");

fpEnd = DateUtils.dateToString(DateUtils.stringToDate(fpEnd), "yyyy年MM月");

if (StringUtil.isNotBlank(fpEnd)) {

// 获取实体类

model = getSalaryMonthDataModel(fpEnd, result);

String paytyText = (String) e.get("paytyText");

if ("工资".equals(paytyText)) {

model.setYfSalary((String) e.get("betrg1911"));

model.setSfSalary((String) e.get("betrg559"));

countYfSal += Float.parseFloat(model.getYfSalary());

countSfSal += Float.parseFloat(model.getSfSalary());

} else if ("奖金".equals(paytyText)) {

model.setYfBonus((String) e.get("betrg1911"));

model.setSfBonus((String) e.get("betrg559"));

countYfBon += Float.parseFloat(model.getYfBonus());

countSfBon += Float.parseFloat(model.getSfBonus());

}

}

}

model = getSalaryMonthDataModel("合计", result);

model.setYfSalary(countYfSal + "");

model.setSfSalary(countSfSal + "");

model.setYfBonus(countYfBon + "");

model.setSfBonus(countSfBon + "");

return result;

}

/**

* 返回月份对应的实体类,若list中没有则在list中添加并返回

*

* @param fb

* 不能为空

* @param list

* @return

*/

private SalaryMonthData getSalaryMonthDataModel(String fb, List<SalaryMonthData> list) {

SalaryMonthData result = null;

for (SalaryMonthData e : list) {

if (fb.equals(e.getName())) {

result = e;

break;

}

}

if (null == result) {

result = new SalaryMonthData();

result.setName(fb);

list.add(result);

}

return result;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: