| 
				
			 | 
			
			
				@@ -10,9 +10,13 @@ import org.springframework.context.annotation.Configuration; 
			 | 
		
	
		
			
			| 
				
					10
				
			 | 
			
				
					10
				
			 | 
			
			
				 import org.springframework.util.StringUtils; 
			 | 
		
	
		
			
			| 
				
					11
				
			 | 
			
				
					11
				
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
					12
				
			 | 
			
				
					12
				
			 | 
			
			
				 import javax.annotation.Resource; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					13
				
			 | 
			
			
				+import java.io.IOException; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					14
				
			 | 
			
			
				+import java.io.Reader; 
			 | 
		
	
		
			
			| 
				
					13
				
			 | 
			
				
					15
				
			 | 
			
			
				 import java.lang.management.MemoryMXBean; 
			 | 
		
	
		
			
			| 
				
					14
				
			 | 
			
				
					16
				
			 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
			| 
				
					15
				
			 | 
			
				
					17
				
			 | 
			
			
				 import java.math.RoundingMode; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					18
				
			 | 
			
			
				+import java.sql.Clob; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					19
				
			 | 
			
			
				+import java.sql.SQLException; 
			 | 
		
	
		
			
			| 
				
					16
				
			 | 
			
				
					20
				
			 | 
			
			
				 import java.time.LocalDateTime; 
			 | 
		
	
		
			
			| 
				
					17
				
			 | 
			
				
					21
				
			 | 
			
			
				 import java.time.format.DateTimeFormatter; 
			 | 
		
	
		
			
			| 
				
					18
				
			 | 
			
				
					22
				
			 | 
			
			
				 import java.util.*; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -63,6 +67,7 @@ public class CamelJDBCCofRealTimeConfiguration { 
			 | 
		
	
		
			
			| 
				
					63
				
			 | 
			
				
					67
				
			 | 
			
			
				     public void sendDataToRocketMQ(String wellName, String wellId, String prodDate, Double stroke_length, Double stroke_frequency, String sgt) { 
			 | 
		
	
		
			
			| 
				
					64
				
			 | 
			
				
					68
				
			 | 
			
			
				         String orgId = "0"; 
			 | 
		
	
		
			
			| 
				
					65
				
			 | 
			
				
					69
				
			 | 
			
			
				         DiagnoseMsg diagnoseMsg = new DiagnoseMsg(wellId, wellName, orgId, prodDate, sgt, LocalDateTime.now().toString(), stroke_length, stroke_frequency); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					70
				
			 | 
			
			
				+        System.out.println(diagnoseMsg); 
			 | 
		
	
		
			
			| 
				
					66
				
			 | 
			
				
					71
				
			 | 
			
			
				         sendMsgRunTime++; 
			 | 
		
	
		
			
			| 
				
					67
				
			 | 
			
				
					72
				
			 | 
			
			
				         producer.send(diagnoseMsg); 
			 | 
		
	
		
			
			| 
				
					68
				
			 | 
			
				
					73
				
			 | 
			
			
				     } 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -70,6 +75,25 @@ public class CamelJDBCCofRealTimeConfiguration { 
			 | 
		
	
		
			
			| 
				
					70
				
			 | 
			
				
					75
				
			 | 
			
			
				     @Resource(name = "diagnoseMessageProducer") 
			 | 
		
	
		
			
			| 
				
					71
				
			 | 
			
				
					76
				
			 | 
			
			
				     private MessageProducer producer; 
			 | 
		
	
		
			
			| 
				
					72
				
			 | 
			
				
					77
				
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					78
				
			 | 
			
			
				+    private String clobToString(Clob clob){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					79
				
			 | 
			
			
				+        StringBuilder sb = new StringBuilder(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					80
				
			 | 
			
			
				+        if (clob != null) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					81
				
			 | 
			
			
				+            try (Reader reader = clob.getCharacterStream()) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					82
				
			 | 
			
			
				+                char[] buffer = new char[1024]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					83
				
			 | 
			
			
				+                int bytesRead; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					84
				
			 | 
			
			
				+                while ((bytesRead = reader.read(buffer)) != -1) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					85
				
			 | 
			
			
				+                    sb.append(buffer, 0, bytesRead); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					86
				
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					87
				
			 | 
			
			
				+            } catch (SQLException e) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					88
				
			 | 
			
			
				+                throw new RuntimeException(e); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					89
				
			 | 
			
			
				+            } catch (IOException e) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					90
				
			 | 
			
			
				+                throw new RuntimeException(e); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					91
				
			 | 
			
			
				+            } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					92
				
			 | 
			
			
				+        } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					93
				
			 | 
			
			
				+        return sb.toString(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					94
				
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					95
				
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					96
				
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
					73
				
			 | 
			
				
					97
				
			 | 
			
			
				     @Bean 
			 | 
		
	
		
			
			| 
				
					74
				
			 | 
			
				
					98
				
			 | 
			
			
				     public RouteBuilder routeBuilderWithRealTime() { 
			 | 
		
	
		
			
			| 
				
					75
				
			 | 
			
				
					99
				
			 | 
			
			
				         return new RouteBuilder() { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -82,10 +106,14 @@ public class CamelJDBCCofRealTimeConfiguration { 
			 | 
		
	
		
			
			| 
				
					82
				
			 | 
			
				
					106
				
			 | 
			
			
				                         .split(body()).process(exchange -> { 
			 | 
		
	
		
			
			| 
				
					83
				
			 | 
			
				
					107
				
			 | 
			
			
				                             HashMap body = exchange.getIn().getBody(HashMap.class); 
			 | 
		
	
		
			
			| 
				
					84
				
			 | 
			
				
					108
				
			 | 
			
			
				                             exchange.getIn().setHeader("well_id", body.get("well_id")); 
			 | 
		
	
		
			
			| 
				
					85
				
			 | 
			
				
			 | 
			
			
				-                            exchange.getIn().setHeader("sgt_last_time", body.get("sgt_last_time")); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					109
				
			 | 
			
			
				+//                            System.out.println(body.get("well_id")); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					110
				
			 | 
			
			
				+                            if (Objects.isNull(body.get("sgt_last_time")))body.put("sgt_last_time" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					111
				
			 | 
			
			
				+                                    ,LocalDateTime.now().minusHours(4).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					112
				
			 | 
			
			
				+                            exchange.getIn().setHeader("sgt_last_time", body.get("sgt_last_time").toString().substring(0,19)); 
			 | 
		
	
		
			
			| 
				
					86
				
			 | 
			
				
					113
				
			 | 
			
			
				                         }) 
			 | 
		
	
		
			
			| 
				
					87
				
			 | 
			
				
			 | 
			
			
				-                        .setBody(simple("select distinct well_name,dyna_create_time,check_date,displacement,disp_load,stroke,frequency,susp_max_load,susp_min_load" + 
			 | 
		
	
		
			
			| 
				
					88
				
			 | 
			
				
			 | 
			
			
				-                                " from DEFAULT_GONGTU where well_name='${header.well_id}' and dyna_create_time >= '${header.sgt_last_time}' limit 50 ")) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					114
				
			 | 
			
			
				+                        .setBody(simple("select WELL_ID,WELL_NAME,DYNA_CREATE_TIME,CHECK_DATE,DISPLACEMENT,DISP_LOAD,STROKE,FREQUENCY,SUSP_MAX_LOAD,SUSP_MIN_LOAD" + 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					115
				
			 | 
			
			
				+                                " from DEFAULT_GONGTU where CHECK_DATE >= to_date('${header.sgt_last_time}','yyyy-mm-dd hh24:mi:ss') " + 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					116
				
			 | 
			
			
				+                                "and well_id='${header.well_id}' and  rownum<50 ")) 
			 | 
		
	
		
			
			| 
				
					89
				
			 | 
			
				
					117
				
			 | 
			
			
				                         .to("jdbc:oracle") 
			 | 
		
	
		
			
			| 
				
					90
				
			 | 
			
				
					118
				
			 | 
			
			
				                         .process(exchange -> { 
			 | 
		
	
		
			
			| 
				
					91
				
			 | 
			
				
					119
				
			 | 
			
			
				                             sendMsgRunTime = 0; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -93,14 +121,22 @@ public class CamelJDBCCofRealTimeConfiguration { 
			 | 
		
	
		
			
			| 
				
					93
				
			 | 
			
				
					121
				
			 | 
			
			
				                         .split(body()).process(exchange -> { 
			 | 
		
	
		
			
			| 
				
					94
				
			 | 
			
				
					122
				
			 | 
			
			
				                             Message in = exchange.getIn(); 
			 | 
		
	
		
			
			| 
				
					95
				
			 | 
			
				
					123
				
			 | 
			
			
				                             HashMap<String, Object> aRow = in.getBody(HashMap.class); 
			 | 
		
	
		
			
			| 
				
					96
				
			 | 
			
				
			 | 
			
			
				-                            String prod_date = aRow.get("dyna_create_time").toString().split("\\+")[0]; 
			 | 
		
	
		
			
			| 
				
					97
				
			 | 
			
				
			 | 
			
			
				-                            aRow.put("dyna_create_time", prod_date); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					124
				
			 | 
			
			
				+                            String prod_date = aRow.get("DYNA_CREATE_TIME").toString().split("\\+")[0]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					125
				
			 | 
			
			
				+                            aRow.put("DYNA_CREATE_TIME", prod_date); 
			 | 
		
	
		
			
			| 
				
					98
				
			 | 
			
				
					126
				
			 | 
			
			
				                             aRow.put("sgt", ""); 
			 | 
		
	
		
			
			| 
				
					99
				
			 | 
			
				
			 | 
			
			
				-                            if (!StringUtils.isEmpty(aRow.get("displacement")) && !StringUtils.isEmpty(aRow.get("disp_load"))) { 
			 | 
		
	
		
			
			| 
				
					100
				
			 | 
			
				
			 | 
			
			
				-                                String[] displacements = aRow.get("displacement").toString().split(";");//10 四舍五入 
			 | 
		
	
		
			
			| 
				
					101
				
			 | 
			
				
			 | 
			
			
				-                                String[] disp_loads = aRow.get("disp_load").toString().split(";"); 
			 | 
		
	
		
			
			| 
				
					102
				
			 | 
			
				
			 | 
			
			
				-                                Double susp_max_load = max(disp_loads); 
			 | 
		
	
		
			
			| 
				
					103
				
			 | 
			
				
			 | 
			
			
				-                                Double susp_min_load = min(disp_loads); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					127
				
			 | 
			
			
				+                            //swap table error design column 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					128
				
			 | 
			
			
				+                            Object tempObj = aRow.get("STROKE"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					129
				
			 | 
			
			
				+                            aRow.put("STROKE",aRow.get("FREQUENCY")); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					130
				
			 | 
			
			
				+                            aRow.put("FREQUENCY",tempObj); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					131
				
			 | 
			
			
				+                            if (!StringUtils.isEmpty(aRow.get("DISPLACEMENT")) && !StringUtils.isEmpty(aRow.get("DISP_LOAD"))) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					132
				
			 | 
			
			
				+                                String[] displacements =  clobToString((Clob) aRow.get("DISPLACEMENT")).split(",");//10 四舍五入 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					133
				
			 | 
			
			
				+                                for (int i = 0; i < displacements.length; i++) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					134
				
			 | 
			
			
				+                                    displacements[i] = Double.toString(Double.parseDouble(displacements[i])/10); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					135
				
			 | 
			
			
				+                                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					136
				
			 | 
			
			
				+//                                System.out.println("disp="+Arrays.deepToString(displacements)); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					137
				
			 | 
			
			
				+                                String[] disp_loads = clobToString((Clob) aRow.get("DISP_LOAD")).split(","); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					138
				
			 | 
			
			
				+                                Double SUSP_MAX_LOAD = max(disp_loads); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					139
				
			 | 
			
			
				+                                Double SUSP_MIN_LOAD = min(disp_loads); 
			 | 
		
	
		
			
			| 
				
					104
				
			 | 
			
				
					140
				
			 | 
			
			
				                                 String sgt = ""; 
			 | 
		
	
		
			
			| 
				
					105
				
			 | 
			
				
					141
				
			 | 
			
			
				                                 for (int i = 0; i < displacements.length; i++) { 
			 | 
		
	
		
			
			| 
				
					106
				
			 | 
			
				
					142
				
			 | 
			
			
				                                     sgt = sgt + displacements[i] + "," + disp_loads[i] + ","; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -112,15 +148,15 @@ public class CamelJDBCCofRealTimeConfiguration { 
			 | 
		
	
		
			
			| 
				
					112
				
			 | 
			
				
					148
				
			 | 
			
			
				                                 } 
			 | 
		
	
		
			
			| 
				
					113
				
			 | 
			
				
					149
				
			 | 
			
			
				                                 Double[][] doubles = SGTUtil.encodeToDoubleArray(w); 
			 | 
		
	
		
			
			| 
				
					114
				
			 | 
			
				
					150
				
			 | 
			
			
				                                 aRow.put("sgt", SGTUtil.encodeToString(doubles)); 
			 | 
		
	
		
			
			| 
				
					115
				
			 | 
			
				
			 | 
			
			
				-                                aRow.put("susp_max_load", susp_max_load); 
			 | 
		
	
		
			
			| 
				
					116
				
			 | 
			
				
			 | 
			
			
				-                                aRow.put("susp_min_load", susp_min_load); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					151
				
			 | 
			
			
				+                                aRow.put("SUSP_MAX_LOAD", SUSP_MAX_LOAD); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					152
				
			 | 
			
			
				+                                aRow.put("SUSP_MIN_LOAD", SUSP_MIN_LOAD); 
			 | 
		
	
		
			
			| 
				
					117
				
			 | 
			
				
					153
				
			 | 
			
			
				                             } 
			 | 
		
	
		
			
			| 
				
					118
				
			 | 
			
				
					154
				
			 | 
			
			
				                             //对于位移没有数据,所有数据都在载荷中的特殊数据做特别处理 
			 | 
		
	
		
			
			| 
				
					119
				
			 | 
			
				
			 | 
			
			
				-                            if (StringUtils.isEmpty(aRow.get("displacement")) && !StringUtils.isEmpty(aRow.get("disp_load"))) { 
			 | 
		
	
		
			
			| 
				
					120
				
			 | 
			
				
			 | 
			
			
				-                                String disp_load = aRow.get("disp_load").toString().replaceAll(";", ","); 
			 | 
		
	
		
			
			| 
				
					121
				
			 | 
			
				
			 | 
			
			
				-                                Double[][] doubles = SGTUtil.encodeToDoubleArray(disp_load); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					155
				
			 | 
			
			
				+                            if (StringUtils.isEmpty(aRow.get("DISPLACEMENT")) && !StringUtils.isEmpty(aRow.get("DISP_LOAD"))) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					156
				
			 | 
			
			
				+                                String DISP_LOAD = aRow.get("DISP_LOAD").toString().replaceAll(";", ","); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					157
				
			 | 
			
			
				+                                Double[][] doubles = SGTUtil.encodeToDoubleArray(DISP_LOAD); 
			 | 
		
	
		
			
			| 
				
					122
				
			 | 
			
				
					158
				
			 | 
			
			
				                                 aRow.put("sgt", SGTUtil.encodeToString(doubles)); 
			 | 
		
	
		
			
			| 
				
					123
				
			 | 
			
				
			 | 
			
			
				-                                String[] split = disp_load.split(","); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					159
				
			 | 
			
			
				+                                String[] split = DISP_LOAD.split(","); 
			 | 
		
	
		
			
			| 
				
					124
				
			 | 
			
				
					160
				
			 | 
			
			
				                                 List<String> list = new ArrayList<>(); 
			 | 
		
	
		
			
			| 
				
					125
				
			 | 
			
				
					161
				
			 | 
			
			
				                                 for (int i = 0; i < split.length; i++) { 
			 | 
		
	
		
			
			| 
				
					126
				
			 | 
			
				
					162
				
			 | 
			
			
				                                     if (i % 2 != 0) { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -129,43 +165,44 @@ public class CamelJDBCCofRealTimeConfiguration { 
			 | 
		
	
		
			
			| 
				
					129
				
			 | 
			
				
					165
				
			 | 
			
			
				                                     } 
			 | 
		
	
		
			
			| 
				
					130
				
			 | 
			
				
					166
				
			 | 
			
			
				                                 } 
			 | 
		
	
		
			
			| 
				
					131
				
			 | 
			
				
					167
				
			 | 
			
			
				                                 String[] loads = list.toArray(new String[0]); 
			 | 
		
	
		
			
			| 
				
					132
				
			 | 
			
				
			 | 
			
			
				-                                Double susp_max_load = null; 
			 | 
		
	
		
			
			| 
				
					133
				
			 | 
			
				
			 | 
			
			
				-                                Double susp_min_load = null; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					168
				
			 | 
			
			
				+                                Double SUSP_MAX_LOAD = null; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					169
				
			 | 
			
			
				+                                Double SUSP_MIN_LOAD = null; 
			 | 
		
	
		
			
			| 
				
					134
				
			 | 
			
				
					170
				
			 | 
			
			
				                                 if (loads.length > 0) { 
			 | 
		
	
		
			
			| 
				
					135
				
			 | 
			
				
			 | 
			
			
				-                                    susp_max_load = max(loads); 
			 | 
		
	
		
			
			| 
				
					136
				
			 | 
			
				
			 | 
			
			
				-                                    susp_min_load = min(loads); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					171
				
			 | 
			
			
				+                                    SUSP_MAX_LOAD = max(loads); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					172
				
			 | 
			
			
				+                                    SUSP_MIN_LOAD = min(loads); 
			 | 
		
	
		
			
			| 
				
					137
				
			 | 
			
				
					173
				
			 | 
			
			
				                                 } 
			 | 
		
	
		
			
			| 
				
					138
				
			 | 
			
				
			 | 
			
			
				-                                aRow.put("susp_max_load", susp_max_load); 
			 | 
		
	
		
			
			| 
				
					139
				
			 | 
			
				
			 | 
			
			
				-                                aRow.put("susp_min_load", susp_min_load); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					174
				
			 | 
			
			
				+                                aRow.put("SUSP_MAX_LOAD", SUSP_MAX_LOAD); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					175
				
			 | 
			
			
				+                                aRow.put("SUSP_MIN_LOAD", SUSP_MIN_LOAD); 
			 | 
		
	
		
			
			| 
				
					140
				
			 | 
			
				
					176
				
			 | 
			
			
				                             } 
			 | 
		
	
		
			
			| 
				
					141
				
			 | 
			
				
			 | 
			
			
				-                            aRow.putIfAbsent("stroke", "0.0"); 
			 | 
		
	
		
			
			| 
				
					142
				
			 | 
			
				
			 | 
			
			
				-                            aRow.putIfAbsent("frequency", "0.0"); 
			 | 
		
	
		
			
			| 
				
					143
				
			 | 
			
				
			 | 
			
			
				-                            aRow.putIfAbsent("susp_max_load", "0.0"); 
			 | 
		
	
		
			
			| 
				
					144
				
			 | 
			
				
			 | 
			
			
				-                            aRow.putIfAbsent("susp_min_load", "0.0"); 
			 | 
		
	
		
			
			| 
				
					145
				
			 | 
			
				
			 | 
			
			
				-                            if (!StringUtils.isEmpty(aRow.get("frequency"))) { 
			 | 
		
	
		
			
			| 
				
					146
				
			 | 
			
				
			 | 
			
			
				-                                BigDecimal bd = new BigDecimal(aRow.get("frequency").toString()); 
			 | 
		
	
		
			
			| 
				
					147
				
			 | 
			
				
			 | 
			
			
				-                                double frequency = bd.setScale(1, RoundingMode.HALF_UP).doubleValue(); 
			 | 
		
	
		
			
			| 
				
					148
				
			 | 
			
				
			 | 
			
			
				-                                aRow.put("frequency", frequency); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					177
				
			 | 
			
			
				+                            aRow.putIfAbsent("STROKE", "0.0"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					178
				
			 | 
			
			
				+                            aRow.putIfAbsent("FREQUENCY", "0.0"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					179
				
			 | 
			
			
				+                            aRow.putIfAbsent("SUSP_MAX_LOAD", "0.0"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					180
				
			 | 
			
			
				+                            aRow.putIfAbsent("SUSP_MIN_LOAD", "0.0"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					181
				
			 | 
			
			
				+                            if (!StringUtils.isEmpty(aRow.get("FREQUENCY"))) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					182
				
			 | 
			
			
				+                                BigDecimal bd = new BigDecimal(aRow.get("FREQUENCY").toString()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					183
				
			 | 
			
			
				+                                double FREQUENCY = bd.setScale(1, RoundingMode.HALF_UP).doubleValue(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					184
				
			 | 
			
			
				+                                aRow.put("FREQUENCY", FREQUENCY); 
			 | 
		
	
		
			
			| 
				
					149
				
			 | 
			
				
					185
				
			 | 
			
			
				                             } 
			 | 
		
	
		
			
			| 
				
					150
				
			 | 
			
				
			 | 
			
			
				-                            if (!StringUtils.isEmpty(aRow.get("stroke"))) { 
			 | 
		
	
		
			
			| 
				
					151
				
			 | 
			
				
			 | 
			
			
				-                                double stroke1 = Double.parseDouble(aRow.get("stroke").toString()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					186
				
			 | 
			
			
				+                            if (!StringUtils.isEmpty(aRow.get("STROKE"))) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					187
				
			 | 
			
			
				+                                double stroke1 = Double.parseDouble(aRow.get("STROKE").toString()); 
			 | 
		
	
		
			
			| 
				
					152
				
			 | 
			
				
					188
				
			 | 
			
			
				                                 BigDecimal bd = new BigDecimal(stroke1); 
			 | 
		
	
		
			
			| 
				
					153
				
			 | 
			
				
			 | 
			
			
				-                                double stroke = bd.setScale(1, RoundingMode.HALF_UP).doubleValue(); 
			 | 
		
	
		
			
			| 
				
					154
				
			 | 
			
				
			 | 
			
			
				-                                aRow.put("stroke", stroke); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					189
				
			 | 
			
			
				+                                double STROKE = bd.setScale(1, RoundingMode.HALF_UP).doubleValue(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					190
				
			 | 
			
			
				+                                aRow.put("STROKE", STROKE); 
			 | 
		
	
		
			
			| 
				
					155
				
			 | 
			
				
					191
				
			 | 
			
			
				                             } 
			 | 
		
	
		
			
			| 
				
					156
				
			 | 
			
				
			 | 
			
			
				-                            String wellName = aRow.get("well_name").toString(); 
			 | 
		
	
		
			
			| 
				
					157
				
			 | 
			
				
			 | 
			
			
				-                            String wellId = aRow.get("well_name").toString(); 
			 | 
		
	
		
			
			| 
				
					158
				
			 | 
			
				
			 | 
			
			
				-                            String prodDate = aRow.get("dyna_create_time").toString().substring(0, 19); 
			 | 
		
	
		
			
			| 
				
					159
				
			 | 
			
				
			 | 
			
			
				-                            Double strokeLength = Double.valueOf(aRow.get("stroke").toString()); 
			 | 
		
	
		
			
			| 
				
					160
				
			 | 
			
				
			 | 
			
			
				-                            Double strokeFrequency = Double.valueOf(aRow.get("frequency").toString()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					192
				
			 | 
			
			
				+                            String wellName = aRow.get("WELL_NAME").toString(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					193
				
			 | 
			
			
				+                            String wellId = aRow.get("WELL_ID").toString(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					194
				
			 | 
			
			
				+                            String prodDate = aRow.get("DYNA_CREATE_TIME").toString().substring(0, 19); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					195
				
			 | 
			
			
				+                            Double strokeLength = Double.valueOf(aRow.get("STROKE").toString()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					196
				
			 | 
			
			
				+                            Double strokeFrequency = Double.valueOf(aRow.get("FREQUENCY").toString()); 
			 | 
		
	
		
			
			| 
				
					161
				
			 | 
			
				
					197
				
			 | 
			
			
				                             String sgt = aRow.get("sgt").toString(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					198
				
			 | 
			
			
				+//                            System.out.println(sgt); 
			 | 
		
	
		
			
			| 
				
					162
				
			 | 
			
				
					199
				
			 | 
			
			
				                             in.setHeader("sgt_last_time", prodDate); 
			 | 
		
	
		
			
			| 
				
					163
				
			 | 
			
				
					200
				
			 | 
			
			
				                             in.setHeader("well_id", wellId); 
			 | 
		
	
		
			
			| 
				
					164
				
			 | 
			
				
					201
				
			 | 
			
			
				                             sendDataToRocketMQ(wellName, wellId, prodDate, strokeLength, strokeFrequency, sgt); 
			 | 
		
	
		
			
			| 
				
					165
				
			 | 
			
				
					202
				
			 | 
			
			
				                         }) 
			 | 
		
	
		
			
			| 
				
					166
				
			 | 
			
				
			 | 
			
			
				-                        .setBody(simple("insert into centralbase.cb_temp_well_mech_runtime(well_id,prod_date,susp_max_load,susp_min_load,sgt) " + 
			 | 
		
	
		
			
			| 
				
					167
				
			 | 
			
				
			 | 
			
			
				-                                "select '${body[well_name]}','${body[dyna_create_time]}','${body[susp_max_load]}','${body[susp_min_load]}','${body[sgt]}' " + 
			 | 
		
	
		
			
			| 
				
					168
				
			 | 
			
				
			 | 
			
			
				-                                "where NOT EXISTS (SELECT * FROM centralbase.cb_temp_well_mech_runtime WHERE well_id = '${body[well_name]}' and  prod_date = '${body[dyna_create_time]}' )")) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					203
				
			 | 
			
			
				+                        .setBody(simple("insert into centralbase.cb_temp_well_mech_runtime(well_id,prod_date,SUSP_MAX_LOAD,SUSP_MIN_LOAD,sgt,stroke_length,stroke_frequency) " + 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					204
				
			 | 
			
			
				+                                "select '${body[WELL_ID]}','${body[DYNA_CREATE_TIME]}','${body[SUSP_MAX_LOAD]}','${body[SUSP_MIN_LOAD]}','${body[sgt]}','${body[STROKE]}','${body[FREQUENCY]}' " + 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					205
				
			 | 
			
			
				+                                "where NOT EXISTS (SELECT * FROM centralbase.cb_temp_well_mech_runtime WHERE well_id = '${body[WELL_ID]}' and  prod_date = '${body[DYNA_CREATE_TIME]}' )")) 
			 | 
		
	
		
			
			| 
				
					169
				
			 | 
			
				
					206
				
			 | 
			
			
				                         .to("jdbc:centralbase") 
			 | 
		
	
		
			
			| 
				
					170
				
			 | 
			
				
					207
				
			 | 
			
			
				                         .setBody(simple("update centralbase.sys_access_well_control set sgt_last_time = '${header.sgt_last_time}' where well_id ='${header.well_id}' ")) 
			 | 
		
	
		
			
			| 
				
					171
				
			 | 
			
				
					208
				
			 | 
			
			
				                         .to("jdbc:centralbase") 
			 |