| | |
| | | |
| | | package com.chinaztt.mes.basic.controller; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.chinaztt.mes.basic.dto.ParamDTO; |
| | | import com.chinaztt.mes.basic.dto.ParamPlusDto; |
| | | import com.chinaztt.mes.basic.entity.Param; |
| | | import com.chinaztt.mes.basic.excel.ParamData; |
| | | import com.chinaztt.mes.basic.excel.ParamUploadListener; |
| | | import com.chinaztt.mes.basic.service.ParamService; |
| | | import com.chinaztt.mes.basic.util.DictUtils; |
| | | import com.chinaztt.mes.common.util.JsonUtil; |
| | | import com.chinaztt.mes.common.util.StringUtils; |
| | | import com.chinaztt.mes.common.util.easyexcel.EasyExcelUtils; |
| | | import com.chinaztt.mes.common.util.easyexcel.template.ParamTemplate; |
| | | import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; |
| | | import com.chinaztt.ztt.admin.api.entity.SysDictItem; |
| | | import com.chinaztt.ztt.common.core.util.R; |
| | |
| | | private final ParamService paramService; |
| | | |
| | | private DictUtils dictUtils; |
| | | |
| | | |
| | | |
| | | @ApiOperation(value = "分页模板查询", notes = "分页查询") |
| | | @GetMapping("/pageInModel") |
| | | @PreAuthorize("@pms.hasPermission('technology_param_view','product_workbench')") |
| | | public R getParamPageInModel(Page page, ParamDTO param) { |
| | | QueryWrapper<Param> gen = QueryWrapperUtil.gen(param); |
| | | gen.lambda().eq(Param::getParentId,0L); |
| | | return R.ok(paramService.page(page, gen)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "工艺绑定查询", notes = "查询") |
| | | @PostMapping("/pageInId") |
| | | @PreAuthorize("@pms.hasPermission('technology_param_view','product_workbench')") |
| | | public R getParamPageInId(Page page, @RequestParam("idList") List<Long>idList) { |
| | | System.out.println(idList); |
| | | QueryWrapper<Param> gen = new QueryWrapper<>(); |
| | | gen.lambda().in(Param::getId,idList); |
| | | List<SysDictItem> dict = dictUtils.getDict("technology_param"); |
| | | Page page1 = paramService.page(page, gen); |
| | | List records = page1.getRecords(); |
| | | List<Map<String, Object>> tree = getTree(records, dict); |
| | | page1.setRecords(tree); |
| | | return R.ok(page1); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询 |
| | | * |
| | |
| | | @PreAuthorize("@pms.hasPermission('technology_param_view','product_workbench')") |
| | | public R getParamPage(Page page, ParamDTO param) { |
| | | List<SysDictItem> dict = dictUtils.getDict("technology_param"); |
| | | System.out.println(dict); |
| | | Page page1 = paramService.page(page, QueryWrapperUtil.gen(param)); |
| | | QueryWrapper<Param> gen = QueryWrapperUtil.gen(param); |
| | | gen.lambda().eq(Param::getParentId,0L); |
| | | Page page1 = paramService.page(page, gen); |
| | | List records = page1.getRecords(); |
| | | List<Map>all = new ArrayList<Map>(); |
| | | List<Map<String, Object>> tree = getTree(records, dict); |
| | | page1.setRecords(tree); |
| | | return R.ok(page1); |
| | | } |
| | | |
| | | public List<Map<String,Object>> getTree(List records,List<SysDictItem> dict){ |
| | | List<Map<String,Object>> all = new ArrayList<>(); |
| | | records.forEach(l->{ |
| | | System.out.println("一级数据--"+l); |
| | | Map pojo = JsonUtil.jsonToPojo(JsonUtil.jsonToString(l), Map.class); |
| | | Optional.ofNullable(pojo.get("type")).ifPresent(o->{ |
| | | pojo.put("type",dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),pojo.get("type"))).collect(Collectors.toList()).get(0).getLabel()); |
| | |
| | | QueryWrapper<Param>queryWrapper=new QueryWrapper<>(); |
| | | queryWrapper.lambda().eq(Param::getParentId,pojo.get("id")); |
| | | List<Param> secondList = paramService.list(queryWrapper); |
| | | List<Map>secondMapList = new ArrayList<>(); |
| | | //没有children直接添加 |
| | | if(secondList.isEmpty()){ |
| | | Map<String,Object> oneMap = new HashMap<>(); |
| | | oneMap.put("code",pojo.get("code")); |
| | | oneMap.put("paramItem",pojo.get("parameterItem")); |
| | | oneMap.put("paramItemTwo",""); |
| | | oneMap.put("paramItemThree",""); |
| | | oneMap.put("oneId",StringUtils.defaultString( String.valueOf(pojo.get("id")),"")); |
| | | oneMap.put("paramType",StringUtils.defaultString((String) pojo.get("type"),"")); |
| | | oneMap.put("paramFormat",StringUtils.defaultString((String) pojo.get("parameterFormat"),"")); |
| | | oneMap.put("unit",StringUtils.defaultString((String) pojo.get("unit"),"")); |
| | | oneMap.put("parentId",pojo.get("parentId")); |
| | | all.add(oneMap); |
| | | } |
| | | secondList.forEach(s->{ |
| | | System.out.println("二级数据--"+s); |
| | | Map second = JsonUtil.jsonToPojo(JsonUtil.jsonToString(s), Map.class); |
| | | Optional.ofNullable(second.get("type")).ifPresent(o->{ |
| | | second.put("type",dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),second.get("type"))).collect(Collectors.toList()).get(0).getLabel()); |
| | | }); |
| | | System.out.println(second); |
| | | QueryWrapper<Param>queryWrapperSecond=new QueryWrapper<>(); |
| | | queryWrapperSecond.lambda().eq(Param::getParentId,second.get("id")); |
| | | List<Param> third = paramService.getBaseMapper().selectList(queryWrapperSecond); |
| | | if(third.isEmpty()){ |
| | | Param p = new Param(); |
| | | p.setType(s.getType()); |
| | | p.setParameterFormat(s.getParameterFormat()); |
| | | p.setUnit(s.getUnit()); |
| | | p.setParentId(s.getParentId()); |
| | | third.add(p); |
| | | } |
| | | third.forEach(t->{ |
| | | System.out.println("三级数据--"+t); |
| | | Optional.ofNullable(t.getType()).ifPresent(o->{ |
| | | t.setType(dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),t.getType())).collect(Collectors.toList()).get(0).getLabel()); |
| | | }); |
| | | Map<String,Object> allMap = new HashMap<>(); |
| | | allMap.put("code",pojo.get("code")); |
| | | allMap.put("paramItem",StringUtils.defaultString((String) pojo.get("parameterItem"),"")); |
| | | allMap.put("oneId",StringUtils.defaultString( String.valueOf(pojo.get("id")),"")); |
| | | allMap.put("twoId",StringUtils.defaultString( String.valueOf(second.get("id")) ,"")); |
| | | allMap.put("threeId",StringUtils.defaultString(String.valueOf(t.getId()),"")); |
| | | allMap.put("paramItemTwo",StringUtils.defaultString((String) second.get("parameterItem"),"")); |
| | | allMap.put("paramItemThree",StringUtils.defaultString(t.getParameterItem(),"")); |
| | | allMap.put("paramType",StringUtils.defaultString(t.getType(),"")); |
| | | allMap.put("paramFormat",StringUtils.defaultString(t.getParameterFormat(),"")); |
| | | allMap.put("unit", StringUtils.defaultString(t.getUnit(),"")); |
| | | allMap.put("parentId",t.getParentId()); |
| | | all.add(allMap); |
| | | }); |
| | | System.out.println(third); |
| | | second.put("children",third); |
| | | secondMapList.add(second); |
| | | }); |
| | | pojo.put("children",secondMapList); |
| | | all.add(pojo); |
| | | }); |
| | | page1.setRecords(all); |
| | | return R.ok(page1); |
| | | return all; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | @PostMapping("/upload") |
| | | @ApiOperation(value = "导入", notes = "导入") |
| | | public R upload(@RequestParam("file") MultipartFile file) { |
| | | try { |
| | | EasyExcel.read(file.getInputStream(), ParamData.class, new ParamUploadListener(paramService)).sheet().doRead(); |
| | | // EasyExcel.read(file.getInputStream(), ParamTemplate.class, new ExcelListener<ParamTemplate>()).sheet().doRead(); |
| | | List<ParamTemplate> paramTemplates = EasyExcelUtils.readModelExcel(ParamTemplate.class, file); |
| | | paramService.importExcelPlus(paramTemplates); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |