XiaoRuby
2023-07-17 0042c9bee29a876a754e4d542bfba956822e7844
LIMS管理系统框架-开发7-17-v1.0.0
已修改22个文件
已复制8个文件
已重命名22个文件
已删除4个文件
已添加23个文件
1356 ■■■■ 文件已修改
framework/pom.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/limslaboratory/config/MyBatisPlusConfig.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/limslaboratory/config/WebMvcConfig.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/pom.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductListController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductListMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/PlanMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Inspection.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionProductList.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Plan.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionProductListService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductListServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/resources/mapper/InspectionMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/resources/mapper/InspectionProductListMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/resources/mapper/PlanMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 128 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/pom.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SerialNumberController.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardsController.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SerialNumberMapper.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SpecificationsMapper.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/StandardsMapper.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Material.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/SerialNumber.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Specifications.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Standards.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/SerialNumberService.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/SpecificationsService.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/StandardsService.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SerialNumberServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardsServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/vo/ListSpecificationsInformation.java 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/MaterialMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/ProductMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/SerialNumberMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/SpecificationsMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/StandardsMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
sys/pom.xml 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/main/java/com/yuanchu/limslaboratory/SysApplication.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/main/java/com/yuanchu/limslaboratory/backup/MysqlDataBackup.java 190 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/main/resources/application-dev.yml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/main/resources/application-prod.yml 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/main/resources/logback-spring.xml 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/main/resources/mysqldump.exe 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/test/java/com/yuanchu/limslaboratory/CodeGenerator.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/pom.xml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/config/FeignConfig.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/EnterpriseUserListMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/UserMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/Enterprise.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/EnterpriseUserList.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/service/EnterpriseUserListService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EnterpriseUserListServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/vo/NewPersonnelVo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/resources/mapper/UserMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/pom.xml
@@ -27,34 +27,16 @@
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--Swagger3-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
        </dependency>
        <!--Swagger3-Ui美化-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-ui</artifactId>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <!--redis jar包-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- JWT -->
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
        </dependency>
    </dependencies>
framework/src/main/java/com/yuanchu/limslaboratory/config/MyBatisPlusConfig.java
@@ -4,11 +4,9 @@
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@MapperScan("com.yuanchu.limslaboratory.mapper") // æ‰«æMybatis中的mapper包
@Configuration
public class MyBatisPlusConfig {
framework/src/main/java/com/yuanchu/limslaboratory/config/WebMvcConfig.java
@@ -1,21 +1,15 @@
package com.yuanchu.limslaboratory.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import java.io.File;
import java.util.List;
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
    @Value("${file.path}")
    private String filePath;
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
@@ -25,6 +19,7 @@
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
        //设置文件虚拟路径映射
        registry.addResourceHandler("/img/**").addResourceLocations("file:E:\\webapp\\images\\");
        registry.addResourceHandler("/img/**").addResourceLocations("file:"+filePath+"/")
                .addResourceLocations("file:"+filePath+"/");
    }
}
inspection-server/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>lims-laboratory</artifactId>
        <groupId>com.yuanchu</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <groupId>com.yunchu.limslaboratory</groupId>
    <artifactId>inspection-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>inspection-server</name>
    <description>inspection-server</description>
    <packaging>jar</packaging>
    <dependencies>
    </dependencies>
</project>
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
ÎļþÃû´Ó user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseUserListController.java ÐÞ¸Ä
@@ -11,10 +11,10 @@
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-07
 * @since 2023-07-17
 */
