| | |
| | | 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.DictModel; |
| | | 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.system.mapper.SysDictItemMapper; |
| | | import org.jeecg.modules.system.mapper.SysDictMapper; |
| | | 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.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | |
| | | @Value("${jeecg.path.upload}") |
| | | private String upLoadPath; |
| | | |
| | | @Autowired |
| | | private SysDictMapper sysDictMapper; |
| | | |
| | | @Autowired |
| | | private SysDictItemMapper sysDictItemMapper; |
| | | @Override |
| | | public IPage<ToolsClassify> queryPageList(Page<ToolsClassify> page, Map<String, String[]> parameterMap) { |
| | | QueryWrapper<ToolsClassify> queryWrapper = Wrappers.query(); |
| | |
| | | // 获取第一个工作表 |
| | | Sheet sheet = workbook.getSheetAt(0); |
| | | for(Row row : sheet) { |
| | | int rowNum = row.getRowNum()+1; |
| | | ToolsClassify newToolsClassify = new ToolsClassify(); |
| | | if (row.getRowNum() == 0) |
| | | continue; |
| | |
| | | String name = nameCell.getStringCellValue(); |
| | | Cell parentNumCell = row.getCell(2); |
| | | String parentNum = parentNumCell.getStringCellValue(); |
| | | Cell seqCell = row.getCell(3); |
| | | String seq = seqCell.getStringCellValue(); |
| | | Cell leafFlagCell = row.getCell(4); |
| | | String leafFlag = leafFlagCell.getStringCellValue(); |
| | | Cell paraTypeFlagCell = row.getCell(5); |
| | |
| | | }else if("否".equals(leafFlag)){ |
| | | leafFlag = "2"; |
| | | }else { |
| | | errorMessage.add("第"+row.getRowNum()+1+"行,是否为叶子节点填写错误,请填写‘是’或’否‘"); |
| | | errorMessage.add("第"+rowNum+"行,是否为叶子节点填写错误,请填写‘是’或’否‘"); |
| | | errorLines++; |
| | | continue; |
| | | } |
| | | if(StringUtils.isBlank(num)){ |
| | | errorMessage.add("第"+row.getRowNum()+1+"行,分类编码不能为空"); |
| | | errorMessage.add("第"+rowNum+"行,分类编码不能为空"); |
| | | errorLines++; |
| | | continue; |
| | | } |
| | | if(StringUtils.isBlank(name)){ |
| | | errorMessage.add("第"+row.getRowNum()+1+"行,分类名称不能为空"); |
| | | errorMessage.add("第"+rowNum+"行,分类名称不能为空"); |
| | | errorLines++; |
| | | continue; |
| | | //判断是否有上级分类 |
| | | } |
| | | //判断参数模板是否存在 |
| | | if(StringUtils.isNotBlank(paraTypeFlag)){ |
| | | List<DictModel> dictList = sysDictMapper.queryDictItemValueByCodeAndText("tool_para_type",paraTypeFlag); |
| | | if(CollectionUtils.isNotEmpty(dictList)){ |
| | | paraTypeFlag = dictList.get(0).getValue(); |
| | | }else { |
| | | errorMessage.add("第"+rowNum+"行,参数模板不存在"); |
| | | 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+"的数据的上级分类编号不存在或为叶子节点"); |
| | | errorMessage.add("第"+rowNum+"行,分类编码为"+num+"的数据的上级分类编号不存在或为叶子节点"); |
| | | errorLines++; |
| | | }else { |
| | | newToolsClassify.setClassifyId(num) |
| | | .setTypeName(name) |
| | | .setStatus("1") |
| | | .setLeafFlag(leafFlag) |
| | | .setParentId(toolsClassify.getId()) |
| | | .setParaTypeFlag(paraTypeFlag); |
| | | this.save(newToolsClassify); |
| | | //判断编码是否重复,重复的进行更新 |
| | | ToolsClassify tools = this.lambdaQuery().eq(ToolsClassify::getClassifyId,num).one(); |
| | | if(tools != null){ |
| | | tools.setClassifyId(num) |
| | | .setTypeName(name) |
| | | .setStatus("1") |
| | | .setLeafFlag(leafFlag) |
| | | .setSeq(seq) |
| | | .setParentId(toolsClassify.getId()) |
| | | .setParaTypeFlag(paraTypeFlag); |
| | | this.updateById(tools); |
| | | }else{ |
| | | newToolsClassify.setClassifyId(num) |
| | | .setTypeName(name) |
| | | .setStatus("1") |
| | | .setLeafFlag(leafFlag) |
| | | .setSeq(seq) |
| | | .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); |
| | | //判断编码是否重复,重复的进行更新 |
| | | ToolsClassify tools = this.lambdaQuery().eq(ToolsClassify::getClassifyId,num).one(); |
| | | if(tools != null){ |
| | | tools.setClassifyId(num) |
| | | .setTypeName(name) |
| | | .setStatus("1") |
| | | .setLeafFlag(leafFlag) |
| | | .setSeq(seq) |
| | | .setParentId("-1") |
| | | .setParaTypeFlag(paraTypeFlag); |
| | | this.updateById(tools); |
| | | }else { |
| | | newToolsClassify.setClassifyId(num) |
| | | .setTypeName(name) |
| | | .setStatus("1") |
| | | .setParentId("-1") |
| | | .setSeq(seq) |
| | | .setLeafFlag(leafFlag) |
| | | .setParaTypeFlag(paraTypeFlag); |
| | | this.save(newToolsClassify); |
| | | } |
| | | successLines++; |
| | | } |
| | | } |