material_add.js
$(function(){
//检查重复按钮,点击事件
$("#dian .checkRepetition,#mian .checkRepetition,#other .checkRepetition").click(function(){
var formId = $(this).attr("value");
checkRepetition(formId);
});
})
//检查数据库表是否有已录入数据
function checkRepetition(formId){
var shiVal=$("#"+formId+" #shi").find("option:selected").val();//shiVal="**市"
var xianVal=$("#"+formId+" #xian").find("option:selected").val();
var happenAreaVal=$("#"+formId+" input[name='happenArea']").val();
var dateBeginVal=$("#"+formId+" input[name='dateBegin']").val();
var infoTypeVal=$("#"+formId+" input[name='infoType']").val();
if(shiVal==""||shiVal==null){
alert("市不能为空");
}else if(xianVal==""||xianVal==null){
alert("县不能为空");
}else if((happenAreaVal==""||happenAreaVal==null) && formId=="dian"){
alert("具体地点不能为空");
}else if(dateBeginVal==""||dateBeginVal==null){
alert("灾害开始时间不能为空");
}else{
$.ajax({
url: 'zaiQingAdd/checkRepetition.data',
type:'post',
dataType:'json',
data:{
shiParam: shiVal,
xianParam:xianVal,
happenAreaParam: happenAreaVal,
dateBeginParam:dateBeginVal,
infoTypeParam:infoTypeVal
},
success:function(backResult) {
layer.alert(backResult.msg, {icon: 0});
}
});
}
}
ZaiQingAddController.java
@Controller
@RequestMapping("/zaiQingAdd")
public class ZaiQingAddController {
@Autowired
private DisasterMaterialSumService disasterMaterialSumService;
/**
* @description: 检查是否已经录入过该数据
* @param shiParam 市
* @param xianParam 县
* @param happenAreaParam 具体地点
* @param dateBeginParam 灾害开始时间
* @param infoTypeParam 信息属性
* @return
*/
@RequestMapping("checkRepetition.data")
@ResponseBody
public String checkRepetition(String shiParam,String xianParam,String happenAreaParam,String dateBeginParam,String infoTypeParam){
String backResult=disasterMaterialSumService.checkRepetition(shiParam,xianParam,happenAreaParam,dateBeginParam,infoTypeParam);
return backResult;
}
}
DisasterMaterialSumService.java
public interface DisasterMaterialSumService {
/*检查是否已录入过该数据*/
String checkRepetition(String shiParam,String xianParam,String happenAreaParam,String dateBeginParam,String infoTypeParam);
}
DisasterMaterialSumServiceImpl.java
@Service
public class DisasterMaterialSumServiceImpl implements DisasterMaterialSumService{
private static Logger logger = LoggerFactory.getLogger(DisasterMaterialSumServiceImpl.class);
@Autowired
private DisasterMaterialSumDao disMaterialSumDao;
/*检查是否已录入过该数据*/
public String checkRepetition(String shiParam,String xianParam,String happenAreaParam,String dateBeginParam,String infoTypeParam){
String sbSqlJsonStr=disMaterialSumDao.checkRepetition(shiParam,xianParam,happenAreaParam,dateBeginParam,infoTypeParam);
String result=null;
try {
JSONArray jsonArray = new JSONArray(sbSqlJsonStr);
int len=jsonArray.length();
if(len==0){
result=BackMsgDTO.errorMsg("请提交,未检索到类似记录").toString();//返回数据格式为JsonObjectString
}else{
result=BackMsgDTO.okMsg("已存在类似记录").toString();
}
} catch (JSONException e) {
logger.error("录入重复检查,转化重复数据出错", e);
return BackMsgDTO.okMsg("录入重复检查,转化重复数据出错").toString();
}
return result;
}
}
DisasterMaterialSumDao.java
public interface DisasterMaterialSumDao {
/*检查是否已经录入过该数据*/
String checkRepetition(String shiParam,String xianParam,String happenAreaParam,String dateBeginParam,String infoTypeParam);
}
DisasterMaterialSumDaoImpl.java
@Repository
public class DisasterMaterialSumDaoImpl extends BaseDao<ZaiQingInfo> implements DisasterMaterialSumDao{
/**
* 从数据库获取重复数据
*/
public String checkRepetition(String shiParam,String xianParam,String happenAreaParam,String dateBeginParam,String infoTypeParam){
String format_date = dateBeginParam.substring(0,10);
String dayStartTime = format_date.concat(" ").concat("00:00:00");
String dayEndTime = format_date.concat(" ").concat("23:59:59");
StringBuffer sbSql = new StringBuffer();
if(infoTypeParam.equals("dian")){
sbSql.append(" SELECT ")
.append("市 shi,县 xian,具体地点 specificSite,灾害开始日期 startTime,信息属性 dataInfo ")
.append("from TabDisasterMaterialSum where ")
.append("市='"+ shiParam +"' and 县='"+ xianParam +"' and 具体地点='"+ happenAreaParam +"' and ")
.append("灾害开始日期 >= '"+ dayStartTime +"' and 灾害开始日期 <= '"+ dayEndTime +"' and ")
.append("信息属性= '"+ infoTypeParam +"' ");
}else{
sbSql.append(" SELECT ")
.append("市 shi,县 xian,具体地点 specificSite,灾害开始日期 startTime,信息属性 dataInfo ")
.append("from TabDisasterMaterialSum where ")
.append("市='"+ shiParam +"' and 县='"+ xianParam +"' and ")
.append("灾害开始日期 >= '"+ dayStartTime +"' and 灾害开始日期 <= '"+ dayEndTime +"' and ")
.append("信息属性= '"+ infoTypeParam +"' ");
}
System.out.println(sbSql);
String sbSqlJsonStr=this.getJsonStrBySql(sbSql.toString());//将数据库查询结果转化为json字符串
return sbSqlJsonStr;
}
}