lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/BaseToolsController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,177 @@ package org.jeecg.modules.tms.controller; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.tms.entity.BaseTools; import org.jeecg.modules.tms.service.IBaseToolsService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: tms_base_tools * @Author: jeecg-boot * @Date: 2025-05-09 * @Version: V1.0 */ @Api(tags="tms_base_tools") @RestController @RequestMapping("/tms/baseTools") @Slf4j public class BaseToolsController extends JeecgController<BaseTools, IBaseToolsService> { @Autowired private IBaseToolsService baseToolsService; /** * å页å表æ¥è¯¢ * * @param baseTools * @param pageNo * @param pageSize * @param req * @return */ //@AutoLog(value = "tms_base_tools-å页å表æ¥è¯¢") @ApiOperation(value="tms_base_tools-å页å表æ¥è¯¢", notes="tms_base_tools-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<IPage<BaseTools>> queryPageList(BaseTools baseTools, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<BaseTools> queryWrapper = QueryGenerator.initQueryWrapper(baseTools, req.getParameterMap()); Page<BaseTools> page = new Page<BaseTools>(pageNo, pageSize); IPage<BaseTools> pageList = baseToolsService.page(page, queryWrapper); return Result.OK(pageList); } /** * æ·»å * * @param baseTools * @return */ @AutoLog(value = "tms_base_tools-æ·»å ") @ApiOperation(value="tms_base_tools-æ·»å ", notes="tms_base_tools-æ·»å ") //@RequiresPermissions("org.jeecg.modules:tms_base_tools:add") @PostMapping(value = "/add") public Result<String> add(@RequestBody BaseTools baseTools) { baseToolsService.save(baseTools); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param baseTools * @return */ @AutoLog(value = "tms_base_tools-ç¼è¾") @ApiOperation(value="tms_base_tools-ç¼è¾", notes="tms_base_tools-ç¼è¾") //@RequiresPermissions("org.jeecg.modules:tms_base_tools:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> edit(@RequestBody BaseTools baseTools) { baseToolsService.updateById(baseTools); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "tms_base_tools-éè¿idå é¤") @ApiOperation(value="tms_base_tools-éè¿idå é¤", notes="tms_base_tools-éè¿idå é¤") //@RequiresPermissions("org.jeecg.modules:tms_base_tools:delete") @DeleteMapping(value = "/delete") public Result<String> delete(@RequestParam(name="id",required=true) String id) { baseToolsService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "tms_base_tools-æ¹éå é¤") @ApiOperation(value="tms_base_tools-æ¹éå é¤", notes="tms_base_tools-æ¹éå é¤") //@RequiresPermissions("org.jeecg.modules:tms_base_tools:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.baseToolsService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿å!"); } /** * éè¿idæ¥è¯¢ * * @param id * @return */ //@AutoLog(value = "tms_base_tools-éè¿idæ¥è¯¢") @ApiOperation(value="tms_base_tools-éè¿idæ¥è¯¢", notes="tms_base_tools-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<BaseTools> queryById(@RequestParam(name="id",required=true) String id) { BaseTools baseTools = baseToolsService.getById(id); if(baseTools==null) { return Result.error("æªæ¾å°å¯¹åºæ°æ®"); } return Result.OK(baseTools); } /** * 导åºexcel * * @param request * @param baseTools */ //@RequiresPermissions("org.jeecg.modules:tms_base_tools:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, BaseTools baseTools) { return super.exportXls(request, baseTools, BaseTools.class, "tms_base_tools"); } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ //@RequiresPermissions("tms_base_tools:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, BaseTools.class); } } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolsClassifyController.java
@@ -163,23 +163,24 @@ //@RequiresPermissions("org.jeecg.modules:tms_tools_classify:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, ToolsClassify toolsClassify) { return super.exportXls(request, toolsClassify, ToolsClassify.class, "tms_tools_classify"); return this.toolsClassifyService.toolClassifyExport(request, toolsClassify, ToolsClassify.class, "å·¥å ·åç±»"); //return super.exportXls(request, toolsClassify, ToolsClassify.class, "tms_tools_classify"); } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ //@RequiresPermissions("tms_tools_classify:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, ToolsClassify.class); public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) throws IOException{ return this.toolsClassifyService.toolClassifyImportExcel(request,response); } @AutoLog(value = "å·¥å ·åç±»æ ") @ApiOperation(value = "å·¥å ·åç±»æ ", notes = "å·¥å ·åç±»æ ") @GetMapping("/loadTree") lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/BaseTools.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,103 @@ package org.jeecg.modules.tms.entity; import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableLogic; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecg.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** * @Description: tms_base_tools * @Author: jeecg-boot * @Date: 2025-05-09 * @Version: V1.0 */ @Data @TableName("tms_base_tools") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @ApiModel(value="tms_base_tools对象", description="tms_base_tools") public class BaseTools implements Serializable { private static final long serialVersionUID = 1L; /**主é®id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主é®id") private String id; /**åç±»ç¼å·*/ @Excel(name = "åç±»ç¼å·", width = 15) @ApiModelProperty(value = "åç±»ç¼å·") private String classifyId; /**å·¥å ·ç¼ç */ @Excel(name = "å·¥å ·ç¼ç ", width = 15) @ApiModelProperty(value = "å·¥å ·ç¼ç ") private String toolCode; /**å·¥å ·ç¼å·*/ @Excel(name = "å·¥å ·ç¼å·", width = 15) @ApiModelProperty(value = "å·¥å ·ç¼å·") private String toolId; /**æ»åºå*/ @Excel(name = "æ»åºå", width = 15) @ApiModelProperty(value = "æ»åºå") private BigDecimal totalCount; /**å¯ç¨åºå*/ @Excel(name = "å¯ç¨åºå", width = 15) @ApiModelProperty(value = "å¯ç¨åºå") private BigDecimal availableCount; /**æ»æ¥ææ°é*/ @Excel(name = "æ»æ¥ææ°é", width = 15) @ApiModelProperty(value = "æ»æ¥ææ°é") private BigDecimal lossCount; /**å¨ä¿®æ°é*/ @Excel(name = "å¨ä¿®æ°é", width = 15) @ApiModelProperty(value = "å¨ä¿®æ°é") private BigDecimal repairCount; /**卿£*/ @Excel(name = "卿£", width = 15) @ApiModelProperty(value = "卿£") private BigDecimal detectionCount; /**å¨å*/ @Excel(name = "å¨å", width = 15) @ApiModelProperty(value = "å¨å") private BigDecimal lendCount; /**å¨ç£¨*/ @Excel(name = "å¨ç£¨", width = 15) @ApiModelProperty(value = "å¨ç£¨") private BigDecimal sharpeningCount; /**åæ°è¡¨åç§°*/ @Excel(name = "åæ°è¡¨åç§°", width = 15) @ApiModelProperty(value = "åæ°è¡¨åç§°") private String paramaTableName; /**ç§æ·å·*/ @Excel(name = "ç§æ·å·", width = 15) @ApiModelProperty(value = "ç§æ·å·") private String tenantId; /**å建人*/ @ApiModelProperty(value = "å建人") private String createBy; /**å建æ¶é´*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "å建æ¶é´") private Date createTime; /**æ´æ°äºº*/ @ApiModelProperty(value = "æ´æ°äºº") private String updateBy; /**æ´æ°æ¶é´*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "æ´æ°æ¶é´") private Date updateTime; } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ToolsClassify.java
@@ -31,45 +31,63 @@ public class ToolsClassify implements Serializable { private static final long serialVersionUID = 1L; /**主é®id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主é®id") private String id; /**åç±»ç¼ç */ @Excel(name = "åç±»ç¼ç ", width = 15) @ApiModelProperty(value = "åç±»ç¼ç ") private String classifyId; /**ç±»ååç§°*/ @Excel(name = "ç±»ååç§°", width = 15) @Excel(name = "åç±»åç§°", width = 15) @ApiModelProperty(value = "ç±»ååç§°") private String typeName; /**ç¶ç±»åid*/ @Excel(name = "ç¶ç±»åid", width = 15) //@Excel(name = "ç¶ç±»åid", width = 15) @ApiModelProperty(value = "ç¶ç±»åid") private String parentId; @Excel(name = "ä¸çº§åç±»ç¼å·", width = 15) @TableField(exist = false) private String parentNum; @Excel(name = "ä¸çº§åç±»åç§°", width = 15) @TableField(exist = false) private String parentName; /**æ¾ç¤ºåºå·*/ @Excel(name = "æ¾ç¤ºåºå·", width = 15) //@Excel(name = "æ¾ç¤ºåºå·", width = 15) @ApiModelProperty(value = "æ¾ç¤ºåºå·") private String seq; /**ç¶æï¼1.å¯ç¨ï¼2.å ³éï¼*/ @Excel(name = "ç¶æï¼1.å¯ç¨ï¼2.å ³éï¼", width = 15) //@Excel(name = "ç¶æï¼1.å¯ç¨ï¼2.å ³éï¼", width = 15) @ApiModelProperty(value = "ç¶æï¼1.å¯ç¨ï¼2.å ³éï¼") private String status; /**æ¯å¦æ¯å¶åèç¹*/ @Excel(name = "æ¯å¦æ¯å¶åèç¹", width = 15) //@Excel(name = "æ¯å¦æ¯å¶åèç¹", width = 15) @ApiModelProperty(value = "æ¯å¦æ¯å¶åèç¹") private String leafFlag; /**å±çº§*/ @Excel(name = "å±çº§", width = 15) //@Excel(name = "å±çº§", width = 15) @ApiModelProperty(value = "å±çº§") private String rank; /**对åºåæ°æ¨¡æ¿è¡¨åç§°*/ @Excel(name = "对åºåæ°æ¨¡æ¿è¡¨åç§°", width = 15) //@Excel(name = "对åºåæ°æ¨¡æ¿è¡¨åç§°", width = 15) @ApiModelProperty(value = "对åºåæ°æ¨¡æ¿è¡¨åç§°") @Dict(dicCode = "tool_para_type") private String paraTypeFlag; /**夿³¨*/ @Excel(name = "åæ°æ¨¡æ¿", width = 15) @TableField(exist = false) private String paraTypeFlagName; /**夿³¨*/ @Excel(name = "夿³¨", width = 15) @ApiModelProperty(value = "夿³¨") private String remark; /**ç§æ·å·*/ @Excel(name = "ç§æ·å·", width = 15) //@Excel(name = "ç§æ·å·", width = 15) @ApiModelProperty(value = "ç§æ·å·") private String tenantId; /**å建人*/ @@ -83,25 +101,14 @@ @ApiModelProperty(value = "å建æ¶é´") private Date createTime; /**æ´æ°äºº*/ @Excel(name = "æ´æ°äºº", width = 15) //@Excel(name = "æ´æ°äºº", width = 15) @ApiModelProperty(value = "æ´æ°äºº") private String updateBy; /**æ´æ°æ¶é´*/ @Excel(name = "æ´æ°æ¶é´", width = 15, format = "yyyy-MM-dd") //@Excel(name = "æ´æ°æ¶é´", width = 15, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "æ´æ°æ¶é´") private Date updateTime; /**åç±»ç¼ç */ @Excel(name = "åç±»ç¼ç ", width = 15) @ApiModelProperty(value = "åç±»ç¼ç ") private String classifyId; @TableField(exist = false) private String parentNum; @TableField(exist = false) private String parentName; @TableField(exist = false) private String paraTypeFlagName; } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/BaseToolsMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package org.jeecg.modules.tms.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.tms.entity.BaseTools; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: tms_base_tools * @Author: jeecg-boot * @Date: 2025-05-09 * @Version: V1.0 */ public interface BaseToolsMapper extends BaseMapper<BaseTools> { } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ToolsClassifyMapper.java
@@ -20,4 +20,6 @@ IPage<ToolsClassify> queryPageList(Page<ToolsClassify> page, @Param(Constants.WRAPPER) Wrapper<ToolsClassify> queryWrapper); List<ToolsClassify> queryExportList(@Param(Constants.WRAPPER) Wrapper<ToolsClassify> queryWrapper); } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/BaseToolsMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,5 @@ <?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="org.jeecg.modules.tms.mapper.BaseToolsMapper"> </mapper> lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ToolsClassifyMapper.xml
@@ -26,4 +26,29 @@ LEFT JOIN sys_dict_item s on s.dict_id = d.id and d.dict_code = 'tool_para_type') a on t.para_type_flag = a.item_value ${ew.customSqlSegment} </select> <select id="queryExportList" resultType="org.jeecg.modules.tms.entity.ToolsClassify"> SELECT t.id, t.classify_id classifyId, t.type_name typeName, t.parent_id parentId, p.classify_id parentNum, p.type_name parentName, t.seq, t.leaf_flag leafFlag, t.para_type_flag paraTypeFlag, a.paraTypeFlagName paraTypeFlagName, t.status, t.remark, t.create_by createBy, t.create_time createTime, t.update_by updateBy, t.update_time updateTime FROM tms_tools_classify t LEFT JOIN tms_tools_classify p on t.parent_id = p.id LEFT JOIN (select s.item_value,s.item_text paraTypeFlagName from sys_dict d LEFT JOIN sys_dict_item s on s.dict_id = d.id and d.dict_code = 'tool_para_type') a on t.para_type_flag = a.item_value ${ew.customSqlSegment} </select> </mapper> lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IBaseToolsService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ package org.jeecg.modules.tms.service; import org.jeecg.modules.tms.entity.BaseTools; import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: tms_base_tools * @Author: jeecg-boot * @Date: 2025-05-09 * @Version: V1.0 */ public interface IBaseToolsService extends IService<BaseTools> { } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IToolsClassifyService.java
@@ -3,10 +3,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.common.api.vo.CommonGenericTree; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.tms.entity.ToolsClassify; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.tms.entity.Warehouse; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; @@ -22,4 +27,8 @@ public List<CommonGenericTree> loadTree(); ModelAndView toolClassifyExport(HttpServletRequest request, ToolsClassify toolsClassify, Class<ToolsClassify> clazz, String title); Result<?> toolClassifyImportExcel(HttpServletRequest request, HttpServletResponse response) throws IOException; } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/BaseToolsServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package org.jeecg.modules.tms.service.impl; import org.jeecg.modules.tms.entity.BaseTools; import org.jeecg.modules.tms.mapper.BaseToolsMapper; import org.jeecg.modules.tms.service.IBaseToolsService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: tms_base_tools * @Author: jeecg-boot * @Date: 2025-05-09 * @Version: V1.0 */ @Service public class BaseToolsServiceImpl extends ServiceImpl<BaseToolsMapper, BaseTools> implements IBaseToolsService { } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java
@@ -3,23 +3,40 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import liquibase.pro.packaged.Q; import org.apache.poi.ss.usermodel.*; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.CommonGenericTree; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.ImportExcelUtil; import org.jeecg.common.util.StrUtils; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.tms.entity.ToolsClassify; import org.jeecg.modules.tms.mapper.ToolsClassifyMapper; import org.jeecg.modules.tms.service.IToolsClassifyService; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.tools.Tool; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.io.IOException; import java.io.InputStream; import java.util.*; /** * @Description: tms_tools_classify @@ -30,6 +47,8 @@ @Service public class ToolsClassifyServiceImpl extends ServiceImpl<ToolsClassifyMapper, ToolsClassify> implements IToolsClassifyService { @Value("${jeecg.path.upload}") private String upLoadPath; @Override public IPage<ToolsClassify> queryPageList(Page<ToolsClassify> page, Map<String, String[]> parameterMap) { QueryWrapper<ToolsClassify> queryWrapper = Wrappers.query(); @@ -124,4 +143,117 @@ } return toolsClassify; } @Override public ModelAndView toolClassifyExport(HttpServletRequest request, ToolsClassify toolsClassify, Class<ToolsClassify> clazz, String title) { // Step.1 ç»è£ æ¥è¯¢æ¡ä»¶ QueryWrapper<ToolsClassify> queryWrapper = new QueryWrapper<>(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // è¿æ»¤é䏿°æ® String selections = request.getParameter("selections"); if (oConvertUtils.isNotEmpty(selections)) { List<String> selectionList = Arrays.asList(selections.split(",")); queryWrapper.in("t.id",selectionList); } // Step.2 è·åå¯¼åºæ°æ® List<ToolsClassify> exportList = this.baseMapper.queryExportList(queryWrapper); // Step.3 AutoPoi 导åºExcel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); //æ¤å¤è®¾ç½®çfilenameæ æ ,å端ä¼éæ´æ°è®¾ç½®ä¸ä¸ mv.addObject(NormalExcelConstants.FILE_NAME, title); mv.addObject(NormalExcelConstants.CLASS, clazz); //update-begin--Author:liusq Date:20210126 forï¼å¾çå¯¼åºæ¥éï¼ImageBasePathæªè®¾ç½®-------------------- ExportParams exportParams=new ExportParams(title + "æ¥è¡¨", "导åºäºº:" + sysUser.getRealname(), title); exportParams.setImageBasePath(upLoadPath); //update-end--Author:liusq Date:20210126 forï¼å¾çå¯¼åºæ¥éï¼ImageBasePathæªè®¾ç½®---------------------- mv.addObject(NormalExcelConstants.PARAMS,exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, exportList); return mv; } @Override public Result<?> toolClassifyImportExcel(HttpServletRequest request, HttpServletResponse response) throws IOException { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // è·åä¸ä¼ æä»¶å¯¹è±¡ MultipartFile file = multipartRequest.getFile("file"); //éè¯¯ä¿¡æ¯ List<String> errorMessage = new ArrayList<>(); int successLines = 0, errorLines = 0; try (InputStream fis = file.getInputStream()) { Workbook workbook = WorkbookFactory.create(fis); // è·å第ä¸ä¸ªå·¥ä½è¡¨ Sheet sheet = workbook.getSheetAt(0); for(Row row : sheet) { ToolsClassify newToolsClassify = new ToolsClassify(); if (row.getRowNum() == 0) continue; Cell numCell = row.getCell(0); String num = numCell.getStringCellValue(); Cell nameCell = row.getCell(1); String name = nameCell.getStringCellValue(); Cell parentNumCell = row.getCell(2); String parentNum = parentNumCell.getStringCellValue(); Cell leafFlagCell = row.getCell(4); String leafFlag = leafFlagCell.getStringCellValue(); Cell paraTypeFlagCell = row.getCell(5); String paraTypeFlag = paraTypeFlagCell.getStringCellValue(); //è½¬ä¹æ¯å¦ä¸ºå¶åèç¹ if("æ¯".equals(leafFlag)){ leafFlag = "1"; }else if("å¦".equals(leafFlag)){ leafFlag = "2"; }else { errorMessage.add("第"+row.getRowNum()+1+"è¡ï¼æ¯å¦ä¸ºå¶åèç¹å¡«åé误ï¼è¯·å¡«åâæ¯âæâå¦â"); errorLines++; continue; } if(StringUtils.isBlank(num)){ errorMessage.add("第"+row.getRowNum()+1+"è¡ï¼åç±»ç¼ç ä¸è½ä¸ºç©º"); errorLines++; continue; } if(StringUtils.isBlank(name)){ errorMessage.add("第"+row.getRowNum()+1+"è¡ï¼åç±»åç§°ä¸è½ä¸ºç©º"); errorLines++; continue; //夿æ¯å¦æä¸çº§åç±» } if(StringUtils.isNotBlank(parentNum)){ ToolsClassify toolsClassify = this.lambdaQuery() .eq(ToolsClassify::getClassifyId,parentNum) .eq(ToolsClassify::getLeafFlag,"2").one(); if(toolsClassify == null){ errorMessage.add("第"+row.getRowNum()+1+"è¡ï¼åç±»ç¼ç 为"+num+"çæ°æ®çä¸çº§åç±»ç¼å·ä¸åå¨æä¸ºå¶åèç¹"); errorLines++; }else { newToolsClassify.setClassifyId(num) .setTypeName(name) .setStatus("1") .setLeafFlag(leafFlag) .setParentId(toolsClassify.getId()) .setParaTypeFlag(paraTypeFlag); this.save(newToolsClassify); successLines++; } //å¦ææ²¡å¡«åä¸çº§åç±»ç¼å·ï¼åæ°å¢å°æ ¹èç¹ }else { newToolsClassify.setClassifyId(num) .setTypeName(name) .setStatus("1") .setParentId("-1") .setLeafFlag(leafFlag) .setParaTypeFlag(paraTypeFlag); this.save(newToolsClassify); successLines++; } } }catch (IOException e) { e.printStackTrace(); } return ImportExcelUtil.imporReturnRes(errorLines,successLines,errorMessage); } }