浏览代码

1.新增菜单访问记录功能
2.修改部件详细查看页数据

wangzhun 3 年之前
父节点
当前提交
c9bab4c591

+ 2 - 0
sxgk-projet/base-service/src/main/java/com/tofly/base/controller/MenuController.java

@@ -164,4 +164,6 @@ public class MenuController {
     public ResultRespone uploadBatchMenu(MultipartFile file){
         return ResultRespone.success(menuService.uploadBatchMenu(file));
     }
+
 }
+

+ 116 - 0
sxgk-projet/base-service/src/main/java/com/tofly/base/controller/MenuVisitLogController.java

@@ -0,0 +1,116 @@
+/*
+ * Author: wangjian
+ * 生成controller
+ */
+package com.tofly.base.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Assert;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.tofly.base.entity.User;
+import com.tofly.base.service.UserService;
+import com.tofly.common.core.entity.ResultRespone;
+import com.tofly.common.core.util.IpUtil;
+import com.tofly.common.log.annotation.ToFlyAppLog;
+import com.tofly.base.entity.MenuVisitLog;
+import com.tofly.base.service.MenuVisitLogService;
+import com.tofly.common.oauth.util.SecurityUtils;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * 菜单访问记录
+ *
+ * @author wangzhun
+ * @date Mon Nov 15 00:00:00 CST 2021
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/menuvisitlog")
+@Api(tags="菜单访问记录接口")
+public class MenuVisitLogController {
+    private final UserService userService;
+    private final  MenuVisitLogService menuVisitLogService;
+
+    /**
+    * 分页查询
+    * @param page 分页对象
+    * @param menuVisitLog 菜单访问记录
+    * @return
+    */
+    @GetMapping("/page" )
+    @ApiOperation(value = "分页查询")
+    public ResultRespone getMenuVisitLogPage(Page page, @ModelAttribute MenuVisitLog menuVisitLog) {
+      return ResultRespone.success(menuVisitLogService.page(page, Wrappers.query(menuVisitLog)));
+    }
+
+
+    /**
+     * 通过id查询菜单访问记录
+     * @param id id
+     * @return ResultRespone
+     */
+    @GetMapping("/{id}" )
+    @ApiOperation(value = "通过ID查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "Long")
+    })
+    public ResultRespone getById(@PathVariable("id" ) Long id) {
+      return ResultRespone.success(menuVisitLogService.getById(id));
+    }
+
+    /**
+     * 新增菜单访问记录
+     * @param menuVisitLog 菜单访问记录
+     * @return ResultRespone
+     */
+    @ToFlyAppLog(title="新增菜单访问记录" )
+    @ApiOperation(value = "新增菜单访问记录")
+    @PostMapping
+    public ResultRespone save(@RequestBody MenuVisitLog menuVisitLog) {
+        //参数补全以及验证
+          paraCompletAndValidate(menuVisitLog);
+
+
+      return ResultRespone.success(menuVisitLogService.save(menuVisitLog));
+    }
+
+    /**
+     * 参数补全 以及验证
+     * @param menuVisitLog
+     */
+    private void paraCompletAndValidate(MenuVisitLog menuVisitLog) {
+        //数据验证
+        Assert.notNull(menuVisitLog.getMenuName(),"请传入菜单名称");
+
+
+
+        Long userId = SecurityUtils.getUserId();
+        User byId = userService.getById(userId);
+        menuVisitLog.setOperateUserId(userId);
+        menuVisitLog.setOperateUser(byId.getRealName());
+        menuVisitLog.setOperateTime(new Date());
+        menuVisitLog.setDepartmentName(byId.getDepartmentName());
+        //获取请求的ip
+        HttpServletRequest request = ((ServletRequestAttributes) Objects
+                .requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+        menuVisitLog.setOperateIp(IpUtil.getIpAddr(request));
+
+
+
+    }
+
+
+}

+ 74 - 0
sxgk-projet/base-service/src/main/java/com/tofly/base/entity/MenuVisitLog.java

@@ -0,0 +1,74 @@
+/*
+ * Author: wangjian
+ * 生成entity
+ */
+package com.tofly.base.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+/**
+ * 菜单访问记录
+ *
+ * @author wangzhun
+ * @date Mon Nov 15 00:00:00 CST 2021
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName(value="TF_SMPN_MENU_VISIT_LOG_X",resultMap = "menuVisitLogMap")
+@KeySequence("TF_SMPN_MENU_VISIT_LOG_X")
+@ApiModel
+public class MenuVisitLog extends Model<MenuVisitLog> {
+    private static final long serialVersionUID = 1L;
+
+        /**
+     * $column.comments
+     */
+        @TableId(value = "ID",type= IdType.INPUT)
+            @ApiModelProperty(value = "$column.comments")
+                private Long id;
+                /**
+     * 菜单名称
+     */
+            @ApiModelProperty(value = "菜单名称")
+                private String menuName;
+                /**
+     * 部门名称
+     */
+            @ApiModelProperty(value = "部门名称")
+                private String departmentName;
+                /**
+     * 操作人
+     */
+            @ApiModelProperty(value = "操作人")
+                private String operateUser;
+                /**
+     * 操作人id
+     */
+            @ApiModelProperty(value = "操作人id")
+                private Long operateUserId;
+                /**
+     * 操作时间
+     */
+            @ApiModelProperty(value = "操作时间")
+        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+                private Date operateTime;
+                /**
+     * 操作ip
+     */
+            @ApiModelProperty(value = "操作ip")
+                private String operateIp;
+            
+}

