Explorar o código

Merge branch 'master' of http://47.100.37.243:10080/ZHOU/yunsu

Reiskuchen %!s(int64=5) %!d(string=hai) anos
pai
achega
d248a482ed

+ 2 - 2
cloud-model/src/main/java/com/hssx/cloudmodel/controller/FactoryController.java

@@ -44,10 +44,10 @@ public class FactoryController {
     @ApiOperation("添加/修改工厂")
     @RequestMapping("/add")
     @ResponseBody
-    public HttpRespMsg addAndUpdateRole(Factory factory, HttpServletRequest request, Integer flag,
+    public HttpRespMsg addAndUpdateFactory(Factory factory, HttpServletRequest request, Integer flag,
                                         HttpServletResponse response) {
         HttpRespMsg msg = new HttpRespMsg();
-        msg = factoryService.addAndUpdateRole(factory, flag);
+        msg = factoryService.addAndUpdateFactory(factory, flag);
         return msg;
     }
 

+ 46 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/controller/ProjectController.java

@@ -0,0 +1,46 @@
+package com.hssx.cloudmodel.controller;
+
+import com.hssx.cloudmodel.entity.Factory;
+import com.hssx.cloudmodel.entity.Project;
+import com.hssx.cloudmodel.service.ProjectService;
+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.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ *
+ * @author 吴涛涛
+ * @since 2019-07-27
+ */
+@Controller
+@RequestMapping("/project")
+public class ProjectController {
+    @Autowired
+    private ProjectService projectService;
+    /**
+     * 添加/修改项目
+     * 参数:projectName 项目名 ,creatorId 创建人id ,creator 创建人名字
+     * ownerCompany 本项目公司id, ownerCompanyName 本公司名字,customerCompany 客户方公司id
+     * customerCompanyName 客户放公司名称
+     * flag 0-添加,1-修改
+     * @return
+     */
+    @ApiOperation("添加/修改项目")
+    @RequestMapping("/add")
+    @ResponseBody
+    public HttpRespMsg addAndUpdateProject(Project project, HttpServletRequest request, Integer flag,
+                                        HttpServletResponse response) {
+        HttpRespMsg msg = new HttpRespMsg();
+        msg = projectService.addAndUpdateProject(project, flag);
+        return msg;
+    }
+
+}
+

+ 6 - 4
cloud-model/src/main/java/com/hssx/cloudmodel/controller/UserController.java

@@ -139,18 +139,20 @@ public class UserController {
     /**
      *用户列表
      * 参数:pageNum 当前页码,pageSize 每页条数 keyName 关键字查询
-     * account 用户账号 token 用户凭证
+     * account 用户账号 token 用户凭证 roleType 角色类型
+     * roleType 角色类型 (默认-2)companyId 公司id(默认-1)
+     * flag 账号或者名字筛选 (默认0)按名字筛选,1-按账号筛选
      * @return
      */
     @ApiOperation("用户列表")
     @RequestMapping("/list")
     @ResponseBody
-    public HttpRespMsg list(@RequestParam(required = false) String account, HttpServletRequest request,String token,
-                            HttpServletResponse response, PageUtil page,@RequestParam(required = false)String keyName) {
+    public HttpRespMsg list(@RequestParam(required = false) Integer roleType,@RequestParam(required = false) Integer companyId, HttpServletRequest request,String token,
+                            HttpServletResponse response, PageUtil page,@RequestParam(required = false)String keyName,@RequestParam Integer flag) {
         HttpRespMsg msg = new HttpRespMsg();
         User newUser = userService.getOne(new QueryWrapper<User>().eq("head_imgurl", token));
         if(newUser != null){
-            msg = userService.pageList(page,account,keyName,newUser);
+            msg = userService.pageList(page,companyId,flag,keyName,newUser,roleType);
         }else{
             msg.setError("当前用户不存,或涉及到权限问题,请重新登录");
         }

+ 245 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/entity/Project.java

@@ -0,0 +1,245 @@
+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-07-27
+ */
+@TableName("tb_project")
+public class Project extends Model<Project> {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 项目主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 项目名称
+     */
+    @TableField("project_name")
+    private String projectName;
+
+    /**
+     * 项目编号
+     */
+    @TableField("project_no")
+    private String projectNo;
+
+    /**
+     * 开始时间
+     */
+    @TableField("start_time")
+    private LocalDateTime startTime;
+
+    /**
+     * 结束时间
+     */
+    @TableField("end_time")
+    private LocalDateTime endTime;
+
+    /**
+     * 评论内容
+     */
+    @TableField("content")
+    private String content;
+
+    /**
+     * 创建人id
+     */
+    @TableField("creator_id")
+    private Integer creatorId;
+
+    /**
+     * 创建人名字
+     */
+    @TableField("creator")
+    private String creator;
+
+    /**
+     * 是否删除,软删除操作
+     */
+    @TableField("is_delete")
+    private Integer isDelete;
+
+    /**
+     * 本项目公司id
+     */
+    @TableField("owner_company")
+    private Integer ownerCompany;
+
+    /**
+     * 本项目公司名称
+     */
+    @TableField("owner_company_name")
+    private String ownerCompanyName;
+
+    /**
+     * 客户方公司id
+     */
+    @TableField("customer_company")
+    private Integer customerCompany;
+
+    /**
+     * 客户方公司名称
+     */
+    @TableField("customer_company_name")
+    private String customerCompanyName;
+
+    /**
+     * 创建时间
+     */
+    @TableField("indate")
+    private LocalDateTime indate;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getProjectNo() {
+        return projectNo;
+    }
+
+    public void setProjectNo(String projectNo) {
+        this.projectNo = projectNo;
+    }
+
+    public LocalDateTime getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(LocalDateTime startTime) {
+        this.startTime = startTime;
+    }
+
+    public LocalDateTime getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(LocalDateTime endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public Integer getCreatorId() {
+        return creatorId;
+    }
+
+    public void setCreatorId(Integer creatorId) {
+        this.creatorId = creatorId;
+    }
+
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+
+    public Integer getIsDelete() {
+        return isDelete;
+    }
+
+    public void setIsDelete(Integer isDelete) {
+        this.isDelete = isDelete;
+    }
+
+    public Integer getOwnerCompany() {
+        return ownerCompany;
+    }
+
+    public void setOwnerCompany(Integer ownerCompany) {
+        this.ownerCompany = ownerCompany;
+    }
+
+    public String getOwnerCompanyName() {
+        return ownerCompanyName;
+    }
+
+    public void setOwnerCompanyName(String ownerCompanyName) {
+        this.ownerCompanyName = ownerCompanyName;
+    }
+
+    public Integer getCustomerCompany() {
+        return customerCompany;
+    }
+
+    public void setCustomerCompany(Integer customerCompany) {
+        this.customerCompany = customerCompany;
+    }
+
+    public String getCustomerCompanyName() {
+        return customerCompanyName;
+    }
+
+    public void setCustomerCompanyName(String customerCompanyName) {
+        this.customerCompanyName = customerCompanyName;
+    }
+
+    public LocalDateTime getIndate() {
+        return indate;
+    }
+
+    public void setIndate(LocalDateTime indate) {
+        this.indate = indate;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "Project{" +
+        "id=" + id +
+        ", projectName=" + projectName +
+        ", projectNo=" + projectNo +
+        ", startTime=" + startTime +
+        ", endTime=" + endTime +
+        ", content=" + content +
+        ", creatorId=" + creatorId +
+        ", creator=" + creator +
+        ", isDelete=" + isDelete +
+        ", ownerCompany=" + ownerCompany +
+        ", ownerCompanyName=" + ownerCompanyName +
+        ", customerCompany=" + customerCompany +
+        ", customerCompanyName=" + customerCompanyName +
+        ", indate=" + indate +
+        "}";
+    }
+}

+ 30 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/entity/vo/UserVO.java

@@ -0,0 +1,30 @@
+package com.hssx.cloudmodel.entity.vo;
+
+import com.hssx.cloudmodel.entity.User;
+
+/**
+ * Author: 吴涛涛 cuiyi@itany.com
+ * Date : 2019 - 07 - 27 17:31
+ * Description:<描述>
+ * Version: 1.0
+ */
+public class UserVO extends User {
+    private String companyName;
+    private String roleName;
+
+    public String getCompanyName() {
+        return companyName;
+    }
+
+    public void setCompanyName(String companyName) {
+        this.companyName = companyName;
+    }
+
+    public String getRoleName() {
+        return roleName;
+    }
+
+    public void setRoleName(String roleName) {
+        this.roleName = roleName;
+    }
+}

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

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

+ 5 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/mapper/UserMapper.java

@@ -2,6 +2,10 @@ package com.hssx.cloudmodel.mapper;
 
 import com.hssx.cloudmodel.entity.User;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.hssx.cloudmodel.entity.vo.UserVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface UserMapper extends BaseMapper<User> {
 
+    List<UserVO> selectListByCondition(@Param("roleType") Integer roleType, @Param("companyId")Integer companyId,@Param("flag") Integer flag, @Param("user") User user, @Param("keyName") String keyName);
 }

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/FactoryService.java

@@ -15,7 +15,7 @@ import com.hssx.cloudmodel.util.PageUtil;
  */
 public interface FactoryService extends IService<Factory> {
 
-    HttpRespMsg addAndUpdateRole(Factory factory, Integer flag);
+    HttpRespMsg addAndUpdateFactory(Factory factory, Integer flag);
 
     HttpRespMsg pageList(PageUtil page, String keyName);
 }

+ 19 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/ProjectService.java

@@ -0,0 +1,19 @@
+package com.hssx.cloudmodel.service;
+
+import com.hssx.cloudmodel.entity.Factory;
+import com.hssx.cloudmodel.entity.Project;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-07-27
+ */
+public interface ProjectService extends IService<Project> {
+
+    HttpRespMsg addAndUpdateProject(Project project, Integer flag);
+}

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/UserService.java

@@ -21,5 +21,5 @@ public interface UserService extends IService<User> {
 
     HttpRespMsg login(User user, HttpServletRequest request);
 
-    HttpRespMsg pageList(PageUtil page, String account, String keyName,User user);
+    HttpRespMsg pageList(PageUtil page,Integer companyId,Integer flag,String keyName,User user,Integer roleType);
 }

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/FactoryServiceImpl.java

@@ -29,7 +29,7 @@ public class FactoryServiceImpl extends ServiceImpl<FactoryMapper, Factory> impl
     @Autowired
     FactoryMapper factoryMapper;
     @Override
-    public HttpRespMsg addAndUpdateRole(Factory factory, Integer flag) {
+    public HttpRespMsg addAndUpdateFactory(Factory factory, Integer flag) {
         HttpRespMsg msg = new HttpRespMsg();
         if (flag == 0) {
             //添加公司

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

@@ -0,0 +1,54 @@
+package com.hssx.cloudmodel.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.hssx.cloudmodel.entity.Project;
+import com.hssx.cloudmodel.mapper.ProjectMapper;
+import com.hssx.cloudmodel.service.ProjectService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-07-27
+ */
+@Service
+public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements ProjectService {
+
+    @Autowired
+    ProjectMapper projectMapper;
+
+    @Override
+    public HttpRespMsg addAndUpdateProject(Project project, Integer flag) {
+        HttpRespMsg msg = new HttpRespMsg();
+        QueryWrapper<Project> qw = new QueryWrapper<>();
+        qw.orderByDesc("id").last("limit 1");
+        Project lastProject = projectMapper.selectOne(qw);
+        if (flag == 0) {
+            synchronized (this) {
+                int count = 1;
+                if (lastProject != null) {
+                    //YMXM201903220001
+                    String numStr = lastProject.getProjectNo().substring(13);
+                    int num = Integer.valueOf(numStr).intValue();
+                    count += num;
+                }
+                long time = System.currentTimeMillis();
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+                String seq = sdf.format(time) + String.format("%04d", count);
+                project.setProjectNo("YMXM"+seq);
+                projectMapper.insert(project);
+            }
+        }else if(flag == 1){
+            projectMapper.updateById(project);
+        }
+        return msg;
+    }
+}

+ 5 - 11
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/UserServiceImpl.java

@@ -5,6 +5,7 @@ import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.hssx.cloudmodel.constant.Constant;
 import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.entity.vo.UserVO;
 import com.hssx.cloudmodel.mapper.UserMapper;
 import com.hssx.cloudmodel.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -56,18 +57,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     }
 
     @Override
-    public HttpRespMsg pageList(PageUtil page, String account, String keyName,User user) {
+    public HttpRespMsg pageList(PageUtil page, Integer companyId, Integer flag, String keyName, User user, Integer roleType) {
         HttpRespMsg msg = new HttpRespMsg();
-        QueryWrapper<User> qw = new QueryWrapper<>();
-        if(keyName !=null && !"".equals(keyName)){
-            qw.eq("username", keyName);
-        }else if(account !=null && !"".equals(account)){
-            qw.eq("account", account);
-        }
-        qw.eq("parent_id",user.getParentId());
-        PageHelper.startPage(page.getPageNum(),page.getPageSize());
-        List<User> users = userMapper.selectList(qw);
-        PageInfo<User> pageInfos = new PageInfo<>(users);
+        PageHelper.startPage(page.getPageNum(), page.getPageSize());
+        List<UserVO> users = userMapper.selectListByCondition(roleType,companyId,flag, user, keyName);
+        PageInfo<UserVO> pageInfos = new PageInfo<>(users);
         msg.data = pageInfos;
         return msg;
     }

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/util/CodeGenerator.java

@@ -204,7 +204,7 @@ public class CodeGenerator {
         //若想要生成的实体类继承某个Controller,则可打开下面注释。写上需要继承的Controller的位置即可
 //        strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController");
         //此处user是表名,多个英文逗号分割
-        strategy.setInclude("tb_user");
+        strategy.setInclude("tb_project");
 //        strategy.setExclude();//数据库表全生成
 //        strategy.setInclude(scanner("user").split(","));//表名,多个英文逗号分割
         strategy.setControllerMappingHyphenStyle(true);

+ 28 - 0
cloud-model/src/main/resources/mapper/ProjectMapper.xml

@@ -0,0 +1,28 @@
+<?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.ProjectMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.hssx.cloudmodel.entity.Project">
+        <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="customer_company" property="customerCompany" />
+        <result column="customer_company_name" property="customerCompanyName" />
+        <result column="indate" property="indate" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, project_name, project_no, start_time, end_time, content, creator_id, creator, is_delete, owner_company, owner_company_name, customer_company, customer_company_name, indate
+    </sql>
+
+</mapper>

+ 49 - 0
cloud-model/src/main/resources/mapper/UserMapper.xml

@@ -21,10 +21,59 @@
         <result column="team_name" property="teamName" />
         <result column="subordinate_type" property="subordinateType" />
     </resultMap>
+    <resultMap id="BaseResultMapVO" type="com.hssx.cloudmodel.entity.vo.UserVO">
+        <id column="id" property="id" />
+        <result column="account" property="account" />
+        <result column="username" property="username" />
+        <result column="password" property="password" />
+        <result column="mobile" property="mobile" />
+        <result column="role_type" property="roleType" />
+        <result column="role_name" property="roleName" />
+        <result column="company_id" property="companyId" />
+        <result column="company_name" property="companyName"/>
+        <result column="parent_id" property="parentId" />
+        <result column="sex" property="sex" />
+        <result column="dep_no" property="depNo" />
+        <result column="work_state" property="workState" />
+        <result column="is_disable" property="isDisable" />
+        <result column="indate" property="indate" />
+        <result column="head_imgurl" property="headImgurl" />
+        <result column="team_name" property="teamName" />
+        <result column="subordinate_type" property="subordinateType" />
+    </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id, account, username, password, mobile, role_type, company_id, parent_id, sex, dep_no, work_state, is_disable, indate, head_imgurl, team_name, subordinate_type
     </sql>
 
+    <select id="selectListByCondition" resultMap="BaseResultMapVO">
+        SELECT
+          u.id id, u.account account, u.username username, u.password password, u.mobile mobile, u.role_type role_type, u.company_id company_id, c.`company_name` company_name,
+           r.role_name role_name,u.parent_id parent_id, u.sex sex, u.dep_no dep_no, u.work_state work_state, u.is_disable is_disable,
+           u.indate indate, u.head_imgurl head_imgurl, u.team_name team_name, u.subordinate_type subordinate_type
+        FROM
+          tb_user AS u
+          LEFT JOIN tb_company c
+        ON u.company_id = c.`id`
+        LEFT JOIN tb_role r
+        ON r.`id` = u.`role_type`
+        <where>
+            u.parent_id = #{user.id}
+            <if test="flag==0 and keyName != '' and keyName !=null">
+               AND u.username like concat('%',#{keyName},'%')
+            </if>
+            <if test="flag==1 and keyName != '' and keyName !=null">
+              AND u.account like concat('%',#{keyName},'%')
+            </if>
+            <if test="roleType != -2">
+              AND  u.role_type = #{roleType}
+            </if>
+            <if test="companyId != -1">
+              AND  u.company_id = #{companyId}
+            </if>
+        </where>
+        Order by u.id desc
+    </select>
+
 </mapper>