From ecfdefb8e5bc08475de1e9a5f2515402af15363c Mon Sep 17 00:00:00 2001 From: T-95707 Date: Thu, 24 Sep 2020 08:55:12 +0800 Subject: [PATCH 1/2] 20200924 zjt --- .../controller/EngineParamController.java | 110 +++++++++++++++++- .../modules/param/dao/EngineParamDao.java | 2 + .../param/service/EngineParamService.java | 4 +- .../service/impl/EngineParamServiceImpl.java | 5 + .../resources/mapper/param/EngineParamDao.xml | 8 ++ 5 files changed, 126 insertions(+), 3 deletions(-) diff --git a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/controller/EngineParamController.java b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/controller/EngineParamController.java index e4cfdf5..5428c9a 100644 --- a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/controller/EngineParamController.java +++ b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/controller/EngineParamController.java @@ -10,7 +10,14 @@ import com.gitee.neuray.security.modules.param.service.EngineManageService; import com.gitee.neuray.security.modules.param.service.EngineParamService; import com.gitee.neuray.security.modules.param.service.ParamItemService; import com.gitee.neuray.security.modules.param.util.ExcelUtil; +import com.gitee.neuray.security.modules.sys.entity.SysUserEntity; import com.gitee.neuray.security.modules.sys.shiro.ShiroUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.DateUtil; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -18,6 +25,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.io.OutputStream; import java.net.URLEncoder; import java.util.*; @@ -209,11 +217,109 @@ public class EngineParamController { */ @RequestMapping("/importExcel") @RequiresPermissions("engine:param:importExcel") - public R importExcel(@RequestParam("file") MultipartFile file) throws Exception { + public R importExcel(@RequestParam("file") MultipartFile file,@RequestParam Map map) throws Exception { if (file.isEmpty()) { throw new RRException("上传文件不能为空"); } + Map title = paramService.getExcelTitleById(map.get("id").toString()); + // 获取表名 + String tableName = paramService.getTableNameById(map.get("id").toString()).getTableName(); + String [] arr = title.get("fieldsName").toString().split(","); + String [] arr1 = title.get("fields").toString().split(","); + List titleList = new ArrayList<>(); + SysUserEntity userEntity = ShiroUtils.getUserEntity(); + try { + XSSFWorkbook workbook = new XSSFWorkbook ( file.getInputStream () ); + //获取第一个sheet页码 + XSSFSheet sheet = workbook.getSheetAt ( 0 ); + // 校验表头 + Map result = checkTitle(arr,sheet.getRow(0)); + if("500".equals(result.get("code"))){ + return R.error(result.get("msg").toString()); + } + List dataList = new ArrayList<> ( ); + for (int rowNum = 1; rowNum <= sheet.getLastRowNum (); rowNum++) { + XSSFRow row = sheet.getRow ( rowNum ); + if ( row == null ) { + continue; + } + String[] str = new String[row.getLastCellNum ()]; + for (int cellNum=0;cellNum { void saveParam(@Param("list") List list, @Param("tableName") String tableName); void updateParam(@Param("list") List list, @Param("tableName") String tableName,@Param("id") Long id); void deleteParam(@Param("tableName") String tableName,@Param("list") List list); + + void saveList(@Param("list") List list, @Param("tableName") String tableName); } diff --git a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/EngineParamService.java b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/EngineParamService.java index 1f2c9c9..5e4fcc4 100644 --- a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/EngineParamService.java +++ b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/EngineParamService.java @@ -24,5 +24,7 @@ public interface EngineParamService extends IService { void deleteParam(Map map); Map getExcelTitleById(String id); EngineItemEntity getTableNameById(String id); - List getParamByTable(String tableName);} + List getParamByTable(String tableName); + void saveList(List list, String tableName); +} diff --git a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/impl/EngineParamServiceImpl.java b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/impl/EngineParamServiceImpl.java index 3355edf..2a60869 100644 --- a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/impl/EngineParamServiceImpl.java +++ b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/impl/EngineParamServiceImpl.java @@ -180,4 +180,9 @@ public class EngineParamServiceImpl extends ServiceImpl getParamByTable(String tableName) { return engineItemDao.getParamByTable(tableName); } + + @Override + public void saveList(List list, String tableName) { + engineParamDao.saveList(list,tableName); + } } diff --git a/neuray-admin/src/main/resources/mapper/param/EngineParamDao.xml b/neuray-admin/src/main/resources/mapper/param/EngineParamDao.xml index c93b6af..dcd500e 100644 --- a/neuray-admin/src/main/resources/mapper/param/EngineParamDao.xml +++ b/neuray-admin/src/main/resources/mapper/param/EngineParamDao.xml @@ -30,4 +30,12 @@ #{item} + + + insert into ${tableName} + values + + ${item} + + \ No newline at end of file -- Gitee From c2bdeaf3af42c08009c815f9980a6f675695b127 Mon Sep 17 00:00:00 2001 From: T-95707 Date: Thu, 24 Sep 2020 09:01:57 +0800 Subject: [PATCH 2/2] 20200924 zjt --- .../security/modules/param/service/EngineParamService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/EngineParamService.java b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/EngineParamService.java index 54316bd..f389c56 100644 --- a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/EngineParamService.java +++ b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/service/EngineParamService.java @@ -33,7 +33,7 @@ public interface EngineParamService extends IService { Map getExcelTitleById(String id); EngineItemEntity getTableNameById(String id); - List getParamByTable(String tableName);} + List getParamByTable(String tableName); void saveList(List list, String tableName); -- Gitee