Ver Fonte

用户是否为项目经理

há 5 anos atrás
pai
commit
33b716a4b9

+ 42 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/controller/PowerController.java

@@ -0,0 +1,42 @@
+package com.hssx.cloudmodel.controller;
+
+
+import com.hssx.cloudmodel.service.PowerService;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-08-06
+ */
+@Controller
+@RequestMapping("/power")
+public class PowerController {
+    @Autowired
+    PowerService powerService;
+
+    /**
+     * 权限列表
+     * @param token 用户身份标识
+     * @return
+     */
+    @ApiOperation("权限列表")
+    @RequestMapping("/list")
+    @ResponseBody
+    public HttpRespMsg list(String token){
+        HttpRespMsg msg = powerService.getList(token);
+        return msg;
+    }
+
+}
+

+ 125 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/entity/Power.java

@@ -0,0 +1,125 @@
+package com.hssx.cloudmodel.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-08-06
+ */
+@TableName("tb_power")
+public class Power extends Model<Power> {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 权限类型,0-上传,1-下载,2-浏览,3-审批
+     */
+    @TableField("power_type")
+    private Integer powerType;
+
+    /**
+     * 用户id
+     */
+    @TableField("user_id")
+    private Integer userId;
+
+    /**
+     * 项目id
+     */
+    @TableField("project_id")
+    private Integer projectId;
+
+    /**
+     * 创建时间
+     */
+    @TableField("indate")
+    private LocalDateTime indate;
+
+    /**
+     * 操作文档类型
+     */
+    @TableField("operating_documents_type")
+    private Integer operatingDocumentsType;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getPowerType() {
+        return powerType;
+    }
+
+    public void setPowerType(Integer powerType) {
+        this.powerType = powerType;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public Integer getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(Integer projectId) {
+        this.projectId = projectId;
+    }
+
+    public LocalDateTime getIndate() {
+        return indate;
+    }
+
+    public void setIndate(LocalDateTime indate) {
+        this.indate = indate;
+    }
+
+    public Integer getOperatingDocumentsType() {
+        return operatingDocumentsType;
+    }
+
+    public void setOperatingDocumentsType(Integer operatingDocumentsType) {
+        this.operatingDocumentsType = operatingDocumentsType;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "Power{" +
+        "id=" + id +
+        ", powerType=" + powerType +
+        ", userId=" + userId +
+        ", projectId=" + projectId +
+        ", indate=" + indate +
+        ", operatingDocumentsType=" + operatingDocumentsType +
+        "}";
+    }
+}

+ 2 - 36
cloud-model/src/main/java/com/hssx/cloudmodel/entity/vo/ProjectVO.java

@@ -1,9 +1,6 @@
 package com.hssx.cloudmodel.entity.vo;
 
-import com.hssx.cloudmodel.entity.Mould;
-import com.hssx.cloudmodel.entity.Project;
-import com.hssx.cloudmodel.entity.ProjectApprove;
-import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.entity.*;
 import lombok.Data;
 
 import java.util.ArrayList;
@@ -21,37 +18,6 @@ public class ProjectVO extends Project {
     private List<User> ownerUsers = new ArrayList<>();
     private List<Mould> models = new ArrayList<>();
     private List<ProjectApprove>approves = new ArrayList<>();
+    private List<CustomCompany> customCompanies = new ArrayList<>();
 
-    public List<User> getCustomUsers() {
-        return customUsers;
-    }
-
-    public void setCustomUsers(List<User> customUsers) {
-        this.customUsers = customUsers;
-    }
-
-    public List<User> getOwnerUsers() {
-        return ownerUsers;
-    }
-
-    public void setOwnerUsers(List<User> ownerUsers) {
-        this.ownerUsers = ownerUsers;
-    }
-
-    public List<Mould> getModels() {
-        return models;
-    }
-
-    public void setModels(List<Mould> models) {
-        this.models = models;
-    }
-
-    @Override
-    public String toString() {
-        return "ProjectVO{" +
-                "customUsers=" + customUsers +
-                ", ownerUsers=" + ownerUsers +
-                ", models=" + models +
-                '}';
-    }
 }

+ 16 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/mapper/PowerMapper.java

@@ -0,0 +1,16 @@
+package com.hssx.cloudmodel.mapper;
+
+import com.hssx.cloudmodel.entity.Power;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-08-06
+ */
+public interface PowerMapper extends BaseMapper<Power> {
+
+}

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/mapper/ProjectMapper.java

@@ -20,7 +20,7 @@ import java.util.List;
  */
 public interface ProjectMapper extends BaseMapper<Project> {
 
-    List<Project> getProjectListByUid(@Param("keyName") String keyName, @Param("currentUser") User currentUser);
+    List<ProjectVO> getProjectListByUid(@Param("keyName") String keyName, @Param("currentUser") User currentUser);
 
     ProjectVO getProjectById(@Param("id")Integer id);
 

+ 18 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/PowerService.java

@@ -0,0 +1,18 @@
+package com.hssx.cloudmodel.service;
+
+import com.hssx.cloudmodel.entity.Power;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-08-06
+ */
+public interface PowerService extends IService<Power> {
+
+    HttpRespMsg getList(String token);
+}

+ 30 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/PowerServiceImpl.java

@@ -0,0 +1,30 @@
+package com.hssx.cloudmodel.service.impl;
+
+import com.hssx.cloudmodel.entity.Power;
+import com.hssx.cloudmodel.mapper.PowerMapper;
+import com.hssx.cloudmodel.service.PowerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-08-06
+ */
+@Service
+public class PowerServiceImpl extends ServiceImpl<PowerMapper, Power> implements PowerService {
+    @Resource
+    PowerMapper powerMapper;
+
+    @Override
+    public HttpRespMsg getList(String token) {
+
+        return null;
+    }
+}

+ 2 - 2
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -173,8 +173,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         HttpRespMsg msg = new HttpRespMsg();
         if (currentUser != null) {
             PageHelper.startPage(page.getPageNum(), page.getPageSize());
-            List<Project> projects = projectMapper.getProjectListByUid(keyName, currentUser);
-            PageInfo<Project> pageInfos = new PageInfo<>(projects);
+            List<ProjectVO> projects = projectMapper.getProjectListByUid(keyName, currentUser);
+            PageInfo<ProjectVO> pageInfos = new PageInfo<>(projects);
             msg.data = pageInfos;
         } else {
             msg.setError("当前用户不存,或涉及到权限问题,请重新登录");

+ 20 - 0
cloud-model/src/main/resources/mapper/PowerMapper.xml

@@ -0,0 +1,20 @@
+<?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.hssx.cloudmodel.mapper.PowerMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.hssx.cloudmodel.entity.Power">
+        <id column="id" property="id" />
+        <result column="power_type" property="powerType" />
+        <result column="user_id" property="userId" />
+        <result column="project_id" property="projectId" />
+        <result column="indate" property="indate" />
+        <result column="operating_documents_type" property="operatingDocumentsType" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, power_type, user_id, project_id, indate, operating_documents_type
+    </sql>
+
+</mapper>

+ 50 - 2
cloud-model/src/main/resources/mapper/ProjectMapper.xml

@@ -19,6 +19,33 @@
         <result column="manager_id" property="managerId" />
         <result column="manager" property="manager" />
     </resultMap>
+    <resultMap id="BaseResultMapList" type="com.hssx.cloudmodel.entity.vo.ProjectVO">
+        <id column="id" property="id" />
+        <result column="project_name" property="projectName" />
+        <result column="project_no" property="projectNo" />
+        <result column="start_time" property="startTime" />
+        <result column="end_time" property="endTime" />
+        <result column="content" property="content" />
+        <result column="creator_id" property="creatorId" />
+        <result column="creator" property="creator" />
+        <result column="is_delete" property="isDelete" />
+        <result column="owner_company" property="ownerCompany" />
+        <result column="owner_company_name" property="ownerCompanyName" />
+        <result column="indate" property="indate" />
+        <result column="manager_id" property="managerId" />
+        <result column="manager" property="manager" />
+        <!--以下是分页插件的一对多-->
+        <collection property="customCompanies" javaType="java.util.List" ofType="com.hssx.cloudmodel.entity.CustomCompany"
+                    select="queryCustomCompaniesId" column="id" >
+        </collection>
+    </resultMap>
+<!-- 以上一对多的映射-->
+    <resultMap id="getCustomCompany" type="com.hssx.cloudmodel.entity.CustomCompany">
+        <id column="id" property="id" />
+        <result column="company_id" property="companyId" />
+        <result column="company_name" property="companyName" />
+        <result column="project_id" property="projectId" />
+    </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
@@ -49,9 +76,26 @@
             <result column="subordinate_type" property="subordinateType" />
             <result column="project_id" property="projectId" />
         </collection>
+        <collection property="customCompanies" ofType="com.hssx.cloudmodel.entity.CustomCompany">
+            <id column="id" property="id" />
+            <result column="companyid" property="companyId" />
+            <result column="companyname" property="companyName" />
+            <result column="project_id" property="projectId" />
+            <result column="indate" property="indate" />
+        </collection>
     </resultMap>
 
-    <select id="getProjectListByUid" resultMap="BaseResultMap">
+    <select id="queryCustomCompaniesId" resultMap="getCustomCompany">
+    SELECT
+     c.company_id company_id,c.company_name company_name
+    from
+    tb_project p
+    left JOIN
+    tb_custom_company c
+    on c.project_id = p.id WHERE p.id = #{id}
+    </select>
+
+    <select id="getProjectListByUid" resultMap="BaseResultMapList">
         select
         p.id id,p.project_name project_name, p.creator creator,p.owner_company owner_company,
         p.owner_company_name owner_company_name,
@@ -68,19 +112,23 @@
                 p.project_name like concat('%',#{keyName},'%')
             </if>
         </where>
+        order by p.id desc
     </select>
 
     <select id="getProjectById" resultMap="BaseResultMapVO">
     select
         p.id id, p.project_name project_name, p.project_no project_no, p.creator_id creator_id,
         p.creator creator, p.owner_company owner_company,p.owner_company_name owner_company_name,p.indate indate,
-        m.id model_id, m.model_no model_no,m.model_name model_name,a.approver_id approver_id,a.approver_name approver_name,a.subordinate_type subordinate_type
+        m.id model_id, m.model_no model_no,m.model_name model_name,a.approver_id approver_id,a.approver_name approver_name,a.subordinate_type subordinate_type,
+        c.company_id companyid,c.company_name companyname
     from
         tb_project p
     left join tb_mould m
     on p.id = m.project_id
     left join tb_project_approve a
     on p.id = a.project_id
+    left join tb_custom_company c
+    on c.project_id = p.id
     where
       p.id = #{id}
     </select>