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 e0685d776e99e4dc2fd027422887118d62884e16..d2de48ace418482836e5d1323826a88c3147d8f3 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.*; @@ -218,11 +226,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 0059c78a25cf121e47d06d382d38592a4b05945a..f389c5650da74c7282259c36e64bbbc1c2b70a46 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 @@ -35,5 +35,6 @@ public interface EngineParamService extends IService { EngineItemEntity getTableNameById(String id); List getParamByTable(String tableName); + void saveList(List list, String tableName); } \ No newline at end of file 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 f08d961a463e5e59550f0c7d12a38823a4c7ed0d..83a78fdb9f63fb937bc3f9a839a255927f269c44 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 @@ -185,5 +185,7 @@ 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 c93b6aff95f4996bbff851308315696d7c4219ed..dcd500edf2e5ce575d20c35a2e82e26d9fd34296 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