| | |
| | | MessageDO messageDO = new MessageDO(); |
| | | messageDO.setNeedBroadcast(false); |
| | | String msgtxt =JSONUtil.toJsonStr(jsonWebSocketMessage); |
| | | logger.info("websockettxt={}",msgtxt); |
| | | logger.info("send_to_page_websockettxt={}",msgtxt); |
| | | messageDO.setMessageText(msgtxt); |
| | | |
| | | messageDistributor.distribute(messageDO); |
| | |
| | | |
| | | @DS("iotdb") |
| | | public ProcessParameterVO queryLastParameterLessThenTime(long workstationId,String item,Long time) { |
| | | /** |
| | | *tdengine实现:oldFirstStatue |
| | | * select last(ts) as realTime, |
| | | last(v) as value_collect |
| | | from iot_data.super_collect_data |
| | | where n = #{item} |
| | | and ts < #{startTime} |
| | | and workstation_id = #{workstationId} |
| | | */ |
| | | |
| | | ProcessParameterVO vo = null; |
| | | String sql ="select max_time(n) as ts,last_value(n) as n,last_value(v) as v,last_value(workstation_id) as workstationId from root.f2.process_param_"+workstationId+"_"+item+" where time<"+time+" limit 1 align by device"; |
| | | List<ProcessParameterVO> list = jdbcTemplate.query(sql, new RowMapper<ProcessParameterVO>() { |
| | |
| | | */ |
| | | @DS("iotdb") |
| | | public ProcessParameterVO getLastParameterGreaterThenTime(long workstationId,String item,Long time) { |
| | | /* |
| | | oldLastStatue |
| | | select last(ts) as realTime, |
| | | last(v) as value_collect |
| | | from iot_data.super_collect_data |
| | | where n = #{item} |
| | | and ts > #{endTime} |
| | | and workstation_id = #{workstationId} |
| | | * */ |
| | | /* |
| | | LastProcessParam lp = this.parameterMapper.lastParameterGreaterThanTime(workstationId,item,time); |
| | | if(lp == null) { |
| | | return null; |
| | | } |
| | | ProcessParameterVO vo = new ProcessParameterVO(); |
| | | //解析json为对象列表 |
| | | JSONObject paramsObj = JSONObject.parseObject(lp.getParamJson()); |
| | | |
| | | if(paramsObj.containsKey(item)) { |
| | | JSONObject itemObj = paramsObj.getJSONObject(item); |
| | | |
| | | Long lastTime = itemObj.getLong("time"); |
| | | vo.setTime(new Timestamp(lastTime)); |
| | | vo.setRealTime(lastTime); |
| | | vo.setValueCollect(itemObj.getString("value")); |
| | | } |
| | | |
| | | return vo;*/ |
| | | |
| | | ProcessParameterVO vo = null; |
| | | String sql ="select max_time(n) as ts,last_value(n) as n,last_value(v) as v,last_value(workstation_id) as workstationId from root.f2.process_param_"+workstationId+"_"+item+" where time>"+time+" limit 1 align by device"; |
| | |
| | | insert into iot_data.aggregate_state_${workstationId} |
| | | values ${sql} |
| | | </insert> |
| | | <!-- |
| | | <insert id="saveState"> |
| | | insert into iot_data.aggregate_state_${workstationId} USING iot_data.super_aggregate_state |
| | | TAGS(${workstationId}) values |
| | | <foreach separator="," collection="list" item="item" index="index"> |
| | | (#{item.startTime}, #{item.endTime}, #{item.durationCollect}, #{item.valueCollect}, #{item.calendarCode}, |
| | | #{item.factoryYear}, #{item.factoryMonth}, #{item.factoryWeek}, #{item.factoryDate}, |
| | | #{item.shiftIndex}, #{item.shiftTimeType}, #{item.wcs}, #{item.rps}, #{item.isDeleted},#{item.isPlan}) |
| | | </foreach> |
| | | </insert> |
| | | |
| | | <update id="createTable"> |
| | | create table if not exists iot_data.aggregate_state_${workstationId} using super_aggregate_state tags |
| | | ( |
| | | #{workstationId} |
| | | ) |
| | | </update> |
| | | --> |
| | | <select id="countStatsShiftEndTimeNotNull" resultType="com.qianwen.smartman.modules.mdc.dto.CountResult"> |
| | | select sum(duration_collect) as nums, value_collect status |
| | | from iot_data.super_aggregate_state |