+ 20 - 0
sxgk-projet/base-service/src/main/java/com/tofly/base/mapper/MenuVisitLogMapper.java

@@ -0,0 +1,20 @@
+/*
+ * Author: wangjian
+ * 生成mapper
+ */
+package com.tofly.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.tofly.base.entity.MenuVisitLog;
+import org.apache.ibatis.annotations.Param;
+
+
+import java.util.List;
+/**
+ * 菜单访问记录
+ *
+ * @author wangzhun
+ * @date Mon Nov 15 00:00:00 CST 2021
+ */
+public interface MenuVisitLogMapper extends BaseMapper<MenuVisitLog> {
+                            }

+ 18 - 0
sxgk-projet/base-service/src/main/java/com/tofly/base/service/MenuVisitLogService.java

@@ -0,0 +1,18 @@
+/*
+ * Author: wangjian
+ * 生成Service
+ */
+package com.tofly.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.tofly.base.entity.MenuVisitLog;
+
+/**
+ * 菜单访问记录
+ *
+ * @author wangzhun
+ * @date Mon Nov 15 00:00:00 CST 2021
+ */
+public interface MenuVisitLogService extends IService<MenuVisitLog> {
+
+}

+ 22 - 0
sxgk-projet/base-service/src/main/java/com/tofly/base/service/impl/MenuVisitLogServiceImpl.java

@@ -0,0 +1,22 @@
+/*
+ * Author: wangjian
+ * 生成ServiceImpl
+ */
+package com.tofly.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.tofly.base.entity.MenuVisitLog;
+import com.tofly.base.service.MenuVisitLogService;
+import org.springframework.stereotype.Service;
+import com.tofly.base.mapper.MenuVisitLogMapper;
+
+/**
+ * 菜单访问记录
+ *
+ * @author wangzhun
+ * @date Mon Nov 15 00:00:00 CST 2021
+ */
+@Service("menuVisitLogService")
+public class MenuVisitLogServiceImpl extends ServiceImpl<MenuVisitLogMapper, MenuVisitLog> implements MenuVisitLogService {
+
+}

+ 17 - 0
sxgk-projet/base-service/src/main/resources/mapper/MenuVisitLogMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.tofly.base.mapper.MenuVisitLogMapper">
+
+    <resultMap id="menuVisitLogMap" type="com.tofly.base.entity.MenuVisitLog">
+        <id property="id" column="ID"/>
+        <result property="menuName" column="MENU_NAME"/>
+        <result property="departmentName" column="DEPARTMENT_NAME"/>
+        <result property="operateUser" column="OPERATE_USER"/>
+        <result property="operateUserId" column="OPERATE_USER_ID"/>
+        <result property="operateTime" column="OPERATE_TIME"/>
+        <result property="operateIp" column="OPERATE_IP"/>
+    </resultMap>
+
+
+</mapper>

+ 6 - 1
sxgk-projet/sxgk/src/main/java/com/tofly/sxgk/controller/OutPiperController.java

@@ -43,7 +43,12 @@ public class OutPiperController {
     @GetMapping("/page" )
     @ApiOperation(value = "分页查询")
     public ResultRespone getOutPiperPage(Page page, @ModelAttribute OutPiper outPiper) {
-      return ResultRespone.success(outPiperService.page(page, Wrappers.query(outPiper)));
+      return ResultRespone.success(outPiperService.page(page,
+              Wrappers.query(outPiper).like(!StringUtils.isBlank(outPiper.getQueryPara()),
+                      "detection_Unit",outPiper.getQueryPara()).or().like(!StringUtils.isBlank(outPiper.getQueryPara()),
+                      "batch_Name",outPiper.getQueryPara())
+
+      ));
     }
 
 

+ 11 - 0
sxgk-projet/sxgk/src/main/java/com/tofly/sxgk/custom/controller/CustomStructureController.java

@@ -522,6 +522,17 @@ public class CustomStructureController {
         .eq(Psnode::getCode,code)));
     }
 
