XiaoRuby
2023-08-25 b0b77110b22827d453e9a1580906b3f53add19f9
开发8-25人员管理剩余编辑功能
已修改15个文件
已重命名3个文件
166 ■■■■■ 文件已修改
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/OrganizationalMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Organizational.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/OrganizationalService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/OrganizationalServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/MaterialMapper.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/OrganizationalMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/ProductMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/main/resources/application-dev.yml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/UserMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/NewPersonnelVo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/PagePersonnelVo.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/UpdatePersonnelVo.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/resources/mapper/UserMapper.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java
@@ -45,7 +45,6 @@
    })
    @GetMapping("/table")
    public Result<?> getDepartmentListTable(Integer departmentId) {
        MyUtil.PrintLog(departmentId.toString());
        List<Map<String, Object>> departmentListTable = organizationalService.getDepartmentListTable(departmentId);
        return Result.success(departmentListTable);
    }
@@ -72,11 +71,8 @@
    @ApiOperation(value = "删除部门")
    @DeleteMapping("/delete")
    public Result<?> deleteDepartment(Integer id) {
        Integer deleteDepartment = organizationalService.deleteDepartment(id);
        if (deleteDepartment >= 1){
            return Result.success("删除成功!");
        }
        return Result.fail("删除失败!");
    public Result<?> deleteDepartment(String ids) {
        organizationalService.deleteDepartment(ids);
        return Result.success("删除成功!");
    }
}
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/OrganizationalMapper.java
@@ -19,4 +19,6 @@
    List<Map<String, Object>> OrganizationalTree(Integer father_id);
    List<Map<String, Object>> getDepartmentListTable(Integer departmentId);
    void deleteDepartment(String ids);
}
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Organizational.java
@@ -16,6 +16,7 @@
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
 * <p>
@@ -41,7 +42,7 @@
    @ApiModelProperty(value = "部门名称", example = "开发部", required = true)
    private String department;
    @NotBlank(message = "请选择上级部门!")
    @NotNull(message = "请选择上级部门!")
    @ApiModelProperty(value = "上级部门ID", example = "1", required = true)
    private Integer fatherId;
standard-server/src/main/java/com/yuanchu/limslaboratory/service/OrganizationalService.java
@@ -22,7 +22,7 @@
    Integer updateDepartment(Integer id, Organizational organizational);
    Integer deleteDepartment(Integer id);
    void deleteDepartment(String ids);
    List<Map<String, Object>> getDepartmentListTable(Integer departmentId);
}
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/OrganizationalServiceImpl.java
@@ -40,8 +40,8 @@
        Map<String, Object> map = new HashMap<>();
        List<Map<String, Object>> mapData = new ArrayList<>();
        map.put("children", mapList);
        map.put("id", 0);
        map.put("department", firstEnterpriseName);
        map.put("value", 0);
        map.put("label", firstEnterpriseName);
        mapData.add(map);
        return mapData;
    }
