diff --git a/pom.xml b/pom.xml index 5b9eae3..e92e26e 100644 --- a/pom.xml +++ b/pom.xml @@ -238,6 +238,11 @@ ${lombok.version} provided + + com.baomidou + mybatis-plus-core + 3.4.2 + diff --git a/src/main/java/com/emr/controller/CollectorController.java b/src/main/java/com/emr/controller/CollectorController.java new file mode 100644 index 0000000..f82c450 --- /dev/null +++ b/src/main/java/com/emr/controller/CollectorController.java @@ -0,0 +1,48 @@ +package com.emr.controller; + +import com.emr.entity.Archive_Master_Vo; +import com.emr.entity.OffsetLimitPage; +import com.emr.service.ICollectorService; +import com.emr.util.ExceptionPrintUtil; +import com.emr.vo.Collector; +import com.emr.vo.CollectorVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; +import java.text.SimpleDateFormat; + +@RequestMapping("/collector") +@Controller +public class CollectorController { + + @Autowired + private ICollectorService collectorService; + + @PostMapping("/setCollectors") + @ResponseBody + public String setCollectors(@RequestBody CollectorVo collectorVo){ + collectorService.setCollectors(collectorVo); + return "成功"; + } + + + + @ResponseBody + @RequestMapping(value = "/getCollectors") + public OffsetLimitPage getCollectors(Collector collector,Integer offset, Integer limit, HttpServletRequest request){ + + try { + return collectorService.getCollectors(collector, offset, limit,request); + } catch (Exception e) { + ExceptionPrintUtil.printException(e); + e.printStackTrace(); + return null; + } + } +} diff --git a/src/main/java/com/emr/controller/VirtualController.java b/src/main/java/com/emr/controller/VirtualController.java new file mode 100644 index 0000000..cf2aa91 --- /dev/null +++ b/src/main/java/com/emr/controller/VirtualController.java @@ -0,0 +1,44 @@ +package com.emr.controller; + +import com.emr.entity.OffsetLimitPage; +import com.emr.service.ICollectorService; +import com.emr.service.IVirtualService; +import com.emr.util.ExceptionPrintUtil; +import com.emr.vo.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; + +@RequestMapping("/virtual") +@Controller +public class VirtualController { + + @Autowired + IVirtualService iVirtualService; + + @PostMapping("/setVirtual") + @ResponseBody + public String setVirtual(@RequestBody VirtualVo virtualVo){ + iVirtualService.setVirtual(virtualVo); + return "成功"; + } + + + @ResponseBody + @RequestMapping(value = "/getVirtual") + public OffsetLimitPage getVirtual(VirtualReq virtualReq, Integer offset, Integer limit, HttpServletRequest request){ + + try { + return iVirtualService.getVirtual(virtualReq, offset, limit,request); + } catch (Exception e) { + ExceptionPrintUtil.printException(e); + e.printStackTrace(); + return null; + } + } +} diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index 57a0227..b7d1e22 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -163,13 +163,10 @@ public class beHospitaledController { @ResponseBody - @RequestMapping(value = "/beHospList1") + @RequestMapping(value = "/beHospListTwo") public OffsetLimitPage beHospList1(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit,Integer isSearch,HttpServletRequest request){ - //判断是否是初始化查询,是初始化查询把开始结束时间置空 - archiveMasterVo.setStartDateTo(null); - archiveMasterVo.setEndDateTo(null); try { - return archiveMasterService.selectByColumn(archiveMasterVo, offset, limit,request); + return archiveMasterService.selectByColumnTwo(archiveMasterVo, offset, limit,request); } catch (Exception e) { ExceptionPrintUtil.printException(e); e.printStackTrace(); diff --git a/src/main/java/com/emr/dao/Archive_MasterMapper.java b/src/main/java/com/emr/dao/Archive_MasterMapper.java index 4c8b59f..9499c37 100644 --- a/src/main/java/com/emr/dao/Archive_MasterMapper.java +++ b/src/main/java/com/emr/dao/Archive_MasterMapper.java @@ -22,6 +22,8 @@ public interface Archive_MasterMapper { List selectByColumn(Archive_Master_Vo record); + List selectStatisColumn(Archive_Master_Vo record); + List selectByLast(Archive_Master_Vo record); List selectByUnfile(Archive_Master_Vo record); diff --git a/src/main/java/com/emr/dao/CollectorMapper.java b/src/main/java/com/emr/dao/CollectorMapper.java new file mode 100644 index 0000000..cd4c6c5 --- /dev/null +++ b/src/main/java/com/emr/dao/CollectorMapper.java @@ -0,0 +1,36 @@ +package com.emr.dao; + + +import com.emr.entity.Emr_Picture; +import com.emr.vo.Collector; +import org.apache.ibatis.annotations.Param; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + *

+ * 采集器运行状态接口 Mapper 接口 + *

+ * + * @author jiashi + * @since 2022-08-30 + */ + +public interface CollectorMapper { + + List selectCollectors(Collector collector); + + Integer selectCount(String key); + + Integer update(Collector collector ); + + Integer insert(Collector collector); + + + + List getCollectors(Collector collector); + + + +} diff --git a/src/main/java/com/emr/dao/DiskMapper.java b/src/main/java/com/emr/dao/DiskMapper.java new file mode 100644 index 0000000..c856097 --- /dev/null +++ b/src/main/java/com/emr/dao/DiskMapper.java @@ -0,0 +1,36 @@ +package com.emr.dao; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.emr.vo.Disk; +import com.emr.vo.Virtual; +import com.emr.vo.VirtualVo; + +import java.util.List; + +/** + *

+ * 采集器运行状态接口 Mapper 接口 + *

+ * + * @author jiashi + * @since 2022-08-30 + */ + +public interface DiskMapper { + + + + List selectVirtuals(VirtualVo virtualVo) ; + + Long selectVirtuaidIdlByIp(String ip); + + int updateById(Virtual virtual); + + int delete(String virtualId); + + int saveBatch(List disks); + + + +} diff --git a/src/main/java/com/emr/dao/VirtualMapper.java b/src/main/java/com/emr/dao/VirtualMapper.java new file mode 100644 index 0000000..ce7ad4e --- /dev/null +++ b/src/main/java/com/emr/dao/VirtualMapper.java @@ -0,0 +1,39 @@ +package com.emr.dao; + + +import com.emr.vo.Collector; +import com.emr.vo.Virtual; +import com.emr.vo.VirtualReq; +import com.emr.vo.VirtualVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 采集器运行状态接口 Mapper 接口 + *

+ * + * @author jiashi + * @since 2022-08-30 + */ + +public interface VirtualMapper { + + + + List getVirtual(VirtualReq virtualReq) ; + + + + + Long selectVirtuaidIdlByIp(String ip); + + int updateById(Virtual virtual); + + + int insert(Virtual virtual); + + + +} diff --git a/src/main/java/com/emr/service/Archive_MasterService.java b/src/main/java/com/emr/service/Archive_MasterService.java index 8d30719..b9561b0 100644 --- a/src/main/java/com/emr/service/Archive_MasterService.java +++ b/src/main/java/com/emr/service/Archive_MasterService.java @@ -58,6 +58,16 @@ public interface Archive_MasterService { OffsetLimitPage selectByColumn(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit,HttpServletRequest request); + /** + * 统计列表二级列表查询 + * + * @param archiveMasterVo + * @return + */ + OffsetLimitPage selectByColumnTwo(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit,HttpServletRequest request); + + List selectStatisColumn(Integer offset, Integer limit, Archive_Master_Vo archiveMasterVo, HttpServletRequest request); + /** * 根据条件查找未归档列表分页 * diff --git a/src/main/java/com/emr/service/ICollectorService.java b/src/main/java/com/emr/service/ICollectorService.java new file mode 100644 index 0000000..f9d7307 --- /dev/null +++ b/src/main/java/com/emr/service/ICollectorService.java @@ -0,0 +1,18 @@ +package com.emr.service; + +import com.emr.entity.Archive_Master_Vo; +import com.emr.entity.OffsetLimitPage; +import com.emr.vo.Collector; +import com.emr.vo.CollectorVo; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +public interface ICollectorService { +// public void setCollectors(CollectorVo collectorVo); + public void setCollectors(CollectorVo collectorVo); +// List setCollectors(CollectorVo collectorVo); + + OffsetLimitPage getCollectors(Collector collector, Integer offset, Integer limit, HttpServletRequest request); + +} diff --git a/src/main/java/com/emr/service/IVirtualService.java b/src/main/java/com/emr/service/IVirtualService.java new file mode 100644 index 0000000..713f3fd --- /dev/null +++ b/src/main/java/com/emr/service/IVirtualService.java @@ -0,0 +1,12 @@ +package com.emr.service; + +import com.emr.entity.OffsetLimitPage; +import com.emr.vo.*; + +import javax.servlet.http.HttpServletRequest; + +public interface IVirtualService { + public void setVirtual(VirtualVo virtualVo); + + OffsetLimitPage getVirtual(VirtualReq virtualReq, Integer offset, Integer limit, HttpServletRequest request); +} diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java index e6fc715..540d01e 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -88,6 +88,58 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { return new OffsetLimitPage((Page) list); } + + /** + * 出院列表 + * */ + @Override + public OffsetLimitPage selectByColumnTwo(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit,HttpServletRequest request) { + //设置查询条件审核角色 + setInfoId(archiveMasterVo); + //设置登录用户 + Power_User user = (Power_User)request.getSession().getAttribute("CURRENT_USER"); + if(user.getRoleId() != -100 && user.getRoleId() != 0){ + archiveMasterVo.setUserName(user.getUserName()); + } + List list = selectStatisColumn(offset, limit,archiveMasterVo,request); + return new OffsetLimitPage((Page) list); + } + + @Override + public List selectStatisColumn(Integer offset, Integer limit, Archive_Master_Vo archiveMasterVo, HttpServletRequest request) { + List list = null; + if(null != offset && null != limit) { + PageHelper.offsetPage(offset, limit); + } + list = archiveMasterMapper.selectStatisColumn(archiveMasterVo); + selectByColumnChange(list); + List flowRoles = flowRoleMapper.selectAll(); + //计算属于哪种审核角色 + Msg role = getRole(); + if(null != role) { + for (Archive_Master_Vo masterVo : list) { + String archivestate = masterVo.getArchivestate(); + if (StringUtils.isNotBlank(archivestate)) { + //转换中文状态 + boolean numeric = isNumeric(archivestate); + if (numeric) { + Integer status = Integer.valueOf(archivestate); + //组织已经审核的状态 + archivestate = EnumVerify.DocState.GetStepName(status, role.getCode()); + //组织未审核的状态 + String currentArchivestate = EnumVerify.DocState.GetCurrentStepName(status, role.getCode()); + masterVo.setStatus(archivestate); + masterVo.setCurrentStatus(currentArchivestate); + //根据角色 + //获取审核按钮和退回按钮集合 + getBtns(status, flowRoles, masterVo.getId(), masterVo.getPatientId(), masterVo); + } + } + } + } + return list; + } + /** * //循环遍历list集合判断是否完整,完整isCheck赋值1,且批量更新LockInfo字段为完整 * @param list @@ -296,15 +348,15 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { for (Archive_Master_Vo masterVo : list) { String archivestate = masterVo.getArchivestate(); String inpNo = masterVo.getPatientId(); - String sql = "SELECT FISZH FROM V_JSWZH_EMR_CALLBACK WHERE JZH='"+inpNo+"'"; - try { - String select = OracleConnect.select(sql); - masterVo.setHisStatic(select); -// String hisStatic = masterVo.getHisStatic(); - } catch (Exception e) { - ExceptionPrintUtil.printException(e); - e.printStackTrace(); - } +// String sql = "SELECT FISZH FROM V_JSWZH_EMR_CALLBACK WHERE JZH='"+inpNo+"'"; +// try { +// String select = OracleConnect.select(sql); +// masterVo.setHisStatic(select); +//// String hisStatic = masterVo.getHisStatic(); +// } catch (Exception e) { +// ExceptionPrintUtil.printException(e); +// e.printStackTrace(); +// if (StringUtils.isNotBlank(archivestate)) { //转换中文状态 boolean numeric = isNumeric(archivestate); @@ -327,6 +379,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { return list; } + + + + + /** * 带完整性查询的出院记录查询 * @param archiveMasterVo diff --git a/src/main/java/com/emr/service/ipml/CollectorServiceImpl.java b/src/main/java/com/emr/service/ipml/CollectorServiceImpl.java new file mode 100644 index 0000000..3f91ab5 --- /dev/null +++ b/src/main/java/com/emr/service/ipml/CollectorServiceImpl.java @@ -0,0 +1,50 @@ +package com.emr.service.ipml; + +import com.emr.dao.CollectorMapper; +import com.emr.entity.OffsetLimitPage; +import com.emr.service.ICollectorService; +import com.emr.vo.Collector; +import com.emr.vo.CollectorVo; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import org.apache.cxf.service.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@Service +public class CollectorServiceImpl implements ICollectorService { + + @Autowired + private CollectorMapper collectorMapper; + @Override + public void setCollectors(CollectorVo collectorVo) { + //获取Collector对象集合 + List collectors = collectorVo.getCollectors(); + for (Collector collector : collectors) { + //设置操作地址 + collector.setStopUrl(collectorVo.getUrlMap().get(0)); + collector.setStartUrl(collectorVo.getUrlMap().get(1)); + collector.setRestartUrl(collectorVo.getUrlMap().get(2)); + //判断采集器信息是否存在 + if (collectorMapper.selectCount(collector.getKey()) != 0) { + //存在 + collectorMapper.update(collector); + } else { + //不存在 + collectorMapper.insert(collector); + } + } + } + + @Override + public OffsetLimitPage getCollectors(Collector collector, Integer offset, Integer limit, HttpServletRequest request) { + if(null != offset && null != limit) { + PageHelper.offsetPage(offset, limit); + } + List list = collectorMapper.getCollectors(collector); + return new OffsetLimitPage((Page) list); + } +} diff --git a/src/main/java/com/emr/service/ipml/VirtualServiceImpl.java b/src/main/java/com/emr/service/ipml/VirtualServiceImpl.java new file mode 100644 index 0000000..043ec81 --- /dev/null +++ b/src/main/java/com/emr/service/ipml/VirtualServiceImpl.java @@ -0,0 +1,84 @@ +package com.emr.service.ipml; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.emr.dao.CollectorMapper; +import com.emr.dao.DiskMapper; +import com.emr.dao.VirtualMapper; +import com.emr.entity.OffsetLimitPage; +import com.emr.service.ICollectorService; +import com.emr.service.IVirtualService; +import com.emr.vo.*; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletRequest; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +@Service +public class VirtualServiceImpl implements IVirtualService { + @Autowired + private VirtualMapper virtualMapper; + + @Autowired + private DiskMapper diskMapper; + + @Override + public void setVirtual(VirtualVo virtualVo) { + //获取虚拟机信息 + SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date=new Date(); + Virtual virtual=new Virtual(null, virtualVo.getCpuUtilization(), virtualVo.getMemoryTotal(), + virtualVo.getMemoryAllowance(), virtualVo.getUplinkRate(), virtualVo.getDescendingRate(), + virtualVo.getIp(),virtualVo.getUrl(),simpleDateFormat.format(date)); + //获取磁盘信息 + List disks = virtualVo.getDisks(); + //判断该虚拟机是否存在 + String ip = virtual.getIp(); + Long id =virtualMapper.selectVirtuaidIdlByIp(ip); + if(id!=null){ + //存在则修改 + virtual.setId(id); + int update=virtualMapper.updateById(virtual); + //删除虚拟机对应磁盘信息 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("virtual_id",id);//满足的条件 + queryWrapper.or(); + String virtualId = virtual.getId().toString(); + diskMapper.delete(virtualId); + //重新添加磁盘信息 + for(Disk disk:disks){ + disk.setId(null); + disk.setVirtualId(virtual.getId().toString()); + } + + diskMapper.saveBatch(disks); + }else{ + //不存在则添加 + int insert = virtualMapper.insert(virtual); + //把虚拟机id给磁盘对象 + for(Disk disk:disks){ + disk.setId(null); + disk.setVirtualId(virtual.getId().toString()); + } + //添加磁盘信息 + diskMapper.saveBatch(disks); + } + } + + + @Override + public OffsetLimitPage getVirtual(VirtualReq virtualReq, Integer offset, Integer limit, HttpServletRequest request) { + if(null != offset && null != limit) { + PageHelper.offsetPage(offset, limit); + } + List list = virtualMapper.getVirtual(virtualReq); + return new OffsetLimitPage((Page) list); + } + + +} diff --git a/src/main/java/com/emr/vo/Collector.java b/src/main/java/com/emr/vo/Collector.java new file mode 100644 index 0000000..dab2a0d --- /dev/null +++ b/src/main/java/com/emr/vo/Collector.java @@ -0,0 +1,53 @@ +package com.emr.vo; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @BelongsProject: docus_inspection + * @BelongsPackage: com.docus.services.system.entity + * @Author: chierhao + * @CreateTime: 2022-08-30 09:03 + * @Description: 采集器对象 + * @Version: 1.0 + */ +@Data +public class Collector implements Serializable { + + private static final long serialVersionUID = 1L; + + + private Long id; + + + private String virtualId; + + + private String key; + + + private String type; + + + private String beforeTime; + + + private String state; + + + private String stopUrl; + + + private String startUrl; + + + private String restartUrl; + + + +} diff --git a/src/main/java/com/emr/vo/CollectorVo.java b/src/main/java/com/emr/vo/CollectorVo.java new file mode 100644 index 0000000..f4e9f82 --- /dev/null +++ b/src/main/java/com/emr/vo/CollectorVo.java @@ -0,0 +1,25 @@ +package com.emr.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + + +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = false) + +public class CollectorVo implements Serializable { + private static final long serialVersionUID = 1L; + + + private List collectors; + + private Map urlMap; +} diff --git a/src/main/java/com/emr/vo/Disk.java b/src/main/java/com/emr/vo/Disk.java new file mode 100644 index 0000000..07f8ed9 --- /dev/null +++ b/src/main/java/com/emr/vo/Disk.java @@ -0,0 +1,38 @@ +package com.emr.vo; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @BelongsProject: docus_inspection + * @BelongsPackage: com.docus.services.system.entity + * @Author: chierhao + * @CreateTime: 2022-08-30 08:57 + * @Description: 巡检磁盘情况 + * @Version: 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Disk implements Serializable { + private static final long serialVersionUID = 1L; + + private Long id; + + private String virtualId; + + private String diskName; + + private String totalSize; + + private String availableSize; + + private String diskFormat; + + private String diskType; +} diff --git a/src/main/java/com/emr/vo/Virtual.java b/src/main/java/com/emr/vo/Virtual.java new file mode 100644 index 0000000..bf0210a --- /dev/null +++ b/src/main/java/com/emr/vo/Virtual.java @@ -0,0 +1,42 @@ +package com.emr.vo; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @BelongsProject: docus_inspection + * @BelongsPackage: com.docus.services.system.entity + * @Author: chierhao + * @CreateTime: 2022-08-30 08:41 + * @Description: 虚拟机运行情况 + * @Version: 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Virtual implements Serializable { + private static final long serialVersionUID = 1L; + + private Long id; + + private String cpuUtilization; + + private String memoryTotal; + + private String memoryAllowance; + + private String uplinkRate; + + private String descendingRate; + + private String ip; + + private String url; + + private String updateTime; +} diff --git a/src/main/java/com/emr/vo/VirtualReq.java b/src/main/java/com/emr/vo/VirtualReq.java new file mode 100644 index 0000000..3dbd452 --- /dev/null +++ b/src/main/java/com/emr/vo/VirtualReq.java @@ -0,0 +1,40 @@ +package com.emr.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class VirtualReq { + private Long id; + + private String cpuUtilization; + + private String memoryTotal; + + private String memoryAllowance; + + private String uplinkRate; + + private String descendingRate; + + private String ip; + + private String url; + + private String updateTime; + + private String virtualId; + + private String diskName; + + private String totalSize; + + private String availableSize; + + private String diskFormat; + + private String diskType; +} diff --git a/src/main/java/com/emr/vo/VirtualVo.java b/src/main/java/com/emr/vo/VirtualVo.java new file mode 100644 index 0000000..3daff19 --- /dev/null +++ b/src/main/java/com/emr/vo/VirtualVo.java @@ -0,0 +1,40 @@ +package com.emr.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class VirtualVo implements Serializable { + private static final long serialVersionUID = 1L; + + + private Long id; + + + private String cpuUtilization; + + private String memoryTotal; + + private String memoryAllowance; + + private String uplinkRate; + + + private String descendingRate; + + private String ip; + + private String url; + + private List disks; + + private String updateTime; +} diff --git a/src/main/resources/config/spring-shiro.xml b/src/main/resources/config/spring-shiro.xml index 99e24d5..a6f107a 100644 --- a/src/main/resources/config/spring-shiro.xml +++ b/src/main/resources/config/spring-shiro.xml @@ -21,8 +21,11 @@ /font/**=anon /login=anon /static/**=anon + /statistics/**=anon /jspf/**=anon /img/**=anon + /collector/**=anon + /virtual/**=anon /styles/**=anon /batch/**=anon /css/**=anon diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index db45ecf..d0bef52 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -699,6 +699,25 @@ ORDER BY archive_master.discharge_date_time desc + + + + + SELECT * + FROM collector + + + + diff --git a/src/main/resources/mapper/DisMapper.xml b/src/main/resources/mapper/DisMapper.xml new file mode 100644 index 0000000..6675db1 --- /dev/null +++ b/src/main/resources/mapper/DisMapper.xml @@ -0,0 +1,23 @@ + + + + + insert into disk ( virtual_id, disk_name, total_size,available_size,disk_format, + disk_type) + values + + (#{item.virtualId}, + #{item.diskName}, + #{item.totalSize}, + #{item.availableSize}, + #{item.diskFormat}, + #{item.diskType} + + + + + + delete from disk + where virtual_id = #{virtualId} + + diff --git a/src/main/resources/mapper/VirtualMapper.xml b/src/main/resources/mapper/VirtualMapper.xml new file mode 100644 index 0000000..c7f50bf --- /dev/null +++ b/src/main/resources/mapper/VirtualMapper.xml @@ -0,0 +1,97 @@ + + + + + insert into virtual + + + cpuUtilization, + + + memoryTotal, + + + memoryAllowance, + + + uplinkRate, + + + descendingRate, + + + ip, + + + url, + + + + + #{cpu_utilization}, + + + #{memory_total}, + + + #{memory_allowance}, + + + #{uplink_rate}, + + + #{descending_rate}, + + + #{ip}, + + + #{url}, + + + + + update virtual + + + cpu_utilization = #{cpuUtilization}, + + + memory_total = #{memoryTotal}, + + + memory_allowance = #{memoryAllowance}, + + + uplink_rate = #{uplinkRate}, + + + descending_rate = #{descendingRate}, + + + ip = #{ip}, + + + url = #{url}, + + + where id = #{id} + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/statistics/acquisitionStatus.jsp b/src/main/webapp/WEB-INF/views/statistics/acquisitionStatus.jsp index 577a223..3eda2a4 100644 --- a/src/main/webapp/WEB-INF/views/statistics/acquisitionStatus.jsp +++ b/src/main/webapp/WEB-INF/views/statistics/acquisitionStatus.jsp @@ -3,7 +3,7 @@ - 采集器任务记录统计报表 + 采集器运维界面 @@ -49,45 +49,45 @@
- 采集器任务记录统计报表 + 采集器运维界面
-
-
- -
- - - - -
-
-
- - -
- - -
+ <%--
--%> + <%--
--%> + <%----%> + <%--
--%> + <%-- + <%--style="text-align: center" maxlength="10" autocomplete="off"/>--%> + <%-----%> + <%-- + <%--maxlength="10" style="text-align: center" autocomplete="off"/>--%> + <%--
--%> + <%--
--%> + <%--
--%> + <%----%> + <%----%> + <%--
--%> + <%----%> + <%----%> + <%--
--%>
diff --git a/src/main/webapp/WEB-INF/views/statistics/notCollected.jsp b/src/main/webapp/WEB-INF/views/statistics/notCollected.jsp index b05c14a..2edce2d 100644 --- a/src/main/webapp/WEB-INF/views/statistics/notCollected.jsp +++ b/src/main/webapp/WEB-INF/views/statistics/notCollected.jsp @@ -3,7 +3,7 @@ - 采集器未采集任务统计报表 + 虚拟机运行状态 @@ -49,46 +49,46 @@
- 采集器未采集任务统计报表 + 虚拟机运行状态
-
+ <%--
--%> + <%--<%–
–%>--%> + <%--<%––%>--%> + <%--<%–
–%>--%> + <%--<%– + <%--<%–style="text-align: center" maxlength="10" autocomplete="off"/>–%>--%> + <%--<%–-–%>--%> + <%--<%– + <%--<%–maxlength="10" style="text-align: center" autocomplete="off"/>–%>--%> + <%--<%–
–%>--%> + <%--<%–
–%>--%> <%--
--%> - <%----%> - <%--
--%> - <%-- - <%--style="text-align: center" maxlength="10" autocomplete="off"/>--%> - <%-----%> - <%-- - <%--maxlength="10" style="text-align: center" autocomplete="off"/>--%> - <%--
--%> + <%----%> + <%----%> <%--
--%> -
- - -
- - -
+ <%----%> + <%----%> + <%--
--%>
diff --git a/src/main/webapp/static/js/inHospList/inHospList.js b/src/main/webapp/static/js/inHospList/inHospList.js index 5b32ef3..f7e7d4e 100644 --- a/src/main/webapp/static/js/inHospList/inHospList.js +++ b/src/main/webapp/static/js/inHospList/inHospList.js @@ -52,12 +52,11 @@ $(function () { $('#deptDiv').hide(); } }); - -function initTable() { +var data9=[{"id":"1631899845518445326","patientId":"1376182","inpNo":"427891","visitId":"1","name":"钟媚婴","sex":"男","deptName":"新生儿科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:55:18.0000000","deptAdmissionTo":"新生儿科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"曹冰冰","idNo":"","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631900306912130142","patientId":"1376179","inpNo":"427890","visitId":"1","name":"谭冬妙婴","sex":"男","deptName":"新生儿科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:45:55.0000000","deptAdmissionTo":"新生儿科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"曹冰冰","idNo":"","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631899163873580594","patientId":"1376183","inpNo":"427872B","visitId":"0","name":"谢姗珊婴","sex":"男","deptName":"产科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:45:00.0000000","deptAdmissionTo":"产科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"罗砚馨","idNo":"1376132","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631898552258375252","patientId":"1376178","inpNo":"387810","visitId":"2","name":"林满星","sex":"男","deptName":"耳鼻喉科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:37:16.0000000","deptAdmissionTo":"耳鼻喉科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"梁启彬","idNo":"44062419690102381X","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631898745801677943","patientId":"1376177","inpNo":"381306","visitId":"3","name":"陈国新","sex":"男","deptName":"心血管内科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:30:51.0000000","deptAdmissionTo":"心血管内科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"尤杰鹏","idNo":"440624195709090030","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631897799723776239","patientId":"1376176","inpNo":"407147","visitId":"2","name":"范建华","sex":"男","deptName":"骨二科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:25:21.0000000","deptAdmissionTo":"骨二科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"吴增志","idNo":"362202196510203014","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631896482501734905","patientId":"1376175","inpNo":"352386","visitId":"2","name":"苏婧琳","sex":"女","deptName":"儿科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:09:33.0000000","deptAdmissionTo":"儿科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"程建婷","idNo":"440608201809200100","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631896713576918588","patientId":"1376174","inpNo":"378977","visitId":"3","name":"黄玉连","sex":"女","deptName":"妇科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:02:45.0000000","deptAdmissionTo":"妇科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"王晓乐","idNo":"440624196408255748","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631895964451391095","patientId":"1376173","inpNo":"332663","visitId":"2","name":"黄美玉","sex":"女","deptName":"产科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 09:57:17.0000000","deptAdmissionTo":"产科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"陆凤莹","idNo":"452625199208010600","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631897731668219103","patientId":"1376171","inpNo":"427889","visitId":"1","name":"李惠英","sex":"女","deptName":"神经内科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 09:48:16.0000000","deptAdmissionTo":"神经内科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"范国锋","idNo":"441281194607153944","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null}]; if (tipLoad == 1) { $("#table").bootstrapTable({ // 对应table标签的id //method: 'POST', - url: path+"/inHosp/inHospitalList", // 获取表格数据的url + //url: path+"/inHosp/inHospitalList", // 获取表格数据的url contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求,注释掉这句话也能拿到数据 //dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行 cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true @@ -65,7 +64,8 @@ function initTable() { pagination: true, // 在表格底部显示分页组件,默认false paginationShowPageGo: true, pageList: [10, 20, 50, 100], // 如果设置了分页,设置可供选择的页面数据条数。设置为All 则显示所有记录。 - sidePagination: 'server', // 设置为服务器端分页 客户端:client + sidePagination: 'client', // 设置为服务器端分页 客户端:client + data:data9, search: false, showColumns: true, toolbar: '#toolbar',//指定工具栏 @@ -275,7 +275,6 @@ function initTable() { tipLoad = 0; } }); - } } //导出excel功能 diff --git a/src/main/webapp/static/js/statistics/acquisitionStatus.js b/src/main/webapp/static/js/statistics/acquisitionStatus.js index d06590b..636081a 100644 --- a/src/main/webapp/static/js/statistics/acquisitionStatus.js +++ b/src/main/webapp/static/js/statistics/acquisitionStatus.js @@ -4,7 +4,7 @@ var maxHeight = 0; function initTable() { if(tipLoad == 1){ $("#table").bootstrapTable({ // 对应table标签的id - url: path+"/statistics/getCollectorTaskNum", // 获取表格数据的url + url: path+"/collector/getCollectors", // 获取表格数据的url contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求,注释掉这句话也能拿到数据 cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true striped: true, //表格显示条纹,默认为false @@ -69,42 +69,47 @@ function initTable() { valign: 'middle', }, { - title: '业务系统', - field: 'sysFlagStr', + title: '序号', + field: 'id', align: 'center', valign: 'middle', }, { - title: '产生日期', - field: 'produceDate', + title: '采集器key', + field: 'key', align: 'center', valign: 'middle', }, { - title: '产生的数量', - field: 'produceNum', + title: '采集器类型', + field: 'type', align: 'center', valign: 'middle', }, { - title: '采集完成', - field: 'completeNum', + title: '上条任务采集完成时间', + field: 'beforeTime', align: 'center', valign: 'middle', }, { - title: '相差数量', - field: 'differ', - align: 'center', - valign: 'middle', - }, - { - title: '采错数量', - field: 'errorNum', + title: '状态', + field: 'state', align: 'center', valign: 'middle', + formatter: function (value) { + if(value == '1'){ + return ''+'空闲状态'+''; + } + if(value == '2'){ + return ''+'关闭状态'+''; + } + if(value == '3'){ + return ''+'任务状态'+''; + } + return value; + } } - ], onLoadSuccess: function (result) { //加载成功时执行 $(".page-list").show(); diff --git a/src/main/webapp/static/js/statistics/notCollected.js b/src/main/webapp/static/js/statistics/notCollected.js index 26925ac..70291c0 100644 --- a/src/main/webapp/static/js/statistics/notCollected.js +++ b/src/main/webapp/static/js/statistics/notCollected.js @@ -4,7 +4,7 @@ var maxHeight = 0; function initTable() { if(tipLoad == 1){ $("#table").bootstrapTable({ // 对应table标签的id - url: path+"/statistics/getNotStartedNum", // 获取表格数据的url + url: path+"/virtual/getVirtual", // 获取表格数据的url contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求,注释掉这句话也能拿到数据 cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true striped: true, //表格显示条纹,默认为false @@ -69,18 +69,89 @@ function initTable() { valign: 'middle', }, { - title: '业务系统', - field: 'sysFlagStr', + title: '序号', + field: 'id', align: 'center', valign: 'middle', }, { - title: '任务剩余数量', - field: 'notStarted', + title: 'IP地址', + field: 'ip', align: 'center', valign: 'middle', + }, + { + title: 'CPU使用率', + field: 'cpuUtilization', + align: 'center', + valign: 'middle', + }, + { + title: '物理内存总量', + field: 'memoryTotal', + align: 'center', + valign: 'middle', + }, + { + title: '物理内存余量', + field: 'memoryAllowance', + align: 'center', + valign: 'middle', + }, + { + title: '当前网络上行速率(KBPS)', + field: 'uplinkRate', + align: 'center', + valign: 'middle', + }, + { + title: '当前网络下行速率(KBPS)', + field: 'descendingRate', + align: 'center', + valign: 'middle', + }, + { + title: '硬盘名称', + field: 'diskName', + align: 'center', + valign: 'middle', + }, + { + title: '硬盘总大小', + field: 'totalSize', + align: 'center', + valign: 'middle', + }, + { + title: '可用空间大小', + field: 'availableSize', + align: 'center', + valign: 'middle', + }, + { + title: '硬盘可用空间大小', + field: 'availableSize', + align: 'center', + valign: 'middle', + }, + { + title: '硬盘格式', + field: 'diskFormat', + align: 'center', + valign: 'middle', + }, + { + title: '硬盘类型', + field: 'diskType', + align: 'center', + valign: 'middle', + }, + { + title: '最后更新时间', + field: 'diskType', + align: 'center', + valign: 'updateTime', } - ], onLoadSuccess: function (result) { //加载成功时执行 $(".page-list").show(); @@ -90,7 +161,6 @@ function initTable() { onLoadError: function () { //加载失败时执行 tipLoad = 0; } - }); } } diff --git a/src/main/webapp/static/js/vCount/vCountList.js b/src/main/webapp/static/js/vCount/vCountList.js index ca1742f..f212838 100644 --- a/src/main/webapp/static/js/vCount/vCountList.js +++ b/src/main/webapp/static/js/vCount/vCountList.js @@ -788,7 +788,7 @@ function initTable() { //第二层,按科室分组查 function initTable1(row) { $("#table1").bootstrapTable({ // 对应table标签的id - url: path + "/beHosp/beHospList1", // 获取表格数据的url + url: path + "/beHosp/beHospListTwo", // 获取表格数据的url cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true striped: true, //表格显示条纹,默认为false pagination: true, // 在表格底部显示分页组件,默认false