前台:
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<title>数据核验</title>
<meta name="decorator" content="default"/>
<script type="text/javascript">
$(document).ready(function() {
//$("#name").focus();
$("#inputForm").validate({
submitHandler: function(form){
loading('正在提交,请稍等...');
form.submit();
},
errorContainer: "#messageBox",
errorPlacement: function(error, element) {
$("#messageBox").text("输入有误,请先更正。");
if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
error.appendTo(element.parent().parent());
} else {
error.insertAfter(element);
}
}
});
});
</script>
</head>
<body>
<ul class="nav nav-tabs">
<li><a href="">数据核验</a></li>
</ul>
<br/>
<form:form id="inputForm" modelAttribute="ActionRecord" action="${ctx}/silence/dataVerification/dataVerificationImport" method="post" class="form-horizontal" enctype="multipart/form-data">
<sys:message content="${message}"/>
<div class="control-group">
<label class="control-label">数据文件:</label>
<div class="controls">
<input id="uploadFile" name="file" type="file" style="width:330px" class="required"/>
<span class="help-inline"><font color="red">*</font> </span>
</div>
</div>
<div class="form-actions">
<input id="btnImportSubmit" class="btn btn-primary" type="submit" value=" 导 入 "/>
</div>
</form:form>
</body>
</html>
后台:
controller层:
package com.thinkgem.jeesite.modules.silence.web;
import com.thinkgem.jeesite.common.web.BaseController;
import com.thinkgem.jeesite.modules.silence.service.DataAVerificationService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import javax.annotation.Resource;
@Controller
@RequestMapping(value = "${adminPath}/silence/dataVerification")
public class DataAVerificationController extends BaseController {
@Resource
private DataAVerificationService dataAVerificationService;
/**
* 数据核验导入主页
* @return
*/
@RequestMapping(value = "ImportIndex")
public String ImportIndex(){
return "modules/silence/impDataForm";
}
/**
* 数据核验导入
* @return
*/
@RequestMapping(value = "dataVerificationImport" ,method= RequestMethod.POST)
public String actionRecordImport(MultipartFile file, RedirectAttributes redirectAttributes) {
try {
dataAVerificationService.actionRecordImport(file);
} catch (Exception e) {
addMessage(redirectAttributes, "导入数据失败!失败信息:" + e.getMessage());
}
return "redirect:" + adminPath + "/silence/dataVerification/ImportIndex?repage";
}
}
service层:
package com.thinkgem.jeesite.modules.silence.service;
import com.thinkgem.jeesite.common.utils.excel.ImportExcel;
import com.thinkgem.jeesite.modules.silence.dao.*;
import com.thinkgem.jeesite.modules.silence.model.ImpDataAVerification;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@Service
public class DataAVerificationService {
public static final String Treatment_Status = "暂停发放";
// public static final String Treatment_Status ="正常发放";
//public static final String Treatment_Status ="年检停发";
public static final String Treatment_cause = "超期未参加资格认证";
public static final String Treatment_cause2 = "超期未参加资格认证的人员";
public static final String Treatment_cause3 = "年检停发";
// public static final String Treatment_cause="年检停发";
/**
* 日志对象
*/
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private AuWaitRecoverDao auWaitRecoverDao;
@Autowired
private AuHistorySuspendDao auHistorySuspendDao;
@Autowired
private PersonnelWarnDao personnelWarnDao;
@Autowired
private PersonnelLoseDao personnelLoseDao;
@Autowired
private ModifyRecordDao modifyRecordDao;
@Autowired
DataAVerificationDao dataAVerificationDao;
public void actionRecordImport(MultipartFile file) throws Exception {
//转换数据对象
ImportExcel ei = new ImportExcel(file, 1, 0);
List<ImpDataAVerification> impDataAVerifications = ei.getDataList(ImpDataAVerification.class);
/*保持最新数据,批量删除已有身份证号的数据*/
int delete = dataAVerificationDao.delete(impDataAVerifications);
if (delete > 0) {
System.out.println("成功删除" + delete + "条重复数据");
}
/*excle导入添加数据库*/
int i = dataAVerificationDao.actionRecordImport(impDataAVerifications);
if (i > 0) {
System.out.println("成功新增" + i + "条数据");
}
}
}
Dao层:
package com.thinkgem.jeesite.modules.silence.dao;
import com.thinkgem.jeesite.common.persistence.CrudDao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.silence.model.ImpDataAVerification;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@MyBatisDao
public interface DataAVerificationDao extends CrudDao<ImpDataAVerification> {
int actionRecordImport(@Param("list") List<ImpDataAVerification> list);
}
xml文件:数据库为oracles
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.thinkgem.jeesite.modules.silence.dao.DataAVerificationDao">
<insert id="actionRecordImport" parameterType="java.util.List">
INSERT INTO test_data(idname,idcard,dyzt,dyztyy)
<foreach collection="list" item="item" separator="UNION ALL">
select
#{item.idname},#{item.idcard},#{item.dyzt},#{item.dyztyy}
from dual
</foreach>
</insert>
</mapper>
该文章展示了一个使用JavaSpringMVC框架和MyBatis持久层实现的数据核验前端页面和后台处理逻辑。前端使用jQueryvalidate插件进行表单验证,后台接收上传的MultipartFile文件并调用服务层进行数据导入。
3706

被折叠的 条评论
为什么被折叠?



