|
@@ -0,0 +1,181 @@
|
|
|
+package com.bizmatics.service.impl;
|
|
|
+
|
|
|
+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.*;
|
|
|
+import com.bizmatics.model.system.SysUser;
|
|
|
+import com.bizmatics.model.vo.HookupComponentCompleteOneVo;
|
|
|
+import com.bizmatics.model.vo.HookupComponentCompleteVo;
|
|
|
+import com.bizmatics.model.vo.HookupOneVo;
|
|
|
+import com.bizmatics.persistence.mapper.HookupMapper;
|
|
|
+import com.bizmatics.service.*;
|
|
|
+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.sql.Date;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <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);
|
|
|
+ LambdaQueryWrapper<HookupComponentBasics> queryWrapperOne = Wrappers.lambdaQuery();
|
|
|
+ if (siteId != 0) {
|
|
|
+ queryWrapperOne.eq(HookupComponentBasics::getSiteId, siteId);
|
|
|
+ }
|
|
|
+ List<HookupComponentBasics> hookupComponentBasicsList = hookupComponentBasicsService.list(queryWrapperOne);
|
|
|
+ List<HookupOneVo> hookupOneVoList = new ArrayList<HookupOneVo>();
|
|
|
+ if (hookupList.size() > 0) {
|
|
|
+ for (int i = 0; i < hookupList.size(); i++) {
|
|
|
+ HookupOneVo hookupOneVo = new HookupOneVo();
|
|
|
+ hookupOneVo.setType(hookupList.get(i).getOuterType());
|
|
|
+ hookupOneVo.setTemplate(hookupList.get(i).getTemplate());
|
|
|
+ hookupOneVo.setProps(hookupList.get(i).getProps().split(","));
|
|
|
+ hookupOneVo.setDefaultColor(hookupList.get(i).getDefaultColor());
|
|
|
+ hookupOneVo.setPriviewImg(hookupList.get(i).getPriviewImg());
|
|
|
+ for (int j = 0; j < hookupComponentBasicsList.size(); j++) {
|
|
|
+ if (hookupList.get(i).getId() == hookupComponentBasicsList.get(j).getHookupId()) {
|
|
|
+ hookupOneVo.setArray(hookupComponentBasicsList.get(j));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ hookupOneVoList.add(hookupOneVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return hookupOneVoList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<HookupComponentCompleteVo> getHookupComponentComplete(Integer siteId){
|
|
|
+ LambdaQueryWrapper<HookupComponentComplete> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.eq(HookupComponentComplete::getSiteId, siteId);
|
|
|
+ List<HookupComponentComplete> hookupComponentComplete = hookupComponentCompleteService.list(queryWrapper);
|
|
|
+ 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.setSort(hookupComponentComplete.get(i).getSort());
|
|
|
+ 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.setSvgPositionX(hookupComponentComplete.get(i).getSvgPositionX());
|
|
|
+ hookupComponentCompleteVo.setSvgPositionY(hookupComponentComplete.get(i).getSvgPositionY());
|
|
|
+ hookupComponentCompleteVo.setSize(hookupComponentComplete.get(i).getSize());
|
|
|
+ hookupComponentCompleteVo.setHeight(hookupComponentComplete.get(i).getHeight());
|
|
|
+ hookupComponentCompleteVo.setWidth(hookupComponentComplete.get(i).getWidth());
|
|
|
+ hookupComponentCompleteVo.setFontSize(hookupComponentComplete.get(i).getFontSize());
|
|
|
+ hookupComponentCompleteVo.setSvgText(hookupComponentComplete.get(i).getSvgText());
|
|
|
+ hookupComponentCompleteVo.setAngle(hookupComponentComplete.get(i).getAngle());
|
|
|
+ hookupComponentCompleteVo.setTableRowCount(hookupComponentComplete.get(i).getTableRowCount());
|
|
|
+ hookupComponentCompleteVo.setTableColCount(hookupComponentComplete.get(i).getTableColCount());
|
|
|
+ hookupComponentCompleteVo.setTableData(hookupComponentComplete.get(i).getTableData());
|
|
|
+ if (hookupComponentComplete.get(i).getElementBool().equals("")){
|
|
|
+ hookupComponentCompleteVo.setElementBool("");
|
|
|
+ }else {
|
|
|
+ hookupComponentCompleteVo.setElementBool(hookupComponentComplete.get(i).getElementBool().split(","));
|
|
|
+ }
|
|
|
+ hookupComponentCompleteVo.setDeviceId(hookupComponentComplete.get(i).getDeviceId());
|
|
|
+ hookupComponentCompleteVo.setSiteId(hookupComponentComplete.get(i).getSiteId());
|
|
|
+ hookupComponentCompleteVo.setVariableId(hookupComponentComplete.get(i).getVariableId());
|
|
|
+ hookupComponentCompleteVoLsit.add(hookupComponentCompleteVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return hookupComponentCompleteVoLsit;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public void setHookupComponentComplete(List<HookupComponentCompleteOneVo> hookupComponentCompleteOneVoList){
|
|
|
+ try {
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
|
+ 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());
|
|
|
+ if (hookupComponentCompleteOneVoList.get(i).getTableData()==null){
|
|
|
+ hookupComponentComplete.setTableData("");
|
|
|
+ }else {
|
|
|
+ hookupComponentComplete.setTableData(hookupComponentCompleteOneVoList.get(i).getTableData().toString());
|
|
|
+ }
|
|
|
+ if (hookupComponentCompleteOneVoList.get(i).getElementBool()==null){
|
|
|
+ hookupComponentComplete.setElementBool("");
|
|
|
+ }else {
|
|
|
+ hookupComponentComplete.setElementBool(hookupComponentCompleteOneVoList.get(i).getElementBool().toString());
|
|
|
+ }
|
|
|
+ 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());
|
|
|
+ hookupComponentCompleteService.save(hookupComponentComplete);
|
|
|
+ }
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ throw new BusinessException("数据错误,新增失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|