Commit 5fd06b79 authored by 王夏晖's avatar 王夏晖

1.数据接收方式变更

2.数据库更新后计划编制及参数库接口调整
parent f864d6af
...@@ -85,19 +85,19 @@ public class BusEnergyPlanController extends PaginationController<BusEnergyPlan> ...@@ -85,19 +85,19 @@ public class BusEnergyPlanController extends PaginationController<BusEnergyPlan>
@ApiOperation(value="根据项目查询某一天计划总能耗", notes="根据项目查询某一天计划总能耗") @ApiOperation(value="根据项目查询某一天计划总能耗", notes="根据项目查询某一天计划总能耗")
@GetMapping(value = "/queryEnergyPlanDay") @GetMapping(value = "/queryEnergyPlanDay")
public Result queryEnergyPlanDay(@RequestParam String proid,@RequestParam String day){ public Result queryEnergyPlanDay(@RequestParam String pro_id,@RequestParam String day){
return Result.builder(new PersistModel(1), return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR, MessageConstant.MESSAGE_ALERT_ERROR,
busEnergyPlanServiceImpl.queryEnergyPlanDay(proid,day)); busEnergyPlanServiceImpl.queryEnergyPlanDay(pro_id,day));
} }
@ApiOperation(value="查询能耗计划", notes="查询能耗计划") @ApiOperation(value="查询能耗计划", notes="查询能耗计划")
@GetMapping(value = "/queryEnergyPlanList") @GetMapping(value = "/queryEnergyPlanList")
public Result queryEnergyPlanList(@RequestParam String proid,@RequestParam String day)throws Exception{ public Result queryEnergyPlanList(@RequestParam String pro_id,@RequestParam String day)throws Exception{
return Result.builder(new PersistModel(1), return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR, MessageConstant.MESSAGE_ALERT_ERROR,
busEnergyPlanServiceImpl.queryEnergyPlanList(proid,day)); busEnergyPlanServiceImpl.queryEnergyPlanList(pro_id,day));
} }
@ApiOperation(value="查询设备类型", notes="查询设备类型") @ApiOperation(value="查询设备类型", notes="查询设备类型")
@GetMapping(value = "/queryDeviceTp") @GetMapping(value = "/queryDeviceTp")
...@@ -108,7 +108,7 @@ public class BusEnergyPlanController extends PaginationController<BusEnergyPlan> ...@@ -108,7 +108,7 @@ public class BusEnergyPlanController extends PaginationController<BusEnergyPlan>
busEnergyPlanServiceImpl.queryDeviceTp()); busEnergyPlanServiceImpl.queryDeviceTp());
} }
@ApiOperation(value="查询设备类型", notes="查询设备类型") @ApiOperation(value="根据设备类型查询设备", notes="根据设备类型查询设备")
@GetMapping(value = "/queryDeviceByTp") @GetMapping(value = "/queryDeviceByTp")
public Result queryDeviceByTp(@RequestParam String dev_tp_id){ public Result queryDeviceByTp(@RequestParam String dev_tp_id){
return Result.builder(new PersistModel(1), return Result.builder(new PersistModel(1),
...@@ -116,39 +116,44 @@ public class BusEnergyPlanController extends PaginationController<BusEnergyPlan> ...@@ -116,39 +116,44 @@ public class BusEnergyPlanController extends PaginationController<BusEnergyPlan>
MessageConstant.MESSAGE_ALERT_ERROR, MessageConstant.MESSAGE_ALERT_ERROR,
busEnergyPlanServiceImpl.queryDeviceByTp(dev_tp_id)); busEnergyPlanServiceImpl.queryDeviceByTp(dev_tp_id));
} }
@ApiOperation(value="查询参数1", notes="查询参数1")
@GetMapping(value = "/queryPlanParamVal_1") @ApiOperation(value="根据项目查询某一天实际总能耗", notes="根据项目查询某一天实际总能耗")
public Result queryPlanParamVal_1(@RequestParam String dev_num){ @GetMapping(value = "/queryEnergyRealDay")
Map<String,Object> map = new HashMap<String,Object>(); public Result queryEnergyRealDay(@RequestParam String pro_id,@RequestParam String day){
map.put("dev_num",dev_num);
return Result.builder(new PersistModel(1), return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR, MessageConstant.MESSAGE_ALERT_ERROR,
busEnergyPlanServiceImpl.queryPlanParamVal_1(map)); busEnergyPlanServiceImpl.queryBusEnergyRealCount(pro_id,day));
} }
@ApiOperation(value="查询参数2", notes="查询参数2")
@GetMapping(value = "/queryPlanParamVal_2") @ApiOperation(value="用能计划执行", notes="用能计划执行")
public Result queryPlanParamVal_2(@RequestParam String dev_num,@RequestParam String p1_v){ @GetMapping(value = "/queryEnergyPlanExecute")
Map<String,Object> map = new HashMap<String,Object>(); public Result queryEnergyPlanExecute(@RequestParam String pro_id,@RequestParam String day)throws Exception{
map.put("dev_num",dev_num); return Result.builder(new PersistModel(1),
map.put("p1_v",p1_v); MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
busEnergyPlanServiceImpl.queryEnergyPlanExecute(pro_id,day));
}
@ApiOperation(value="设备用能功率对比", notes="设备用能功率对比")
@GetMapping(value = "/queryEnergyPowerCompare")
public Result queryEnergyPowerCompare(@RequestParam String dev_num,@RequestParam String day)throws Exception{
return Result.builder(new PersistModel(1), return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR, MessageConstant.MESSAGE_ALERT_ERROR,
busEnergyPlanServiceImpl.queryPlanParamVal_2(map)); busEnergyPlanServiceImpl.queryEnergyPowerCompare(dev_num,day));
} }
@ApiOperation(value="查询参数3", notes="查询参数3") @ApiOperation(value="设备参数库操作(录入开关)", notes="设备参数库操作(录入开关)")
@GetMapping(value = "/queryPlanParamVal_3") @GetMapping(value = "/paramLibraryOperate")
public Result queryPlanParamVal_3(@RequestParam String dev_num,@RequestParam String p1_v,@RequestParam String p2_v){ public Result paramLibraryOperate(@RequestParam String dev_num,@RequestParam String pl_switch){
Map<String,Object> map = new HashMap<String,Object>(); Map<String,Object> map = new HashMap<String,Object>();
map.put("dev_num",dev_num); map.put("dev_num",dev_num);
map.put("p1_v",p1_v); map.put("pl_switch",pl_switch);
map.put("p2_v",p2_v);
return Result.builder(new PersistModel(1), return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR, MessageConstant.MESSAGE_ALERT_ERROR,
busEnergyPlanServiceImpl.queryPlanParamVal_3(map)); busEnergyPlanServiceImpl.paramLibraryOperate(map));
} }
} }
...@@ -25,8 +25,8 @@ public interface BusEnergyPlanRepository extends BaseMapper<BusEnergyPlan> { ...@@ -25,8 +25,8 @@ public interface BusEnergyPlanRepository extends BaseMapper<BusEnergyPlan> {
@ResultMap(value = "BaseResultMap" ) @ResultMap(value = "BaseResultMap" )
List<BusEnergyPlan> queryBusEnergyPlans(BusEnergyPlan busEnergyPlan); List<BusEnergyPlan> queryBusEnergyPlans(BusEnergyPlan busEnergyPlan);
@Select("<script>SELECT sum(a.ENERGY_POWER) power_day,sum(a.ENERGY_GAS) gas_day FROM bus_energyplan_v a,bus_device b " + @Select("<script>SELECT sum(a.ENERGY_POWER) power_plan_day,sum(a.ENERGY_GAS) gas_plan_day FROM bus_energyplan_v a,bus_device b " +
"WHERE a.DEV_NUM = b.DEV_NUM AND b.PRO_ID = #{proid} AND date_format(a.TM, '%Y-%m-%d') = #{day}" "WHERE a.DEV_NUM = b.DEV_NUM AND b.PRO_ID = #{pro_id} AND date_format(a.TM, '%Y-%m-%d') = #{day}"
+ "</script>") + "</script>")
List<Map<String,Object>> queryEnergyPlanDay(Map<String,Object> map); List<Map<String,Object>> queryEnergyPlanDay(Map<String,Object> map);
...@@ -34,8 +34,8 @@ public interface BusEnergyPlanRepository extends BaseMapper<BusEnergyPlan> { ...@@ -34,8 +34,8 @@ public interface BusEnergyPlanRepository extends BaseMapper<BusEnergyPlan> {
* 查询是否是用能计划对比参数 * 查询是否是用能计划对比参数
* @return * @return
*/ */
@Select("<script>select a.compare_flag from bus_device_param a,bus_device b " + @Select("<script>select a.compare_flag from bus_library_param a,bus_device b " +
"where a.DEV_TP_ID = b.DEV_TP_ID and b.DEV_NUM = #{dev_num} and a.PARAM = #{param} " "where a.DEV_NUM = b.DEV_NUM and b.DEV_NUM = #{dev_num} and a.PARAM = #{param} "
+ "</script>") + "</script>")
List<Map<String,Object>> queryEnergyPlanCompareFlag(Map<String,Object> map); List<Map<String,Object>> queryEnergyPlanCompareFlag(Map<String,Object> map);
...@@ -45,7 +45,7 @@ public interface BusEnergyPlanRepository extends BaseMapper<BusEnergyPlan> { ...@@ -45,7 +45,7 @@ public interface BusEnergyPlanRepository extends BaseMapper<BusEnergyPlan> {
* @return * @return
*/ */
@Select("<script>select a.dev_num,b.dev_nm,GROUP_CONCAT(a.tm) tm_str from bus_energy_plan a left join bus_device b on a.DEV_NUM = b.DEV_NUM " + @Select("<script>select a.dev_num,b.dev_nm,GROUP_CONCAT(a.tm) tm_str from bus_energy_plan a left join bus_device b on a.DEV_NUM = b.DEV_NUM " +
" where DATE_FORMAT(a.tm,'%Y-%m-%d') = #{day} and b.PRO_ID = #{proid} group by a.DEV_NUM " " where DATE_FORMAT(a.tm,'%Y-%m-%d') = #{day} and b.PRO_ID = #{pro_id} group by a.DEV_NUM "
+ "</script>") + "</script>")
List<Map<String,Object>> queryEnergyPlanList(Map<String,Object> map); List<Map<String,Object>> queryEnergyPlanList(Map<String,Object> map);
...@@ -61,56 +61,92 @@ public interface BusEnergyPlanRepository extends BaseMapper<BusEnergyPlan> { ...@@ -61,56 +61,92 @@ public interface BusEnergyPlanRepository extends BaseMapper<BusEnergyPlan> {
* 根据设备类型获取设备 * 根据设备类型获取设备
* @return * @return
*/ */
@Select("<script>select dev_num,dev_nm from bus_device where dev_tp_id = #{dev_tp_id} " @Select("<script>SELECT\n" +
"\ta.dev_nm,a.dev_num,a.param,a.dev_local,a.model,c.fac_nm,date_format(a.install_date,'%Y-%m-%d') install_date,b.dev_tp_nm\n" +
"FROM\n" +
"\tbus_device a\n" +
"LEFT JOIN bus_device_tp b ON a.DEV_TP_ID = b.DEV_TP_ID " +
"LEFT JOIN bus_factory c ON a.FAC_ID = c.FAC_ID " +
"where a.dev_tp_id = #{dev_tp_id} "
+ "</script>") + "</script>")
List<Map<String,Object>> queryDeviceByTp(Map<String,Object> map); List<Map<String,Object>> queryDeviceByTp(Map<String,Object> map);
/** /**
* 根据设备编码获取选择参数 * 查询项目的日实际能耗
* @param map
* @return * @return
*/ */
@Select("<script>SELECT DISTINCT " + @Select("<script>select sum(a.elec) power_real_day,sum(a.gas) gas_real_day from energy_count_m a,bus_device b,bus_device_meter c \n" +
" a.p1,b1.PARAM_NM p1_nm,a.p2,b2.PARAM_NM p2_nm,a.p3,b3.PARAM_NM p3_nm " + "where a.MET_NUM = c.MET_NUM and c.DEV_NUM = b.DEV_NUM and DATE_FORMAT(a.CREATE_TIME,'%Y-%m-%d')=#{day} and b.PRO_ID = #{pro_id}"
"FROM bus_param_library a left join bus_param b1 on a.P1 = b1.PARAM left join bus_param b2 on a.P2 = b2.PARAM left join bus_param b3 on a.p3 = b3.PARAM " +
"WHERE " +
" DEV_NUM = #{dev_num} "
+ "</script>") + "</script>")
List<Map<String,Object>> queryPlanParamByDev(Map<String,Object> map); List<Map<String, Object>> queryBusEnergyRealCount(Map<String,Object> map);
/** /**
* 根据设备编码获取第一个参数集合 * 能耗计划执行结果
* @param map
* @return * @return
*/ */
@Select("<script>select distinct p1_v from bus_param_library where dev_num = #{dev_num} " @Select("<script>SELECT\n" +
"\t\ta.dev_num,date_format(a.tm, '%Y-%m-%d %H:%i:%s') tm,a.param,a.param_val,c.elec,b.p4,b.p4_v,b.p5,b.p5_v,b.p6,b.p6_v,b.p7,b.p7_v,b.p8,b.p8_v,b.p9,b.p9_v,b.p10,b.p10_v,b.p11,b.p11_v,b.p12,b.p12_v\n" +
"\t\t,b.p13,b.p13_v,b.p14,b.p14_v,b.p15,b.p15_v,b.p16,b.p16_v,b.p17,b.p17_v,b.p18,b.p18_v,b.p19,b.p19_v,b.p20,b.p20_v\n" +
"\t\tFROM\n" +
"\t\tbus_energy_plan a\n" +
"\t\tleft join total_original b on a.TM = b.TM and a.DEV_NUM = b.DEV_NUM\n" +
"\t\tleft join bus_device d on a.DEV_NUM = d.DEV_NUM\n" +
"\t\tleft join (SELECT b.DEV_NUM,c.CREATE_TIME,sum(c.ELEC) elec FROM bus_device_meter a,bus_device b,energy_count_m c WHERE a.DEV_NUM = b.DEV_NUM AND a.MET_NUM = c.MET_NUM group by b.DEV_NUM,c.CREATE_TIME\t) c on a.TM = c.CREATE_TIME and a.DEV_NUM = c.DEV_NUM\n" +
"\t\t\n" +
"\t\tWHERE\n" +
"\t\td.PRO_ID = #{pro_id} and DATE_FORMAT(a.TM, '%Y-%m-%d') = #{day}"
+ "</script>") + "</script>")
List<Map<String,Object>> queryPlanParamVal_1(Map<String,Object> map); List<Map<String,Object>> queryBusEnergyPlanExecute(Map<String,Object> map);
/** /**
* 根据设备编码及第一个参数获取第二个参数集合 * 根据设备编号和时间查询是否已经有能耗计划
* @param map
* @return * @return
*/ */
@Select("<script>select distinct p2_v from bus_param_library where dev_num = #{dev_num}" + @Select("<script>select * from bus_energy_plan " +
" and p1_v = #{p1_v} " " where dev_num = #{dev_num} and tm = #{tm}"
+ "</script>") +"</script>")
List<Map<String,Object>> queryPlanParamVal_2(Map<String,Object> map); List<Map<String,Object>> queryExistEnergyPlan(Map<String,Object> map);
/** /**
* 根据设备编码及前两个参数获取第三个参数集合 * 根据设备编号和时间查询用能计划与实际功率对比
* @param map
* @return * @return
*/ */
@Select("<script>select distinct p3_v from bus_param_library where dev_num = #{dev_num}" + @Select("<script>SELECT\n" +
" and p1_v = #{p1_v} and p2_v = #{p2_v} " "\ta.dev_num,date_format(a.tm, '%Y-%m-%d %H:%i:%s') tm,a.power plan_power,c.elec*6 real_power \n" +
+ "</script>") "from\n" +
List<Map<String,Object>> queryPlanParamVal_3(Map<String,Object> map); "\tbus_energy_plan a\n" +
"\tleft join (SELECT b.DEV_NUM,c.CREATE_TIME,sum(c.ELEC) elec FROM bus_device_meter a,bus_device b,energy_count_m c WHERE a.DEV_NUM = b.DEV_NUM AND a.MET_NUM = c.MET_NUM group by b.DEV_NUM,c.CREATE_TIME) c on a.TM = c.CREATE_TIME and a.DEV_NUM = c.DEV_NUM\n" +
"WHERE\n" +
"\ta.DEV_NUM = #{dev_num} and DATE_FORMAT(a.TM, '%Y-%m-%d') = #{day}\n" +
"order by tm asc"
+"</script>")
List<Map<String,Object>> queryEnergyPowerCompare(Map<String,Object> map);
/** /**
* 根据参数编码获取参数库 * 更改设备参数库录入开关状态
* @param map * @param map
* @return
*/ */
@Select("<script>select distinct power,gas_speed from bus_param_library where dev_num = #{dev_num}" + @Select("<script>update bus_device set pl_switch = #{pl_switch} where dev_num = #{dev_num}" +
" <if test = 'p1_v != null '> and p1_v = #{p1_v} </if> " + "</script>")
" <if test = 'p2_v != null '> and p2_v = #{p2_v} </if> " + void updateDevicePswitch(Map<String,Object> map);
" <if test = 'p3_v != null '> and p3_v = #{p3_v} </if> "
+ "</script>") /**
List<Map<String,Object>> queryParamLibrary(Map<String,Object> map); * 参数库数据删除
* 理论上对于一个设备来说,一年只做一次的参数库录入,为防止数据重复,在打开录入开关前,
* 删除今年的录入数据。
*/
@Select("<script>delete from bus_param_library where dev_num = #{dev_num} and year = #{year}" +
"</script>")
void deleteParamLibrary(Map<String,Object> map);
@Select("<script>select date_format(tm, '%Y-%m-%d %H:%i:%s') tm,sensor_json from total_sensor \n" +
"where PRO_ID = #{pro_id} and DATE_FORMAT(tm,'%Y-%m-%d') = #{day}" +
"</script>")
List<Map<String,Object>> querySensor(Map<String,Object> map);
} }
...@@ -16,7 +16,7 @@ public interface BusEnergyPlanService { ...@@ -16,7 +16,7 @@ public interface BusEnergyPlanService {
/** /**
* 保存 * 保存
* @param busEnergyPlan * @param
* @return * @return
*/ */
PersistModel save(EnergyPlanVo energyPlan)throws Exception; PersistModel save(EnergyPlanVo energyPlan)throws Exception;
...@@ -60,7 +60,7 @@ public interface BusEnergyPlanService { ...@@ -60,7 +60,7 @@ public interface BusEnergyPlanService {
/** /**
* 查询能耗计划 * 查询能耗计划
* @param map * @param
* @return * @return
*/ */
List<Map<String,Object>> queryEnergyPlanList(String proid, String day)throws Exception; List<Map<String,Object>> queryEnergyPlanList(String proid, String day)throws Exception;
...@@ -73,15 +73,26 @@ public interface BusEnergyPlanService { ...@@ -73,15 +73,26 @@ public interface BusEnergyPlanService {
/** /**
* 根据设备类型获取设备 * 根据设备类型获取设备
* @param map * @param
* @return * @return
*/ */
List<Map<String,Object>> queryDeviceByTp(String dev_tp_id); List<Map<String,Object>> queryDeviceByTp(String dev_tp_id);
List<Map<String,Object>> queryPlanParamVal_1(Map<String,Object> map); List<Map<String, Object>> queryBusEnergyRealCount(String proid, String day);
/**
* 计划执行
* @param proid 项目主键
* @param day 日期
* @return
* @throws Exception
*/
List<Map<String,Object>> queryEnergyPlanExecute(String proid,String day)throws Exception;
List<Map<String,Object>> queryEnergyPowerCompare(String dev_num,String day);
int paramLibraryOperate(Map<String,Object> map);
List<Map<String,Object>> queryPlanParamVal_2(Map<String,Object> map);
List<Map<String,Object>> queryPlanParamVal_3(Map<String,Object> map);
} }
package org.rcisoft.business.mainte.energyplan.service.impl; package org.rcisoft.business.mainte.energyplan.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.rcisoft.business.mainte.energyplan.dao.BusEnergyPlanRepository; import org.rcisoft.business.mainte.energyplan.dao.BusEnergyPlanRepository;
import org.rcisoft.business.mainte.energyplan.entity.BusEnergyPlan; import org.rcisoft.business.mainte.energyplan.entity.BusEnergyPlan;
import org.rcisoft.business.mainte.energyplan.service.BusEnergyPlanService; import org.rcisoft.business.mainte.energyplan.service.BusEnergyPlanService;
import org.rcisoft.business.mainte.energyplan.vo.EnergyPlanVo; import org.rcisoft.business.mainte.energyplan.vo.EnergyPlanVo;
import org.rcisoft.business.mainte.paramlibrary.dao.ParamLibraryRepository;
import org.rcisoft.core.util.UserUtil; import org.rcisoft.core.util.UserUtil;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel; import org.rcisoft.core.model.PersistModel;
...@@ -17,6 +20,7 @@ import org.springframework.transaction.annotation.Propagation; ...@@ -17,6 +20,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
...@@ -32,6 +36,8 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService { ...@@ -32,6 +36,8 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService {
@Autowired @Autowired
private BusEnergyPlanRepository busEnergyPlanRepository; private BusEnergyPlanRepository busEnergyPlanRepository;
@Autowired
private ParamLibraryRepository paramLibraryRepository;
/** /**
...@@ -87,7 +93,8 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService { ...@@ -87,7 +93,8 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService {
m.put("p2_v",p2_v); m.put("p2_v",p2_v);
m.put("p3_v",p3_v); m.put("p3_v",p3_v);
m.put("dev_num",energyPlanVo.getDevNum()); m.put("dev_num",energyPlanVo.getDevNum());
List<Map<String,Object>> paramlibrary = busEnergyPlanRepository.queryParamLibrary(m); m.put("year",simple.format(new Date()).substring(0,4));
List<Map<String,Object>> paramlibrary = paramLibraryRepository.queryParamLibrary(m);
for(Object tm : timeArr){ for(Object tm : timeArr){
busEnergyPlan.setDevNum(energyPlanVo.getDevNum()); busEnergyPlan.setDevNum(energyPlanVo.getDevNum());
busEnergyPlan.setTm((Date)tm); busEnergyPlan.setTm((Date)tm);
...@@ -95,7 +102,13 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService { ...@@ -95,7 +102,13 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService {
busEnergyPlan.setPower(Float.valueOf(paramlibrary.get(0).get("power").toString())); busEnergyPlan.setPower(Float.valueOf(paramlibrary.get(0).get("power").toString()));
busEnergyPlan.setGasSpeed(Float.valueOf(paramlibrary.get(0).get("gas_speed").toString())); busEnergyPlan.setGasSpeed(Float.valueOf(paramlibrary.get(0).get("gas_speed").toString()));
} }
busEnergyPlanRepository.insertSelective(busEnergyPlan); Map<String,Object> tmp = new HashMap<String,Object>();
tmp.put("dev_num",energyPlanVo.getDevNum());
tmp.put("tm",tm);
List<Map<String,Object>> existPlan = busEnergyPlanRepository.queryExistEnergyPlan(tmp);
if(existPlan==null || existPlan.size()<=0){
busEnergyPlanRepository.insertSelective(busEnergyPlan);
}
} }
return new PersistModel(1); return new PersistModel(1);
} }
...@@ -146,7 +159,7 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService { ...@@ -146,7 +159,7 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService {
@Override @Override
public List<Map<String, Object>> queryEnergyPlanDay(String proid, String day) { public List<Map<String, Object>> queryEnergyPlanDay(String proid, String day) {
Map<String,Object> map = new HashMap<String,Object>(); Map<String,Object> map = new HashMap<String,Object>();
map.put("proid",proid); map.put("pro_id",proid);
map.put("day",day); map.put("day",day);
return busEnergyPlanRepository.queryEnergyPlanDay(map); return busEnergyPlanRepository.queryEnergyPlanDay(map);
} }
...@@ -154,7 +167,7 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService { ...@@ -154,7 +167,7 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService {
@Override @Override
public List<Map<String, Object>> queryEnergyPlanList(String proid, String day)throws Exception { public List<Map<String, Object>> queryEnergyPlanList(String proid, String day)throws Exception {
Map<String,Object> map = new HashMap<String,Object>(); Map<String,Object> map = new HashMap<String,Object>();
map.put("proid",proid); map.put("pro_id",proid);
map.put("day",day); map.put("day",day);
List<Map<String, Object>> list = busEnergyPlanRepository.queryEnergyPlanList(map); List<Map<String, Object>> list = busEnergyPlanRepository.queryEnergyPlanList(map);
ArrayList timeArr = new ArrayList(); ArrayList timeArr = new ArrayList();
...@@ -197,18 +210,99 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService { ...@@ -197,18 +210,99 @@ public class BusEnergyPlanServiceImpl implements BusEnergyPlanService {
} }
@Override @Override
public List<Map<String, Object>> queryPlanParamVal_1(Map<String, Object> map) { public List<Map<String, Object>> queryBusEnergyRealCount(String proid, String day) {
return busEnergyPlanRepository.queryPlanParamVal_1(map); Map<String,Object> map = new HashMap<String,Object>();
map.put("pro_id",proid);
map.put("day",day);
return busEnergyPlanRepository.queryBusEnergyRealCount(map);
}
@Override
public List<Map<String, Object>> queryEnergyPlanExecute(String proid, String day)throws Exception {
Map<String,Object> map = new HashMap<String,Object>();
map.put("pro_id",proid);
map.put("day",day);
Map<String,Object> sensorMap = new HashMap<>();
List<Map<String,Object>> sensorList = busEnergyPlanRepository.querySensor(map);
for(Map<String,Object> m : sensorList){
sensorMap.put(m.get("tm").toString(),m.get("sensor_json"));
}
List<Map<String,Object>> executeList = busEnergyPlanRepository.queryBusEnergyPlanExecute(map);
Map<String,Object> executeMap = new HashMap<String,Object>();
for(Map<String,Object> tmap : executeList){
//设备状态 0:状态不一致 1:参数不一致 2:完全一致
//状态由耗电量决定
String flag = "2";
//10分钟内设备耗电量为空或小于0.5度,设备默认为关闭状态
if(tmap.get("elec")==null || tmap.get("elec").toString().equalsIgnoreCase("") || Float.valueOf(tmap.get("elec").toString()) <= 0.5){
flag = "0";
}else{
String param = tmap.get("param").toString();
String param_val = tmap.get("param_val")==null?"":tmap.get("param_val").toString();
String compare_val = "";
if(param.contains("sensor")){//要对比的参数取自于传感器
if(sensorMap.get(tmap.get("tm").toString())==null){
compare_val = "";
}else{
String sensorJson = sensorMap.get(tmap.get("tm")).toString();
JSONObject sensorBody = JSONArray.parseObject(sensorJson);
/**
* 为了区分设备参数与传感器参数,在为设备配置模板的时候会为来源于传感器的
* 参数前面自动拼接sensor_ ,当然,从传感器中取数据的时候需要去掉拼接的东西
*/
String t_param = param.substring(param.indexOf("_")+1,param.length());
BigDecimal p_v = new BigDecimal(sensorBody.get(t_param)==null?"0":sensorBody.get(t_param).toString());
compare_val = p_v.setScale(1).toString();
}
}else{//要对比的参数取自于设备本身
String[] numArr = {"4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"};
for(String num : numArr){
if(param.equalsIgnoreCase(tmap.get("p"+num)==null?"":tmap.get("p"+num).toString())){
compare_val = tmap.get("p"+num+"_v")==null?"":tmap.get("p"+num+"_v").toString();
}
}
}
if(!param_val.equalsIgnoreCase(compare_val)){
flag = "1";
}
if(param_val.equalsIgnoreCase("") && compare_val.equalsIgnoreCase("")){
flag = "1";
}
}
executeMap.put(tmap.get("dev_num").toString()+","+tmap.get("tm").toString(),flag);
}
List<Map<String, Object>> planList = queryEnergyPlanList(proid,day);
for(Map<String, Object> plan : planList){
String dev_num = plan.get("dev_num").toString();
Map<String, Object> planMap = (Map<String, Object>)plan.get("planmap");
for (Map.Entry<String, Object> entry : planMap.entrySet()) {
planMap.put(entry.getKey(),executeMap.get(dev_num+","+entry.getKey()));
}
}
return planList;
} }
@Override @Override
public List<Map<String, Object>> queryPlanParamVal_2(Map<String, Object> map) { public List<Map<String, Object>> queryEnergyPowerCompare(String dev_num, String day) {
return busEnergyPlanRepository.queryPlanParamVal_2(map); Map<String,Object> map = new HashMap<String,Object>();
map.put("dev_num",dev_num);
map.put("day",day);
return busEnergyPlanRepository.queryEnergyPowerCompare(map);
} }
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override @Override
public List<Map<String, Object>> queryPlanParamVal_3(Map<String, Object> map) { public int paramLibraryOperate(Map<String, Object> map) {
return busEnergyPlanRepository.queryPlanParamVal_3(map); String pl_switch = map.get("pl_switch").toString();
if(pl_switch.equalsIgnoreCase("1")){//参数库录入:开
SimpleDateFormat simple = new SimpleDateFormat("yyyy");
map.put("year",simple.format(new Date()));
busEnergyPlanRepository.deleteParamLibrary(map);
}
busEnergyPlanRepository.updateDevicePswitch(map);
return 1;
} }
......
package org.rcisoft.business.mainte.paramlibrary.controller;
import io.swagger.annotations.ApiOperation;
import org.rcisoft.business.mainte.paramlibrary.service.ParamLibraryService;
import org.rcisoft.core.constant.MessageConstant;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.result.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping("paramlibrary")
public class ParamLibraryController {
@Autowired
private ParamLibraryService paramLibraryService;
@ApiOperation(value="根据设备编号获取参数库记录参数", notes="根据设备编号获取参数库记录参数")
@GetMapping(value = "/queryLibraryParamByDev")
public Result queryLibraryParamByDev(@RequestParam String dev_num,@RequestParam String pro_id){
Map<String,Object> map = new HashMap<String,Object>();
map.put("dev_num",dev_num);
map.put("pro_id",pro_id);
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
paramLibraryService.queryLibraryParamByDev(map));
}
@ApiOperation(value="查询参数1", notes="查询参数1")
@GetMapping(value = "/queryPlanParamVal_1")
public Result queryPlanParamVal_1(@RequestParam String dev_num){
Map<String,Object> map = new HashMap<String,Object>();
map.put("dev_num",dev_num);
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
paramLibraryService.queryPlanParamVal_1(map));
}
@ApiOperation(value="查询参数2", notes="查询参数2")
@GetMapping(value = "/queryPlanParamVal_2")
public Result queryPlanParamVal_2(@RequestParam String dev_num,@RequestParam String p1_v){
Map<String,Object> map = new HashMap<String,Object>();
map.put("dev_num",dev_num);
map.put("p1_v",p1_v);
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
paramLibraryService.queryPlanParamVal_2(map));
}
@ApiOperation(value="查询参数3", notes="查询参数3")
@GetMapping(value = "/queryPlanParamVal_3")
public Result queryPlanParamVal_3(@RequestParam String dev_num,@RequestParam String p1_v,@RequestParam String p2_v){
Map<String,Object> map = new HashMap<String,Object>();
map.put("dev_num",dev_num);
map.put("p1_v",p1_v);
map.put("p2_v",p2_v);
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
paramLibraryService.queryPlanParamVal_3(map));
}
@ApiOperation(value="设备参数库", notes="设备参数库")
@GetMapping(value = "/queryParamLibrary")
public Result queryParamLibrary(@RequestParam String dev_num){
Map<String,Object> map = new HashMap<String,Object>();
map.put("dev_num",dev_num);
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
paramLibraryService.queryParamLibrary(map));
}
}
package org.rcisoft.business.mainte.paramlibrary.dao;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public interface ParamLibraryRepository {
/**
* 根据设备编号获取参数库记录参数
* @return
*/
@Select("<script>SELECT\n" +
"\ta.param,\n" +
"\tc.param_nm\n" +
"FROM\n" +
"\tbus_library_param a,\n" +
"\tbus_device_param b,\n" +
"\tbus_devicetp_param c\n" +
"WHERE\n" +
"\ta.DEV_NUM = b.DEV_NUM\n" +
"AND a.PARAM = b.PARAM\n" +
"AND b.PARAM_CODE = c.PARAM_CODE\n" +
"AND a.DEV_NUM = #{dev_num} and c.PRO_ID = #{pro_id} "
+ "</script>")
List<Map<String,Object>> queryLibraryParamByDev(Map<String,Object> map);
/**
* 根据设备编码获取第一个参数集合
* @return
*/
@Select("<script>select distinct p1_v from bus_param_library where dev_num = #{dev_num} "
+ "</script>")
List<Map<String,Object>> queryPlanParamVal_1(Map<String,Object> map);
/**
* 根据设备编码及第一个参数获取第二个参数集合
* @return
*/
@Select("<script>select distinct p2_v from bus_param_library where dev_num = #{dev_num}" +
" and p1_v = #{p1_v} "
+ "</script>")
List<Map<String,Object>> queryPlanParamVal_2(Map<String,Object> map);
/**
* 根据设备编码及前两个参数获取第三个参数集合
* @return
*/
@Select("<script>select distinct p3_v from bus_param_library where dev_num = #{dev_num}" +
" and p1_v = #{p1_v} and p2_v = #{p2_v} "
+ "</script>")
List<Map<String,Object>> queryPlanParamVal_3(Map<String,Object> map);
/**
* 查询参数库
* @param map
* @return
*/
@Select("<script>SELECT \n" +
"\tDISTINCT\n" +
"\ta.p1,a.p1_v,a.p2,a.p2_v,a.p3,a.p3_v,a.power,a.gas_speed,\n" +
"\tb1.PARAM_NM p1_nm,b2.PARAM_NM p2_nm,b3.PARAM_NM p3_nm,\n" +
"\ta.year\n" +
"FROM\n" +
"\tbus_param_library a\n" +
"left join bus_device_param c1 on a.p1 = c1.param and c1.dev_num = a.dev_num " +
"left join bus_device_param c2 on a.p2 = c2.param and c1.dev_num = a.dev_num " +
"left join bus_device_param c3 on a.p3 = c3.param and c1.dev_num = a.dev_num " +
"left join bus_devicetp_param b1 on c1.param_code = b1.param_code\n" +
"left join bus_devicetp_param b2 on c2.param_code = b2.param_code\n" +
"left join bus_devicetp_param b3 on c3.param_code = b3.param_code " +
"where a.dev_num = #{dev_num} " +
" <if test = 'p1_v != null '> and p1_v = #{p1_v} </if> " +
" <if test = 'p2_v != null '> and p2_v = #{p2_v} </if> " +
" <if test = 'p3_v != null '> and p3_v = #{p3_v} </if> " +
" <if test = 'year != null '> and year = #{year} </if> "
+ "</script>")
List<Map<String,Object>> queryParamLibrary(Map<String,Object> map);
}
package org.rcisoft.business.mainte.paramlibrary.service;
import java.util.List;
import java.util.Map;
public interface ParamLibraryService {
List<Map<String,Object>> queryLibraryParamByDev(Map<String,Object> map);
List<Map<String,Object>> queryPlanParamVal_1(Map<String,Object> map);
List<Map<String,Object>> queryPlanParamVal_2(Map<String,Object> map);
List<Map<String,Object>> queryPlanParamVal_3(Map<String,Object> map);
List<Map<String,Object>> queryParamLibrary(Map<String,Object> map);
}
package org.rcisoft.business.mainte.paramlibrary.service.impl;
import lombok.extern.slf4j.Slf4j;
import org.rcisoft.business.mainte.paramlibrary.dao.ParamLibraryRepository;
import org.rcisoft.business.mainte.paramlibrary.service.ParamLibraryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
@Service
@Transactional(readOnly = true,propagation = Propagation.NOT_SUPPORTED)
@Slf4j
public class ParamLibraryServiceImpl implements ParamLibraryService {
@Autowired
private ParamLibraryRepository paramLibraryRepository;
@Override
public List<Map<String, Object>> queryLibraryParamByDev(Map<String, Object> map) {
return paramLibraryRepository.queryLibraryParamByDev(map);
}
@Override
public List<Map<String, Object>> queryPlanParamVal_1(Map<String, Object> map) {
return paramLibraryRepository.queryPlanParamVal_1(map);
}
@Override
public List<Map<String, Object>> queryPlanParamVal_2(Map<String, Object> map) {
return paramLibraryRepository.queryPlanParamVal_2(map);
}
@Override
public List<Map<String, Object>> queryPlanParamVal_3(Map<String, Object> map) {
return paramLibraryRepository.queryPlanParamVal_3(map);
}
@Override
public List<Map<String, Object>> queryParamLibrary(Map<String, Object> map) {
return paramLibraryRepository.queryParamLibrary(map);
}
}
...@@ -8,6 +8,7 @@ import org.springframework.stereotype.Repository; ...@@ -8,6 +8,7 @@ import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* Created with on 2018-4-12 15:48:19. * Created with on 2018-4-12 15:48:19.
...@@ -25,5 +26,15 @@ public interface TotalOriginalRepository extends BaseMapper<TotalOriginal> { ...@@ -25,5 +26,15 @@ public interface TotalOriginalRepository extends BaseMapper<TotalOriginal> {
+ "</script>") + "</script>")
@ResultMap(value = "BaseResultMap" ) @ResultMap(value = "BaseResultMap" )
List<TotalOriginal> queryTotalOriginals(TotalOriginal totalOriginal); List<TotalOriginal> queryTotalOriginals(TotalOriginal totalOriginal);
@Select("<script> select * from bus_param_refer where DEV_TYPE = '2' and pro_id = #{pro_id} " +
"</script>")
List<Map<String,Object>> queryBusParamRefer(Map<String,Object> map);
@Select("<script> select * from bus_device a,bus_project b where a.pro_id = b.pro_id and" +
" b.jwnum = #{jwnum}" +
"</script>")
List<Map<String,Object>> queryDevByPro(Map<String,Object> map);
} }
package org.rcisoft.business.totaloriginal.dao;
import org.rcisoft.business.totaloriginal.entity.TotalSensor;
import org.rcisoft.core.base.BaseMapper;
import org.springframework.stereotype.Repository;
@Repository
public interface TotalSensorRepository extends BaseMapper<TotalSensor> {
}
...@@ -68,8 +68,46 @@ public class TotalOriginal{ ...@@ -68,8 +68,46 @@ public class TotalOriginal{
private String p10; private String p10;
private String p11;
private String p12;
private String p13;
private String p14;
private String p15;
private String p16;
private String p17;
private String p18;
private String p19;
private String p20;
private Float p10V; private Float p10V;
private Float p11V;
private Float p12V;
private Float p13V;
private Float p14V;
private Float p15V;
private Float p16V;
private Float p17V;
private Float p18V;
private Float p19V;
private Float p20V;
} }
package org.rcisoft.business.totaloriginal.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "total_sensor")
public class TotalSensor {
private Integer id;
private String proId;
private Date tm;
private String sensorJson;
}
package org.rcisoft.business.totaloriginal.service; package org.rcisoft.business.totaloriginal.service;
import org.rcisoft.business.totaloriginal.entity.TotalOriginal; import org.rcisoft.business.totaloriginal.entity.TotalOriginal;
import org.rcisoft.business.totaloriginal.entity.TotalSensor;
import org.rcisoft.core.model.PersistModel; import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.core.aop.PageUtil;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* Created by on 2018-4-12 15:48:19. * Created by on 2018-4-12 15:48:19.
...@@ -48,6 +50,10 @@ public interface TotalOriginalService { ...@@ -48,6 +50,10 @@ public interface TotalOriginalService {
TotalOriginal totalOriginal); TotalOriginal totalOriginal);
PersistModel saveSensor(TotalSensor totalsensor);
Map<String,Object> queryBusParamRefer(Map<String,Object> map);
String queryDevByPro(String jwnum);
} }
package org.rcisoft.business.totaloriginal.service.impl; package org.rcisoft.business.totaloriginal.service.impl;
import org.rcisoft.business.totaloriginal.dao.TotalSensorRepository;
import org.rcisoft.business.totaloriginal.entity.TotalSensor;
import org.rcisoft.core.util.UserUtil; import org.rcisoft.core.util.UserUtil;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel; import org.rcisoft.core.model.PersistModel;
...@@ -15,7 +17,10 @@ import org.springframework.transaction.annotation.Propagation; ...@@ -15,7 +17,10 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
/** /**
...@@ -28,6 +33,8 @@ public class TotalOriginalServiceImpl implements TotalOriginalService { ...@@ -28,6 +33,8 @@ public class TotalOriginalServiceImpl implements TotalOriginalService {
@Autowired @Autowired
private TotalOriginalRepository totalOriginalRepository; private TotalOriginalRepository totalOriginalRepository;
@Autowired
private TotalSensorRepository totalSensorRepository;
/** /**
...@@ -87,4 +94,32 @@ public class TotalOriginalServiceImpl implements TotalOriginalService { ...@@ -87,4 +94,32 @@ public class TotalOriginalServiceImpl implements TotalOriginalService {
return totalOriginalRepository.queryTotalOriginals(totalOriginal); return totalOriginalRepository.queryTotalOriginals(totalOriginal);
} }
@Override
public PersistModel saveSensor(TotalSensor totalsensor) {
int line = totalSensorRepository.insertSelective(totalsensor);
return new PersistModel(line);
}
@Override
public Map<String, Object> queryBusParamRefer(Map<String, Object> map) {
List<Map<String, Object>> list = totalOriginalRepository.queryBusParamRefer(map);
Map<String, Object> referMap = new HashMap<String, Object>();
for(Map<String, Object> tmap : list){
referMap.put(tmap.get("DEV_NUM").toString(),tmap.get("OWN_PARAM").toString()+","+tmap.get("OTHER_PARAM").toString());
}
return referMap;
}
@Override
public String queryDevByPro(String jwnum) {
Map<String, Object> map = new HashMap<>();
map.put("jwnum",jwnum);
List<Map<String, Object>> list = totalOriginalRepository.queryDevByPro(map);
String devStr = "";
for (Map<String, Object> tmap : list){
devStr += tmap.get("DEV_NUM");
}
return devStr;
}
} }
package org.rcisoft.core.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ZhnyUtil {
public static Float parseFloat(Object obj){
if(obj==null){
return 0f;
}
if(isNumeric(obj.toString())){
return Float.valueOf(obj.toString());
}
return 0f;
}
/**
* 判断字符串是否为整数或者浮点数
* @param str
* @return
*/
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("-?[0-9]+.?[0-9]+");
Matcher isNum = pattern.matcher(str);
if (!isNum.matches()) {
return false;
}
return true;
}
}
package org.rcisoft.mqttclient;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.rcisoft.business.totaloriginal.entity.TotalOriginal;
import org.rcisoft.business.totaloriginal.entity.TotalSensor;
import org.rcisoft.business.totaloriginal.service.TotalOriginalService;
import org.rcisoft.core.service.RcRedisService;
import org.rcisoft.core.util.DateUtil;
import org.rcisoft.core.util.ZhnyUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.*;
@Component
public class ReceiveDataHandle {
@Autowired
private RcRedisService rcRedisService;
@Autowired
private TotalOriginalService totalOriginalServiceImpl;
/*public void HandleReceive(String content){
Map<String,Object> referMap = totalOriginalServiceImpl.queryBusParamRefer(null);
String devStr = "";
try {
JSONObject jb = JSONArray.parseObject(content.substring(1,content.length()-1));
String jwnum = jb.getString("PHONE");//网关编号
devStr = totalOriginalServiceImpl.queryDevByPro(jwnum);
//String time = jb.getString("TIME");//时间
String time = DateUtil.getSimepleDate("yyyyMMddHHmmss",new Date());
if(DateUtil.getParseDate("yyyyMMddhhmmss",time)!=null){//时间格式正常
String minute = time.substring(10,12);
String sec = time.substring(12,14);
*//* 10秒级的数据,存储缓存
* 缓存中始终保持最新两条网关数据
* 用作拓扑图点击设备查看实时参数及10秒级的能耗
*//*
if(Integer.parseInt(sec)%10==0){
//rcRedisService.set("old","old"+new Date() + rcRedisService.get("new"));
//rcRedisService.set("new","new"+new Date() + content);
}
System.out.println("++++++++++++++++++++++++++++++++++"+minute+"-----"+sec);
if(Integer.parseInt(minute)%2==0 && sec.equalsIgnoreCase("00")){//10分钟级的数据,进行存储
List<String> list = new ArrayList<String>();
JSONObject jbody = jb.getJSONObject("body");//数据体
List<TotalOriginal> originalList = new ArrayList<>();
List<TotalSensor> sensorList = new ArrayList<>();
//遍历数据体内对象
for (Map.Entry<String, Object> entry : jbody.entrySet()) {
String key = entry.getKey();
JSONObject body = (JSONObject)entry.getValue();
String dev_num = jwnum+"_"+key;
//(【已配置的表具】/【设备】)
if(referMap.get(dev_num)!=null || devStr.contains(dev_num)){
TotalOriginal original = new TotalOriginal();
original.setProId(jwnum);
original.setTm(DateUtil.getParseDate("yyyy-MM-dd HH:mm:ss",time));
original.setDevNum(dev_num);
*//**
* 摘选水电气能耗,对于设备来说,都为null
*//*
if(devStr.contains(dev_num)){//设备
original.setElecV(null);
original.setWaterV(null);
original.setGasV(null);
}else{//表具
String own_param = referMap.get(dev_num).toString().split(",")[0];
String other_param = referMap.get(dev_num).toString().split(",")[1];
if(own_param.equalsIgnoreCase("power")){
original.setElecV(ZhnyUtil.parseFloat(body.get(other_param)));
original.setWaterV(0f);
original.setGasV(0f);
}else if(own_param.equalsIgnoreCase("water")){
original.setElecV(0f);
original.setWaterV(ZhnyUtil.parseFloat(body.get(other_param)));
original.setGasV(0f);
}else if(own_param.equalsIgnoreCase("gas")){
original.setElecV(0f);
original.setWaterV(0f);
original.setGasV(ZhnyUtil.parseFloat(body.get(other_param)));
}
}
int i=4;
for (Map.Entry<String, Object> bt : body.entrySet()) {
if(i==4){ original.setP4(bt.getKey());original.setP4V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==5){ original.setP5(bt.getKey());original.setP5V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==6){ original.setP6(bt.getKey());original.setP6V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==7){ original.setP7(bt.getKey());original.setP7V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==8){ original.setP8(bt.getKey());original.setP8V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==9){ original.setP9(bt.getKey());original.setP9V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==10){ original.setP10(bt.getKey());original.setP10V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==11){ original.setP11(bt.getKey());original.setP11V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==12){ original.setP12(bt.getKey());original.setP12V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==13){ original.setP13(bt.getKey());original.setP13V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==14){ original.setP14(bt.getKey());original.setP14V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==15){ original.setP15(bt.getKey());original.setP15V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==16){ original.setP16(bt.getKey());original.setP16V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==17){ original.setP17(bt.getKey());original.setP17V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==18){ original.setP18(bt.getKey());original.setP18V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==19){ original.setP19(bt.getKey());original.setP19V(ZhnyUtil.parseFloat(bt.getValue())); }
if(i==20){ original.setP20(bt.getKey());original.setP20V(ZhnyUtil.parseFloat(bt.getValue())); }
i++;
}
originalList.add(original);
}else{//【传感器】
TotalSensor sensor = new TotalSensor();
sensor.setTm(DateUtil.getParseDate("yyyy-MM-dd HH:mm:ss",time));
sensor.setSensorJson(body.toJSONString());
sensorList.add(sensor);
}
for(TotalOriginal t : originalList){
totalOriginalServiceImpl.save(t);
}
for(TotalSensor s : sensorList){
totalOriginalServiceImpl.saveSensor(s);
}
}
}
}
//System.out.println(jb);
}catch(Exception e){
e.printStackTrace();
}
}*/
}
...@@ -4,18 +4,19 @@ import com.alibaba.fastjson.JSONArray; ...@@ -4,18 +4,19 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.rcisoft.business.totaloriginal.entity.TotalOriginal; import org.rcisoft.business.totaloriginal.entity.TotalOriginal;
import org.rcisoft.core.util.DateUtil; import org.rcisoft.core.util.DateUtil;
import org.rcisoft.core.util.ZhnyUtil;
import java.lang.*; import java.lang.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test { public class Test {
public static void main(String[] args) throws Exception{ public static void main(String[] args) throws Exception{
String[] ss = {"1","2","4"}; SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(ss.length); System.out.println(simple.format(new Date()).substring(0,4));
System.out.println(ZhnyUtil.isNumeric("3.6"));
String param = "sensor_01";
System.out.println(param.substring(param.indexOf("_"),param.length()));
} }
} }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment