| 
				
			 | 
			
			
				@@ -26,7 +26,7 @@ import java.util.Map; 
			 | 
		
	
		
			
			| 
				
					26
				
			 | 
			
				
					26
				
			 | 
			
			
				  */ 
			 | 
		
	
		
			
			| 
				
					27
				
			 | 
			
				
					27
				
			 | 
			
			
				 @RestController 
			 | 
		
	
		
			
			| 
				
					28
				
			 | 
			
				
					28
				
			 | 
			
			
				 @RequestMapping("/BaseData") 
			 | 
		
	
		
			
			| 
				
					29
				
			 | 
			
				
			 | 
			
			
				-@Api(value = "BaseDataController",description = "基础数据操作controller") 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					29
				
			 | 
			
			
				+@Api(value = "BaseDataController", description = "基础数据操作controller") 
			 | 
		
	
		
			
			| 
				
					30
				
			 | 
			
				
					30
				
			 | 
			
			
				 public class BaseDataController { 
			 | 
		
	
		
			
			| 
				
					31
				
			 | 
			
				
					31
				
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
					32
				
			 | 
			
				
					32
				
			 | 
			
			
				     private JdbcTemplate jdbcTemplate; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -36,15 +36,18 @@ public class BaseDataController { 
			 | 
		
	
		
			
			| 
				
					36
				
			 | 
			
				
					36
				
			 | 
			
			
				     @Resource(name = "centralbase") 
			 | 
		
	
		
			
			| 
				
					37
				
			 | 
			
				
					37
				
			 | 
			
			
				     DataSource baseDataSource; 
			 | 
		
	
		
			
			| 
				
					38
				
			 | 
			
				
					38
				
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
					39
				
			 | 
			
				
			 | 
			
			
				-    @PostMapping("/StatusDaily") 
			 | 
		
	
		
			
			| 
				
					40
				
			 | 
			
				
			 | 
			
			
				-    @ApiOperation("从 A2 获取 数据插入到 centrlBase 中") 
			 | 
		
	
		
			
			| 
				
					41
				
			 | 
			
				
			 | 
			
			
				-    public JSONObject saveDataToStatusDaily(@RequestBody BaseDataBody baseDataBody){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					39
				
			 | 
			
			
				+    @PostMapping("/saveDataToStatusDaily") 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					40
				
			 | 
			
			
				+    @ApiOperation("从 A2 获取 数据插入到 centrlBase-StatusDaily 中") 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					41
				
			 | 
			
			
				+    public JSONObject saveDataToStatusDaily(@RequestBody BaseDataBody baseDataBody) { 
			 | 
		
	
		
			
			| 
				
					42
				
			 | 
			
				
					42
				
			 | 
			
			
				         JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
			| 
				
					43
				
			 | 
			
				
			 | 
			
			
				-        long insertCount = 0; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					43
				
			 | 
			
			
				+        int insertCount = 0; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					44
				
			 | 
			
			
				+        int updateDYMCount = 0; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					45
				
			 | 
			
			
				+        int updateCMDCount = 0; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					46
				
			 | 
			
			
				+        int updateOLiNozzleCount = 0; 
			 | 
		
	
		
			
			| 
				
					44
				
			 | 
			
				
					47
				
			 | 
			
			
				         try { 
			 | 
		
	
		
			
			| 
				
					45
				
			 | 
			
				
					48
				
			 | 
			
			
				             jdbcTemplate = new JdbcTemplate(oracleDataSource); 
			 | 
		
	
		
			
			| 
				
					46
				
			 | 
			
				
					49
				
			 | 
			
			
				             String date = baseDataBody.getDate(); 
			 | 
		
	
		
			
			| 
				
					47
				
			 | 
			
				
			 | 
			
			
				-            String sql = "select  distinct jh,rq,cyfs,yz,hysx , yysx ,tysx,bs,dym from DBA01 where rq  = to_date('"+date+"','yyyy-MM-dd') and qyrq is not null "; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					50
				
			 | 
			
			
				+            String sql = "select  distinct jh,rq,cyfs,yz,hysx , yysx ,tysx,bs,dym from DBA01 where rq  = to_date('" + date + "','yyyy-MM-dd') and qyrq is not null "; 
			 | 
		
	
		
			
			| 
				
					48
				
			 | 
			
				
					51
				
			 | 
			
			
				             List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
			| 
				
					49
				
			 | 
			
				
					52
				
			 | 
			
			
				             for (Map<String, Object> map : list) { 
			 | 
		
	
		
			
			| 
				
					50
				
			 | 
			
				
					53
				
			 | 
			
			
				                 if (map.get("YZ") == null) map.put("YZ", "0.0"); 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -53,66 +56,147 @@ public class BaseDataController { 
			 | 
		
	
		
			
			| 
				
					53
				
			 | 
			
				
					56
				
			 | 
			
			
				                 if (map.get("TYSX") == null) map.put("TYSX", "0.0"); 
			 | 
		
	
		
			
			| 
				
					54
				
			 | 
			
				
					57
				
			 | 
			
			
				                 if (map.get("BS") == null) map.put("BS", "0.0"); 
			 | 
		
	
		
			
			| 
				
					55
				
			 | 
			
				
					58
				
			 | 
			
			
				                 sql = "insert into centralbase.cb_pc_pro_wellbore_status_daily(well_id,prod_date,oil_prod_method,oil_nozzle,back_pres,tubing_pres,casing_pres,pump_depth) " + 
			 | 
		
	
		
			
			| 
				
					56
				
			 | 
			
				
			 | 
			
			
				-                        "value (?,?,?,?,?,?,?,?)"; 
			 | 
		
	
		
			
			| 
				
					57
				
			 | 
			
				
			 | 
			
			
				-                int count = insertBaseDataSourceOfStatusDaily(sql, map); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					59
				
			 | 
			
			
				+                        "values (?,?,?,?,?,?,?,?)"; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					60
				
			 | 
			
			
				+                insertCount = insertBaseDataSourceOfStatusDaily(sql, map); 
			 | 
		
	
		
			
			| 
				
					58
				
			 | 
			
				
					61
				
			 | 
			
			
				                 List<Map<String, Object>> dymIsNotNUllList = selectA2DataOfNotIsNullDYM(); 
			 | 
		
	
		
			
			| 
				
					59
				
			 | 
			
				
					62
				
			 | 
			
			
				                 for (Map<String, Object> stringObjectMap : dymIsNotNUllList) { 
			 | 
		
	
		
			
			| 
				
					60
				
			 | 
			
				
			 | 
			
			
				-                    sql = "update centralbase.cb_pc_pro_wellbore_status_daily set start_pump_liq_level = '"+stringObjectMap.get("DYM")+"' where well_id = '"+stringObjectMap.get("JH")+"' and prod_date::date  = '"+stringObjectMap.get("RQ")+"' "; 
			 | 
		
	
		
			
			| 
				
					61
				
			 | 
			
				
			 | 
			
			
				-                    int dymIsNotNullCount = updateBaseDataSourceOfStatusDaily(sql); 
			 | 
		
	
		
			
			| 
				
					62
				
			 | 
			
				
			 | 
			
			
				-                    insertCount = insertCount + dymIsNotNullCount; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					63
				
			 | 
			
			
				+                    sql = "update centralbase.cb_pc_pro_wellbore_status_daily set start_pump_liq_level = '" + stringObjectMap.get("DYM") + "' where well_id = '" + stringObjectMap.get("JH") + "' and prod_date::date  = '" + stringObjectMap.get("RQ") + "' "; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					64
				
			 | 
			
			
				+                    updateDYMCount = updateBaseDataSourceOfStatusDaily(sql) + updateDYMCount; 
			 | 
		
	
		
			
			| 
				
					63
				
			 | 
			
				
					65
				
			 | 
			
			
				                 } 
			 | 
		
	
		
			
			| 
				
					64
				
			 | 
			
				
			 | 
			
			
				-                sql = "select well_id,prod_date,start_pump_liq_level,pump_depth from centralbase.cb_pc_pro_wellbore_status_daily where prod_date = '"+map.get("RQ")+"' "; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					66
				
			 | 
			
			
				+                sql = "select well_id,prod_date,start_pump_liq_level,pump_depth from centralbase.cb_pc_pro_wellbore_status_daily where prod_date = '" + map.get("RQ") + "' "; 
			 | 
		
	
		
			
			| 
				
					65
				
			 | 
			
				
					67
				
			 | 
			
			
				                 List<Map<String, Object>> CMDDataList = selectBaseDataSourceStatusDaily(sql); 
			 | 
		
	
		
			
			| 
				
					66
				
			 | 
			
				
					68
				
			 | 
			
			
				                 for (Map<String, Object> stringObjectMap : CMDDataList) { 
			 | 
		
	
		
			
			| 
				
					67
				
			 | 
			
				
			 | 
			
			
				-                    stringObjectMap.put("submergence_depth",null); 
			 | 
		
	
		
			
			| 
				
					68
				
			 | 
			
				
			 | 
			
			
				-                    if (stringObjectMap.get("start_pump_liq_level")!=null && stringObjectMap.get("pump_depth")!=null){ 
			 | 
		
	
		
			
			| 
				
					69
				
			 | 
			
				
			 | 
			
			
				-                        double cmd= Double.valueOf(stringObjectMap.get("pump_depth").toString())-Double.valueOf(stringObjectMap.get("start_pump_liq_level").toString())/10; 
			 | 
		
	
		
			
			| 
				
					70
				
			 | 
			
				
			 | 
			
			
				-                        BigDecimal bd=new BigDecimal(cmd); 
			 | 
		
	
		
			
			| 
				
					71
				
			 | 
			
				
			 | 
			
			
				-                        double cmd1=bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue(); 
			 | 
		
	
		
			
			| 
				
					72
				
			 | 
			
				
			 | 
			
			
				-                        stringObjectMap.put("submergence_depth",cmd1); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					69
				
			 | 
			
			
				+                    stringObjectMap.put("submergence_depth", null); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					70
				
			 | 
			
			
				+                    if (stringObjectMap.get("start_pump_liq_level") != null && stringObjectMap.get("pump_depth") != null) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					71
				
			 | 
			
			
				+                        double cmd = Double.valueOf(stringObjectMap.get("pump_depth").toString()) - Double.valueOf(stringObjectMap.get("start_pump_liq_level").toString()) / 10; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					72
				
			 | 
			
			
				+                        BigDecimal bd = new BigDecimal(cmd); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					73
				
			 | 
			
			
				+                        double cmd1 = bd.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					74
				
			 | 
			
			
				+                        stringObjectMap.put("submergence_depth", cmd1); 
			 | 
		
	
		
			
			| 
				
					73
				
			 | 
			
				
					75
				
			 | 
			
			
				                     } 
			 | 
		
	
		
			
			| 
				
					74
				
			 | 
			
				
			 | 
			
			
				-                    sql = " update centralbase.cb_pc_pro_wellbore_status_daily set submergence_depth = '"+stringObjectMap.get("submergence_depth")+"' where well_id = '"+stringObjectMap.get("well_id")+"' and prod_date  = '"+stringObjectMap.get("prod_date")+"' "; 
			 | 
		
	
		
			
			| 
				
					75
				
			 | 
			
				
			 | 
			
			
				-                    int CMDUpdateCount = updateBaseDataSourceOfStatusDaily(sql); 
			 | 
		
	
		
			
			| 
				
					76
				
			 | 
			
				
			 | 
			
			
				-                    insertCount = insertCount + CMDUpdateCount; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					76
				
			 | 
			
			
				+                    //修改为batch 执行,用一个list 接受,在执行那个batchUpdate 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					77
				
			 | 
			
			
				+                    sql = " update centralbase.cb_pc_pro_wellbore_status_daily set submergence_depth = '" + stringObjectMap.get("submergence_depth") + "' where well_id = '" + stringObjectMap.get("well_id") + "' and prod_date  = '" + stringObjectMap.get("prod_date") + "' "; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					78
				
			 | 
			
			
				+                    updateCMDCount = updateBaseDataSourceOfStatusDaily(sql) + updateCMDCount; 
			 | 
		
	
		
			
			| 
				
					77
				
			 | 
			
				
					79
				
			 | 
			
			
				                 } 
			 | 
		
	
		
			
			| 
				
					78
				
			 | 
			
				
					80
				
			 | 
			
			
				                 sql = " select distinct rn.well_id,cb.prod_date,rn.pump_diameter  from centralbase.cb_temp_well_mech_runtime rn ,centralbase.cb_pc_pro_wellbore_status_daily cb where cb.well_id = rn.well_id " + 
			 | 
		
	
		
			
			| 
				
					79
				
			 | 
			
				
			 | 
			
			
				-                        " and cb.prod_date = '"+date+"'  "; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					81
				
			 | 
			
			
				+                        " and cb.prod_date = '" + date + "'  "; 
			 | 
		
	
		
			
			| 
				
					80
				
			 | 
			
				
					82
				
			 | 
			
			
				                 List<Map<String, Object>> oilNozzleList = selectBaseDataSourceStatusDaily(sql); 
			 | 
		
	
		
			
			| 
				
					81
				
			 | 
			
				
					83
				
			 | 
			
			
				                 for (Map<String, Object> stringObjectMap : oilNozzleList) { 
			 | 
		
	
		
			
			| 
				
					82
				
			 | 
			
				
			 | 
			
			
				-                    sql = " update centralbase.cb_pc_pro_wellbore_status_daily set oil_nozzle = '"+stringObjectMap.get("pump_diameter")+"' where well_id ='"+stringObjectMap.get("well_id")+"' and prod_date='"+stringObjectMap.get("prod_date")+"' "; 
			 | 
		
	
		
			
			| 
				
					83
				
			 | 
			
				
			 | 
			
			
				-                    int oliNozzle = updateBaseDataSourceOfStatusDaily(sql); 
			 | 
		
	
		
			
			| 
				
					84
				
			 | 
			
				
			 | 
			
			
				-                    insertCount = insertCount + oliNozzle; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					84
				
			 | 
			
			
				+                    sql = " update centralbase.cb_pc_pro_wellbore_status_daily set oil_nozzle = '" + stringObjectMap.get("pump_diameter") + "' where well_id ='" + stringObjectMap.get("well_id") + "' and prod_date='" + stringObjectMap.get("prod_date") + "' "; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					85
				
			 | 
			
			
				+                    updateOLiNozzleCount = updateBaseDataSourceOfStatusDaily(sql) + updateOLiNozzleCount; 
			 | 
		
	
		
			
			| 
				
					85
				
			 | 
			
				
					86
				
			 | 
			
			
				                 } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					87
				
			 | 
			
			
				+                insertCount++; 
			 | 
		
	
		
			
			| 
				
					86
				
			 | 
			
				
					88
				
			 | 
			
			
				             } 
			 | 
		
	
		
			
			| 
				
					87
				
			 | 
			
				
			 | 
			
			
				-        }catch (Exception e){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					89
				
			 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
			| 
				
					88
				
			 | 
			
				
					90
				
			 | 
			
			
				             e.printStackTrace(); 
			 | 
		
	
		
			
			| 
				
					89
				
			 | 
			
				
			 | 
			
			
				-            jsonObject.put("error",e.getMessage()); 
			 | 
		
	
		
			
			| 
				
					90
				
			 | 
			
				
			 | 
			
			
				-        }finally { 
			 | 
		
	
		
			
			| 
				
					91
				
			 | 
			
				
			 | 
			
			
				-            jsonObject.put("插入条数",insertCount); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					91
				
			 | 
			
			
				+            jsonObject.put("error", e.getMessage()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					92
				
			 | 
			
			
				+        } finally { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					93
				
			 | 
			
			
				+            jsonObject.put("插入条数", insertCount); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					94
				
			 | 
			
			
				+            jsonObject.put("修改DYM条数", updateDYMCount); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					95
				
			 | 
			
			
				+            jsonObject.put("修改CMD条数", updateCMDCount); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					96
				
			 | 
			
			
				+            jsonObject.put("修改OliNozzle条数", updateOLiNozzleCount); 
			 | 
		
	
		
			
			| 
				
					92
				
			 | 
			
				
					97
				
			 | 
			
			
				         } 
			 | 
		
	
		
			
			| 
				
					93
				
			 | 
			
				
					98
				
			 | 
			
			
				         return jsonObject; 
			 | 
		
	
		
			
			| 
				
					94
				
			 | 
			
				
					99
				
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				
					95
				
			 | 
			
				
					100
				
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
					96
				
			 | 
			
				
					101
				
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
					97
				
			 | 
			
				
			 | 
			
			
				-    public int insertBaseDataSourceOfStatusDaily(String sql,Map<String,Object> map){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					102
				
			 | 
			
			
				+    public int insertBaseDataSourceOfStatusDaily(String sql, Map<String, Object> map) { 
			 | 
		
	
		
			
			| 
				
					98
				
			 | 
			
				
					103
				
			 | 
			
			
				         jdbcTemplate = new JdbcTemplate(baseDataSource); 
			 | 
		
	
		
			
			| 
				
					99
				
			 | 
			
				
					104
				
			 | 
			
			
				         if (map.isEmpty()) return 0; 
			 | 
		
	
		
			
			| 
				
					100
				
			 | 
			
				
			 | 
			
			
				-        return  jdbcTemplate.update(sql, map.get("JH"), map.get("RQ"), map.get("CYFS"), map.get("YZ"), map.get("HYSX"), map.get("YYSX"), map.get("BS"), map.get("DYM")); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					105
				
			 | 
			
			
				+        return jdbcTemplate.update(sql, map.get("JH"), map.get("RQ"), map.get("CYFS"), map.get("YZ"), map.get("HYSX"), map.get("YYSX"), map.get("BS"), map.get("DYM")); 
			 | 
		
	
		
			
			| 
				
					101
				
			 | 
			
				
					106
				
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				
					102
				
			 | 
			
				
					107
				
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
					103
				
			 | 
			
				
			 | 
			
			
				-    public List<Map<String, Object>> selectA2DataOfNotIsNullDYM(){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					108
				
			 | 
			
			
				+    public List<Map<String, Object>> selectA2DataOfNotIsNullDYM() { 
			 | 
		
	
		
			
			| 
				
					104
				
			 | 
			
				
					109
				
			 | 
			
			
				         jdbcTemplate = new JdbcTemplate(oracleDataSource); 
			 | 
		
	
		
			
			| 
				
					105
				
			 | 
			
				
					110
				
			 | 
			
			
				         String sql = "SELECT  distinct jh,max(rq),dym FROM DBA01 WHERE dym is not null group by jh,dym"; 
			 | 
		
	
		
			
			| 
				
					106
				
			 | 
			
				
			 | 
			
			
				-        return  jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					111
				
			 | 
			
			
				+        return jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
			| 
				
					107
				
			 | 
			
				
					112
				
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				
					108
				
			 | 
			
				
					113
				
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
					109
				
			 | 
			
				
			 | 
			
			
				-    public List<Map<String, Object>> selectBaseDataSourceStatusDaily(String sql){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					114
				
			 | 
			
			
				+    public List<Map<String, Object>> selectBaseDataSourceStatusDaily(String sql) { 
			 | 
		
	
		
			
			| 
				
					110
				
			 | 
			
				
					115
				
			 | 
			
			
				         jdbcTemplate = new JdbcTemplate(baseDataSource); 
			 | 
		
	
		
			
			| 
				
					111
				
			 | 
			
				
			 | 
			
			
				-         return  jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					116
				
			 | 
			
			
				+        return jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
			| 
				
					112
				
			 | 
			
				
					117
				
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				
					113
				
			 | 
			
				
			 | 
			
			
				-    public int updateBaseDataSourceOfStatusDaily(String sql){ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					118
				
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					119
				
			 | 
			
			
				+    public int updateBaseDataSourceOfStatusDaily(String sql) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					120
				
			 | 
			
			
				+        jdbcTemplate = new JdbcTemplate(baseDataSource); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					121
				
			 | 
			
			
				+        return jdbcTemplate.update(sql); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					122
				
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					123
				
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					124
				
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					125
				
			 | 
			
			
				+    @PostMapping("/saveDataToVolDaily") 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					126
				
			 | 
			
			
				+    @ApiOperation("从 A2 获取 数据插入到 centrlBase-VolDaily 中") 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					127
				
			 | 
			
			
				+    public JSONObject saveVolDaily(@RequestBody BaseDataBody baseDataBody) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					128
				
			 | 
			
			
				+        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					129
				
			 | 
			
			
				+        int insertCount = 0; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					130
				
			 | 
			
			
				+        int updateLiqOliDailyCount = 0; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					131
				
			 | 
			
			
				+        try { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					132
				
			 | 
			
			
				+            jdbcTemplate = new JdbcTemplate(oracleDataSource); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					133
				
			 | 
			
			
				+            String date = baseDataBody.getDate(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					134
				
			 | 
			
			
				+            String sql = " select distinct  jh,rq,scsj, rcyl1,rcyl,rcql,hs, bz from DBA01 where rq  = to_date('" + date + "','yyyy-MM-dd') and qyrq is not null "; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					135
				
			 | 
			
			
				+            List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					136
				
			 | 
			
			
				+            for (Map<String, Object> map : list) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					137
				
			 | 
			
			
				+                if (map.get("SCSJ") == null) map.put("SCSJ", "0.0"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					138
				
			 | 
			
			
				+                if (map.get("RCYL1") == null) map.put("RCYL1", "0.0"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					139
				
			 | 
			
			
				+                if (map.get("RCYL") == null) map.put("RCYL", "0.0"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					140
				
			 | 
			
			
				+                if (map.get("RCQL") == null) map.put("RCQL", "0.0"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					141
				
			 | 
			
			
				+                if (map.get("HS") == null) map.put("HS", "0.0"); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					142
				
			 | 
			
			
				+                if (map.get("BZ") == null) map.put("BZ", ""); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					143
				
			 | 
			
			
				+                map.put("RCSL", -1); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					144
				
			 | 
			
			
				+                map.put("QYB", -1); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					145
				
			 | 
			
			
				+                map.put("SQB", -1); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					146
				
			 | 
			
			
				+                if (map.get("RCQL") != null && map.get("RCYL") != null && !map.get("RCYL").equals("0.0") && map.get("RCYL") != "0.0") { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					147
				
			 | 
			
			
				+                    double qyb = Double.valueOf(map.get("RCQL").toString()) / Double.valueOf(map.get("RCYL").toString()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					148
				
			 | 
			
			
				+                    if (!Double.isNaN(qyb) && !Double.isInfinite(qyb)) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					149
				
			 | 
			
			
				+                        BigDecimal bd = new BigDecimal(qyb); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					150
				
			 | 
			
			
				+                        double d1 = bd.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					151
				
			 | 
			
			
				+                        map.put("QYB", d1); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					152
				
			 | 
			
			
				+                    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					153
				
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					154
				
			 | 
			
			
				+                if (map.get("RCYL1") != null && map.get("HS") != null && !map.get("HS").equals("0.0") && map.get("HS") != "0.0") { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					155
				
			 | 
			
			
				+                    double rcsl = (Double.valueOf(map.get("RCYL1").toString()) * Double.valueOf(map.get("HS").toString())) / 100; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					156
				
			 | 
			
			
				+                    if (!Double.isNaN(rcsl) && !Double.isInfinite(rcsl)) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					157
				
			 | 
			
			
				+                        BigDecimal bd = new BigDecimal(rcsl); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					158
				
			 | 
			
			
				+                        double d1 = bd.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					159
				
			 | 
			
			
				+                        map.put("RCSL", d1); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					160
				
			 | 
			
			
				+                    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					161
				
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					162
				
			 | 
			
			
				+                if (map.get("RCQL") != null && map.get("RCSL") != null && !map.get("RCQL").equals("0.0") && map.get("RCQL") != "0.0") { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					163
				
			 | 
			
			
				+                    double sqb = Double.valueOf(map.get("RCSL").toString()) / Double.valueOf(map.get("RCQL").toString()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					164
				
			 | 
			
			
				+                    if (!Double.isNaN(sqb) && !Double.isInfinite(sqb)) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					165
				
			 | 
			
			
				+                        BigDecimal bd = new BigDecimal(sqb); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					166
				
			 | 
			
			
				+                        double d1 = bd.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					167
				
			 | 
			
			
				+                        map.put("SQB", d1); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					168
				
			 | 
			
			
				+                    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					169
				
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					170
				
			 | 
			
			
				+                if (!map.containsKey("SMD")) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					171
				
			 | 
			
			
				+                    map.put("SMD", 1); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					172
				
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					173
				
			 | 
			
			
				+                if (!map.containsKey("YMD")) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					174
				
			 | 
			
			
				+                    map.put("YMD", 0.85); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					175
				
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					176
				
			 | 
			
			
				+                sql = "insert into centralbase.cb_pc_pro_wellbore_vol_daily(well_id,prod_date,prod_time,liq_prod_daily,oil_prod_daily,gas_prod_daily,water_cut,remarks,gas_oil_ratio,water_prod_daily,water_gas_ratio,surface_crude_water_density,surface_crude_oil_density) " + 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					177
				
			 | 
			
			
				+                        "values(?,?,?,?,?,?,?,?,?,?,?,?,?) "; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					178
				
			 | 
			
			
				+                insertCount = insertBaseDataVolDaily(sql, map) + insertCount; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					179
				
			 | 
			
			
				+                sql = "select distinct  jh,rq,scsj, rcyl1,rcyl,rcql,hs, bz from DBA01 where rq  = to_date('" + date + "','yyyy-MM-dd') and qyrq is not null "; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					180
				
			 | 
			
			
				+                updateLiqOliDailyCount = updateBaseDataVolDaily(sql) + updateLiqOliDailyCount; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					181
				
			 | 
			
			
				+            } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					182
				
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					183
				
			 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					184
				
			 | 
			
			
				+            jsonObject.put("error", e.getMessage()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					185
				
			 | 
			
			
				+        } finally { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					186
				
			 | 
			
			
				+            jsonObject.put("插入条数", insertCount); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					187
				
			 | 
			
			
				+            jsonObject.put("修改liqOliDaily条数", updateLiqOliDailyCount); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					188
				
			 | 
			
			
				+        } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					189
				
			 | 
			
			
				+        return jsonObject; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					190
				
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					191
				
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					192
				
			 | 
			
			
				+    public int insertBaseDataVolDaily(String sql, Map<String, Object> map) { 
			 | 
		
	
		
			
			| 
				
					114
				
			 | 
			
				
					193
				
			 | 
			
			
				         jdbcTemplate = new JdbcTemplate(baseDataSource); 
			 | 
		
	
		
			
			| 
				
					115
				
			 | 
			
				
			 | 
			
			
				-        return  jdbcTemplate.update(sql); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					194
				
			 | 
			
			
				+        if (map.isEmpty()) return 0; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					195
				
			 | 
			
			
				+        return jdbcTemplate.update(sql, map.get("JH"), map.get("RQ"), map.get("SCSJ"), map.get("RCYL1"), map.get("RCYL"), map.get("RCQL"), map.get("HS"), map.get("BZ"), map.get("QYB"), map.get("RCSL"), map.get("SQB"), map.get("SMD"), map.get("YMD")); 
			 | 
		
	
		
			
			| 
				
					116
				
			 | 
			
				
					196
				
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				
					117
				
			 | 
			
				
					197
				
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					198
				
			 | 
			
			
				+    public int updateBaseDataVolDaily(String sql) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					199
				
			 | 
			
			
				+        jdbcTemplate = new JdbcTemplate(baseDataSource); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					200
				
			 | 
			
			
				+        return jdbcTemplate.update(sql); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				
					201
				
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
					118
				
			 | 
			
				
					202
				
			 | 
			
			
				 } 
			 |