一.思路:
先查询A表数据,取出device(1,2,3)数据,然后入库每个device参数的时候,看下这个设备在A表查询信息里面是否存在。与字段,值比较,并且站点管理 编号和名称不能重复。
二.示例代码:
/*controller类代码 设置设备接口*/
public void setEnavmarkStationWarning() {
/*前端传入[{}]格式参数*/
JSONArray params = JSON.parseArray(getPara("param"));
String device = "";
/*遍历param*/
for (Object param : params) {
JSONObject object = JSONObject.parseObject(param.toString());
String type = object.getString("type");
/*设置参数*/
Record paras = new Record().set("frequency", object.getIntValue("frequency"))
.set("open_warn", object.getInteger("open_warn"))
.set("aton_id", object.getInteger("atonId"))
.set("type", object.getInteger("type"));
/*判断device是否为空*/
if (StrKit.isBlank(device)) {
Record mark = Db.findFirst("SELECT * FROM enavmark_station WHERE aton_id = ?", paras.getInt("aton_id"));
if (mark != null) {
device = mark.getStr("device");
}
}
/*不为空继续操作*/
if (!device.contains(type)) {
continue;
}
/*判断表里是否有请求参数的数据*/
int result = EnavmarkStation.dao.selectStationWarnInfo(paras.getInt("aton_id"), paras.getInt("type"));
/*若没有,则可以添加*/
if (result == 0) {
EnavmarkStation.dao.addEnavmarkStationWarn(paras.getColumnValues());
} else {
/*若有,则是修改数据*/
EnavmarkStation.dao.UpdateEnavmarkStationWarnInfo(paras.getColumnValues());
}
}
renderJson(ResultCode.success("设置完成"));
}
检验重复性操作详见:这里