记录下在开发月历显示时,客户要求需要把取消的例会在月历上排除掉,下面张贴下两种排除方式的比较,第二种逻辑上是错误的,会出现重复。其实原因还是自己的逻辑性思维不够好。
第一种,正确:
//排除被取消的例会第二种,错误:
if (!CollectionUtils.isEmpty(zhbg_hysgl_xxgl_qxydList)) {//如果存在被取消的例会则进入处理,排除
boolean flag = false;
for (int j = 0; j < zhbg_hysgl_xxgl_qxydList.size(); j++) {
ZHBG_HYSGL_XXGL_QXYD qxyd = zhbg_hysgl_xxgl_qxydList.get(j);
String cancelDate = new java.sql.Date(c_begin.getTime().getTime()).toString();
if (cancelDate.equalsIgnoreCase(qxyd.getQXRQ())) {//判断例会被取消的日期和日历的日期相不相同,不相同才添加例会
flag = true;
break;
}
}
if (!flag) {
//这里要循环处理实体的属性
json = new JSONObject();
json.put("id", bean.getHYSXXGLID());
strkssj = bean.getLHKSSJ();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Date sdate = sdf.parse(strkssj);
strjssj = bean.getLHJSSJ();
Date edate = sdf.parse(strjssj);
bsw = sdate.getHours() <= 12;
bxw = edate.getHours() <= 12;
if (bsw && bxw) {
strsw = "上午";
} else if (sdate.getHours() > 12 && edate.getHours() > 12) {
strsw = "下午";
} else {
strsw = "全天";
}
json.put("start", new java.sql.Date(c_begin.getTime().getTime()) + " " + bean.getLHKSSJ());
json.put("end", new java.sql.Date(c_begin.getTime().getTime()) + " " + bean.getLHJSSJ());
json.put("description", bean.getLHMC());
json.put("hys", strsw + " " + entxxgl.getHYSMC());
json.put("sqbm", entxxgl.getSSDW_TNAME());
json.put("chrs", entxxgl.getRNCHRS());
json.put("sfapcs", "");
json.put("hybztsyq", "");
jsona.add(json);
}
}
//排除被取消的例会
if (!CollectionUtils.isEmpty(zhbg_hysgl_xxgl_qxydList)) {//如果存在被取消的例会则进入处理,排除
for (int j = 0; j < zhbg_hysgl_xxgl_qxydList.size(); j++) {
ZHBG_HYSGL_XXGL_QXYD qxyd = zhbg_hysgl_xxgl_qxydList.get(j);
String cancelDate = new java.sql.Date(c_begin.getTime().getTime()).toString();
if (!cancelDate.equalsIgnoreCase(qxyd.getQXRQ())) {//判断例会被取消的日期和日历的日期相不相同,不相同才添加例会
//这里要循环处理实体的属性
json = new JSONObject();
json.put("id", bean.getHYSXXGLID());
strkssj = bean.getLHKSSJ();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Date sdate = sdf.parse(strkssj);
strjssj = bean.getLHJSSJ();
Date edate = sdf.parse(strjssj);
bsw = sdate.getHours() <= 12;
bxw = edate.getHours() <= 12;
if (bsw && bxw) {
strsw = "上午";
} else if (sdate.getHours() > 12 && edate.getHours() > 12) {
strsw = "下午";
} else {
strsw = "全天";
}
json.put("start", new java.sql.Date(c_begin.getTime().getTime()) + " " + bean.getLHKSSJ());
json.put("end", new java.sql.Date(c_begin.getTime().getTime()) + " " + bean.getLHJSSJ());
json.put("description", bean.getLHMC());
json.put("hys", strsw + " " + entxxgl.getHYSMC());
json.put("sqbm", entxxgl.getSSDW_TNAME());
json.put("chrs", entxxgl.getRNCHRS());
json.put("sfapcs", "");
json.put("hybztsyq", "");
jsona.add(json);
}
}
}