@RestController
@RequestMapping("/enterprise-user-list")
public class EnterpriseUserListController {
@RequestMapping("/inspection")
public class InspectionController {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductListController.java
copy from user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseUserListController.java copy to inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductListController.java
Îļþ´Ó user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseUserListController.java ¸´ÖÆ
@@ -11,10 +11,10 @@
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-07
 * @since 2023-07-17
 */
@RestController
@RequestMapping("/enterprise-user-list")
public class EnterpriseUserListController {
@RequestMapping("/inspection-product-list")
public class InspectionProductListController {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
copy from user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseUserListController.java copy to inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
Îļþ´Ó user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseUserListController.java ¸´ÖÆ
@@ -11,10 +11,10 @@
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-07
 * @since 2023-07-17
 */
@RestController
@RequestMapping("/enterprise-user-list")
public class EnterpriseUserListController {
@RequestMapping("/plan")
public class PlanController {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.mapper;
import com.yuanchu.limslaboratory.pojo.Inspection;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface InspectionMapper extends BaseMapper<Inspection> {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductListMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.mapper;
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface InspectionProductListMapper extends BaseMapper<InspectionProductList> {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/PlanMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.mapper;
import com.yuanchu.limslaboratory.pojo.Plan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface PlanMapper extends BaseMapper<Plan> {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Inspection.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
package com.yuanchu.limslaboratory.pojo;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 *
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Inspection对象", description="")
public class Inspection implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "报检编号")
    private String id;
    @ApiModelProperty(value = "报检状态 1:已检验;0未检验")
    private Integer inspectionStatus;
    @ApiModelProperty(value = "是否合格 1:是;0否")
    private Integer qualifiedState;
    @ApiModelProperty(value = "1:待提交;2:已提交;0:已作废")
    private Integer state;
    @ApiModelProperty(value = "报检时间")
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    private Integer version;
    @ApiModelProperty(value = "报检人")
    private String userName;
    @ApiModelProperty(value = "关联 æ£€éªŒäººï¼ˆç”¨æˆ·id)")
    private Integer inspectUserId;
    @ApiModelProperty(value = "检验开始日期")
    private LocalDateTime inspectStartTime;
    @ApiModelProperty(value = "检验结束日期")
    private LocalDateTime inspectEndTime;
    @ApiModelProperty(value = "报检数量-物料数量")
    private Integer materialNum;
    @ApiModelProperty(value = "供应商")
    private String materialSupplier;
    @ApiModelProperty(value = "物料名称")
    private String materialName;
    @ApiModelProperty(value = "物料存放地")
    private String materialLocation;
    @ApiModelProperty(value = "物料批次")
    private String materialBatch;
    @ApiModelProperty(value = "物料盘号")
    private String materialReelNumber;
    @ApiModelProperty(value = "规格名称/型号名称")
    private String specificationsSerialNumber;
    @ApiModelProperty(value = "电压等级")
    private String specificationsVoltageLevel;
    @ApiModelProperty(value = "主线心截面")
    private String specificationsCrossSection;
    @ApiModelProperty(value = "主线芯芯数")
    private String specificationsNumberOfCores;
    @ApiModelProperty(value = "生产指令号")
    private String specificationsInstruct;
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionProductList.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package com.yuanchu.limslaboratory.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 *
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="InspectionProductList对象", description="")
public class InspectionProductList implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "项目id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "项目名称")
    private String name;
    @ApiModelProperty(value = "试验方法")
    private String method;
    @ApiModelProperty(value = "试验要求")
    private String ask;
    @ApiModelProperty(value = "单位")
    private String unit;
    @ApiModelProperty(value = "招标人要求值")
    private String required;
    @ApiModelProperty(value = "内控值")
    private String internal;
    @ApiModelProperty(value = "开始日期")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "结束日期")
    private LocalDateTime endTime;
    private Integer state;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    private Integer version;
    @ApiModelProperty(value = "关联 æŠ¥æ£€id")
    private String inspectionId;
    @ApiModelProperty(value = "关联 ç”¨æˆ·id è¯•验员")
    private Integer userId;
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Plan.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
package com.yuanchu.limslaboratory.pojo;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 *
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Plan对象", description="")
public class Plan implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "计划编号")
    private Integer id;
    @ApiModelProperty(value = "检验结果")
    private String results;
    @ApiModelProperty(value = "试验说明")
    private String thing;
    @ApiModelProperty(value = "1:待认领;2:待分配;3:已分配;4:超期待分配;5:已完成;0:已作废")
    private Integer state;
    @ApiModelProperty(value = "任务登记时间")
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    private Integer version;
    @ApiModelProperty(value = "关联 æŠ¥æ£€id(申请单编号)")
    private String inspectionId;
    @ApiModelProperty(value = "关联 ç”¨æˆ·id(负责人id)")
    private Integer userId;
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionProductListService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.service;
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface InspectionProductListService extends IService<InspectionProductList> {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.service;
import com.yuanchu.limslaboratory.pojo.Inspection;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface InspectionService extends IService<Inspection> {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.service;
import com.yuanchu.limslaboratory.pojo.Plan;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface PlanService extends IService<Plan> {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductListServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.limslaboratory.service.impl;
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.yuanchu.limslaboratory.mapper.InspectionProductListMapper;
import com.yuanchu.limslaboratory.service.InspectionProductListService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Service
public class InspectionProductListServiceImpl extends ServiceImpl<InspectionProductListMapper, InspectionProductList> implements InspectionProductListService {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.limslaboratory.service.impl;
import com.yuanchu.limslaboratory.pojo.Inspection;
import com.yuanchu.limslaboratory.mapper.InspectionMapper;
import com.yuanchu.limslaboratory.service.InspectionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Service
public class InspectionServiceImpl extends ServiceImpl<InspectionMapper, Inspection> implements InspectionService {
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.limslaboratory.service.impl;
import com.yuanchu.limslaboratory.pojo.Plan;
import com.yuanchu.limslaboratory.mapper.PlanMapper;
import com.yuanchu.limslaboratory.service.PlanService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Service
public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements PlanService {
}
inspection-server/src/main/resources/mapper/InspectionMapper.xml
copy from user-server/src/main/resources/mapper/EnterpriseUserListMapper.xml copy to inspection-server/src/main/resources/mapper/InspectionMapper.xml
Îļþ´Ó user-server/src/main/resources/mapper/EnterpriseUserListMapper.xml ¸´ÖÆ
@@ -1,5 +1,5 @@
<?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.yuanchu.limslaboratory.mapper.EnterpriseUserListMapper">
<mapper namespace="com.yuanchu.limslaboratory.mapper.InspectionMapper">
</mapper>
inspection-server/src/main/resources/mapper/InspectionProductListMapper.xml
copy from user-server/src/main/resources/mapper/EnterpriseUserListMapper.xml copy to inspection-server/src/main/resources/mapper/InspectionProductListMapper.xml
Îļþ´Ó user-server/src/main/resources/mapper/EnterpriseUserListMapper.xml ¸´ÖÆ
@@ -1,5 +1,5 @@
<?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.yuanchu.limslaboratory.mapper.EnterpriseUserListMapper">
<mapper namespace="com.yuanchu.limslaboratory.mapper.InspectionProductListMapper">
</mapper>
inspection-server/src/main/resources/mapper/PlanMapper.xml
copy from user-server/src/main/resources/mapper/EnterpriseUserListMapper.xml copy to inspection-server/src/main/resources/mapper/PlanMapper.xml
Îļþ´Ó user-server/src/main/resources/mapper/EnterpriseUserListMapper.xml ¸´ÖÆ
@@ -1,5 +1,5 @@
<?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.yuanchu.limslaboratory.mapper.EnterpriseUserListMapper">
<mapper namespace="com.yuanchu.limslaboratory.mapper.PlanMapper">
</mapper>
pom.xml
@@ -19,7 +19,8 @@
        <module>user-server</module>
        <module>sys</module>
        <module>framework</module>
        <module>standard-library</module>
        <module>standard-server</module>
        <module>inspection-server</module>
    </modules>
    <properties>
@@ -34,6 +35,9 @@
        <openfeign.version>3.1.3</openfeign.version>
        <feign-okhttp.version>11.0</feign-okhttp.version>
        <shiro.version>1.5.3</shiro.version>
        <!-- æ‰“包后导出的路径 -->
        <package.path>${project.build.directory}/LIMS</package.path>
    </properties>
    <dependencies>
@@ -41,10 +45,12 @@
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <!--热部署a-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
@@ -52,10 +58,25 @@
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!--Swagger3-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
    </dependencies>
    <dependencyManagement>
@@ -81,32 +102,11 @@
                <version>${druid.version}</version>
            </dependency>
            <!--jwt-->
            <dependency>
                <groupId>com.auth0</groupId>
                <artifactId>java-jwt</artifactId>
                <version>${jwt.version}</version>
            </dependency>
            <!--Swagger3-->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-boot-starter</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <!--Swagger3-Ui美化-->
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-ui</artifactId>
                <version>${knife4j-spring-ui.version}</version>
            </dependency>
            <!--mybatis-plus-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>
            <!--mybatis-plus代码生成器-->
@@ -136,29 +136,89 @@
                <artifactId>shiro-spring-boot-starter</artifactId>
                <version>${shiro.version}</version>
            </dependency>
            <!--jwt-->
            <dependency>
                <groupId>com.auth0</groupId>
                <artifactId>java-jwt</artifactId>
                <version>${jwt.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <!-- ä¸Šçº¿éƒ¨ç½² JAR启动分离依赖lib和配置 -->
            <!-- æ‰“包jar -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <!-- ä¸æ‰“包资源文件 -->
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                        <exclude>*.**</exclude>
                    </excludes>
                    <mainClass>
                        com.yuanchu.limslaboratory.SysApplication
                    </mainClass>
                    <!--<fork>false</fork>
                    <includeSystemScope>true</includeSystemScope>
                    <skip>true</skip>-->
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <!-- MANIFEST.MF ä¸­ Class-Path åŠ å…¥å‰ç¼€ -->
                            <classpathPrefix>lib/</classpathPrefix>
                            <!-- jar包不包含唯一版本标识 -->
                            <useUniqueVersions>false</useUniqueVersions>
                            <!-- æŒ‡å®šå…¥å£ç±» -->
                            <mainClass>com.yuanchu.limslaboratory.SysApplication</mainClass>
                        </manifest>
                        <!--  æŒ‡å®šé…ç½®æ–‡ä»¶ç›®å½•,这样jar运行时会去找到同目录下的conf文件夹下查找  -->
                        <manifestEntries>
                            <Class-Path>conf/</Class-Path>
                        </manifestEntries>
                    </archive>
                    <outputDirectory>${package.path}</outputDirectory>
                </configuration>
            </plugin>
            <!-- æ‹·è´ä¾èµ– copy-dependencies -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${package.path}/lib/ </outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- æ‹·è´èµ„源文件 copy-resources -->
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <resources>
                                <resource>
                                    <directory>src/main/resources</directory>
                                    <!--  æŒ‡å®šå‚与构建的resource -->
                                    <includes>
                                        <include>*.**</include>
                                        <!--排除application-dev.yml文件-->
                                    </includes>
                                </resource>
                            </resources>
                            <outputDirectory>${package.path}/conf</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
standard-server/pom.xml
ÎļþÃû´Ó standard-library/pom.xml ÐÞ¸Ä
@@ -8,7 +8,7 @@
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <groupId>com.yunchu.limslaboratory</groupId>
    <artifactId>standard-library</artifactId>
    <artifactId>standard-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>standard-library</name>
    <description>standard-library</description>
@@ -26,12 +26,6 @@
            <groupId>com.yunchu.limslaboratory</groupId>
            <artifactId>user-server</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
    </dependencies>
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java
copy from user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseUserListController.java copy to standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java
Îļþ´Ó user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseUserListController.java ¸´ÖÆ
@@ -11,10 +11,10 @@
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-07
 * @since 2023-07-17
 */
@RestController
@RequestMapping("/enterprise-user-list")
public class EnterpriseUserListController {
@RequestMapping("/material")
public class MaterialController {
}
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java
copy from user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseUserListController.java copy to standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java
Îļþ´Ó user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseUserListController.java ¸´ÖÆ
@@ -11,10 +11,10 @@
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-07
 * @since 2023-07-17
 */
@RestController
@RequestMapping("/enterprise-user-list")
public class EnterpriseUserListController {
@RequestMapping("/product")
public class ProductController {
}
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SerialNumberController.java
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java
ÎļþÃû´Ó standard-library/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java ÐÞ¸Ä
@@ -7,6 +7,7 @@
import com.yuanchu.limslaboratory.pojo.Standards;
import com.yuanchu.limslaboratory.service.SpecificationsService;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
import com.yuanchu.limslaboratory.utils.MyUtil;
import com.yuanchu.limslaboratory.utils.RedisUtil;
import com.yuanchu.limslaboratory.vo.ListSpecificationsInformation;
import com.yuanchu.limslaboratory.vo.Result;
@@ -55,7 +56,7 @@
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageNo", value = "起始页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "pageSize", value = "每一页数量", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "specificationsName", value = "型号名称", dataTypeClass = String.class),
            @ApiImplicitParam(name = "specificationsName", value = "规格名称", dataTypeClass = String.class),
            @ApiImplicitParam(name = "serialNumberId", value = "型号ID", dataTypeClass = String.class),
    })
    @GetMapping("/list")
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardsController.java
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.mapper;
import com.yuanchu.limslaboratory.pojo.Material;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface MaterialMapper extends BaseMapper<Material> {
}
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.mapper;
import com.yuanchu.limslaboratory.pojo.Product;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface ProductMapper extends BaseMapper<Product> {
}
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SerialNumberMapper.java
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SpecificationsMapper.java
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/StandardsMapper.java
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Material.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
package com.yuanchu.limslaboratory.pojo;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 *
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Material对象", description="")
public class Material implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "物料id")
    private String id;
    @ApiModelProperty(value = "物料名称")
    private String name;
    @ApiModelProperty(value = "供应商")
    private String supplier;
    @ApiModelProperty(value = "物料存放地")
    private String location;
    @ApiModelProperty(value = "物料数量")
    private Integer num;
    @ApiModelProperty(value = "批次")
    private String batch;
    @ApiModelProperty(value = "盘号")
    private String reelNumber;
    private Integer state;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    private Integer version;
    @ApiModelProperty(value = "关联 è§„æ ¼id")
    private Integer specificationsId;
}
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
package com.yuanchu.limslaboratory.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 *
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Product对象", description="")
public class Product implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "项目id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "项目名称")
    private String name;
    @ApiModelProperty(value = "试验方法")
    private String method;
    @ApiModelProperty(value = "项目父类")
    private String father;
    @ApiModelProperty(value = "单位")
    private String unit;
    @ApiModelProperty(value = "招标人要求值")
    private String required;
    @ApiModelProperty(value = "内控值")
    private String internal;
    private Integer state;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    private Integer version;
    @ApiModelProperty(value = "关联 ç”¨æˆ·id")
    private Integer userId;
    @ApiModelProperty(value = "关联 ç‰©æ–™id")
    private String materialId;
}
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/SerialNumber.java
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Specifications.java
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Standards.java
standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.service;
import com.yuanchu.limslaboratory.pojo.Material;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface MaterialService extends IService<Material> {
}
standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.limslaboratory.service;
import com.yuanchu.limslaboratory.pojo.Product;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
public interface ProductService extends IService<Product> {
}
standard-server/src/main/java/com/yuanchu/limslaboratory/service/SerialNumberService.java
standard-server/src/main/java/com/yuanchu/limslaboratory/service/SpecificationsService.java
standard-server/src/main/java/com/yuanchu/limslaboratory/service/StandardsService.java
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.limslaboratory.service.impl;
import com.yuanchu.limslaboratory.pojo.Material;
import com.yuanchu.limslaboratory.mapper.MaterialMapper;
import com.yuanchu.limslaboratory.service.MaterialService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Service
public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> implements MaterialService {
}
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.limslaboratory.service.impl;
import com.yuanchu.limslaboratory.pojo.Product;
import com.yuanchu.limslaboratory.mapper.ProductMapper;
import com.yuanchu.limslaboratory.service.ProductService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Service
public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
}
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SerialNumberServiceImpl.java
ÎļþÃû´Ó standard-library/src/main/java/com/yuanchu/limslaboratory/service/impl/SerialNumberServiceImpl.java ÐÞ¸Ä
@@ -3,13 +3,10 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yuanchu.limslaboratory.pojo.SerialNumber;
import com.yuanchu.limslaboratory.mapper.SerialNumberMapper;
import com.yuanchu.limslaboratory.pojo.Standards;
import com.yuanchu.limslaboratory.pojo.User;
import com.yuanchu.limslaboratory.service.SerialNumberService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.limslaboratory.service.StandardsService;
import com.yuanchu.limslaboratory.service.UserService;
import com.yuanchu.limslaboratory.utils.MyUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardsServiceImpl.java
standard-server/src/main/java/com/yuanchu/limslaboratory/vo/ListSpecificationsInformation.java
standard-server/src/main/resources/mapper/MaterialMapper.xml
ÎļþÃû´Ó user-server/src/main/resources/mapper/EnterpriseUserListMapper.xml ÐÞ¸Ä
@@ -1,5 +1,5 @@
<?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.yuanchu.limslaboratory.mapper.EnterpriseUserListMapper">
<mapper namespace="com.yuanchu.limslaboratory.mapper.MaterialMapper">
</mapper>
standard-server/src/main/resources/mapper/ProductMapper.xml
copy from user-server/src/main/resources/mapper/EnterpriseUserListMapper.xml copy to standard-server/src/main/resources/mapper/ProductMapper.xml
Îļþ´Ó user-server/src/main/resources/mapper/EnterpriseUserListMapper.xml ¸´ÖÆ
@@ -1,5 +1,5 @@
<?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.yuanchu.limslaboratory.mapper.EnterpriseUserListMapper">
<mapper namespace="com.yuanchu.limslaboratory.mapper.ProductMapper">
</mapper>
standard-server/src/main/resources/mapper/SerialNumberMapper.xml
standard-server/src/main/resources/mapper/SpecificationsMapper.xml
ÎļþÃû´Ó standard-library/src/main/resources/mapper/SpecificationsMapper.xml ÐÞ¸Ä
@@ -15,7 +15,7 @@
        SELECT s.`id`,s.`name`,s.`update_time`,u.`name` username,s.`vel`,s.`spe_state`
        FROM specifications s,`user` u
        WHERE s.`user_id` = u.`id`
            AND s.`serial_id` = #{serialNumberId}
            AND s.`number` = #{serialNumberId}
        <if test="specificationsName != null">
            AND s.`name` = #{specificationsName}
        </if>
standard-server/src/main/resources/mapper/StandardsMapper.xml
sys/pom.xml
@@ -26,7 +26,14 @@
        <!--标准库模块-->
        <dependency>
            <groupId>com.yunchu.limslaboratory</groupId>
            <artifactId>standard-library</artifactId>
            <artifactId>standard-server</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <!--检验模块-->
        <dependency>
            <groupId>com.yunchu.limslaboratory</groupId>
            <artifactId>inspection-server</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
@@ -41,12 +48,6 @@
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <!--mybatis-plus代码生成器-->
sys/src/main/java/com/yuanchu/limslaboratory/SysApplication.java
@@ -1,9 +1,13 @@
package com.yuanchu.limslaboratory;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@MapperScan("com.yuanchu.limslaboratory.mapper")// æ‰«æMybatis中的mapper包
@EnableFeignClients("com.yuanchu.limslaboratory.clients") // æ‰«æfeign接口所在包 é‡è¦
public class SysApplication {
    public static void main(String[] args) {
sys/src/main/java/com/yuanchu/limslaboratory/backup/MysqlDataBackup.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,190 @@
package com.yuanchu.limslaboratory.backup;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
@Component
@EnableScheduling
@Slf4j
public class MysqlDataBackup {
    /**
     * æ•°æ®åº“版本是否为 8.0 + ï¼ˆfalse=否  true=是), mysql8+ éœ€è¦å‚æ•°  --column-statistics=0  ï¼Œ mysql8- ä¸éœ€è¦
     */
    Boolean isDbVersion8 = false;
    /**
     * å¤‡ä»½å‘½ä»¤
     * USERNAME   è´¦å·
     * PASSWORD   å¯†ç 
     * SERVERPATH æœåС噍IP/域名
     * DBNAME     æ•°æ®åº“名称
     * FILEPATH   å¤‡ä»½æ–‡ä»¶å­˜æ”¾åœ°å€+名称
     * è¯´æ˜Ž
     * cmdCompression ï¼š éœ€åŽ‹ç¼© ï¼ˆæœ¬åœ°æˆ–服务器需安装 mysqldump å‘½ä»¤(安装mysql自带患独立安装) +  gzip å‘½ä»¤(独立安装))
     * cmd ï¼š            ä¸åŽ‹ç¼© (本地或服务器需安装 mysqldump å‘½ä»¤(安装mysql自带患独立安装)
     * --column-statistics=0     mysql8 æ·»åŠ è¯¥å‚æ•°, éžmysql8 ä¸æ·»åŠ , å¦åˆ™å°†å‡ºé”™
     */
    String cmdMysql8 = "mysqldump --column-statistics=0  -u{USERNAME} -p{PASSWORD} -h{SERVERPATH} -P3306 --databases {DBNAME}"; //  > {FILEPATH}.sql
    String cmd = "mysqldump -u{USERNAME} -p{PASSWORD} -h{SERVERPATH} -P3306 --databases {DBNAME}";      //  > {FILEPATH}.sql
    /**
     * å¤‡ä»½ sql å­˜æ”¾ç›®å½•(相对路径, æ³¨æ„å¯èƒ½éœ€è¦åœ¨ MvcConfig é…ç½®è®¿é—®æƒé™)
     */
    @Value("${backup.path}")
    private String filePath;
    @Value("${spring.datasource.url}")
    private String dbUrl;
    @Value("${spring.datasource.username}")
    private String dbUserName;
    @Value("${spring.datasource.password}")
    private String dbPassWord;
    @Value("${backup.destiny}")
    private Integer destiny;
    @Value("${backup.mysqldump}")
    private String mysqldump;
    /**
     * æ¯å¤©æ™šä¸Š23点05秒执行 ã€  0 0 4 1/1 * ? ã€‘
     * æµ‹è¯• 20 ç§’一次【  0/20 * * * * ? ã€‘@Scheduled(cron = "5 * 23 * * ?")
     */
    @Scheduled(cron = "5 0 23 * * ?")
    private void configureTasks() {
        log.info("【备份数据库】--START");
        String dbUrl2 = dbUrl.replace("jdbc:mysql://", "");
        // èŽ·å–æ•°æ®åº“åç§°
        String dbName = dbUrl2.substring(dbUrl2.lastIndexOf("/") + 1, dbUrl2.indexOf("?"));
        // èŽ·å–æ•°æ®åº“åœ°å€
        String serverPath = dbUrl2.substring(0, dbUrl2.lastIndexOf(":"));
        // æ•°æ®åº“账号
        String username = dbUserName;
        // æ•°æ®åº“密码
        String password = dbPassWord;
        // å¤‡ä»½æ–‡ä»¶ç›®å½•+名称  å¤‡ä»½æ–‡ä»¶å­˜æ”¾ç›®å½•+名称(名称 = æ•°æ®åº“名+时间字符串.sql)
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String format = simpleDateFormat.format(new Date());
        String timeStr = format
                .replaceAll("-", "_")
                .replaceAll(" ", "_")
                .replaceAll(":", "");
        timeStr = timeStr.substring(0, 15);
        String pathFileName = filePath + "/" + dbName + "_" + timeStr + ".sql";
        String newCmd = "";
        if (isDbVersion8) {
            newCmd = cmdMysql8;
        } else {
            newCmd = cmd;
        }
        // æ‰§è¡Œå‘½ä»¤
        newCmd = newCmd.replace("{USERNAME}", username)
                .replace("{PASSWORD}", password)
                .replace("{SERVERPATH}", serverPath)
                .replace("{DBNAME}", dbName)
                .replace("{FILEPATH}", pathFileName);
        PrintWriter printWriter = null;
        BufferedReader bufferedReader = null;
        try {
            // åˆ›å»ºå­˜æ”¾sql的文件
            existsFile(new File(pathFileName));
            printWriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(pathFileName), "utf8"));
            Process process = null;
            String property = System.getProperty("os.name");
            System.out.println(property);
            if (property.indexOf("Linux") != -1) {
                // linux
                process = Runtime.getRuntime().exec(new String[]{"bash", "-c", newCmd});
            } else {
                // æœ¬åœ°win
                String mysqldumpPath = "cmd /c " + mysqldump + "/" + newCmd;
                System.out.println(mysqldumpPath);
                process = Runtime.getRuntime().exec(mysqldumpPath);
            }
            InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream(), "utf8");
            bufferedReader = new BufferedReader(inputStreamReader);
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                printWriter.println(line);
            }
            // æ­¤æ¬¡ä¼šæ‰§è¡Œè¿‡é•¿æ—¶é—´,直到备份完成
            printWriter.flush();
            printWriter.close();
            //0 è¡¨ç¤ºçº¿ç¨‹æ­£å¸¸ç»ˆæ­¢ã€‚
            if (process.waitFor() == 0) {
                // çº¿ç¨‹æ­£å¸¸æ‰§è¡Œ
                log.info("【备份数据库】SUCCESS,SQL文件:{}", pathFileName);
            }
        } catch (Exception e) {
            e.printStackTrace();
            log.info("【备份数据库】FAILURE");
        } finally {
            try {
                if (bufferedReader != null) {
                    bufferedReader.close();
                }
                if (printWriter != null) {
                    printWriter.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        log.info("【备份数据库】--END");
    }
    /**
     * æ¯å¤©æ™šä¸Š23点0分10秒执行 ã€  0 0 4 1/1 * ? ã€‘
     * æµ‹è¯• 20 ç§’一次【  0/20 * * * * ? ã€‘
     */
    @Scheduled(cron = "6 0 23 * * ?")
    private void TimerDeleteFile(){
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("d");
        Integer currentDay = Integer.valueOf(sdf.format(date));
        File file = new File(filePath);
        File[] files = file.listFiles();
        if (files != null) {
            for(File f : files){
                if(f.isFile()){//若是文件,直接打印
                    String[] splitFile = f.getName().split("_");
                    Integer fileDay = Integer.valueOf(splitFile[splitFile.length - 2]);
                    Integer i = currentDay - fileDay;
                    if (i.equals(destiny)){
                        f.delete();
                        log.info("备份sql文件过多进行删除!");
                    }
                }
            }
        }
    }
    /**
     * åˆ¤æ–­æ–‡ä»¶æ˜¯å¦å­˜åœ¨ï¼Œä¸å­˜åœ¨åˆ›å»º
     */
    private static void existsFile(File file) {
        // åˆ¤æ–­æ–‡ä»¶è·¯å¾„是否存在,不存在新建
        if (!file.getParentFile().exists()) {
            file.getParentFile().mkdirs();
        }
        if (!file.exists()) {
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
sys/src/main/resources/application-dev.yml
@@ -1,12 +1,37 @@
swagger:
  enabled: true
# æ—¥å¿—配置
logging:
  config: classpath:logback-spring.xml
  # æ—¥å¿—存储路径+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
  file-location: log
# æ•°æ®åº“备份路径
backup:
  # æ•°æ®åº“备份路径+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
  path: E:/webapp/backup
  # æ•°æ®åº“备份天数
  destiny: 7
  # æ•°æ®åº“备份工具路径+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
  mysqldump: E:\JavaCode\WMS\WMS_Admin\src\main\resources
# ç…§ç‰‡å­˜å‚¨è·¯å¾„+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
file:
  path: E:/webapp/images
# éµ·é›ç®¡ç†ç³»ç»Ÿå¯†é’¥
login:
  userID: c8b1aaacec366c24e5d18c7eea9e551b
  secret: 701C85FCE0F7CFD714C2052D77098DC7f407b0ee79210bcef51787a0eb8ec7a5
# éµ·é›ç½‘络IP或者域名
customer:
  url: http://127.0.0.1:6789
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # å¼€å¯mybatis-plus日志
logging:
  config: classpath:logback-spring.xml
# æ•°æ®æºé…ç½®
spring:
sys/src/main/resources/application-prod.yml
@@ -1,13 +1,36 @@
swagger:
  enabled: false
# æ—¥å¿—配置
logging:
  config: classpath:logback-spring.xml
  # æ—¥å¿—存储路径+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
  file-location: /javaWork/LIMS/log
# æ•°æ®åº“备份路径
backup:
  # æ•°æ®åº“备份路径+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
  path: /javaWork/LIMS/backup
  # æ•°æ®åº“备份天数+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
  destiny: 7
  # æ•°æ®åº“备份工具路径+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
  mysqldump: /javaWork/LIMS/conf
# ç…§ç‰‡è·¯å¾„+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
file:
  path: /javaWork/LIMS/images
# éµ·é›ç½‘络IP或者域名+++++++++++++++++++++++++++运维需要配置+++++++++++++++++++++++++++
customer:
  url: http://114.132.189.42:8011
login:
  userID: c8b1aaacec366c24e5d18c7eea9e551b
  secret: 701C85FCE0F7CFD714C2052D77098DC7f407b0ee79210bcef51787a0eb8ec7a5
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl # å…³é—­mybatis-plus日志
logging:
  config: classpath:logback-spring.xml
  file-location: /usr/local/webapp/log
# æ•°æ®æºé…ç½®
spring:
sys/src/main/resources/application.yml
@@ -4,10 +4,6 @@
  profiles:
    active: dev
login:
  userID: c8b1aaacec366c24e5d18c7eea9e551b
  secret: 701C85FCE0F7CFD714C2052D77098DC7f407b0ee79210bcef51787a0eb8ec7a5
mybatis-plus:
  type-aliases-package: com.yuanchu.limslaboratory.pojo
  mapper-locations: classpath*:/mapper/*.xml
sys/src/main/resources/logback-spring.xml
@@ -8,7 +8,7 @@
    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    <springProperty scope="context" name="logs" source="logging.file-location" default="/var/log/myapp"/>
    <property name="log.path" value="${myLogLocation}"/>
    <property name="log.path" value="${logs}"/>
    <!--0. æ—¥å¿—格式和颜色渲染 -->
    <!-- å½©è‰²æ—¥å¿—依赖的渲染类 -->
@@ -196,29 +196,29 @@
    <!-- 4  æœ€ç»ˆçš„策略:
                 åŸºæœ¬ç­–ç•¥(root级) + æ ¹æ®profile在启动时, logger标签中定制化package日志级别(优先级高于上面的root级)-->
    <springProfile name="dev">
        <root level="info">
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="DEBUG_FILE" />
            <appender-ref ref="INFO_FILE" />
            <appender-ref ref="WARN_FILE" />
            <appender-ref ref="ERROR_FILE" />
            <appender-ref ref="ALL_FILE" />
        </root>
        <logger name="com.network_manage.SystemSysApplication" level="debug"/> <!-- å¼€å‘环境, æŒ‡å®šæŸåŒ…日志为debug级 -->
    </springProfile>
    <!--<springProfile name="dev">-->
    <!--    <root level="info">-->
    <!--        <appender-ref ref="CONSOLE" />-->
    <!--        <appender-ref ref="DEBUG_FILE" />-->
    <!--        <appender-ref ref="INFO_FILE" />-->
    <!--        <appender-ref ref="WARN_FILE" />-->
    <!--        <appender-ref ref="ERROR_FILE" />-->
    <!--        <appender-ref ref="ALL_FILE" />-->
    <!--    </root>-->
    <!--    <logger name="com.yuanchu.limslaboratory.SysApplication" level="debug"/> &lt;!&ndash; å¼€å‘环境, æŒ‡å®šæŸåŒ…日志为debug级 &ndash;&gt;-->
    <!--</springProfile>-->
    <springProfile name="test">
        <root level="info">
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="DEBUG_FILE" />
            <appender-ref ref="INFO_FILE" />
            <appender-ref ref="WARN_FILE" />
            <appender-ref ref="ERROR_FILE" />
            <appender-ref ref="ALL_FILE" />
        </root>
        <logger name="com.network_manage.SystemSysApplication" level="info"/> <!-- æµ‹è¯•环境, æŒ‡å®šæŸåŒ…日志为info级 -->
    </springProfile>
    <!--<springProfile name="test">-->
    <!--    <root level="info">-->
    <!--        <appender-ref ref="CONSOLE" />-->
    <!--        <appender-ref ref="DEBUG_FILE" />-->
    <!--        <appender-ref ref="INFO_FILE" />-->
    <!--        <appender-ref ref="WARN_FILE" />-->
    <!--        <appender-ref ref="ERROR_FILE" />-->
    <!--        <appender-ref ref="ALL_FILE" />-->
    <!--    </root>-->
    <!--    <logger name="com.yuanchu.limslaboratory.SysApplication" level="info"/> &lt;!&ndash; æµ‹è¯•环境, æŒ‡å®šæŸåŒ…日志为info级 &ndash;&gt;-->
    <!--</springProfile>-->
    <springProfile name="prod">
        <root level="info">
@@ -229,8 +229,8 @@
            <appender-ref ref="ERROR_FILE" />
            <appender-ref ref="ALL_FILE" />
        </root>
        <logger name="com.network_manage" level="warn"/> <!-- ç”Ÿäº§çŽ¯å¢ƒ, æŒ‡å®šæŸåŒ…日志为warn级 -->
        <logger name="com.network_manage.SystemSysApplication" level="info"/> <!-- ç‰¹å®šæŸä¸ªç±»æ‰“印info日志, æ¯”如application启动成功后的提示语 -->
        <logger name="com.yuanchu.limslaboratory" level="warn"/> <!-- ç”Ÿäº§çŽ¯å¢ƒ, æŒ‡å®šæŸåŒ…日志为warn级 -->
        <logger name="com.yuanchu.limslaboratory.SysApplication" level="info"/> <!-- ç‰¹å®šæŸä¸ªç±»æ‰“印info日志, æ¯”如application启动成功后的提示语 -->
    </springProfile>
</configuration>
sys/src/main/resources/mysqldump.exe
Binary files differ
sys/src/test/java/com/yuanchu/limslaboratory/CodeGenerator.java
@@ -22,7 +22,7 @@
    public static String database_username = "root";
    public static String database_password= "123456";
    public static String author = "江苏鵷雏网络科技有限公司";
    public static String model_name = "/standard-library"; // å¦‚果为分布式填子模块名称,如果不是分布式为空即可
    public static String model_name = "/inspection-server"; // å¦‚果为分布式填子模块名称,如果不是分布式为空即可
    public static String setParent = "com.yuanchu.limslaboratory"; // åŒ…路径
    public static Boolean Override = false; // æ˜¯å¦è¦†ç›–原来的文件?
user-server/pom.xml
@@ -21,12 +21,6 @@
            <version>${project.parent.version}</version>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <!--feign-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
@@ -44,6 +38,12 @@
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring-boot-starter</artifactId>
        </dependency>
        <!--jwt-->
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
        </dependency>
    </dependencies>
</project>
user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java
@@ -39,6 +39,7 @@
                mapRedis.put("id", user.getId());
                mapRedis.put("account", user.getAccount());
                mapRedis.put("name", user.getName());
                mapRedis.put("enterpriseId", user.getEnterpriseId());
                mapRedis.put("data", data);
                //存入redis,二个小时后删除
                RedisUtil.set(token, mapRedis, 120);
user-server/src/main/java/com/yuanchu/limslaboratory/config/FeignConfig.java
@@ -14,7 +14,6 @@
import java.util.concurrent.TimeUnit;
@EnableFeignClients("com.yuanchu.limslaboratory.clients") // æ‰«æfeign接口所在包 é‡è¦
@Configuration
@ConditionalOnClass(Feign.class)
@AutoConfigureBefore(FeignAutoConfiguration.class)
user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java
@@ -8,6 +8,9 @@
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;
@@ -20,6 +23,7 @@
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
@@ -87,28 +91,30 @@
    @PostMapping("/getUserById")
    @ApiOperation("获取指定用户id的用户信息和企业信息")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(value = "用户id", name = "userId", dataTypeClass = Integer.class, required = true)
    })
    public Result<?> getUserById(int userId) {
        try {
            Map<String, String> map = userService.selectUserByUserId(userId);
            User user = new User(map.get("account"),map.get("uname"),map.get("phone"),map.get("email"),map.get("info"));
            Enterprise enterprise = new Enterprise(map.get("name"),map.get("byname"),map.get("link_name"),map.get("link_phone"));
            Map map1 = new HashMap<>();
            map1.put("enterprise", enterprise);
            map1.put("user", user);
            return Result.success(map1);
        } catch (Exception e) {
            return Result.fail("用户id为空!");
    public Result<?> getUserById(@RequestHeader("X-Token") String token) throws Exception {
        Object o = RedisUtil.get(token);
        Map<String, Object> unmarshal = null;
        if (!ObjectUtils.isEmpty(o)){
            unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(o), Map.class);
            Map<String, String> map = userService.selectUserByUserId((Integer) unmarshal.get("id"));
            MyUtil.PrintLog(map.toString());
            return Result.success(map);
        }
        return Result.fail("Token错误!");
    }
    @PostMapping("/add_new_personnel")
    @ApiOperation("实验室管理-->人员管理-->新增人员")
    public Result<?> addNewPersonnel(@RequestBody NewPersonnelVo newPersonnelVo) {
    public Result<?> addNewPersonnel(@RequestHeader("X-Token") String token, @RequestBody NewPersonnelVo newPersonnelVo) throws Exception {
        Object redisUserMessage = RedisUtil.get(token);
        Map<String, Object> user = null;
        Integer isAddSuccess = 0;
        if (!ObjectUtils.isEmpty(redisUserMessage)) {
            user = JackSonUtil.unmarshal(JackSonUtil.marshal(redisUserMessage), Map.class);
        newPersonnelVo.setPassword("123456");
        Integer isAddSuccess = userService.addNewPersonnel(newPersonnelVo);
            isAddSuccess = userService.addNewPersonnel(newPersonnelVo, user.get("enterpriseId").toString());
        }
        if (isAddSuccess == 1){
            return Result.success("添加【" + newPersonnelVo.getName() + "】成功,默认密码为:" + newPersonnelVo.getPassword());
        }
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/EnterpriseUserListMapper.java
ÎļþÒÑɾ³ý
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/UserMapper.java
@@ -5,8 +5,10 @@
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 javax.annotation.Resource;
import java.util.Map;
import java.util.Objects;
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/Enterprise.java
@@ -39,12 +39,6 @@
    @ApiModelProperty(value = "企业简称")
    private String byname;
    @ApiModelProperty(value = "联系人账号")
    private String linkAccount;
    @ApiModelProperty(value = "联系人密码")
    private String linkPassword;
    @ApiModelProperty(value = "联系人名字")
    private String linkName;
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/EnterpriseUserList.java
ÎļþÒÑɾ³ý
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java
@@ -76,6 +76,9 @@
    @ApiModelProperty(value = "关联 è§’色id")
    private Integer roleId;
    @ApiModelProperty(value = "关联 ä¼ä¸šid")
    private Integer enterpriseId;
    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/service/EnterpriseUserListService.java
ÎļþÒÑɾ³ý
user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java
@@ -7,6 +7,7 @@
import com.yuanchu.limslaboratory.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.vo.PagePersonnelVo;
import com.yuanchu.limslaboratory.vo.UpdatePersonnelVo;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
@@ -27,7 +28,7 @@
    User AccordingUsernameSelectAll(String account);
    Integer addNewPersonnel(NewPersonnelVo newPersonnelVo);
    Integer addNewPersonnel(NewPersonnelVo newPersonnelVo, String enterpriseId);
    Integer updateNewPersonnel(UpdatePersonnelVo updatePersonnelVo);
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EnterpriseUserListServiceImpl.java
ÎļþÒÑɾ³ý
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.User;
import com.yuanchu.limslaboratory.mapper.UserMapper;
@@ -13,13 +12,13 @@
import com.yuanchu.limslaboratory.vo.NewPersonnelVo;
import com.yuanchu.limslaboratory.vo.PagePersonnelVo;
import com.yuanchu.limslaboratory.vo.UpdatePersonnelVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
 * <p>
@@ -74,12 +73,12 @@
    public User AccordingUsernameSelectAll(String account) {
        LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(User::getAccount, account);
        wrapper.select(User::getPassword, User::getId, User::getName, User::getAccount);
        wrapper.select(User::getPassword, User::getId, User::getName, User::getAccount, User::getEnterpriseId);
        return userMapper.selectOne(wrapper);
    }
    @Override
    public Integer addNewPersonnel(NewPersonnelVo newPersonnelVo) {
    public Integer addNewPersonnel(NewPersonnelVo newPersonnelVo, String enterpriseId) {
        User user = new User()
                .setName(newPersonnelVo.getName())
                .setAccount(newPersonnelVo.getAccount())
@@ -87,7 +86,8 @@
                .setPhone(newPersonnelVo.getPhone())
                .setEmail(newPersonnelVo.getEmail())
                .setRoleId(newPersonnelVo.getRole_id())
                .setPassword(newPersonnelVo.getPassword());
                .setPassword(newPersonnelVo.getPassword())
                .setEnterpriseId(Integer.valueOf(enterpriseId));
        return userMapper.insert(user);
    }
user-server/src/main/java/com/yuanchu/limslaboratory/vo/NewPersonnelVo.java
@@ -1,5 +1,6 @@
package com.yuanchu.limslaboratory.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
user-server/src/main/resources/mapper/UserMapper.xml
@@ -3,11 +3,10 @@
<mapper namespace="com.yuanchu.limslaboratory.mapper.UserMapper">
    <select id="selectUserByUserId" parameterType="int" resultType="Map">
        select u.account account,u.name uname,u.phone,u.email,u.info,e.byname,e.`name`,e.link_name,e.link_phone
        from enterprise_user_list el,enterprise e,`user` u
        where e.id = el.enterprise_id
        and el.user_id = u.id
        and u.id = #{userId}
        SELECT u.account account,u.name uname,u.phone,u.email,u.info,e.byname e_byname,e.`name` e_name,e.link_name e_link_name,e.link_phone e_phone
        FROM enterprise e,`user` u
        WHERE e.`id` = u.`enterprise_id`
        AND u.id = #{userId}
    </select>
    <resultMap id="PagePersonnelVoMap" type="com.yuanchu.limslaboratory.vo.PagePersonnelVo">