package com.zy.asrs.wcs.asrs.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.zy.asrs.framework.common.R; import com.zy.asrs.wcs.asrs.entity.param.FlowLogicCodeParam; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; @RestController @RequestMapping("/flow") public class FlowController { @PostMapping("/analysisExportData") public R analysisExportData(@RequestBody HashMap param) { System.out.println(param); List> data = (List>) param.get("data"); ArrayList list = new ArrayList<>(); FlowLogicCodeParam first = new FlowLogicCodeParam(); first.setId("1"); list.add(first); for (LinkedHashMap map : data) { LinkedHashMap mapData = (LinkedHashMap) map.get("data"); String id = map.get("id").toString(); Boolean isLogic = Boolean.parseBoolean(mapData.get("isLogic").toString()); String searchLogicId = mapData.get("searchLogicId").toString(); Boolean searchLogicBool = Boolean.parseBoolean(mapData.get("searchLogicBool").toString()); String codeContent = mapData.get("codeContent").toString(); if (isLogic) { FlowLogicCodeParam flowLogicCodeParam = new FlowLogicCodeParam(); flowLogicCodeParam.setId(id); flowLogicCodeParam.setLogic(codeContent); FlowLogicCodeParam last = list.get(list.size() - 1); if (searchLogicBool) { last.getLogicTrue().add(map); }else { last.getLogicFalse().add(map); } list.add(flowLogicCodeParam); }else { for (FlowLogicCodeParam codeParam : list) { if (codeParam.getId().equals(searchLogicId)) { if (searchLogicBool) { codeParam.getLogicTrue().add(map); }else { codeParam.getLogicFalse().add(map); } } } } } System.out.println(list); return R.ok(); } }