From af389156a78401b1e51807efe90b7310fc4c20f6 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期五, 10 十一月 2023 19:50:28 +0800 Subject: [PATCH] Changes11 --- mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamJoinTemplateMapper.java | 2 mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java | 11 mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java | 2 mes-basic/src/main/resources/mapper/ParamMapper.xml | 18 + mes-basic/src/main/resources/mapper/ParamJoinTemplateMapper.xml | 6 mes-basic/src/main/java/com/chinaztt/mes/basic/service/BasicParamTemplateService.java | 8 mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java | 319 ++++++++++++++++++++++++++++--- mes-basic/src/main/java/com/chinaztt/mes/basic/dto/ParamDTO.java | 2 mes-technology/src/main/java/com/chinaztt/mes/technology/controller/RoutingController.java | 3 mes-technology/src/main/java/com/chinaztt/mes/technology/service/RoutingService.java | 9 mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Param.java | 3 mes-basic/src/main/java/com/chinaztt/mes/basic/entity/ParamJoinTemplate.java | 2 mes-basic/src/main/java/com/chinaztt/mes/basic/controller/BasicParamTemplateController.java | 5 mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java | 194 ++++++++++++++++++ 14 files changed, 518 insertions(+), 66 deletions(-) diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/BasicParamTemplateController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/BasicParamTemplateController.java index 45cc021..4663bda 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/BasicParamTemplateController.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/BasicParamTemplateController.java @@ -98,13 +98,14 @@ /** * 閫氳繃id鏌ヨ宸ュ簭鍙傛暟 - * @param id id + * @param id * @return R */ @ApiOperation(value = "閫氳繃id鏌ヨ宸ュ簭鍙傛暟", notes = "閫氳繃id鏌ヨ宸ュ簭鍙傛暟") @GetMapping("/param" ) public R getParamById(Page page, ParamDTO paramDTO) { - return R.ok(basicParamTemplateService.getParamById(page,QueryWrapperUtil.gen(paramDTO))); + Long technologyOperationTemplateId = paramDTO.getTechnologyOperationTemplateId(); + return R.ok(basicParamTemplateService.getParamById(page,technologyOperationTemplateId)); } /** * 鏂板宸ュ簭妯℃澘 diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/dto/ParamDTO.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/dto/ParamDTO.java index 9907501..3fe8cae 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/dto/ParamDTO.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/dto/ParamDTO.java @@ -41,5 +41,5 @@ */ private List<SysDictItem> sysDictItemList; - + private Long templateParentId; } diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Param.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Param.java index 6c9351c..9455899 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Param.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Param.java @@ -104,6 +104,9 @@ @ApiModelProperty(value="鏁版嵁瀛楀吀") private String dict; + @TableField(exist = false) + private String paramValue; + @ApiModelProperty(value="鐖剁骇鍙傛暟") @TableField("parent_id") @JSONField(serializeUsing= ToStringSerializer.class) diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/ParamJoinTemplate.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/ParamJoinTemplate.java index 143c0cb..e3e3487 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/ParamJoinTemplate.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/ParamJoinTemplate.java @@ -60,5 +60,7 @@ @TableField(updateStrategy = FieldStrategy.IGNORED) @ApiModelProperty(value = "榛樿鍊�") private String defaultValue; + + private Long parentId; } diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamJoinTemplateMapper.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamJoinTemplateMapper.java index 020e9b7..a1deff3 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamJoinTemplateMapper.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamJoinTemplateMapper.java @@ -43,4 +43,6 @@ @Param("defaultValue") String defaultValue, @Param("technologyOperationParamId") Long technologyOperationParamId, @Param("technologyOperationTemplateId") Long technologyOperationTemplateId); + + int deleteByCondition(@Param("paramId") long paramId,@Param("templateId")long templateId); } diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java index 63eef7f..22d315b 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/mapper/ParamMapper.java @@ -88,4 +88,6 @@ List<ParamDTO> getLastParamById(@org.apache.ibatis.annotations.Param("paramDTO") ParamDTO paramDTO); List<String> getNos(String code); + + List<ParamDTO>getTemplateParamPlus(@org.apache.ibatis.annotations.Param("templateId")long templateId); } diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/BasicParamTemplateService.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/BasicParamTemplateService.java index dbfbe00..6911999 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/BasicParamTemplateService.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/BasicParamTemplateService.java @@ -22,13 +22,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaztt.mes.basic.dto.ParamDTO; -import com.chinaztt.mes.basic.entity.Param; import com.chinaztt.mes.basic.entity.ParamJoinTemplate; import com.chinaztt.mes.basic.entity.Template; import com.chinaztt.mes.basic.entity.TemplateTypeRelation; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** * 宸ュ簭妯℃澘 @@ -40,16 +40,16 @@ /** * 閫氳繃id鏌ヨ宸ュ簭鍙傛暟 * @param page - * @param gen + * @param * @return */ - IPage<List<Param>> getParamById(Page page, QueryWrapper<ParamDTO> gen); + List<Map<String, Object>> getParamById(Page page, long technologyOperationTemplateId); /** * 宸ュ簭妯℃澘鍏宠仈宸ュ簭鍙傛暟 * @param paramJoinTemplateList * @return */ - List<ParamDTO> relateTypeTemplate(List<ParamJoinTemplate> paramJoinTemplateList); + List<Map<String, Object>> relateTypeTemplate(List<ParamJoinTemplate> paramJoinTemplateList); /** * diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java index 8fb7751..ef6f5c6 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java @@ -36,6 +36,8 @@ import com.chinaztt.mes.basic.service.BasicParamTemplateService; import com.chinaztt.mes.basic.util.DictUtils; import com.chinaztt.mes.common.numgen.NumberGenerator; +import com.chinaztt.mes.common.util.JsonUtil; +import com.chinaztt.ztt.admin.api.entity.SysDictItem; import com.chinaztt.ztt.common.oss.service.OssTemplate; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -46,8 +48,8 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * 宸ュ簭妯℃澘 @@ -69,8 +71,23 @@ private DictUtils dictUtils; @Override - public IPage<List<Param>> getParamById(Page page, QueryWrapper<ParamDTO> gen) { - return paramMapper.getParamById(page, gen); + public List<Map<String, Object>> getParamById(Page page, long technologyOperationTemplateId) { + QueryWrapper<ParamJoinTemplate>gen=new QueryWrapper<>(); + gen.lambda().eq(ParamJoinTemplate::getParentId,0) + .eq(ParamJoinTemplate::getTechnologyOperationTemplateId,technologyOperationTemplateId); + List<ParamJoinTemplate> paramJoinTemplates = paramJoinTemplateMapper.selectList(gen); + if(paramJoinTemplates.size()<1){ + return new ArrayList<>(); + } + List<SysDictItem> dict = dictUtils.getDict("technology_param"); + List<Long>longList=new ArrayList<>(); + paramJoinTemplates.forEach(p->{ + longList.add(p.getTechnologyOperationParamId()); + }); + //QueryWrapper<Param>queryWrapper=new QueryWrapper<>(); + //queryWrapper.lambda().in(Param::getId,longList); + //List<Param> params = paramMapper.selectList(queryWrapper); + return getTree(longList,dict,technologyOperationTemplateId); } @@ -82,7 +99,8 @@ @Override - public List<ParamDTO> relateTypeTemplate(List<ParamJoinTemplate> operationParamJoinTemplate) { + @Transactional(rollbackFor = Exception.class) + public List<Map<String, Object>> relateTypeTemplate(List<ParamJoinTemplate> operationParamJoinTemplate) { List<ParamJoinTemplate> newOperationParamJoinTemplateList = new ArrayList<>(); List<ParamDTO> paramList = new ArrayList<>(); if (CollectionUtil.isNotEmpty(operationParamJoinTemplate)) { @@ -98,17 +116,175 @@ newOperationParamJoinTemplateList.add(newParamJoinTemplate); } for (ParamJoinTemplate newOperationParam : newOperationParamJoinTemplateList) { + long firstId=newOperationParam.getTechnologyOperationParamId(); + long templateId=newOperationParam.getTechnologyOperationTemplateId(); paramJoinTemplateMapper.insert(newOperationParam); + //浜岀骇鍙傛暟 + QueryWrapper<Param>queryWrapperSecond = new QueryWrapper<Param>(); + queryWrapperSecond.lambda().eq(Param::getParentId,newOperationParam.getTechnologyOperationParamId()); + List<Param> paramList1 = paramMapper.selectList(queryWrapperSecond); + if(paramList1.size()>0){ + for (int i = 0; i < paramList1.size(); i++) { + Param secondParam = paramList1.get(i); + ParamJoinTemplate templateSecond=new ParamJoinTemplate(); + templateSecond.setSort(i+1L); + templateSecond.setTechnologyOperationParamId(secondParam.getId()); + templateSecond.setTechnologyOperationTemplateId(templateId); + templateSecond.setParentId(firstId); + paramJoinTemplateMapper.insert(templateSecond); + //涓夌骇鍙傛暟 + QueryWrapper<Param>queryWrapperThird = new QueryWrapper<Param>(); + queryWrapperThird.lambda().eq(Param::getParentId,secondParam.getId()); + List<Param> selectList = paramMapper.selectList(queryWrapperThird); + if(selectList.size()>0){ + for (int j = 0; j < selectList.size(); j++) { + Param thirdParam = selectList.get(j); + ParamJoinTemplate templateThird=new ParamJoinTemplate(); + templateThird.setSort(j+1L); + templateThird.setTechnologyOperationParamId(thirdParam.getId()); + templateThird.setTechnologyOperationTemplateId(templateId); + templateThird.setParentId(secondParam.getId()); + paramJoinTemplateMapper.insert(templateThird); + } + } + } + } } - paramList = paramMapper.getTemplateParam(operationParamJoinTemplate.get(0).getTechnologyOperationTemplateId()); + //paramList = paramMapper.getTemplateParam(operationParamJoinTemplate.get(0).getTechnologyOperationTemplateId()); } - return paramList; + List<SysDictItem> dict = dictUtils.getDict("technology_param"); + QueryWrapper<ParamJoinTemplate>templateQueryWrapper=new QueryWrapper<>(); + templateQueryWrapper.lambda().eq(ParamJoinTemplate::getParentId,0).select(ParamJoinTemplate::getTechnologyOperationParamId); + List<Long>longList=new ArrayList<>(); + paramJoinTemplateMapper.selectList(templateQueryWrapper).forEach(p->{ + longList.add(p.getTechnologyOperationParamId()); + }); + return getTree(longList,dict,operationParamJoinTemplate.get(0).getTechnologyOperationTemplateId()); } + + public List<Map<String,Object>> getTree(List records,List<SysDictItem> dict,long templateId){ + QueryWrapper<ParamJoinTemplate>templateQueryWrapper=new QueryWrapper<>(); + templateQueryWrapper.lambda().eq(ParamJoinTemplate::getTechnologyOperationTemplateId,templateId); + List<ParamJoinTemplate> paramJoinTemplates = paramJoinTemplateMapper.selectList(templateQueryWrapper); + List<Map<String,Object>> all = new ArrayList<>(); + records.forEach(l->{ + //涓�绾у弬鏁� + Param paramFirst = paramMapper.selectById(Long.parseLong(String.valueOf(l))); + + Map pojo = JsonUtil.jsonToPojo(JsonUtil.jsonToString(paramFirst), 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()); + }); + String id = String.valueOf(pojo.get("id")); + List<ParamJoinTemplate> collect = paramJoinTemplates.stream().filter(p -> Objects.equals(id, String.valueOf(p.getTechnologyOperationParamId()))).collect(Collectors.toList()); + if(collect.size()>0) { + pojo.put("paramValue", collect.get(0).getDefaultValue()); + }else { + pojo.put("paramValue", ""); + } + QueryWrapper<Param>queryWrapper=new QueryWrapper<>(); + queryWrapper.lambda().eq(Param::getParentId,pojo.get("id")); + List<Param> secondList = paramMapper.selectList(queryWrapper); + QueryWrapper<ParamJoinTemplate>queryWrapperTem=new QueryWrapper<>(); + queryWrapperTem.lambda().eq(ParamJoinTemplate::getParentId,Long.valueOf(String.valueOf(l))); + List<ParamJoinTemplate> paramJoinTemplates1 = paramJoinTemplateMapper.selectList(queryWrapperTem); + //鍘婚櫎涓嶇浉鍏崇殑鏁版嵁 + secondList.removeIf(s -> paramJoinTemplates1.stream().noneMatch(p->Objects.equals(s.getId(),p.getTechnologyOperationParamId()))); + //娌℃湁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", com.chinaztt.mes.common.util.StringUtils.defaultString( String.valueOf(pojo.get("id")),"")); + oneMap.put("paramType", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("type"),"")); + oneMap.put("paramFormat", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("parameterFormat"),"")); + oneMap.put("unit", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("unit"),"")); + oneMap.put("parentId",pojo.get("parentId")); + List<ParamJoinTemplate> collectSecond = paramJoinTemplates.stream().filter(p -> Objects.equals(String.valueOf(pojo.get("id")),String.valueOf( p.getTechnologyOperationParamId()))).collect(Collectors.toList()); + if(collectSecond.size()>0){ + oneMap.put("paramValue",collectSecond.get(0).getDefaultValue()); + }else { + oneMap.put("paramValue",""); + } + all.add(oneMap); + } + secondList.forEach(s->{ + Map second = JsonUtil.jsonToPojo(JsonUtil.jsonToString(s), Map.class); + List<ParamJoinTemplate> collectSecond = paramJoinTemplates.stream().filter(p -> Objects.equals(s.getId(), p.getTechnologyOperationParamId())).collect(Collectors.toList()); + if(collectSecond.size()>0){ + second.put("paramValue",collectSecond.get(0).getDefaultValue()); + s.setParamValue(String.valueOf(second.get("paramValue"))); + }else { + second.put("paramValue",""); + s.setParamValue(String.valueOf(second.get("paramValue"))); + } + Optional.ofNullable(second.get("type")).ifPresent(o->{ + List<SysDictItem> collect1 = dict.stream().filter(d -> Objects.equals(String.valueOf(d.getValue()), second.get("type"))).collect(Collectors.toList()); + if(collect1.size()>0){ + s.setType(String.valueOf(collect1.get(0).getLabel())); + } + //second.put("type",dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),second.get("type"))).collect(Collectors.toList()).get(0).getLabel()); + //s.setType(String.valueOf(second.get("type"))); + }); + QueryWrapper<Param>queryWrapperSecond=new QueryWrapper<>(); + queryWrapperSecond.lambda().eq(Param::getParentId,second.get("id")); + List<Param> third = paramMapper.selectList(queryWrapperSecond); + QueryWrapper<ParamJoinTemplate>queryWrapperThird=new QueryWrapper<>(); + queryWrapperThird.lambda().eq(ParamJoinTemplate::getParentId,Long.valueOf(String.valueOf(s.getId()))); + List<ParamJoinTemplate> paramJoinTemplates2 = paramJoinTemplateMapper.selectList(queryWrapperThird); + third.removeIf(t -> paramJoinTemplates2.stream().noneMatch(p->Objects.equals(p.getTechnologyOperationParamId(),t.getId()))); + if(third.isEmpty()){ + Param p = new Param(); + p.setType(s.getType()); + p.setParamValue(s.getParamValue()); + //p.setParameterFormat(null); + //p.setParamValue(s.getParamValue()); + p.setUnit(s.getUnit()); + p.setParentId(s.getParentId()); + third.add(p); + } + third.forEach(t->{ + Optional.ofNullable(t.getType()).ifPresent(o->{ + List<SysDictItem> collect1 = dict.stream().filter(d -> Objects.equals(String.valueOf(d.getValue()), t.getType())).collect(Collectors.toList()); + if(collect1.size()>0){ + t.setType(collect1.get(0).getLabel()); + } + }); + Map<String,Object> allMap = new HashMap<>(); + List<ParamJoinTemplate> collectThird = paramJoinTemplates.stream().filter(p -> Objects.equals(t.getId(), p.getTechnologyOperationParamId())).collect(Collectors.toList()); + if(collectThird.size()>0){ + allMap.put("paramValue",collectThird.get(0).getDefaultValue()); + }else { + allMap.put("paramValue",""); + } + allMap.put("code",pojo.get("code")); + allMap.put("paramItem", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("parameterItem"),"")); + allMap.put("oneId", com.chinaztt.mes.common.util.StringUtils.defaultString( String.valueOf(pojo.get("id")),"")); + allMap.put("twoId", com.chinaztt.mes.common.util.StringUtils.defaultString( String.valueOf(second.get("id")) ,"")); + allMap.put("threeId", com.chinaztt.mes.common.util.StringUtils.defaultString(String.valueOf(t.getId()),"")); + allMap.put("paramItemTwo", com.chinaztt.mes.common.util.StringUtils.defaultString((String) second.get("parameterItem"),"")); + allMap.put("paramItemThree", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getParameterItem(),"")); + allMap.put("paramType", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getType(),"")); + //allMap.put("paramFormat", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getParameterFormat(),"")); + allMap.put("unit", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getUnit(),"")); + allMap.put("parentId",t.getParentId()); + allMap.put("paramValue",t.getParamValue()); + all.add(allMap); + }); + }); + }); + return all; + } + @Override public boolean deleteParamTemplate(ParamJoinTemplate operationParamJoinTemplate) { - paramJoinTemplateMapper.delete(Wrappers.<ParamJoinTemplate>lambdaQuery().eq(ParamJoinTemplate::getTechnologyOperationParamId, operationParamJoinTemplate.getTechnologyOperationParamId()).eq(ParamJoinTemplate::getTechnologyOperationTemplateId, operationParamJoinTemplate.getTechnologyOperationTemplateId())); - return false; + System.out.println("------------------------->"+operationParamJoinTemplate); + return paramJoinTemplateMapper + .deleteByCondition( operationParamJoinTemplate.getTechnologyOperationParamId(), + operationParamJoinTemplate.getTechnologyOperationTemplateId())>0; } @Override diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java index 738492e..0ccd4d3 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java @@ -81,7 +81,7 @@ Param second=new Param(); SysDictItem sysDictItem = second_param.stream().filter(p -> p.getId().equals(Integer.valueOf(String.valueOf(s)))).collect(Collectors.toList()).get(0); second.setParameterItem(sysDictItem.getLabel()); - second.setCode(""+s); + second.setCode(father.getCode()+"-"+s); second.setParentId(father.getId()); baseMapper.insert(second); //涓夌骇 @@ -89,7 +89,7 @@ Param third=new Param(); SysDictItem sysThirdDictItem = third_param.stream().filter(p -> p.getId().equals(Integer.valueOf(String.valueOf(t)))).collect(Collectors.toList()).get(0); third.setParameterItem(sysThirdDictItem.getLabel()); - third.setCode(""+t); + third.setCode(second.getCode()+"-"+t); third.setParentId(second.getId()); baseMapper.insert(third); }); @@ -231,6 +231,7 @@ List<List<Param>>paramList=new ArrayList<>(); AtomicInteger nums = new AtomicInteger(); List<Long>secondIds=new ArrayList(); + List<String>secondCode=new ArrayList(); for (int i = 0; i < listParamTemplates.size(); i++) { List<ParamTemplate> l = listParamTemplates.get(i); List<Param>paramList1=new ArrayList<>(); @@ -257,7 +258,8 @@ Param second=new Param(); second.setId(IdWorker.getId()); secondIds.add(second.getId()); - second.setCode(dictTwo.stream().filter(d -> Objects.equals(c.getParamItemTwo(), d.getLabel())).collect(Collectors.toList()).get(0).getId()+""); + second.setCode(paramFirst.getCode()+"-"+dictTwo.stream().filter(d -> Objects.equals(c.getParamItemTwo(), d.getLabel())).collect(Collectors.toList()).get(0).getId()+""); + secondCode.add(second.getCode()); second.setParameterItem(c.getParamItemTwo()); if(c.getParamItemThree()==null){ second.setType(type.stream().filter(d -> Objects.equals(c.getParamType(), d.getLabel())).collect(Collectors.toList()).get(0).getValue()); @@ -271,10 +273,11 @@ Param third=new Param(); third.setId(IdWorker.getId()); long paramItemTwo = secondIds.get(secondIds.size()-1); + String paramItemCode=secondCode.get(secondCode.size()-1); //System.out.println(nums.get()+"鎵�灞炰簩绾�======銆�"+secondIds.get(secondIds.size()-1)); third.setParentId(paramItemTwo); third.setParameterItem(c.getParamItemThree()); - third.setCode(dictThree.stream().filter(d -> Objects.equals(c.getParamItemThree(), d.getLabel())).collect(Collectors.toList()).get(0).getId()+""); + third.setCode(paramItemCode+"-"+dictThree.stream().filter(d -> Objects.equals(c.getParamItemThree(), d.getLabel())).collect(Collectors.toList()).get(0).getId()+""); third.setType(type.stream().filter(d -> Objects.equals(c.getParamType(), d.getLabel())).collect(Collectors.toList()).get(0).getValue()); third.setParameterFormat(c.getParamFormat()); third.setUnit(c.getUnit()); diff --git a/mes-basic/src/main/resources/mapper/ParamJoinTemplateMapper.xml b/mes-basic/src/main/resources/mapper/ParamJoinTemplateMapper.xml index 38e3843..6e377cf 100644 --- a/mes-basic/src/main/resources/mapper/ParamJoinTemplateMapper.xml +++ b/mes-basic/src/main/resources/mapper/ParamJoinTemplateMapper.xml @@ -41,4 +41,10 @@ where technology_operation_param_id = #{technologyOperationParamId} and technology_operation_template_id = #{technologyOperationTemplateId} </update> + <delete id="deleteByCondition"> + DELETE + FROM basic_param_join_template + WHERE technology_operation_param_id = #{paramId} + and technology_operation_template_id = #{templateId} + </delete> </mapper> diff --git a/mes-basic/src/main/resources/mapper/ParamMapper.xml b/mes-basic/src/main/resources/mapper/ParamMapper.xml index 3f12f92..e597752 100644 --- a/mes-basic/src/main/resources/mapper/ParamMapper.xml +++ b/mes-basic/src/main/resources/mapper/ParamMapper.xml @@ -40,6 +40,7 @@ <result property="defaultValue" column="default_value"/> <result property="parentId" column="parent_id"/> <result property="dict" column="dict"/> + <result property="templateParentId" column="templateParentId"/> <collection property="sysDictItemList" ofType="com.chinaztt.ztt.admin.api.entity.SysDictItem" column="dict" select="com.chinaztt.mes.basic.mapper.ParamMapper.getDict"> </collection> @@ -123,4 +124,21 @@ FROM basic_param WHERE code=#{code} </select> + <select id="getTemplateParamPlus" resultMap="paramMap"> + SELECT + bp.id id, + bpj.parent_id templateParentId, + bpj.technology_operation_template_id, + bpj.technology_operation_param_id, + bpj.default_value, + bp.code, + bp.parameter_item, + bp."type", + bp.unit + FROM + basic_param_join_template bpj + LEFT JOIN basic_param bp ON bpj.technology_operation_param_id = bp.ID + WHERE + bpj.technology_operation_template_id = #{templateId} + </select> </mapper> diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/controller/RoutingController.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/controller/RoutingController.java index 1401e61..36ec33a 100644 --- a/mes-technology/src/main/java/com/chinaztt/mes/technology/controller/RoutingController.java +++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/controller/RoutingController.java @@ -341,7 +341,8 @@ @SysLog("宸ュ簭鍙傛暟鐨勫弬鏁板�肩殑淇敼") @PutMapping("routingTemplateParam") public R updateRoutingTemplateParamById(@RequestBody RoutingDTO routing) { - return routingService.updateRoutingTemplateParamById(routing); + System.out.println(routing); + return R.ok(routingService.updateRoutingTemplateParamById(routing)); } diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/RoutingService.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/RoutingService.java index 86e0cff..03164f7 100644 --- a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/RoutingService.java +++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/RoutingService.java @@ -25,11 +25,8 @@ import com.chinaztt.mes.technology.dto.RoutingDTO; import com.chinaztt.mes.technology.dto.RoutingOperationDTO; import com.chinaztt.mes.technology.entity.Routing; -import com.chinaztt.mes.technology.entity.RoutingOperationParam; import com.chinaztt.mes.technology.entity.RoutingOperationTemplate; -import com.chinaztt.mes.technology.excel.RoutingData; import com.chinaztt.mes.technology.excel.RoutingExcelData; -import com.chinaztt.mes.technology.excel.StructureData; import com.chinaztt.ztt.common.core.util.R; import javax.servlet.http.HttpServletResponse; @@ -160,7 +157,7 @@ * @param routingDTO * @return */ - List<RoutingOperationParam> getOperationTemplateParam(RoutingDTO routingDTO); + List<Map<String, Object>> getOperationTemplateParam(RoutingDTO routingDTO); /** * 鏌ヨ妯℃澘涓庡弬鏁� @@ -176,7 +173,7 @@ * @param routingDTO * @return */ - List<RoutingOperationTemplate> addOperationTemplate(RoutingDTO routingDTO); + List<Map<String, Object>> addOperationTemplate(RoutingDTO routingDTO); /** * 鏍规嵁澶嶅埗宸ュ簭妯℃澘鐨刬d鍒犻櫎宸ュ簭妯℃澘 @@ -192,7 +189,7 @@ * @param routingDTO * @return */ - boolean addOperationTemplateParam(RoutingDTO routingDTO); + List<Map<String,Object>> addOperationTemplateParam(RoutingDTO routingDTO); /** * 鏍规嵁澶嶅埗宸ュ簭鍙傛暟鐨刬d鍒犻櫎宸ュ簭鍙傛暟 diff --git a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java index e6d3666..f9f487b 100644 --- a/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java +++ b/mes-technology/src/main/java/com/chinaztt/mes/technology/service/impl/RoutingServiceImpl.java @@ -24,6 +24,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -34,11 +35,13 @@ import com.chinaztt.mes.basic.entity.Part; import com.chinaztt.mes.basic.entity.Template; import com.chinaztt.mes.basic.mapper.BasicParamTemplateMapper; +import com.chinaztt.mes.basic.mapper.ParamJoinTemplateMapper; import com.chinaztt.mes.basic.mapper.ParamMapper; import com.chinaztt.mes.basic.mapper.PartMapper; import com.chinaztt.mes.basic.util.DictUtils; import com.chinaztt.mes.common.handler.StateMachineHandler; import com.chinaztt.mes.common.numgen.NumberGenerator; +import com.chinaztt.mes.common.util.JsonUtil; import com.chinaztt.mes.common.util.StateResult; import com.chinaztt.mes.technology.dto.*; import com.chinaztt.mes.technology.entity.*; @@ -51,6 +54,7 @@ import com.chinaztt.mes.technology.state.routing.constant.RoutingEvents; import com.chinaztt.mes.technology.state.routing.constant.RoutingStateStringValues; import com.chinaztt.mes.technology.state.routing.constant.RoutingStates; +import com.chinaztt.ztt.admin.api.entity.SysDictItem; import com.chinaztt.ztt.common.core.util.R; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -99,7 +103,7 @@ private StateMachinePersister<RoutingStates, RoutingEvents, Routing> persister; private NumberGenerator<Routing> numberGenerator; private NumberGenerator<RoutingOperationTemplate> newNumberGenerator; - + private ParamJoinTemplateMapper paramJoinTemplateMapper; @Override public IPage<List<RoutingDTO>> getPage(Page page, QueryWrapper<RoutingDTO> ew) { @@ -316,23 +320,100 @@ newOperationTemplate.setRoutingOperationId(op.getId()); newOperationTemplate.setSystemNo(newNumberGenerator.generateNumberWithPrefix(RoutingOperationTemplate.DIGIT, RoutingOperationTemplate.PREFIX, RoutingOperationTemplate::getSystemNo)); routingOperationTemplateMapper.insert(newOperationTemplate); - //閫氳繃宸ュ簭妯℃澘id鑾峰彇宸ュ簭鍙傛暟 - List<ParamDTO> paramList = paramMapper.getParam(operationTemplate.getId()); - if (paramList != null) { - for (ParamDTO param : paramList) { + List<ParamDTO> templateParamPlus = paramMapper.getTemplateParamPlus(operationTemplate.getId()); + //templateParamPlus.forEach(l->{ + // System.out.println("寰楀埌鐨勬暟鎹�=======================銆�"+JsonUtil.jsonToString(l)); + //}); + //涓�绾� + List<ParamDTO> first = templateParamPlus.stream().filter(t -> Objects.equals(t.getTemplateParentId(), 0L)).collect(Collectors.toList()); + //first.forEach(f->{ + // System.out.println("涓�绾ф暟鎹�========================銆�"+JsonUtil.jsonToString(f)); + //}); + first.forEach(f->{ + Long firstId=f.getId(); RoutingOperationParam routingOperation = new RoutingOperationParam(); - routingOperation.setCode(param.getCode()); - routingOperation.setParameterItem(param.getParameterItem()); routingOperation.setRoutingId(op.getRoutingId()); routingOperation.setOperationId(op.getOperationId()); - routingOperation.setType(param.getType()); - routingOperation.setUnit(param.getUnit()); routingOperation.setRoutingOperationId(op.getId()); routingOperation.setOperationTemplateId(newOperationTemplate.getId()); - routingOperation.setParamValue(param.getDefaultValue()); + routingOperation.setCode(f.getCode()); + routingOperation.setParameterItem(f.getParameterItem()); + routingOperation.setType(f.getType()); + routingOperation.setUnit(f.getUnit()); + routingOperation.setParamValue(f.getDefaultValue()); + routingOperation.setParentId(0L); routingOperationParamMapper.insert(routingOperation); - } - } + List<ParamDTO> second = templateParamPlus.stream() + .filter(t -> Objects.equals(firstId, t.getTemplateParentId())).collect(Collectors.toList()); + //second.forEach(s->{ + // System.out.println("寰楀埌鐨勪簩绾�==================銆�"+JsonUtil.jsonToString(second)); + //}); + //浜岀骇 + second.forEach(s->{ + long secondId = s.getId(); + RoutingOperationParam routingOperationSecond = new RoutingOperationParam(); + routingOperationSecond.setRoutingId(op.getRoutingId()); + routingOperationSecond.setOperationId(op.getOperationId()); + routingOperationSecond.setRoutingOperationId(op.getId()); + routingOperationSecond.setOperationTemplateId(newOperationTemplate.getId()); + routingOperationSecond.setCode(s.getCode()); + routingOperationSecond.setParameterItem(s.getParameterItem()); + routingOperationSecond.setType(s.getType()); + routingOperationSecond.setUnit(s.getUnit()); + routingOperationSecond.setParamValue(s.getDefaultValue()); + routingOperationSecond.setParentId(routingOperation.getId()); + routingOperationParamMapper.insert(routingOperationSecond); + //涓夌骇 + List<ParamDTO> third = templateParamPlus.stream() + .filter(t -> Objects.equals(secondId, t.getTemplateParentId())).collect(Collectors.toList()); + //third.forEach(t->{ + // System.out.println("寰楀埌鐨勪笁绾�==============銆�"+JsonUtil.jsonToString(t)); + //}); + third.forEach(t->{ + RoutingOperationParam routingOperationThird = new RoutingOperationParam(); + routingOperationThird.setRoutingId(op.getRoutingId()); + routingOperationThird.setOperationId(op.getOperationId()); + routingOperationThird.setRoutingOperationId(op.getId()); + routingOperationThird.setOperationTemplateId(newOperationTemplate.getId()); + routingOperationThird.setCode(t.getCode()); + routingOperationThird.setParameterItem(t.getParameterItem()); + routingOperationThird.setType(t.getType()); + routingOperationThird.setUnit(t.getUnit()); + routingOperationThird.setParamValue(t.getDefaultValue()); + routingOperationThird.setParentId(routingOperationSecond.getId()); + routingOperationParamMapper.insert(routingOperationThird); + }); + }); + + }); + //QueryWrapper<ParamJoinTemplate>gen=new QueryWrapper<>(); + //gen.lambda().eq(ParamJoinTemplate::getParentId,0) + // .eq(ParamJoinTemplate::getTechnologyOperationTemplateId,operationTemplate.getId()); + //List<ParamJoinTemplate> paramJoinTemplates = paramJoinTemplateMapper.selectList(gen); + //paramJoinTemplates.forEach(p->{ + // RoutingOperationParam routingOperation = new RoutingOperationParam(); + // routingOperation.setRoutingId(op.getRoutingId()); + // routingOperation.setOperationId(op.getOperationId()); + // routingOperation.setRoutingOperationId(op.getId()); + // routingOperation.setOperationTemplateId(newOperationTemplate.getId()); + //}); + //閫氳繃宸ュ簭妯℃澘id鑾峰彇宸ュ簭鍙傛暟 + //List<ParamDTO> paramList = paramMapper.getParam(operationTemplate.getId()); + ////if (paramList != null) { + // for (ParamDTO param : paramList) { + // RoutingOperationParam routingOperation = new RoutingOperationParam(); + // routingOperation.setCode(param.getCode()); + // routingOperation.setParameterItem(param.getParameterItem()); + // routingOperation.setRoutingId(op.getRoutingId()); + // routingOperation.setOperationId(op.getOperationId()); + // routingOperation.setType(param.getType()); + // routingOperation.setUnit(param.getUnit()); + // routingOperation.setRoutingOperationId(op.getId()); + // routingOperation.setOperationTemplateId(newOperationTemplate.getId()); + // routingOperation.setParamValue(param.getDefaultValue()); + // routingOperationParamMapper.insert(routingOperation); + // } + //} } } } @@ -992,14 +1073,18 @@ } @Override - public List<RoutingOperationParam> getOperationTemplateParam(RoutingDTO routingDTO) { + public List<Map<String, Object>> getOperationTemplateParam(RoutingDTO routingDTO) { + System.out.println("========>"+routingDTO); List<RoutingOperationParam> routingOperationParamList = routingOperationParamMapper.selectList(Wrappers.<RoutingOperationParam>lambdaQuery() - .eq(RoutingOperationParam::getRoutingOperationId, routingDTO.getRoutingOperationId()).eq(RoutingOperationParam::getOperationTemplateId, routingDTO.getOperationTemplateId()) + .eq(RoutingOperationParam::getRoutingOperationId, routingDTO.getRoutingOperationId()) + .eq(RoutingOperationParam::getOperationTemplateId, routingDTO.getOperationTemplateId()) + .eq(RoutingOperationParam::getParentId,0) .orderByAsc(RoutingOperationParam::getId)); if (!CollectionUtil.isNotEmpty(routingOperationParamList)) { routingOperationParamList = new ArrayList<>(); } - return routingOperationParamList; + List<SysDictItem> dict = dictUtils.getDict("technology_param"); + return getTree(routingOperationParamList,dict); } @Override @@ -1021,10 +1106,10 @@ } @Override - public List<RoutingOperationTemplate> addOperationTemplate(RoutingDTO routingDTO) { + public List<Map<String, Object>> addOperationTemplate(RoutingDTO routingDTO) { + System.out.println("----------------------->" + routingDTO); List<RoutingOperationTemplate> routingOperationTemplateList = new ArrayList<>(); for (Template template : routingDTO.getRoutingOperationTemplateList()) { - List<ParamDTO> paramList = paramMapper.getParam(template.getId()); RoutingOperationTemplate newRoutingOperationTemplate = new RoutingOperationTemplate(); newRoutingOperationTemplate.setSystemNo(newNumberGenerator.generateNumberWithPrefix(RoutingOperationTemplate.DIGIT, RoutingOperationTemplate.PREFIX, RoutingOperationTemplate::getSystemNo)); newRoutingOperationTemplate.setRoutingOperationId(routingDTO.getRoutingOperationId()); @@ -1034,25 +1119,93 @@ newRoutingOperationTemplate.setDataType(template.getDataType()); newRoutingOperationTemplate.setOperationTemplateType(template.getTemplateType()); routingOperationTemplateMapper.insert(newRoutingOperationTemplate); + List<ParamDTO> templateParamPlus = paramMapper.getTemplateParamPlus(template.getId()); + //templateParamPlus.forEach(l->{ + // System.out.println("寰楀埌鐨勬暟鎹�=======================銆�"+JsonUtil.jsonToString(l)); + //}); + //涓�绾� + List<ParamDTO> first = templateParamPlus.stream().filter(t -> Objects.equals(t.getTemplateParentId(), 0L)).collect(Collectors.toList()); + //first.forEach(f->{ + // System.out.println("涓�绾ф暟鎹�========================銆�"+JsonUtil.jsonToString(f)); + //}); + first.forEach(f -> { + Long firstId = f.getId(); + RoutingOperationParam routingOperation = new RoutingOperationParam(); + routingOperation.setRoutingId(routingDTO.getId()); + routingOperation.setOperationId(routingDTO.getOperationId()); + routingOperation.setRoutingOperationId(routingDTO.getRoutingOperationId()); + routingOperation.setOperationTemplateId(newRoutingOperationTemplate.getId()); + routingOperation.setCode(f.getCode()); + routingOperation.setParameterItem(f.getParameterItem()); + routingOperation.setType(f.getType()); + routingOperation.setUnit(f.getUnit()); + routingOperation.setParamValue(f.getDefaultValue()); + routingOperation.setParentId(0L); + routingOperationParamMapper.insert(routingOperation); + List<ParamDTO> second = templateParamPlus.stream() + .filter(t -> Objects.equals(firstId, t.getTemplateParentId())).collect(Collectors.toList()); + //second.forEach(s->{ + // System.out.println("寰楀埌鐨勪簩绾�==================銆�"+JsonUtil.jsonToString(second)); + //}); + //浜岀骇 + second.forEach(s -> { + long secondId = s.getId(); + RoutingOperationParam routingOperationSecond = new RoutingOperationParam(); + routingOperationSecond.setRoutingId(routingDTO.getId()); + routingOperationSecond.setOperationId(routingDTO.getOperationId()); + routingOperationSecond.setRoutingOperationId(routingDTO.getRoutingOperationId()); + routingOperationSecond.setOperationTemplateId(newRoutingOperationTemplate.getId()); + routingOperationSecond.setCode(s.getCode()); + routingOperationSecond.setParameterItem(s.getParameterItem()); + routingOperationSecond.setType(s.getType()); + routingOperationSecond.setUnit(s.getUnit()); + routingOperationSecond.setParamValue(s.getDefaultValue()); + routingOperationSecond.setParentId(routingOperation.getId()); + routingOperationParamMapper.insert(routingOperationSecond); + //涓夌骇 + List<ParamDTO> third = templateParamPlus.stream() + .filter(t -> Objects.equals(secondId, t.getTemplateParentId())).collect(Collectors.toList()); + //third.forEach(t->{ + // System.out.println("寰楀埌鐨勪笁绾�==============銆�"+JsonUtil.jsonToString(t)); + //}); + third.forEach(t -> { + RoutingOperationParam routingOperationThird = new RoutingOperationParam(); + routingOperationThird.setRoutingId(routingDTO.getId()); + routingOperationThird.setOperationId(routingDTO.getOperationId()); + routingOperationThird.setRoutingOperationId(routingDTO.getRoutingOperationId()); + routingOperationThird.setOperationTemplateId(newRoutingOperationTemplate.getId()); + routingOperationThird.setCode(t.getCode()); + routingOperationThird.setParameterItem(t.getParameterItem()); + routingOperationThird.setType(t.getType()); + routingOperationThird.setUnit(t.getUnit()); + routingOperationThird.setParamValue(t.getDefaultValue()); + routingOperationThird.setParentId(routingOperationSecond.getId()); + routingOperationParamMapper.insert(routingOperationThird); + }); + }); + + }); //閫氳繃宸ュ簭妯℃澘id鑾峰彇宸ュ簭鍙傛暟 - if (paramList != null) { - for (ParamDTO param : paramList) { - RoutingOperationParam routingOperation = new RoutingOperationParam(); - routingOperation.setCode(param.getCode()); - routingOperation.setParameterItem(param.getParameterItem()); - routingOperation.setRoutingId(routingDTO.getId()); - routingOperation.setOperationId(routingDTO.getOperationId()); - routingOperation.setType(param.getType()); - routingOperation.setUnit(param.getUnit()); - routingOperation.setRoutingOperationId(routingDTO.getRoutingOperationId()); - routingOperation.setOperationTemplateId(newRoutingOperationTemplate.getId()); - routingOperation.setParamValue(param.getDefaultValue()); - routingOperationParamMapper.insert(routingOperation); - } - } - routingOperationTemplateList.add(newRoutingOperationTemplate); + //if (paramList != null) { + // for (ParamDTO param : paramList) { + // RoutingOperationParam routingOperation = new RoutingOperationParam(); + // routingOperation.setCode(param.getCode()); + // routingOperation.setParameterItem(param.getParameterItem()); + // routingOperation.setRoutingId(routingDTO.getId()); + // routingOperation.setOperationId(routingDTO.getOperationId()); + // routingOperation.setType(param.getType()); + // routingOperation.setUnit(param.getUnit()); + // routingOperation.setRoutingOperationId(routingDTO.getRoutingOperationId()); + // routingOperation.setOperationTemplateId(newRoutingOperationTemplate.getId()); + // routingOperation.setParamValue(param.getDefaultValue()); + // routingOperationParamMapper.insert(routingOperation); + // } + //} + // routingOperationTemplateList.add(newRoutingOperationTemplate); + //} + //return routingOperationTemplateList; } - return routingOperationTemplateList; + return getOperationTemplateParam(routingDTO); } @Override @@ -1070,7 +1223,7 @@ } @Override - public boolean addOperationTemplateParam(RoutingDTO routingDTO) { + public List<Map<String,Object>> addOperationTemplateParam(RoutingDTO routingDTO) { System.out.println("DTo++++=======>"+routingDTO); List<RoutingOperationParam> routingOperationParamList = new ArrayList<>(); for (RoutingOperationParam routingOperationParam : routingDTO.getRoutingOperationParam()) { @@ -1100,6 +1253,9 @@ secondParam.setRoutingId(routingDTO.getId()); secondParam.setOperationId(routingDTO.getOperationId()); secondParam.setCode(s.getCode()); + secondParam.setParameterItem(s.getParameterItem()); + secondParam.setType(s.getType()); + secondParam.setUnit(s.getUnit()); secondParam.setParentId(routingOperationParam.getId()); routingOperationParamMapper.insert(secondParam); QueryWrapper<Param>thirdParamQ = new QueryWrapper<Param>(); @@ -1113,6 +1269,9 @@ third.setOperationTemplateId(routingDTO.getOperationTemplateId()); third.setRoutingId(routingDTO.getId()); third.setCode(t.getCode()); + third.setParameterItem(t.getParameterItem()); + third.setType(t.getType()); + third.setUnit(t.getUnit()); third.setOperationId(routingDTO.getOperationId()); third.setParentId(secondParam.getId()); routingOperationParamMapper.insert(third); @@ -1120,11 +1279,88 @@ } }); } - // - //routingOperationParamList.add(routingOperationParam); } - return true; + List<SysDictItem> dict = dictUtils.getDict("technology_param"); + + QueryWrapper<RoutingOperationParam>queryWrapper=new QueryWrapper<>(); + queryWrapper.lambda().eq(RoutingOperationParam::getParentId,0) + .eq(RoutingOperationParam::getRoutingId,routingDTO.getId()) + .eq(RoutingOperationParam::getOperationTemplateId,routingDTO.getOperationTemplateId()) + .eq(RoutingOperationParam::getRoutingOperationId,routingDTO.getRoutingOperationId()); + List<RoutingOperationParam> list = routingOperationParamMapper.selectList(queryWrapper); + return getTree(list,dict); } + + 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<RoutingOperationParam>queryWrapper=new QueryWrapper<>(); + queryWrapper.lambda().eq(RoutingOperationParam::getParentId,pojo.get("id")); + List<RoutingOperationParam> secondList = routingOperationParamMapper.selectList(queryWrapper); + //娌℃湁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", com.chinaztt.mes.common.util.StringUtils.defaultString( String.valueOf(pojo.get("id")),"")); + oneMap.put("paramType", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("type"),"")); + oneMap.put("paramFormat", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("parameterFormat"),"")); + oneMap.put("unit", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("unit"),"")); + oneMap.put("parentId",pojo.get("parentId")); + oneMap.put("paramValue",pojo.get("paramValue")); + 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()); + }); + QueryWrapper<RoutingOperationParam>queryWrapperSecond=new QueryWrapper<>(); + queryWrapperSecond.lambda().eq(RoutingOperationParam::getParentId,second.get("id")); + List<RoutingOperationParam> third = routingOperationParamMapper.selectList(queryWrapperSecond); + if(third.isEmpty()){ + RoutingOperationParam p = new RoutingOperationParam(); + p.setType(s.getType()); + //p.setParameterFormat(null); + p.setUnit(s.getUnit()); + p.setParamValue(s.getParamValue()); + 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", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("parameterItem"),"")); + allMap.put("oneId", com.chinaztt.mes.common.util.StringUtils.defaultString( String.valueOf(pojo.get("id")),"")); + allMap.put("twoId", com.chinaztt.mes.common.util.StringUtils.defaultString( String.valueOf(second.get("id")) ,"")); + allMap.put("threeId", com.chinaztt.mes.common.util.StringUtils.defaultString(String.valueOf(t.getId()),"")); + allMap.put("paramItemTwo", com.chinaztt.mes.common.util.StringUtils.defaultString((String) second.get("parameterItem"),"")); + allMap.put("paramItemThree", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getParameterItem(),"")); + allMap.put("paramType", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getType(),"")); + //allMap.put("paramFormat", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getParameterFormat(),"")); + allMap.put("unit", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getUnit(),"")); + allMap.put("parentId",t.getParentId()); + allMap.put("paramValue",t.getParamValue()); + all.add(allMap); + }); + }); + }); + return all; + } + + @Override public boolean deleteOperationTemplateParam(Long id) { @@ -1133,9 +1369,14 @@ } @Override + @Transactional(rollbackFor = Exception.class) public R updateRoutingTemplateParamById(RoutingDTO routing) { for (RoutingOperationParam routingOperationParam : routing.getRoutingOperationParam()) { - routingOperationParamMapper.updateById(routingOperationParam); + UpdateWrapper<RoutingOperationParam>updateWrapper=new UpdateWrapper<>(); + updateWrapper.lambda() + .set(RoutingOperationParam::getParamValue,routingOperationParam.getParamValue()) + .eq(RoutingOperationParam::getId,routingOperationParam.getId()); + routingOperationParamMapper.update(null,updateWrapper); } return R.ok(); } -- Gitblit v1.9.3