| | |
| | | return map; |
| | | } |
| | | |
| | | |
| | | |
| | | public Object getOptimizeInfoSv(String processId) { |
| | | // 获取布局信息 |
| | | List<Map<String, Object>> layouts = glassOptimizeMapper.getOptimizeLayoutsInfo(processId); |
| | | // 获取玻璃明细信息 |
| | | List<Map<String, Object>> glassDetails = glassOptimizeMapper.getOptimizeDetailsInfo(processId); |
| | | // 获取余料信息 |
| | | List<Map<String, Object>> offsets = glassOptimizeMapper.getOptimizeOffsetsInfo(processId); |
| | | // 将玻璃明细和余料合并到一个列表中 |
| | | List<Map<String, Object>> allDetails = new ArrayList<>(); |
| | | if (glassDetails != null) { |
| | | allDetails.addAll(glassDetails); |
| | | } |
| | | if (offsets != null) { |
| | | allDetails.addAll(offsets); |
| | | } |
| | | // 按照stockId将明细分组并添加到对应的布局中 |
| | | if (layouts != null && !layouts.isEmpty()) { |
| | | for (Map<String, Object> layout : layouts) { |
| | | Object stockIdObj = layout.get("stockId"); |
| | | if (stockIdObj != null) { |
| | | Integer stockId = null; |
| | | if (stockIdObj instanceof Number) { |
| | | stockId = ((Number) stockIdObj).intValue(); |
| | | } else { |
| | | try { |
| | | stockId = Integer.valueOf(stockIdObj.toString()); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法转换为数字,则跳过该布局 |
| | | continue; |
| | | } |
| | | } |
| | | List<Map<String, Object>> matchedDetails = new ArrayList<>(); |
| | | for (Map<String, Object> detail : allDetails) { |
| | | Object layoutIdObj = detail.get("layoutId"); |
| | | Object stockSortObj = detail.get("stockSort"); |
| | | Integer detailStockId = null; |
| | | if (layoutIdObj != null) { |
| | | if (layoutIdObj instanceof Number) { |
| | | detailStockId = ((Number) layoutIdObj).intValue(); |
| | | } else { |
| | | try { |
| | | detailStockId = Integer.valueOf(layoutIdObj.toString()); |
| | | } catch (NumberFormatException e) { |
| | | // 跳过无效的layoutId |
| | | continue; |
| | | } |
| | | } |
| | | } else if (stockSortObj != null) { |
| | | if (stockSortObj instanceof Number) { |
| | | detailStockId = ((Number) stockSortObj).intValue(); |
| | | } else { |
| | | try { |
| | | detailStockId = Integer.valueOf(stockSortObj.toString()); |
| | | } catch (NumberFormatException e) { |
| | | // 跳过无效的stockSort |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | // 如果detail的stockId与layout的stockId匹配,则添加到匹配列表中 |
| | | if (detailStockId != null && detailStockId.equals(stockId)) { |
| | | matchedDetails.add(detail); |
| | | } |
| | | } |
| | | // 将匹配的明细添加到布局的glassDetails字段中 |
| | | layout.put("glassDetails", matchedDetails); |
| | | } |
| | | } |
| | | } |
| | | // Map<String, Object> result = new HashMap<>(); |
| | | Map<String, Object> result = new LinkedHashMap<>(); |
| | | result.put("layouts", layouts); |
| | | result.put("optimizeUse", glassOptimizeMapper.materialStoreOptimizeUse(processId)); |
| | | return result; |
| | | } |
| | | |
| | | |
| | | //工程信息 |
| | | public Map<String, Object> projectInfoSv(String projectNo,String username) { |
| | | Map<String, Object> stringObjectMap = glassOptimizeMapper.selectProjectCount(projectNo); |
| | |
| | | else if(code==2){ |
| | | glassOptimizeMapper.deleteOptimizeDetail(projectNumber); |
| | | glassOptimizeMapper.deleteOptimizeLayout(projectNumber); |
| | | glassOptimizeMapper.deleteOptimizeOffcut(projectNumber); |
| | | glassOptimizeMapper.deleteOptimizeProjectFile(projectNumber); |
| | | glassOptimizeMapper.updateOptimizeUse(projectNumber); |
| | | glassOptimizeMapper.updateProjectOptimizeStateMp(projectNumber, states); |
| | |
| | | return saveState; |
| | | } |
| | | |
| | | |
| | | } |