@@ -59,11 +59,8 @@
    }
    @Override
    public Integer deleteDepartment(Integer id) {
        LambdaUpdateWrapper<Organizational> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(Organizational::getId, id);
        updateWrapper.set(Organizational::getState, 0);
        return organizationalMapper.update(new Organizational(), updateWrapper);
    public void deleteDepartment(String ids) {
        organizationalMapper.deleteDepartment(ids);
    }
    @Override
standard-server/src/main/resources/mapper/MaterialMapper.xml
@@ -54,13 +54,14 @@
    <select id="FourTree" resultMap="OneLevelTreeMap">
        SELECT m.`type`, m.`id` materialId, m.`name` materialName, s.id standardId, s.name standardName,
        f.id specificationsId, f.name specificationsName
               f.id specificationsId, f.name specificationsName
        FROM material m
        LEFT JOIN (SELECT s.`id`, s.`name`, s.`material_id` FROM standard s WHERE s.`state` = 1) s
        ON s.material_id = m.`id`
        LEFT JOIN (SELECT f.`id`, f.`name`, f.`standard_id` FROM specifications f WHERE f.`state` = 1) f
        ON f.standard_id = s.id
                 LEFT JOIN (SELECT s.`id`, s.`name`, s.`material_id` FROM standard s WHERE s.`state` = 1) s
                           ON s.material_id = m.`id`
                 LEFT JOIN (SELECT f.`id`, f.`name`, f.`standard_id`, f.`create_time` FROM specifications f WHERE f.`state` = 1) f
                           ON f.standard_id = s.id
        WHERE m.`state` = 1
        ORDER BY f.create_time DESC
    </select>
</mapper>
standard-server/src/main/resources/mapper/OrganizationalMapper.xml
@@ -9,7 +9,10 @@
    </resultMap>
    <select id="OrganizationalTree" resultMap="OrganizationalMap">
        SELECT o.id, o.`department` FROM organizational o where o.`father_id` = #{father_id}
        SELECT o.id, o.`department`
        FROM organizational o
        where o.`father_id` = #{father_id}
        and o.state = 1
    </select>
    <select id="getDepartmentListTable" resultType="map">
@@ -18,4 +21,10 @@
        WHERE o.`father_id` = #{departmentId}
          AND o.`state` = 1
    </select>
    <select id="deleteDepartment">
        update lims_laboratory.organizational
        set state=0
        where id in (${ids})
    </select>
</mapper>
standard-server/src/main/resources/mapper/ProductMapper.xml
@@ -35,6 +35,7 @@
        from lims_laboratory.product
        where state = 1
          and specifications_id = #{specificationsId}
        ORDER BY product.`create_time` DESC
    </select>
    <select id="deleteList">
sys/src/main/resources/application-dev.yml
@@ -40,8 +40,10 @@
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.110.209:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: user
#    url: jdbc:mysql://192.168.110.209:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#    username: user
    url: jdbc:mysql://localhost:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    password: 123456
    druid:
      #   Druid数据源配置
@@ -65,7 +67,8 @@
    # redis数据库索引(默认为0),我们使用索引为3的数据库,避免和其他数据库冲突
    database: 0
    # redis服务器地址(默认为localhost)
    host: 192.168.110.209
#    host: 192.168.110.209
    host: localhost
    # redis端口(默认为6379)
    port: 6380
    # redis访问密码(默认为空)
user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java
@@ -4,18 +4,16 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.clients.UserLoginUtils;
import com.yuanchu.limslaboratory.pojo.Enterprise;
import com.yuanchu.limslaboratory.pojo.User;
import com.yuanchu.limslaboratory.service.UserService;
import com.yuanchu.limslaboratory.shiro.realm.ShiroRealm;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
import com.yuanchu.limslaboratory.utils.MyUtil;
import com.yuanchu.limslaboratory.utils.RedisUtil;
import com.yuanchu.limslaboratory.utils.SpringUtil;
import com.yuanchu.limslaboratory.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.vo.PagePersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.PagePersonnelVo;
import com.yuanchu.limslaboratory.vo.Result;
import com.yuanchu.limslaboratory.vo.UpdatePersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.UpdatePersonnelVo;
import io.swagger.annotations.*;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.IncorrectCredentialsException;
@@ -135,10 +133,11 @@
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageNo", value = "起始页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "pageSize", value = "每一页数量", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "name", value = "人员名称", dataTypeClass = String.class)
            @ApiImplicitParam(name = "name", value = "人员名称", dataTypeClass = String.class),
            @ApiImplicitParam(name = "status", value = "在职状态", dataTypeClass = Integer.class)
    })
    public Result<Map<String, Object>> getNewPersonnelPage(Integer pageNo, Integer pageSize, String name) {
        IPage<PagePersonnelVo> PageList = userService.getNewPersonnelPage(name, new Page<Objects>(pageNo, pageSize));
    public Result<Map<String, Object>> getNewPersonnelPage(Integer pageNo, Integer pageSize, String name, Integer status) {
        IPage<PagePersonnelVo> PageList = userService.getNewPersonnelPage(name, new Page<Objects>(pageNo, pageSize), status);
        Map<String, Object> map = new HashMap<>();
        map.put("row", PageList.getRecords());
        map.put("total", PageList.getTotal());
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/UserMapper.java
@@ -4,14 +4,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.limslaboratory.vo.PagePersonnelVo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import com.yuanchu.limslaboratory.pojo.vo.PagePersonnelVo;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
 * <p>
@@ -24,7 +20,7 @@
public interface UserMapper extends BaseMapper<User> {
    Map<String, String> selectUserByUserId(int userId);
    IPage<PagePersonnelVo> getNewPersonnelPage(String name, Page page);
    IPage<PagePersonnelVo> getNewPersonnelPage(String name, Page page, Integer status);
    List<Map<String,Object>> selectUser();
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java
@@ -78,6 +78,13 @@
    @ApiModelProperty(value = "关联 ä¼ä¸šid")
    private Integer enterpriseId;
    @ApiModelProperty(value = "组织架构Id", example = "2")
    private Integer organizationId;
    @TableLogic(value = "1", delval = "0")
    @ApiModelProperty(value = "逻辑删除 æ­£å¸¸>=1,删除<=0")
    private Integer state;
    public User(String account, String name, String phone, String email, String info) {
        this.account = account;
        this.name = name;
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/NewPersonnelVo.java
ÎļþÃû´Ó user-server/src/main/java/com/yuanchu/limslaboratory/vo/NewPersonnelVo.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.yuanchu.limslaboratory.vo;
package com.yuanchu.limslaboratory.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
@@ -18,7 +18,7 @@
    private String account;
    @ApiModelProperty(value = "0:无权限;1:有权限", example = "1", required = true)
    private Integer role_id;
    private Integer roleId;
    @ApiModelProperty(value = "年龄", example = "23")
    private Integer age;
@@ -31,4 +31,7 @@
    @ApiModelProperty(value = "邮箱", example = "12345678@qq.com")
    private String email;
    @ApiModelProperty(value = "组织架构Id", example = "2")
    private Integer organizationId;
}
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/PagePersonnelVo.java
ÎļþÃû´Ó user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.yuanchu.limslaboratory.vo;
package com.yuanchu.limslaboratory.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
@@ -36,4 +36,6 @@
    @ApiModelProperty(value = "在职状态 æ­£å¸¸>=1,离职<=0", example = "0")
    private Integer jobState;
    private String department;
}
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/UpdatePersonnelVo.java
ÎļþÃû´Ó user-server/src/main/java/com/yuanchu/limslaboratory/vo/UpdatePersonnelVo.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.yuanchu.limslaboratory.vo;
package com.yuanchu.limslaboratory.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -36,6 +36,4 @@
    @ApiModelProperty(value = "账号密码", example = "654321")
    private String password;
}
user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java
@@ -4,9 +4,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.limslaboratory.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.vo.PagePersonnelVo;
import com.yuanchu.limslaboratory.vo.UpdatePersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.PagePersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.UpdatePersonnelVo;
import java.util.List;
import java.util.Map;
@@ -50,7 +50,7 @@
     * @param page
     * @return
     */
    IPage<PagePersonnelVo> getNewPersonnelPage(String name, Page page);
    IPage<PagePersonnelVo> getNewPersonnelPage(String name, Page page, Integer status);
    /**
     * ç™»å½•获取用户基本信息与系统超时时间提醒
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
@@ -8,10 +8,12 @@
import com.yuanchu.limslaboratory.mapper.UserMapper;
import com.yuanchu.limslaboratory.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
import com.yuanchu.limslaboratory.utils.MyUtil;
import com.yuanchu.limslaboratory.utils.RedisUtil;
import com.yuanchu.limslaboratory.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.vo.PagePersonnelVo;
import com.yuanchu.limslaboratory.vo.UpdatePersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.PagePersonnelVo;
import com.yuanchu.limslaboratory.pojo.vo.UpdatePersonnelVo;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
@@ -101,16 +103,13 @@
    @Override
    public Integer addNewPersonnel(NewPersonnelVo newPersonnelVo, String enterpriseId) {
        User user = new User()
                .setName(newPersonnelVo.getName())
                .setAccount(newPersonnelVo.getAccount())
                .setAge(String.valueOf(newPersonnelVo.getAge()))
                .setPhone(newPersonnelVo.getPhone())
                .setEmail(newPersonnelVo.getEmail())
                .setRoleId(newPersonnelVo.getRole_id())
                .setPassword(newPersonnelVo.getPassword())
                .setEnterpriseId(Integer.valueOf(enterpriseId));
        return userMapper.insert(user);
        try {
            User unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(newPersonnelVo), User.class);
            unmarshal.setEnterpriseId(Integer.valueOf(enterpriseId));
            return userMapper.insert(unmarshal);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    @Override
@@ -130,7 +129,8 @@
    }
    @Override
    public IPage<PagePersonnelVo> getNewPersonnelPage(String name, Page page) {
        return userMapper.getNewPersonnelPage(name, page);
    public IPage<PagePersonnelVo> getNewPersonnelPage(String name, Page page, Integer status) {
        MyUtil.PrintLog(name + status + "=============");
        return userMapper.getNewPersonnelPage(name, page, status);
    }
}
user-server/src/main/resources/mapper/UserMapper.xml
@@ -17,7 +17,7 @@
          AND u.id = #{userId}
    </select>
    <resultMap id="PagePersonnelVoMap" type="com.yuanchu.limslaboratory.vo.PagePersonnelVo">
    <resultMap id="PagePersonnelVoMap" type="com.yuanchu.limslaboratory.pojo.vo.PagePersonnelVo">
        <result property="id" column="id"/>
        <result property="username" column="username"/>
        <result property="roleName" column="roleName"/>
@@ -26,15 +26,24 @@
        <result property="phone" column="phone"/>
        <result property="email" column="email"/>
        <result property="jobState" column="job_state"/>
        <result property="department" column="department"/>
    </resultMap>
    <select id="getNewPersonnelPage" resultMap="PagePersonnelVoMap">
        SELECT u.`id`, u.`name` username, r.`name` roleName, u.`create_time`, IFNULL(u.`age`, '---') age,
        IFNULL(u.`phone`, '---') phone, IFNULL(u.`email`, '---') email, u.`job_state`
        FROM `user` u, role r
        WHERE u.`role_id` = r.`id`
        <if test="name != null and name!=''">
            AND u.name = #{name}
        SELECT u.`id`, u.`name` username, r.`name` roleName, u.`create_time`, u.`age`,
        u.`phone`, u.`email`, u.`job_state`, o.`department`
        FROM `user` u
        LEFT JOIN role r
        ON u.`role_id` = r.`id` AND r.`state` = 1
        LEFT JOIN organizational o
        ON u.`organization_id` = o.`id` AND o.`state` = 1
        WHERE u.`state` = 1
        <if test="name != null and name != ''">
            AND u.`name` LIKE CONCAT('%',#{name}, '%')
        </if>
        <if test="status != null">
            AND u.`job_state` in (#{status})
        </if>
        ORDER BY u.`create_time` DESC
    </select>
    <select id="selectUser" resultType="Map">