123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403 |
- package com.bizmatics.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONArray;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.bizmatics.common.core.exception.BusinessException;
- import com.bizmatics.common.mvc.base.AbstractCrudService;
- import com.bizmatics.model.DeviceAnalogVariableList;
- import com.bizmatics.model.DeviceAttribute;
- import com.bizmatics.model.Hookup;
- import com.bizmatics.model.HookupComponentComplete;
- import com.bizmatics.model.system.SysUser;
- import com.bizmatics.model.vo.*;
- import com.bizmatics.persistence.mapper.HookupMapper;
- import com.bizmatics.service.*;
- import com.bizmatics.service.util.FieldEscapeUtils;
- import com.bizmatics.service.util.SecurityUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.transaction.interceptor.TransactionAspectSupport;
- import java.time.LocalDateTime;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author ya
- * @since 2022-03-07
- */
- @Service
- public class HookupServiceImpl extends AbstractCrudService<HookupMapper, Hookup> implements HookupService {
- @Autowired
- private DeviceAttributeService deviceAttributeService;
- @Autowired
- private DeviceAnalogVariableListService deviceAnalogVariableListService;
- @Autowired
- private HookupComponentBasicsService hookupComponentBasicsService;
- @Autowired
- private HookupComponentCompleteService hookupComponentCompleteService;
- @Override
- public List<DeviceAttribute> getDeviceAttributeList(Integer siteId) {
- LambdaQueryWrapper<DeviceAttribute> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(DeviceAttribute::getStatus, 1).eq(DeviceAttribute::getSiteId, siteId);
- List<DeviceAttribute> deviceAttributeList = deviceAttributeService.list(queryWrapper);
- return deviceAttributeList;
- }
- @Override
- public List<DeviceAnalogVariableList> getDeviceAnalogVariableList(Integer monitoringDeviceId) {
- LambdaQueryWrapper<DeviceAnalogVariableList> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(DeviceAnalogVariableList::getStatus, 1).eq(DeviceAnalogVariableList::getMonitoringEquipment, monitoringDeviceId);
- List<DeviceAnalogVariableList> deviceAnalogVariableList = deviceAnalogVariableListService.list(queryWrapper);
- return deviceAnalogVariableList;
- }
- @Override
- public List<HookupOneVo> gethookupComponentBasics(Integer siteId) {
- LambdaQueryWrapper<Hookup> queryWrapper = Wrappers.lambdaQuery();
- if (siteId != 0) {
- queryWrapper.eq(Hookup::getSiteId, siteId);
- }
- List<Hookup> hookupList = this.list(queryWrapper);
- List<HookupOneVo> hookupListlist = new ArrayList<>();
- if (hookupList.size() > 0) {
- for (int i = 0; i < hookupList.size(); i++) {
- HookupOneVo hookupOne = new HookupOneVo();
- hookupOne.setType(hookupList.get(i).getOuterType());
- hookupOne.setTitle(hookupList.get(i).getTitle());
- hookupOne.setTemplate(hookupList.get(i).getTemplate());
- if ("".equals(hookupList.get(i).getProps()) || hookupList.get(i).getProps() == null) {
- hookupOne.setProps("");
- } else {
- hookupOne.setProps(hookupList.get(i).getProps().split(","));
- }
- hookupOne.setDefaultColor(hookupList.get(i).getDefaultColor());
- hookupOne.setDataType(hookupList.get(i).getDataType());
- hookupOne.setCreateType(hookupList.get(i).getCreateType());
- hookupOne.setPriviewImg(hookupList.get(i).getPriviewImg());
- hookupOne.setEchartsOption(hookupList.get(i).getEchartsOption());
- hookupOne.setEchartsOption(hookupList.get(i).getEchartsOption());
- hookupOne.setElementBool(hookupList.get(i).getElementBool());
- if ("".equals(hookupList.get(i).getSvgLineSelectval()) || hookupList.get(i).getSvgLineSelectval() == null) {
- hookupOne.setSvgLineSelectval("");
- } else {
- hookupOne.setSvgLineSelectval(hookupList.get(i).getSvgLineSelectval());
- }
- hookupListlist.add(hookupOne);
- }
- }
- return hookupListlist;
- }
- @Override
- public List<HookupComponentCompleteVo> getHookupComponentComplete(Integer siteId) {
- List<DeviceTypeVo> deviceTypeVo = baseMapper.getDevidetype(siteId);
- List<RtAnalogDataOneVo> variable_vaue = null;
- List<Integer> variable_173_analog = new ArrayList<>();
- List<Integer> variable_171_analog = new ArrayList<>();
- List<Integer> variable_183_analog = new ArrayList<>();
- List<Integer> variable_173_switch = new ArrayList<>();
- List<Integer> variable_171_switch = new ArrayList<>();
- List<Integer> variable_183_switch = new ArrayList<>();
- for (int i = 0; i < deviceTypeVo.size(); i++) {
- if (deviceTypeVo.get(i).getDataArea() == 2) {
- if (deviceTypeVo.get(i).getDeviceType() == 3) {
- variable_171_switch.add(deviceTypeVo.get(i).getId());
- } else if (deviceTypeVo.get(i).getDeviceType() == 4) {
- variable_173_switch.add(deviceTypeVo.get(i).getId());
- } else if (deviceTypeVo.get(i).getDeviceType() ==1){
- variable_183_switch.add(deviceTypeVo.get(i).getId());
- }
- } else {
- if (deviceTypeVo.get(i).getDeviceType() == 3) {
- variable_171_analog.add(deviceTypeVo.get(i).getId());
- } else if (deviceTypeVo.get(i).getDeviceType() == 4) {
- variable_173_analog.add(deviceTypeVo.get(i).getId());
- } else if (deviceTypeVo.get(i).getDeviceType() == 1){
- variable_183_analog.add(deviceTypeVo.get(i).getId());
- }
- }
- }
- List<ContextualDataVo> variable_173_analog_data = new ArrayList<>();
- List<ContextualDataVo> variable_171_analog_data = new ArrayList<>();
- List<ContextualDataVo> variable_183_analog_data = new ArrayList<>();
- List<RtSwitchDataVo> variable_173_switch_data = new ArrayList<>();
- List<RtSwitchDataVo> variable_171_switch_data = new ArrayList<>();
- List<RtSwitchDataVo> variable_183_switch_data = new ArrayList<>();
- if (variable_173_analog.size() > 0) {
- variable_173_analog_data = baseMapper.getRtAnalogData(variable_173_analog, "rt_analog_173_data");
- }
- if (variable_171_analog.size() > 0) {
- variable_171_analog_data = baseMapper.getRtAnalogData(variable_171_analog, "rt_analog_171_data");
- }
- if (variable_183_analog.size() > 0) {
- variable_183_analog_data = baseMapper.getRtAnalogData(variable_183_analog, "rt_analog_data");
- }
- if (variable_173_switch.size() > 0) {
- variable_173_switch_data = baseMapper.getRtSwitchData(variable_173_switch, "rt_switch_173_data");
- }
- if (variable_171_switch.size() > 0) {
- variable_171_switch_data = baseMapper.getRtSwitchData(variable_171_switch, "rt_switch_171_data");
- }
- if (variable_183_switch.size() > 0) {
- variable_183_switch_data = baseMapper.getRtSwitchData(variable_183_switch, "rt_switch_data");
- }
- List<VariableVo> variableVoList = new ArrayList<>();
- if(variable_173_analog_data.size()>0){
- for (int i = 0; i < variable_173_analog_data.size(); i++) {
- VariableVo vriableVo = new VariableVo();
- vriableVo.setVariableCoding(variable_173_analog_data.get(i).getVariableCoding());
- vriableVo.setVariableValue(FieldEscapeUtils.transformation1(variable_173_analog_data.get(i),variable_173_analog_data.get(i).getVariableCoding().split("_")[1]));
- variableVoList.add(vriableVo);
- }
- }
- if(variable_171_analog_data.size()>0){
- for (int i = 0; i < variable_171_analog_data.size(); i++) {
- VariableVo vriableVo = new VariableVo();
- vriableVo.setVariableCoding(variable_171_analog_data.get(i).getVariableCoding());
- vriableVo.setVariableValue(FieldEscapeUtils.transformation1(variable_171_analog_data.get(i),variable_171_analog_data.get(i).getVariableCoding().split("_")[1]));
- variableVoList.add(vriableVo);
- }
- }
- if(variable_183_analog_data.size()>0){
- for (int i = 0; i < variable_183_analog_data.size(); i++) {
- VariableVo vriableVo = new VariableVo();
- vriableVo.setVariableCoding(variable_183_analog_data.get(i).getVariableCoding());
- vriableVo.setVariableValue(FieldEscapeUtils.transformation1(variable_183_analog_data.get(i),variable_183_analog_data.get(i).getVariableCoding().split("_")[1]));
- variableVoList.add(vriableVo);
- }
- }
- if(variable_173_switch_data.size()>0){
- for (int i = 0; i < variable_173_switch_data.size(); i++) {
- VariableVo vriableVo = new VariableVo();
- vriableVo.setVariableCoding(variable_173_switch_data.get(i).getVariableCoding());
- vriableVo.setVariableValue(FieldEscapeUtils.transformation2(variable_173_switch_data.get(i),variable_173_switch_data.get(i).getVariableCoding().split("_")[1]));
- variableVoList.add(vriableVo);
- }
- }
- if(variable_171_switch_data.size()>0){
- for (int i = 0; i < variable_171_switch_data.size(); i++) {
- VariableVo vriableVo = new VariableVo();
- vriableVo.setVariableCoding(variable_171_switch_data.get(i).getVariableCoding());
- vriableVo.setVariableValue(FieldEscapeUtils.transformation2(variable_171_switch_data.get(i),variable_171_switch_data.get(i).getVariableCoding().split("_")[1]));
- variableVoList.add(vriableVo);
- }
- }
- if(variable_183_switch_data.size()>0){
- for (int i = 0; i < variable_183_switch_data.size(); i++) {
- VariableVo vriableVo = new VariableVo();
- vriableVo.setVariableCoding(variable_183_switch_data.get(i).getVariableCoding());
- vriableVo.setVariableValue(FieldEscapeUtils.transformation2(variable_183_switch_data.get(i),variable_183_switch_data.get(i).getVariableCoding().split("_")[1]));
- variableVoList.add(vriableVo);
- }
- }
- List<HookupComponentCompleteTowVo> hookupComponentComplete = baseMapper.getHookupComponentComplete(siteId);
- List<HookupComponentCompleteVo> hookupComponentCompleteVoLsit = new ArrayList<HookupComponentCompleteVo>();
- if (hookupComponentComplete.size() > 0) {
- for (int i = 0; i < hookupComponentComplete.size(); i++) {
- HookupComponentCompleteVo hookupComponentCompleteVo = new HookupComponentCompleteVo();
- hookupComponentCompleteVo.setId(hookupComponentComplete.get(i).getId());
- hookupComponentCompleteVo.setTitle(hookupComponentComplete.get(i).getTitle());
- hookupComponentCompleteVo.setType(hookupComponentComplete.get(i).getInnerType());
- hookupComponentCompleteVo.setTypeName(hookupComponentComplete.get(i).getTypeName());
- hookupComponentCompleteVo.setSvgColor(hookupComponentComplete.get(i).getSvgColor());
- hookupComponentCompleteVo.setCreateType(hookupComponentComplete.get(i).getCreateType());
- hookupComponentCompleteVo.setSvgPositionX(hookupComponentComplete.get(i).getSvgPositionX());
- hookupComponentCompleteVo.setSvgPositionY(hookupComponentComplete.get(i).getSvgPositionY());
- if ("".equals(hookupComponentComplete.get(i).getMPoint()) || hookupComponentComplete.get(i).getMPoint() == null) {
- hookupComponentCompleteVo.setMPoint("");
- } else {
- hookupComponentCompleteVo.setMPoint(JSONArray.parseObject(hookupComponentComplete.get(i).getMPoint()));
- }
- if ("\"\"".equals(hookupComponentComplete.get(i).getEchartsOption()) || "".equals(hookupComponentComplete.get(i).getEchartsOption()) ||
- hookupComponentComplete.get(i).getEchartsOption() == null) {
- hookupComponentCompleteVo.setEchartsOption("");
- } else {
- hookupComponentCompleteVo.setEchartsOption(JSONArray.parseObject(hookupComponentComplete.get(i).getEchartsOption()));
- }
- hookupComponentCompleteVo.setSize(hookupComponentComplete.get(i).getSize());
- hookupComponentCompleteVo.setAngle(hookupComponentComplete.get(i).getAngle());
- if ("".equals(hookupComponentComplete.get(i).getElementBool()) || hookupComponentComplete.get(i).getElementBool() == null) {
- hookupComponentCompleteVo.setElementBool("");
- } else {
- hookupComponentCompleteVo.setElementBool(hookupComponentComplete.get(i).getElementBool().split(","));
- }
- hookupComponentCompleteVo.setSvgLineSelectval(hookupComponentComplete.get(i).getSvgLineSelectval());
- hookupComponentCompleteVo.setDeviceId(hookupComponentComplete.get(i).getDeviceId());
- hookupComponentCompleteVo.setSiteId(hookupComponentComplete.get(i).getSiteId());
- hookupComponentCompleteVo.setVariableId(hookupComponentComplete.get(i).getVariableId());
- if (variableVoList.size() > 0) {
- for (int j = 0; j < variableVoList.size(); j++) {
- if (hookupComponentComplete.get(i).getVariableCoding().equals(variableVoList.get(j).getVariableCoding())) {
- String variableValue = ""+variableVoList.get(j).getVariableValue();
- hookupComponentCompleteVo.setVariableValue(variableValue);
- }
- }
- } else {
- hookupComponentCompleteVo.setVariableValue("");
- }
- hookupComponentCompleteVoLsit.add(hookupComponentCompleteVo);
- }
- }
- return hookupComponentCompleteVoLsit;
- }
- // public List<HookupComponentCompleteVo> getHookupComponentComplete(Integer siteId) {
- // List<DeviceTypeVo> deviceTypeVo = baseMapper.getDevidetype(siteId);
- // List<RtAnalogDataOneVo> variable_vaue = null;
- // if (deviceTypeVo.size()>0){
- // if (deviceTypeVo.get(0).getDeviceType() == 3) {
- // String table = "rt_analog_171_data";
- // if (deviceTypeVo.get(0).getDataArea()==2){
- // table = "rt_switch_171_data";
- // }
- // variable_vaue = baseMapper.getVariable171(siteId,table);
- // } else if (deviceTypeVo.get(0).getDeviceType() == 4) {
- // String table = "rt_analog_173_data";
- // if (deviceTypeVo.get(0).getDataArea()==2){
- // table = "rt_switch_173_data";
- // }
- // variable_vaue = baseMapper.getVariable173(siteId,table);
- // } else {
- // String table = "rt_analog_data";
- // if (deviceTypeVo.get(0).getDataArea()==2){
- // table = "rt_switch_data";
- // }
- // variable_vaue = baseMapper.getVariable(siteId,table);
- // }
- // }
- //
- // List<HookupComponentCompleteTowVo> hookupComponentComplete = baseMapper.getHookupComponentComplete(siteId);
- // List<HookupComponentCompleteVo> hookupComponentCompleteVoLsit = new ArrayList<HookupComponentCompleteVo>();
- // if (hookupComponentComplete.size() > 0) {
- // for (int i = 0; i < hookupComponentComplete.size(); i++) {
- // HookupComponentCompleteVo hookupComponentCompleteVo = new HookupComponentCompleteVo();
- // hookupComponentCompleteVo.setId(hookupComponentComplete.get(i).getId());
- // hookupComponentCompleteVo.setTitle(hookupComponentComplete.get(i).getTitle());
- // hookupComponentCompleteVo.setType(hookupComponentComplete.get(i).getInnerType());
- // hookupComponentCompleteVo.setTypeName(hookupComponentComplete.get(i).getTypeName());
- // hookupComponentCompleteVo.setSvgColor(hookupComponentComplete.get(i).getSvgColor());
- // hookupComponentCompleteVo.setCreateType(hookupComponentComplete.get(i).getCreateType());
- // hookupComponentCompleteVo.setSvgPositionX(hookupComponentComplete.get(i).getSvgPositionX());
- // hookupComponentCompleteVo.setSvgPositionY(hookupComponentComplete.get(i).getSvgPositionY());
- // if ("".equals(hookupComponentComplete.get(i).getMPoint())||hookupComponentComplete.get(i).getMPoint()==null){
- // hookupComponentCompleteVo.setMPoint("");
- // }else {
- // hookupComponentCompleteVo.setMPoint(JSONArray.parseObject(hookupComponentComplete.get(i).getMPoint()));
- // }
- // if ("\"\"".equals(hookupComponentComplete.get(i).getEchartsOption())||"".equals(hookupComponentComplete.get(i).getEchartsOption())||
- // hookupComponentComplete.get(i).getEchartsOption()==null){
- // hookupComponentCompleteVo.setEchartsOption("");
- // }else {
- // hookupComponentCompleteVo.setEchartsOption(JSONArray.parseObject(hookupComponentComplete.get(i).getEchartsOption()));
- // }
- //
- // hookupComponentCompleteVo.setSize(hookupComponentComplete.get(i).getSize());
- // hookupComponentCompleteVo.setAngle(hookupComponentComplete.get(i).getAngle());
- // if ("".equals(hookupComponentComplete.get(i).getElementBool())||hookupComponentComplete.get(i).getElementBool()==null) {
- // hookupComponentCompleteVo.setElementBool("");
- // } else {
- // hookupComponentCompleteVo.setElementBool(hookupComponentComplete.get(i).getElementBool().split(","));
- // }
- // hookupComponentCompleteVo.setSvgLineSelectval(hookupComponentComplete.get(i).getSvgLineSelectval());
- // hookupComponentCompleteVo.setDeviceId(hookupComponentComplete.get(i).getDeviceId());
- // hookupComponentCompleteVo.setSiteId(hookupComponentComplete.get(i).getSiteId());
- // hookupComponentCompleteVo.setVariableId(hookupComponentComplete.get(i).getVariableId());
- // if (variable_vaue.size() > 0) {
- // for (int j = 0; j < variable_vaue.size(); j++) {
- // if (hookupComponentComplete.get(i).getVariableCoding().equals(variable_vaue.get(j).getVariableCoding())) {
- // String variableValue = FieldEscapeUtils.getVariableValue(variable_vaue.get(j));
- // hookupComponentCompleteVo.setVariableValue(variableValue);
- // }
- // }
- // } else {
- // hookupComponentCompleteVo.setVariableValue("");
- // }
- // hookupComponentCompleteVoLsit.add(hookupComponentCompleteVo);
- // }
- // }
- // return hookupComponentCompleteVoLsit;
- // }
- @Override
- @Transactional
- public void setHookupComponentComplete(List<HookupComponentCompleteOneVo> hookupComponentCompleteOneVoList) {
- try {
- SysUser user = SecurityUtils.getLoginUser().getUser();
- LambdaQueryWrapper<HookupComponentComplete> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(HookupComponentComplete::getSiteId, hookupComponentCompleteOneVoList.get(0).getSiteId());
- List<HookupComponentComplete> List = hookupComponentCompleteService.list(queryWrapper);
- if (List.size() > 0) {
- Map<String, Object> columnMap = new HashMap<>();
- // Map<String, Object> columnMap = null;
- columnMap.put("site_id", hookupComponentCompleteOneVoList.get(0).getSiteId());
- hookupComponentCompleteService.removeByMap(columnMap);
- }
- for (int i = 0; i < hookupComponentCompleteOneVoList.size(); i++) {
- HookupComponentComplete hookupComponentComplete = new HookupComponentComplete();
- hookupComponentComplete.setSort(hookupComponentCompleteOneVoList.get(i).getSort());
- hookupComponentComplete.setTitle(hookupComponentCompleteOneVoList.get(i).getTitle());
- hookupComponentComplete.setInnerType(hookupComponentCompleteOneVoList.get(i).getType());
- hookupComponentComplete.setTypeName(hookupComponentCompleteOneVoList.get(i).getTypeName());
- hookupComponentComplete.setSvgColor(hookupComponentCompleteOneVoList.get(i).getSvgColor());
- hookupComponentComplete.setSvgPositionX(hookupComponentCompleteOneVoList.get(i).getSvgPositionX());
- hookupComponentComplete.setSvgPositionY(hookupComponentCompleteOneVoList.get(i).getSvgPositionY());
- hookupComponentComplete.setSize(hookupComponentCompleteOneVoList.get(i).getSize());
- hookupComponentComplete.setHeight(hookupComponentCompleteOneVoList.get(i).getHeight());
- hookupComponentComplete.setWidth(hookupComponentCompleteOneVoList.get(i).getWidth());
- hookupComponentComplete.setFontSize(hookupComponentCompleteOneVoList.get(i).getFontSize());
- hookupComponentComplete.setSvgText(hookupComponentCompleteOneVoList.get(i).getSvgText());
- hookupComponentComplete.setAngle(hookupComponentCompleteOneVoList.get(i).getAngle());
- hookupComponentComplete.setTableRowCount(hookupComponentCompleteOneVoList.get(i).getTableRowCount());
- hookupComponentComplete.setTableColCount(hookupComponentCompleteOneVoList.get(i).getTableColCount());
- String TableData = JSON.toJSONString(hookupComponentCompleteOneVoList.get(i).getTableData());
- if (TableData.equals("\"\"")) {
- hookupComponentComplete.setTableData("");
- } else {
- hookupComponentComplete.setTableData(TableData.replace(" ", ""));
- }
- if (hookupComponentCompleteOneVoList.get(i).getElementBool().toString().equals("") || hookupComponentCompleteOneVoList.get(i).getElementBool().toString().equals("[]")) {
- hookupComponentComplete.setElementBool("");
- } else {
- String ElementBool = hookupComponentCompleteOneVoList.get(i).getElementBool().toString().replace("[", "").replace("]", "").replace(" ", "");
- hookupComponentComplete.setElementBool(ElementBool);
- }
- hookupComponentComplete.setSiteId(hookupComponentCompleteOneVoList.get(i).getSiteId());
- hookupComponentComplete.setDeviceId(hookupComponentCompleteOneVoList.get(i).getDeviceId());
- hookupComponentComplete.setVariableId(hookupComponentCompleteOneVoList.get(i).getVariableId());
- hookupComponentComplete.setCreator(user.getUserName());
- hookupComponentComplete.setCreateTime(LocalDateTime.now());
- hookupComponentComplete.setCreateType(hookupComponentCompleteOneVoList.get(i).getCreateType());
- hookupComponentComplete.setMPoint(hookupComponentCompleteOneVoList.get(i).getMPoint());
- hookupComponentComplete.setEchartsOption(hookupComponentCompleteOneVoList.get(i).getEchartsOption());
- hookupComponentComplete.setSvgLineSelectval(hookupComponentCompleteOneVoList.get(i).getSvgLineSelectval());
- hookupComponentCompleteService.save(hookupComponentComplete);
- }
- } catch (Exception e) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- throw new BusinessException("数据错误,新增失败");
- }
- }
- }
|