| | |
| | | |
| | | //上工序报工班组 |
| | | private void mergeTeamsGroupsName( List<WorkInProgressDTO> dataList1,List<WorkInProgressDTO> dataList2) { |
| | | |
| | | for (WorkInProgressDTO dto1 : dataList1) { |
| | | //根据当前工序获取 是否为单片、夹胶、或者全部 |
| | | BasicData basicData = basicDataMapper. |
| | |
| | | .eq("glass_sort",dto1.getTechnologyNumber()) |
| | | ); |
| | | dto1.setGlassName(productDetail.getDetail()); |
| | | |
| | | //basicData.getNickname().equals("stepC") |
| | | }else if(basicData.getNickname().equals("stepC")){ |
| | | OrderGlassDetail orderGlassDetailGroup = orderGlassDetailMapper |
| | | .selectOne(new QueryWrapper<OrderGlassDetail>() |
| | |
| | | |
| | | |
| | | //获取表头工序筛选数据 |
| | | List<Map<String, String>> processFilterList = orderProcessDetailMapper.filterOrderProcess(orderId); |
| | | List<Map<String, String>> processList = processFilterList; |
| | | List<Map<String, String>> uniqueList = orderProcessDetailMapper.filterOrderProcess(orderId); |
| | | |
| | | List<String> filterList = new ArrayList<>(); |
| | | //循环遍历数组,判断此序号当前的工序 |
| | | for (int i = 1; i < processFilterList.size(); i++) { |
| | | filterList.add(processFilterList.get(i).get("process")); |
| | | List<Map<String, String>> lastProcessList = |
| | | orderProcessDetailMapper.filterLastProcess( |
| | | orderId, |
| | | String.valueOf(processFilterList.get(i).get("order_number")), |
| | | String.valueOf(processFilterList.get(i).get("technology_number")), |
| | | String.valueOf(processFilterList.get(i).get("id")) |
| | | ); |
| | | if (!lastProcessList.isEmpty()) { |
| | | int finalI = i; |
| | | lastProcessList.forEach(lastProcess -> { |
| | | if (filterList.contains(lastProcess.get("process"))) { |
| | | processList.add(lastProcess); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | | // 使用HashSet来记录已经遇到的value值 |
| | | Set<String> seenValues = new HashSet<>(); |
| | | // 创建一个新的List来存储结果 |
| | | List<Map<String, String>> uniqueList = new ArrayList<>(); |
| | | |
| | | // 反向遍历原始List |
| | | for (int i = processList.size() - 1; i >= 0; i--) { |
| | | Map<String, String> maps = processList.get(i); |
| | | String value = maps.values().iterator().next(); // 假设每个Map只有一个value |
| | | |
| | | // 如果value还没有被看到过,就添加到结果List和HashSet中 |
| | | if (!seenValues.contains(value)) { |
| | | uniqueList.add(0, maps); // 添加到结果List的开头,以保持原顺序 |
| | | seenValues.add(value); |
| | | } |
| | | } |
| | | map.put("title", uniqueList); |
| | | Map<String,Integer> clos = new HashMap<>(); |
| | | for (int i=0;i<uniqueList.size();i++){ |
| | |
| | | .last("limit 1") |
| | | ); |
| | | //判断磨边和磨边后工序 |
| | | //Objects.equals(basicData.getNickname(), "stepA") || Objects.equals(basicData.getNickname(), "stepC") |
| | | if(Objects.equals(basicData.getNickname(), "stepA") || Objects.equals(basicData.getNickname(), "stepC")){ |
| | | clos.put(uniqueList.get(i).get("process"), 15+i); |
| | | } |
| | | //判断中空和中空后工序 |
| | | //Objects.equals(basicData.getNickname(), "stepB") || Objects.equals(basicData.getNickname(), "stepD") |
| | | if(Objects.equals(basicData.getNickname(), "stepB") || Objects.equals(basicData.getNickname(), "stepD")){ |
| | | columns.add(15+i); |
| | | } |
| | | } |
| | | |
| | | |
| | | List<Map<String, Integer>> getRowCount = orderProcessDetailMapper.getGlassLRow(orderId); |
| | | List<Map<String, Object>> getRowCount = orderProcessDetailMapper.getGlassLRow(orderId); |
| | | List<Map<String, Integer>> rowCount = new ArrayList<>(); |
| | | columns.forEach(col -> { |
| | | getRowCount.forEach(row -> { |
| | | Map<String, Integer> getRow = new HashMap<>(); |
| | | // { row: 0, col: 1, rowspan: 3, colspan: 0}, |
| | | getRow.put("row", row.get("RowNum")); |
| | | getRow.put("row", ((Number) row.get("RowNum")).intValue()); |
| | | getRow.put("col", col); |
| | | getRow.put("rowspan", row.get("rowCount")); |
| | | getRow.put("rowspan", ((Number) row.get("rowCount")).intValue()); |
| | | getRow.put("colspan", 0); |
| | | rowCount.add(getRow); |
| | | }); |
| | |
| | | Map<String, String> data = JSON.parseObject(dataList.get(i).get("reportWorkQuantity"), |
| | | new TypeReference<Map<String, String>>() { |
| | | }); |
| | | |
| | | Integer max = orderGlassDetailMapper |
| | | .getMaxTechnologyNumberByGroup(dataList.get(i).get("order_id"), |
| | | String.valueOf(dataList.get(i).get("order_number")), |
| | | String.valueOf(dataList.get(i).get("group")) |
| | | ); |
| | | Integer min = orderGlassDetailMapper |
| | | .getMinTechnologyNumberByGroup(dataList.get(i).get("order_id"), |
| | | String.valueOf(dataList.get(i).get("order_number")), |
| | | String.valueOf(dataList.get(i).get("group")) |
| | | ); |
| | | for (String key : clos.keySet()) { |
| | | if(data.get(key) != null){ |
| | | Integer max = orderGlassDetailMapper |
| | | .getMaxTechnologyNumberByGroup(dataList.get(i).get("order_id"), |
| | | String.valueOf(dataList.get(i).get("order_number")), |
| | | String.valueOf(dataList.get(i).get("group")) |
| | | ); |
| | | Integer min = orderGlassDetailMapper |
| | | .getMinTechnologyNumberByGroup(dataList.get(i).get("order_id"), |
| | | String.valueOf(dataList.get(i).get("order_number")), |
| | | String.valueOf(dataList.get(i).get("group")) |
| | | ); |
| | | |
| | | if(min == Integer.parseInt(String.valueOf(dataList.get(i).get("technology_number"))) ){ |
| | | Map<String, Integer> getRow = new HashMap<>(); |
| | | // { row: 0, col: 1, rowspan: 3, colspan: 0}, |
| | |
| | | map.put("title", uniqueList); |
| | | |
| | | |
| | | List<Map<String, Integer>> getRowCount = orderProcessDetailMapper.getGlassLRow(orderId); |
| | | List<Map<String, Object>> getRowCount = orderProcessDetailMapper.getGlassLRow(orderId); |
| | | List<Map<String, Integer>> rowCount = new ArrayList<>(); |
| | | columns.forEach(col -> { |
| | | getRowCount.forEach(row -> { |
| | | Map<String, Integer> getRow = new HashMap<>(); |
| | | // { row: 0, col: 1, rowspan: 3, colspan: 0}, |
| | | getRow.put("row", row.get("RowNum")); |
| | | getRow.put("row", ((Number) row.get("RowNum")).intValue()); |
| | | getRow.put("col", col); |
| | | getRow.put("rowspan", row.get("rowCount")); |
| | | getRow.put("rowspan", ((Number) row.get("rowCount")).intValue()); |
| | | getRow.put("colspan", 0); |
| | | rowCount.add(getRow); |
| | | }); |
| | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | //获取表格内容数据 |
| | | List<Map<String, String>> dataList = reportMapper.processCardProgressCollectMp(orderId); |
| | | //获取表头工序筛选数据 |
| | | List<Map<String, String>> uniqueList = orderProcessDetailMapper.filterOrderProcess(orderId); |
| | | |
| | | map.put("title", uniqueList); |
| | | return null; |
| | | } |
| | | } |