|  |  | 
 |  |  | package com.moral.api.service.impl; | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | 
 |  |  | import com.moral.api.entity.Device; | 
 |  |  | import com.moral.api.entity.OrganizationLayout; | 
 |  |  | import com.moral.api.mapper.DeviceMapper; | 
 |  |  | import com.moral.api.mapper.OrganizationLayoutMapper; | 
 |  |  | import com.moral.api.service.OrganizationLayoutService; | 
 |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
 |  |  | import com.moral.api.util.LogUtils; | 
 |  |  | import com.moral.constant.Constants; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.web.context.request.RequestContextHolder; | 
 |  |  | import org.springframework.web.context.request.ServletRequestAttributes; | 
 |  |  |  | 
 |  |  | import javax.servlet.http.HttpServletRequest; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.HashMap; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  |  | 
 |  |  | 
 |  |  |     @Autowired(required = false) | 
 |  |  |     private OrganizationLayoutMapper organizationLayoutMapper; | 
 |  |  |  | 
 |  |  |     @Autowired(required = false) | 
 |  |  |     private DeviceMapper deviceMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private LogUtils logUtils; | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<Map<String, Object>> getData(Map map) { | 
 |  |  |         int organization_id = Integer.parseInt(map.get("organization_id").toString()); | 
 |  |  | 
 |  |  |         QueryWrapper<OrganizationLayout> wrapper_organizationLayout = new QueryWrapper<>(); | 
 |  |  |         wrapper_organizationLayout.eq("organization_id",organization_id); | 
 |  |  |         wrapper_organizationLayout.eq("version_id",version_id); | 
 |  |  |         wrapper_organizationLayout.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  |         List<Map<String,Object>> organizationLayouts = new ArrayList<>(); | 
 |  |  |         organizationLayouts = organizationLayoutMapper.selectMaps(wrapper_organizationLayout); | 
 |  |  |         return organizationLayouts; | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Transactional | 
 |  |  |     @Override | 
 |  |  |     public void delete(Map map) { | 
 |  |  |     public void setUp(Map map, List<OrganizationLayout> list) { | 
 |  |  |         int organization_id = Integer.parseInt(map.get("organization_id").toString()); | 
 |  |  |         int version_id = Integer.parseInt(map.get("version_id").toString()); | 
 |  |  |         QueryWrapper<OrganizationLayout> wrapper_organizationLayout = new QueryWrapper<>(); | 
 |  |  |         wrapper_organizationLayout.eq("organization_id",organization_id); | 
 |  |  |         wrapper_organizationLayout.eq("version_id",version_id); | 
 |  |  |         organizationLayoutMapper.delete(wrapper_organizationLayout); | 
 |  |  |         wrapper_organizationLayout.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  |         List<OrganizationLayout> organizationLayouts = organizationLayoutMapper.selectList(wrapper_organizationLayout); | 
 |  |  |         //int delCount = organizationLayoutMapper.delete(wrapper_organizationLayout); | 
 |  |  |         OrganizationLayout organizationLayout_update = new OrganizationLayout(); | 
 |  |  |         organizationLayout_update.setIsDelete(Constants.DELETE); | 
 |  |  |         int delCount = organizationLayoutMapper.update(organizationLayout_update,wrapper_organizationLayout); | 
 |  |  |         if (delCount>0){ | 
 |  |  |             //操作插入日志 | 
 |  |  |             HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); | 
 |  |  |             String content = "页面布局表删除了组织id:"+organization_id+"、型号id:"+version_id+";"+"id:"; | 
 |  |  |             for (OrganizationLayout organizationLayout:organizationLayouts) { | 
 |  |  |                 content = content +organizationLayout.getId()+" "; | 
 |  |  |             } | 
 |  |  |             content = content+";"; | 
 |  |  |             logUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE); | 
 |  |  |         } | 
 |  |  |         if (!ObjectUtils.isEmpty(list) && list.size()>0){ | 
 |  |  |             organizationLayoutMapper.insertList(list); | 
 |  |  |             QueryWrapper<OrganizationLayout> wrapper_organizationLayoutIns = new QueryWrapper<>(); | 
 |  |  |             wrapper_organizationLayoutIns.eq("organization_id",organization_id); | 
 |  |  |             wrapper_organizationLayoutIns.eq("version_id",version_id); | 
 |  |  |             List<OrganizationLayout> organizationLayoutList = organizationLayoutMapper.selectList(wrapper_organizationLayout); | 
 |  |  |             //操作插入日志 | 
 |  |  |             HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); | 
 |  |  |             String contentInsert = "页面布局表插入了组织id:"+organization_id+"、型号id:"+version_id+";"+"id:"; | 
 |  |  |             for (OrganizationLayout organizationLayout:organizationLayoutList) { | 
 |  |  |                 contentInsert = contentInsert + organizationLayout.getId()+" "; | 
 |  |  |             } | 
 |  |  |             contentInsert = contentInsert+";"; | 
 |  |  |             logUtils.saveOperationForManage(request,contentInsert,Constants.INSERT_OPERATE_TYPE); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Transactional | 
 |  |  |     @Override | 
 |  |  |     public void insertList(List<OrganizationLayout> list) { | 
 |  |  |         organizationLayoutMapper.insertList(list); | 
 |  |  |     public Map<String, Object> getLayoutByMac(String mac) { | 
 |  |  |         QueryWrapper<Device> wrapper_device = new QueryWrapper<>(); | 
 |  |  |         wrapper_device.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  |         wrapper_device.eq("mac",mac); | 
 |  |  |         Device device = deviceMapper.selectOne(wrapper_device); | 
 |  |  |         if (ObjectUtils.isEmpty(device)){ | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |         int organizationId = device.getOrganizationId(); | 
 |  |  |         int versionId = device.getDeviceVersionId(); | 
 |  |  |         QueryWrapper<OrganizationLayout> wrapper_organizationLayout = new QueryWrapper<>(); | 
 |  |  |         wrapper_organizationLayout.eq("organization_id",organizationId); | 
 |  |  |         wrapper_organizationLayout.eq("version_id",versionId); | 
 |  |  |         wrapper_organizationLayout.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  |         List<OrganizationLayout> organizationLayouts = organizationLayoutMapper.selectList(wrapper_organizationLayout); | 
 |  |  |         if (ObjectUtils.isEmpty(organizationLayouts) || organizationLayouts.size()==0){ | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |         Map<String, Object> resultMap = new HashMap<>(); | 
 |  |  |         List<OrganizationLayout> chartSensorKeyList = new ArrayList<>(); | 
 |  |  |         List<OrganizationLayout> coreMonitorItemsList = new ArrayList<>(); | 
 |  |  |         List<OrganizationLayout> defaultMonitorItemsList = new ArrayList<>(); | 
 |  |  |         List<OrganizationLayout> fixedMonitorItemsList = new ArrayList<>(); | 
 |  |  |         for (OrganizationLayout organizationgLayout:organizationLayouts) { | 
 |  |  |             if (organizationgLayout.getPosition().equals("chartSensorKey")){ | 
 |  |  |                 chartSensorKeyList.add(organizationgLayout); | 
 |  |  |             } | 
 |  |  |             if (organizationgLayout.getPosition().equals("coreMonitorItems")){ | 
 |  |  |                 coreMonitorItemsList.add(organizationgLayout); | 
 |  |  |             } | 
 |  |  |             if (organizationgLayout.getPosition().equals("defaultMonitorItems")){ | 
 |  |  |                 defaultMonitorItemsList.add(organizationgLayout); | 
 |  |  |             } | 
 |  |  |             if (organizationgLayout.getPosition().equals("fixedMonitorItems")){ | 
 |  |  |                 fixedMonitorItemsList.add(organizationgLayout); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         chartSensorKeyList = sort(chartSensorKeyList); | 
 |  |  |         coreMonitorItemsList = sort(coreMonitorItemsList); | 
 |  |  |         defaultMonitorItemsList = sort(defaultMonitorItemsList); | 
 |  |  |         fixedMonitorItemsList = sort(fixedMonitorItemsList); | 
 |  |  |         resultMap.put("chartSensorKey",chartSensorKeyList); | 
 |  |  |         resultMap.put("coreMonitorItems",coreMonitorItemsList); | 
 |  |  |         resultMap.put("defaultMonitorItems",defaultMonitorItemsList); | 
 |  |  |         resultMap.put("fixedMonitorItems",fixedMonitorItemsList); | 
 |  |  |         return resultMap; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private List<OrganizationLayout> sort(List<OrganizationLayout> list){ | 
 |  |  |         if (list.size() < 0){ | 
 |  |  |             return list; | 
 |  |  |         } | 
 |  |  |         OrganizationLayout temp = null; | 
 |  |  |         int j; | 
 |  |  |         for (int i = 1; i<list.size(); i++){ | 
 |  |  |             temp = list.get(i); | 
 |  |  |             for (j=i-1; j>=0; j--){ | 
 |  |  |                 if (list.get(j).getPositionIndex()>temp.getPositionIndex()){ | 
 |  |  |                     list.set(j+1,list.get(j)); | 
 |  |  |                 }else { | 
 |  |  |                     break; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             System.out.println(list.get(0)); | 
 |  |  |             list.set(j+1,temp); | 
 |  |  |         } | 
 |  |  |         return list; | 
 |  |  |     } | 
 |  |  | } |