lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolsClassifyController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ToolsClassify.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ToolsClassifyMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ToolsClassifyMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IToolsClassifyService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolsClassifyController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,191 @@ 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.apache.poi.ss.formula.functions.T; import org.jeecg.common.api.vo.CommonGenericTree; 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.ToolsClassify; import org.jeecg.modules.tms.entity.Warehouse; import org.jeecg.modules.tms.service.IToolsClassifyService; 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_tools_classify * @Author: jeecg-boot * @Date: 2025-05-06 * @Version: V1.0 */ @Api(tags="tms_tools_classify") @RestController @RequestMapping("/tms/toolsClassify") @Slf4j public class ToolsClassifyController extends JeecgController<ToolsClassify, IToolsClassifyService> { @Autowired private IToolsClassifyService toolsClassifyService; /** * å页å表æ¥è¯¢ * * @param toolsClassify * @param pageNo * @param pageSize * @param req * @return */ //@AutoLog(value = "tms_tools_classify-å页å表æ¥è¯¢") @ApiOperation(value="tms_tools_classify-å页å表æ¥è¯¢", notes="tms_tools_classify-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<IPage<ToolsClassify>> queryPageList(ToolsClassify toolsClassify, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { Map<String, String[]> parameterMap = req.getParameterMap(); Page<ToolsClassify> page = new Page<ToolsClassify>(pageNo, pageSize); IPage<ToolsClassify> pageList = toolsClassifyService.queryPageList(page, parameterMap); return Result.OK(pageList); } /** * æ·»å * * @param toolsClassify * @return */ @AutoLog(value = "tms_tools_classify-æ·»å ") @ApiOperation(value="tms_tools_classify-æ·»å ", notes="tms_tools_classify-æ·»å ") //@RequiresPermissions("org.jeecg.modules:tms_tools_classify:add") @PostMapping(value = "/add") public Result<String> add(@RequestBody ToolsClassify toolsClassify) { toolsClassify.setStatus("1"); toolsClassifyService.save(toolsClassify); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param toolsClassify * @return */ @AutoLog(value = "tms_tools_classify-ç¼è¾") @ApiOperation(value="tms_tools_classify-ç¼è¾", notes="tms_tools_classify-ç¼è¾") //@RequiresPermissions("org.jeecg.modules:tms_tools_classify:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> edit(@RequestBody ToolsClassify toolsClassify) { toolsClassifyService.updateById(toolsClassify); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "tms_tools_classify-éè¿idå é¤") @ApiOperation(value="tms_tools_classify-éè¿idå é¤", notes="tms_tools_classify-éè¿idå é¤") //@RequiresPermissions("org.jeecg.modules:tms_tools_classify:delete") @DeleteMapping(value = "/delete") public Result<String> delete(@RequestParam(name="id",required=true) String id) { toolsClassifyService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "tms_tools_classify-æ¹éå é¤") @ApiOperation(value="tms_tools_classify-æ¹éå é¤", notes="tms_tools_classify-æ¹éå é¤") //@RequiresPermissions("org.jeecg.modules:tms_tools_classify:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.toolsClassifyService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿å!"); } /** * éè¿idæ¥è¯¢ * * @param id * @return */ //@AutoLog(value = "tms_tools_classify-éè¿idæ¥è¯¢") @ApiOperation(value="tms_tools_classify-éè¿idæ¥è¯¢", notes="tms_tools_classify-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<ToolsClassify> queryById(@RequestParam(name="id",required=true) String id) { ToolsClassify toolsClassify = toolsClassifyService.getById(id); if(toolsClassify==null) { return Result.error("æªæ¾å°å¯¹åºæ°æ®"); } return Result.OK(toolsClassify); } /** * 导åºexcel * * @param request * @param toolsClassify */ //@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"); } /** * éè¿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); } @AutoLog(value = "å·¥å ·åç±»æ ") @ApiOperation(value = "å·¥å ·åç±»æ ", notes = "å·¥å ·åç±»æ ") @GetMapping("/loadTree") public Result<?> loadTree() { List<CommonGenericTree> list = toolsClassifyService.loadTree(); return Result.ok(list); } } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ToolsClassify.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,107 @@ 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.*; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.jeecg.common.constant.CommonConstant; 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_tools_classify * @Author: jeecg-boot * @Date: 2025-05-06 * @Version: V1.0 */ @Data @TableName("tms_tools_classify") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @ApiModel(value="tms_tools_classify对象", description="tms_tools_classify") 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 typeName; /**ç¶ç±»åid*/ @Excel(name = "ç¶ç±»åid", width = 15) @ApiModelProperty(value = "ç¶ç±»åid") private String parentId; /**æ¾ç¤ºåºå·*/ @Excel(name = "æ¾ç¤ºåºå·", width = 15) @ApiModelProperty(value = "æ¾ç¤ºåºå·") private String seq; /**ç¶æï¼1.å¯ç¨ï¼2.å ³éï¼*/ @Excel(name = "ç¶æï¼1.å¯ç¨ï¼2.å ³éï¼", width = 15) @ApiModelProperty(value = "ç¶æï¼1.å¯ç¨ï¼2.å ³éï¼") private String status; /**æ¯å¦æ¯å¶åèç¹*/ @Excel(name = "æ¯å¦æ¯å¶åèç¹", width = 15) @ApiModelProperty(value = "æ¯å¦æ¯å¶åèç¹") private String leafFlag; /**å±çº§*/ @Excel(name = "å±çº§", width = 15) @ApiModelProperty(value = "å±çº§") private String rank; /**对åºåæ°æ¨¡æ¿è¡¨åç§°*/ @Excel(name = "对åºåæ°æ¨¡æ¿è¡¨åç§°", width = 15) @ApiModelProperty(value = "对åºåæ°æ¨¡æ¿è¡¨åç§°") @Dict(dicCode = "tool_para_type") private String paraTypeFlag; /**夿³¨*/ @Excel(name = "夿³¨", width = 15) @ApiModelProperty(value = "夿³¨") private String remark; /**ç§æ·å·*/ @Excel(name = "ç§æ·å·", width = 15) @ApiModelProperty(value = "ç§æ·å·") private String tenantId; /**å建人*/ @Excel(name = "å建人", width = 15) @ApiModelProperty(value = "å建人") private String createBy; /**å建æ¶é´*/ @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 createTime; /**æ´æ°äºº*/ @Excel(name = "æ´æ°äºº", width = 15) @ApiModelProperty(value = "æ´æ°äºº") private String updateBy; /**æ´æ°æ¶é´*/ @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/ToolsClassifyMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package org.jeecg.modules.tms.mapper; import java.util.List; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.tms.entity.ToolsClassify; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: tms_tools_classify * @Author: jeecg-boot * @Date: 2025-05-06 * @Version: V1.0 */ public interface ToolsClassifyMapper extends BaseMapper<ToolsClassify> { IPage<ToolsClassify> queryPageList(Page<ToolsClassify> page, @Param(Constants.WRAPPER) Wrapper<ToolsClassify> queryWrapper); } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ToolsClassifyMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ <?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.ToolsClassifyMapper"> <select id="queryPageList" 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/IToolsClassifyService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package org.jeecg.modules.tms.service; 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.modules.tms.entity.ToolsClassify; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.tms.entity.Warehouse; import java.util.List; import java.util.Map; /** * @Description: tms_tools_classify * @Author: jeecg-boot * @Date: 2025-05-06 * @Version: V1.0 */ public interface IToolsClassifyService extends IService<ToolsClassify> { IPage<ToolsClassify> queryPageList(Page<ToolsClassify> page, Map<String, String[]> parameterMap); public List<CommonGenericTree> loadTree(); } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,127 @@ package org.jeecg.modules.tms.service.impl; 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.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.common.api.vo.CommonGenericTree; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.util.StrUtils; import org.jeecg.modules.tms.entity.ToolsClassify; import org.jeecg.modules.tms.mapper.ToolsClassifyMapper; import org.jeecg.modules.tms.service.IToolsClassifyService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import javax.tools.Tool; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description: tms_tools_classify * @Author: jeecg-boot * @Date: 2025-05-06 * @Version: V1.0 */ @Service public class ToolsClassifyServiceImpl extends ServiceImpl<ToolsClassifyMapper, ToolsClassify> implements IToolsClassifyService { @Override public IPage<ToolsClassify> queryPageList(Page<ToolsClassify> page, Map<String, String[]> parameterMap) { QueryWrapper<ToolsClassify> queryWrapper = Wrappers.query(); String[] classifyIds = parameterMap.get("classifyId"); if (classifyIds != null && classifyIds.length > 0) { queryWrapper.like("t.classify_id", classifyIds[0]); } String[] typeNames = parameterMap.get("typeName"); if (typeNames != null && typeNames.length > 0) { queryWrapper.like("t.type_name", typeNames[0]); } String[] parentIds = parameterMap.get("parentId"); if (parentIds != null && parentIds.length > 0) { queryWrapper.eq("t.parent_id", parentIds[0]); } queryWrapper.orderByAsc("t.seq"); return this.baseMapper.queryPageList(page, queryWrapper); } public List<CommonGenericTree> loadTree() { List<ToolsClassify> toolsClassifyList = this.list(); List<CommonGenericTree> commonGenericTreeList = loadTree(toolsClassifyList); return commonGenericTreeList; } public List<CommonGenericTree> loadTree(List<ToolsClassify> toolsClassifyList) { @SuppressWarnings("unused") ToolsClassify toolsClassify = new ToolsClassify(); List<CommonGenericTree> list = new ArrayList<>(); Map<String, CommonGenericTree> map = new HashMap<>(); CommonGenericTree<ToolsClassify> node = new CommonGenericTree<>(); node.setKey("-1"); node.setTitle("å·¥å ·åç±»"); node.setRField1(""); node.setRField2(""); node.setEntity(new ToolsClassify().setId("-1").setClassifyId("0").setTypeName("å·¥å ·åç±»").setLeafFlag("2")); list.add(node); if (CollectionUtils.isNotEmpty(toolsClassifyList)) { CommonGenericTree<ToolsClassify> tcNode; for (ToolsClassify tc : toolsClassifyList) { if (StrUtils.isBlankOrNull(tc.getParentId()) || tc.getParentId().equals("-1")) { tcNode = new CommonGenericTree<>(); tcNode.setKey(tc.getId()); tcNode.setTitle(tc.getClassifyId() + "/" + tc.getTypeName()); tcNode.setParentId(node.getKey()); tcNode.setIcon(""); tcNode.setType(1); tcNode.setValue(tc.getId()); tcNode.setDisabled(CommonConstant.STATUS_0.equals(tc.getStatus()) ? true : false); tcNode.setRField1(tc.getClassifyId()); tcNode.setRField2(getBaseParent(tc.getId(), 0).getClassifyId()); tcNode.setEntity(tc); node.addChildren(tcNode); map.put(tc.getId(), tcNode); } } CommonGenericTree<ToolsClassify> childNode; for (ToolsClassify tc : toolsClassifyList) { ToolsClassify child = tc; if (map.containsKey(child.getParentId())) { if (StrUtils.isBlankOrNull(tc.getParentId()) || tc.getParentId().equals("-1")) { toolsClassify = tc; } else { tcNode = map.get(child.getParentId()); childNode = new CommonGenericTree<>(); childNode.setKey(tc.getId()); childNode.setTitle(tc.getClassifyId() + "/" + tc.getTypeName()); childNode.setParentId(tc.getParentId()); childNode.setIcon(""); childNode.setType(0); childNode.setValue(tc.getId()); childNode.setDisabled(CommonConstant.STATUS_0.equals(tc.getStatus()) ? true : false); childNode.setRField1(tc.getClassifyId()); childNode.setRField2(getBaseParent(tc.getId(), 0).getClassifyId()); childNode.setEntity(tc); tcNode.addChildren(childNode); map.put(child.getId(), childNode); } } } } return list; } public ToolsClassify getBaseParent(String id, int index) { ToolsClassify toolsClassify = null; if (index < 99) { toolsClassify = getById(id); if (StrUtils.isNotBlankOrNull(toolsClassify.getParentId())) { if (!toolsClassify.getParentId().equals("-1")) { toolsClassify = getBaseParent(toolsClassify.getParentId(), index++); } } } return toolsClassify; } }