+    @ApiOperation(tags="部件时间相关",value = "部件时间相关")
+    @GetMapping("/parts/getPartsTime")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "code", value = "PBS编码", required = true, dataType = "String")
+    })
+    public ResultRespone getNodeAndPipeInfo(String code){
+
+        return ResultRespone.success(customNewPipeAndNodeService.findPartsTime(code));
+    }
+
+
     @ApiOperation(tags="管线普查最新数据字典接口",value = "根据PBS编码查询属性信息")
     @GetMapping("/pspipe/getPipeInfo")
     @ApiImplicitParams({

+ 2 - 0
sxgk-projet/sxgk/src/main/java/com/tofly/sxgk/custom/mapper/CustomNewPipeAndNodeServiceMapper.java

@@ -74,4 +74,6 @@ public interface CustomNewPipeAndNodeServiceMapper {
     public List<Map<String,Object>> getHasBeginInfo( @Param("prjId") Long prjId );
 
     public List<Map> findQbsPhotoList( @Param("query") QbsQueryDto qbsQueryDto);
+
+    public Map findPartsTime(@Param("code")String code);
 }

+ 7 - 0
sxgk-projet/sxgk/src/main/java/com/tofly/sxgk/custom/service/CustomNewPipeAndNodeService.java

@@ -62,4 +62,11 @@ public interface CustomNewPipeAndNodeService {
     );
 
     public List<Map> findQbsPhotoList(QbsQueryDto qbsQueryDto);
+
+    /**
+     * 获取部件的 项目开始时间   项目结束时间   部件实际开始时间  部件实际结束时间
+     * @param code
+     * @return
+     */
+    public Map findPartsTime(String code);
 }

+ 5 - 0
sxgk-projet/sxgk/src/main/java/com/tofly/sxgk/custom/service/impl/CustomNewPipeAndNodeServiceImpl.java

@@ -238,6 +238,11 @@ public class CustomNewPipeAndNodeServiceImpl  implements CustomNewPipeAndNodeSer
         return customNewPipeAndNodeServiceMapper.findQbsPhotoList(qbsQueryDto);
     }
 
+    @Override
+    public Map findPartsTime(String code) {
+        return customNewPipeAndNodeServiceMapper.findPartsTime(code);
+    }
+
     public Map<String,Object> switchPercentListToMap(List<Map<String,Object>> percentMap){
         Map<String,Object> mapData = new HashMap<>();
         percentMap.forEach(pmap->{

+ 7 - 0
sxgk-projet/sxgk/src/main/java/com/tofly/sxgk/entity/OutPiper.java

@@ -6,6 +6,7 @@ package com.tofly.sxgk.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.tofly.mybatisplus.config.ToflySqlCondition;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -63,6 +64,7 @@ public class OutPiper extends Model<OutPiper> {
      * $column.comments
      */
             @ApiModelProperty(value = "批次号")
+
                 private String batchNum;
                 /**
      * $column.comments
@@ -80,6 +82,7 @@ public class OutPiper extends Model<OutPiper> {
      * $column.comments
      */
             @ApiModelProperty(value = "上传单位")
+            @TableField(condition = ToflySqlCondition.LIKE)
                 private String detectionUnit;
                 /**
      * $column.comments
@@ -151,4 +154,8 @@ public class OutPiper extends Model<OutPiper> {
 
     @ApiModelProperty(value = "更新时间")
     private Date updateTime;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "更新时间 数据名称和上传单位模糊查询值")
+    private  String queryPara;
 }

+ 35 - 0
sxgk-projet/sxgk/src/main/resources/customMapper/CustomNewPipeAndNodeServiceMapper.xml

@@ -1295,4 +1295,39 @@
             )
         </if>
     </select>
+
+    <select id="findPartsTime" resultType="java.util.Map">
+        with endTimeOverCode as (
+            select *from (
+                             select a.create_time,a.pbs_code,a.pd_code,rank () over (partition by pbs_code order by a.create_time desc)
+                                 pub,p.is_finish  from tf_ywpn_newpsnode_w a  left join tf_ywpn_procedure_new_w p on a.pd_code = p.id
+                             where a.pbs_code =#{code}
+                         ) where pub=1
+            union all
+            select *from (
+                             select a.create_time,a.pbs_code,a.pd_code,rank () over (partition by pbs_code order by a.create_time desc)
+                                 pub,p.is_finish  from tf_ywpn_newpspipe_w a  left join tf_ywpn_procedure_new_w p on a.pd_code = p.id
+                             where a.pbs_code =#{code}
+                         ) where pub=1
+        ),
+             beginTimeOverCode as (
+                 select pbs_code,min(create_time) beginTime from tf_ywpn_newpsnode_w
+                 where 1=1
+                   and pbs_code =#{code}
+                 group by pbs_code
+                 union all
+                 select pbs_code,min(create_time) beginTime from tf_ywpn_newpspipe_w
+                 where 1=1
+                   and pbs_code =#{code}
+
+                 group by pbs_code
+
+
+             )
+
+        select be.pbs_code,be.beginTime,en.create_time lasTime,en.is_finish from  beginTimeOverCode be,endTimeOverCode en
+
+
+
+    </select>
 </mapper>