| | |
| | | package com.qianwen.mdc.collect.service; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.time.ZoneId; |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Map.Entry; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.google.common.collect.Lists; |
| | | import com.qianwen.core.tool.utils.Func; |
| | | import com.qianwen.core.tool.utils.SpringUtil; |
| | | import com.qianwen.mdc.collect.cache.WorkstationCache; |
| | | import com.qianwen.mdc.collect.config.IotDBSessionConfig; |
| | | import com.qianwen.mdc.collect.constants.CommonConstant; |
| | | import com.qianwen.mdc.collect.constants.IOTDBConstant; |
| | | import com.qianwen.mdc.collect.dto.CalendarShiftInfoDTO; |
| | | import com.qianwen.mdc.collect.dto.WorkstationDTO; |
| | | import com.qianwen.mdc.collect.entity.iotdb.DeviceState; |
| | | import com.qianwen.mdc.collect.enums.FeedbackTimePointEnum; |
| | | import com.qianwen.mdc.collect.mapper.mgr.CalendarMapper; |
| | | import com.qianwen.mdc.collect.utils.LocalDateTimeUtils; |
| | | |
| | | import cn.hutool.core.date.DatePattern; |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | /** |
| | | * 设备状态普通服务 |
| | | */ |
| | |
| | | |
| | | Tablet tablet = new Tablet(deviceId, schemas); |
| | | |
| | | |
| | | states = entry.getValue(); |
| | | tablet.rowSize = states.size(); |
| | | DeviceState state; |
| | | |
| | | |
| | |
| | | //int currentIdx = 0; |
| | | |
| | | |
| | | int tblIndex = 0; |
| | | int tblIndex = -1; |
| | | for(int i=0; i < states.size(); i++) { |
| | | state = states.get(i); |
| | | tblIndex = tablet.rowSize++; |
| | | tablet.addTimestamp(tblIndex, state.getTime()); |
| | | tablet.addValue("workstation_id", tblIndex, state.getWorkstationId()); |
| | | tablet.addValue("value_collect", tblIndex, state.getValueCollect()); |
| | |
| | | tablet.addValue("is_deleted", tblIndex, state.getIsDeleted()); |
| | | tablet.addValue("employee_id", tblIndex, state.getEmployeeId()); |
| | | |
| | | tblIndex++; |
| | | //tblIndex++; |
| | | |
| | | if(tblIndex >= MAX_COUNT) { |
| | | try { |
| | |
| | | this.iotdbConfig.getSessionPool().insertAlignedTablet(tablet); |
| | | log.info("保存设备状态完成"); |
| | | tablet.reset(); |
| | | tblIndex = 0; |
| | | tblIndex = -1; |
| | | } catch (Exception e) { |
| | | log.error("保存固定点数据异常",e); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(tblIndex > 0) { |
| | | if(tablet.rowSize > 0) { |
| | | try { |
| | | //每个工位批量插入一次数据 |
| | | this.iotdbConfig.getSessionPool().insertAlignedTablet(tablet); |
| | | log.info("保存设备状态完成2"); |
| | | tablet.reset(); |
| | | tblIndex = 0; |
| | | //tblIndex = -1; |
| | | } catch (Exception e) { |
| | | log.error("保存固定点数据异常",e); |
| | | } |
| | | } |
| | | |
| | | /* |
| | | for(int i=0;i<states.size();i++) { |
| | | state = states.get(i); |
| | | tablet.addTimestamp(i, state.getTime()); |
| | | tablet.addValue("workstation_id", i, state.getWorkstationId()); |
| | | tablet.addValue("value_collect", i, state.getValueCollect()); |
| | | |
| | | tablet.addValue("calendar_code", i, state.getCalendarCode()); |
| | | tablet.addValue("factory_year", i, state.getFactoryYear()); |
| | | tablet.addValue("factory_month", i, state.getFactoryMonth()); |
| | | tablet.addValue("factory_week", i, state.getFactoryWeek()); |
| | | tablet.addValue("factory_date", i, state.getFactoryDate()); |
| | | tablet.addValue("shift_index", i, state.getShiftIndex()); |
| | | tablet.addValue("shift_time_type", i, state.getShiftTimeType()); |
| | | tablet.addValue("wcs", i, state.getWcs()); |
| | | tablet.addValue("rps", i, state.getRps()); |
| | | tablet.addValue("is_fix_point", i, state.getIsFixPoint()); |
| | | tablet.addValue("is_sync", i, state.getIsSync()); |
| | | tablet.addValue("is_plan", i, state.getIsPlan()); |
| | | tablet.addValue("feedback_point_type", i, state.getFeedbackPointType()); |
| | | tablet.addValue("feedback_id", i, state.getFeedbackId()); |
| | | tablet.addValue("is_deleted", i, state.getIsDeleted()); |
| | | tablet.addValue("employee_id", i, state.getEmployeeId()); |
| | | }*/ |
| | | |
| | | |
| | | } |