| | |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | |
| | | GlassOptimizeMapper glassOptimizeMapper; |
| | | @Autowired |
| | | SysErrorService sysErrorService; |
| | | |
| | | @Value("${mesIp:localhost}") // 注入mesIp配置,默认值为10.153.19.31 |
| | | private String mesIp; |
| | | |
| | | RabbitMQUtil rabbitMQUtil; |
| | | //模拟计算 |
| | |
| | | // tempering_state 为 0 时的处理逻辑 |
| | | glassOptimizeMapper.addOptimizeDetail(allGlassDetails,projectId); |
| | | } |
| | | |
| | | glassOptimizeMapper.updateProjectOptimize(projectId, 1, optimalResults); |
| | | List<Map<String, Object>> materialStoreList = glassOptimizeMapper.materialStoreOptimizeUse(projectId); |
| | | double totalUseArea = 0.0; |
| | | for (Map<String, Object> material : materialStoreList) { |
| | | if (material.containsKey("totalArea")) { |
| | | Object totalAreaObj = material.get("totalArea"); |
| | | if (totalAreaObj != null) { |
| | | try { |
| | | double area = Double.parseDouble(totalAreaObj.toString()); |
| | | totalUseArea += area; |
| | | } catch (NumberFormatException e) { |
| | | System.err.println("无法解析总面积数据: " + totalAreaObj); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | glassOptimizeMapper.updateProjectOptimize(projectId, 1, optimalResults, totalUseArea); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | } |
| | | } |
| | | } |
| | | map.put("optimizeState", Integer.parseInt(stringObjectMap.get("optimize_state").toString())); |
| | | map.put("data", dataList); |
| | | map.put("project", glassOptimizeMapper.selectProjectCount(projectNo)); |
| | | map.put("grindingTrimming", glassOptimizeMapper.getGrindingTrimming(username)); |
| | | return map; |
| | | } |
| | | |
| | |
| | | glassOptimizeMapper.deleteOptimizeHeatDetail(projectNumber); |
| | | glassOptimizeMapper.deleteOptimizeHeatLayout(projectNumber); |
| | | glassOptimizeMapper.updateProjectTemperingStateMp(projectNumber, states); |
| | | Map<String, Object> temperingState = glassOptimizeMapper.getProjectState(projectNumber); |
| | | |
| | | if (temperingState != null && temperingState.containsKey("optimize_state")) { |
| | | Object optimizeStateObj = temperingState.get("optimize_state"); |
| | | if (optimizeStateObj != null) { |
| | | try { |
| | | int optimizeState = Integer.parseInt(optimizeStateObj.toString()); |
| | | if (optimizeState == 1) { |
| | | glassOptimizeMapper.updateProjectTemperingId(projectNumber); |
| | | } |
| | | } catch (NumberFormatException e) { |
| | | // 处理转换异常,记录日志或采取其他适当措施 |
| | | System.err.println("解析 optimize_state 失败: " + e.getMessage()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //撤销优化排版 |
| | | else if(code==2){ |
| | |
| | | } |
| | | //生产不可见 |
| | | else if(code==4){ |
| | | glassOptimizeMapper.updateProjectStateMp(projectNumber, state); |
| | | Map<String, Object> cancelResult = issuingCancelProject(projectNumber); |
| | | // 获取返回结果中的data字段 |
| | | Map<String, Object> responseData = (Map<String, Object>) cancelResult.get("data"); |
| | | // 检查响应中的code字段,只有当code为200或202时才允许更新状态 |
| | | if (responseData != null && responseData.containsKey("code")) { |
| | | Object responseCode = responseData.get("code"); |
| | | if (responseCode.equals(200) || responseCode.equals(202)) { |
| | | glassOptimizeMapper.updateProjectStateMp(projectNumber, state); |
| | | } else if (responseCode.equals(201)) { |
| | | // 当返回201时,抛出自定义异常或返回错误信息 |
| | | throw new RuntimeException(responseData.get("message").toString()); |
| | | } else { |
| | | return false; |
| | | } |
| | | } else { |
| | | return false; |
| | | } |
| | | |
| | | } |
| | | //初始化工程 |
| | | else if(code==5){ |
| | |
| | | boolean saveState=false; |
| | | try { |
| | | // 1. 创建URL对象 |
| | | // URL url = new URL("http://10.153.19.31:88/api/loadGlass/engineering/importEngineer"); |
| | | URL url = new URL("http://localhost:88/api/loadGlass/engineering/importEngineer"); |
| | | URL url = new URL("http://" + mesIp + ":88/api/loadGlass/engineering/importEngineer"); |
| | | |
| | | // 2. 打开连接 |
| | | HttpURLConnection conn = (HttpURLConnection) url.openConnection(); |
| | | conn.setRequestMethod("POST"); |
| | |
| | | |
| | | try { |
| | | // 1. 创建URL对象 |
| | | // URL url = new URL("http://10.153.19.31:88/api/loadGlass/engineering/optimizeCancelTask"); |
| | | URL url = new URL("http://localhost:88/api/loadGlass/engineering/optimizeCancelTask"); |
| | | URL url = new URL("http://" + mesIp + ":88/api/loadGlass/engineering/optimizeCancelTask"); |
| | | // URL url = new URL("http://localhost:88/api/loadGlass/engineering/optimizeCancelTask"); |
| | | |
| | | |
| | | // 2. 打开连接 |
| | | HttpURLConnection conn = (HttpURLConnection) url.openConnection(); |