package org.jeecg.modules.mdc.service.impl; import org.jeecg.modules.mdc.dto.CurrentElectricDto; import org.jeecg.modules.mdc.dto.EquipmentMachingDto; import org.jeecg.modules.mdc.dto.EquipmentMachiningHistoryDto; import org.jeecg.modules.mdc.dto.MdcEquipmentDto; import org.jeecg.modules.mdc.mapper.EquipmentWorklineMapper; import org.jeecg.modules.mdc.service.IEquipmentWorkLineService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /** * @author: LiuS * @create: 2023-04-07 14:07 */ @Service public class EquipmentWorkLineServiceImpl implements IEquipmentWorkLineService { @Resource private EquipmentWorklineMapper equipmentWorkLineMapper; @Override public MdcEquipmentDto getMacingDataList(String tableName) { try { List macingDataList = equipmentWorkLineMapper.getMacingDataList(tableName); return !macingDataList.isEmpty() ? macingDataList.get(0) : null; } catch (Exception e) { return null; } } @Override @Transactional(readOnly = true) public List getEquipmentSequencenumber(String tableName, Date startTime, Date endTime) { try { List> list = equipmentWorkLineMapper.getEquipmentSequenceNumber(tableName, startTime, endTime); return convertData(list); } catch (Exception e) { return null; } } @Override public Boolean isTableExist(String tableName) { Integer count = equipmentWorkLineMapper.isTableExist(tableName); return count != 0; } @Override public List findRunningData(String tableName, Date startTime, Date endTime) { return equipmentWorkLineMapper.findRunningData(tableName, startTime, endTime); } @Override public List getEquipProgramNum(String drivetype, String equipmentid, Date startTime, Date endTime) { return equipmentWorkLineMapper.getEquipProgramNum(drivetype + "_" + equipmentid, startTime, endTime); } @Override public MdcEquipmentDto findProductCountStartTime(String saveTableName, String productCount, Date startTime, Date endTime) { try { return equipmentWorkLineMapper.findProductCountStartTime(saveTableName, productCount, startTime, endTime); } catch (Exception e) { return null; } } @Override public MdcEquipmentDto findProductCountEndTime(String saveTableName, String productCount, Date startTime, Date endTime) { try { return equipmentWorkLineMapper.findProductCountEndTime(saveTableName, productCount, startTime, endTime); } catch (Exception e) { return null; } } @Override public Map getDataList(String saveTableName) { try { return equipmentWorkLineMapper.getDataList(saveTableName); } catch (Exception e) { return null; } } @Override public Date getMinDate(String saveTableName) { try { return equipmentWorkLineMapper.getMinDate(saveTableName); } catch (Exception e) { return null; } } @Override public CurrentElectricDto getMaxElectric(String saveTableName, Integer axisType, Date startDate, Date endDate) { return equipmentWorkLineMapper.getMaxElectric(saveTableName, axisType, startDate, endDate); } @Override public EquipmentMachiningHistoryDto getNearTimeSpindleLoad(String tableName, Date startDate, Date endDate, Date nearDate) { return equipmentWorkLineMapper.getNearTimeSpindleLoad(tableName, startDate, endDate, nearDate); } @Override public EquipmentMachiningHistoryDto getMaxSpindleLoad(String tableName, Date startDate, Date endDate) { return equipmentWorkLineMapper.getMaxSpindleLoad(tableName, startDate, endDate); } private List convertData(List> list) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); List dto = new ArrayList<>(); EquipmentMachingDto ei = null; for (Map map : list) { ei = new EquipmentMachingDto(); try { if (map.get("CollectTime") != null) { ei.setCollectTime(df.parse(map.get("CollectTime").toString())); } } catch (ParseException e) { e.printStackTrace(); } ei.setSpindlespeed(map.get("spindlespeed") == null ? null : map.get("spindlespeed").toString()); ei.setSpindleload(map.get("spindleload") == null ? null : map.get("spindleload").toString()); ei.setSpindlebeilv(map.get("spindlebeilv") == null ? null : map.get("spindlebeilv").toString()); ei.setFeedrate(map.get("feedrate") == null ? null : map.get("feedrate").toString()); ei.setFeedbeilv(map.get("feedbeilv") == null ? null : map.get("feedbeilv").toString()); ei.setProgramnumber(map.get("Programnumber") == null ? null : map.get("Programnumber").toString()); ei.setSequencenumber(map.get("Sequencenumber") == null ? null : map.get("Sequencenumber").toString()); ei.setExecutingcode(map.get("executingcode") == null ? null : map.get("executingcode").toString()); ei.setProductName(map.get("ProductName") == null ? null : map.get("ProductName").toString()); dto.add(ei); } if (dto.isEmpty()) { return Collections.emptyList(); } return dto; } }