“djh”
5 天以前 5ca4ab349909030e77354832287f2d6a2c80e119
Merge branch 'master' of https://sinanoaq.cn:8888/r/multi_system
已修改11个文件
已添加10个文件
826 ■■■■■ 文件已修改
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/WordExportController.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/TemplateController.java 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/resources/application-prod.yml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/resources/application.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/test/java/com/gkhy/exam/admin/ExcelTest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-common/pom.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-common/src/main/java/com/gkhy/exam/common/config/FFmpegConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysUser.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/StandardizedQuality.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/StandardizedTemplate.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/vo/SysDeptSaveDTOReq.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/StandardizedQualityMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/StandardizedTemplateMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/StandardizedTemplateService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysCommonServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/StandardizedQualityMapper.xml 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/StandardizedTemplateMapper.xml 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
@@ -4,6 +4,7 @@
import cn.hutool.core.util.ObjectUtil;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.constant.UserConstant;
import com.gkhy.exam.common.domain.TreeSelect;
import com.gkhy.exam.common.domain.entity.SysDept;
import com.gkhy.exam.system.domain.SysFunctionalDistribution;
import com.gkhy.exam.system.domain.vo.DeptVo;
@@ -54,6 +55,15 @@
    }
    @GetMapping("/treeList")
    @ApiOperation(value = "获取部门列表树状")
    public CommonResult treeList(SysDept dept)
    {
        List<TreeSelect> treeSelects = deptService.selectDeptTreeList(dept);
        return CommonResult.success(treeSelects);
    }
    /**
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/WordExportController.java
对比新文件
@@ -0,0 +1,62 @@
//package com.gkhy.exam.admin.controller.system;
//
//
//import org.apache.poi.poifs.filesystem.DirectoryEntry;
//import org.apache.poi.poifs.filesystem.DocumentEntry;
//import org.apache.poi.poifs.filesystem.POIFSFileSystem;
//import org.springframework.core.io.ClassPathResource;
//import org.springframework.http.HttpHeaders;
//import org.springframework.http.MediaType;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.*;
//
//import javax.servlet.ServletOutputStream;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.*;
//import java.util.Map;
//
//@RestController
//public class WordExportController {
//    @ResponseBody
//    @RequestMapping(value = "download")
//    public int download(HttpServletResponse response, HttpServletRequest request)throws Exception {
//        String content = "<h1>标题头</h1><h2>第二个标题</h2><a href=\"www.baidu.com\">百度搜索</a>";
//        StringBuffer sbf = new StringBuffer();
//        sbf.append("<html><body>");
//        sbf.append(content);
//        sbf.append("</body></html");
//        exportWord(request,response,String.valueOf(sbf),"word1");
//        return 1;
//    }
//
//
//    /**
//     *
//     * @param request
//     * @param response
//     * @param content  富文本内容
//     * @param fileName 生成word名字
//     * @throws Exception
//     */
//    public static void exportWord(HttpServletRequest request, HttpServletResponse response, String content, String fileName) throws Exception {
//        byte b[] = content.getBytes("GBK"); //这里是必须要设置编码的,不然导出中文就会乱码。
//        ByteArrayInputStream bais = new ByteArrayInputStream(b);//将字节数组包装到流中
//        POIFSFileSystem poifs = new POIFSFileSystem();
//        DirectoryEntry directory = poifs.getRoot();
//        DocumentEntry documentEntry = directory.createDocument("WordDocument", bais); //该步骤不可省略,否则会出现乱码。
//        //输出文件
//        request.setCharacterEncoding("utf-8");
//        response.setContentType("application/msword");//导出word格式
//        response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GB2312"),"iso8859-1") + ".doc");
//        ServletOutputStream ostream = response.getOutputStream();
//        poifs.writeFilesystem(ostream);
//        bais.close();
//        ostream.close();
//        poifs.close();
//    }
//
//
//
//
//}
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/TemplateController.java
对比新文件
@@ -0,0 +1,132 @@
package com.gkhy.exam.admin.controller.web;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.CompanyIndustryTemplate;
import com.gkhy.exam.system.domain.StandardizedQuality;
import com.gkhy.exam.system.domain.StandardizedTemplate;
import com.gkhy.exam.system.service.StandardizedTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Api(tags = "标准化体系模板")
@RestController
@RequestMapping("/template")
public class TemplateController {
    @Autowired
    private StandardizedTemplateService standardizedTemplateService;
    /**
     * 行业模版
     * @param companyId
     * @return
     */
    @ApiOperation(value = "标准化模版(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司iD"),
            @ApiImplicitParam(paramType = "query", name = "templateType", dataType = "int", required = true, value = "类型1体系标准2技术标准3应用标准4程序文件5作业指导书6记录及表单7技术类8生产类9其他知识产权"),
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = true, value = "页码"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = true, value = "每页数量")
    })
    @GetMapping("/standardizedTemplate/list")
    public CommonResult selectStandardizedTemplateList(Integer companyId, @RequestParam("templateType") Integer templateType){
        return CommonResult.success(standardizedTemplateService.selectStandardizedTemplateList(companyId, templateType));
    }
    /**
     * 行业模版新增
     * @param standardizedTemplate
     * @return
     */
    @ApiOperation(value = "标准化模版新增")
    @PostMapping("/standardizedTemplate/insert")
    public CommonResult insertStandardizedTemplate(@Validated @RequestBody StandardizedTemplate standardizedTemplate){
        return standardizedTemplateService.insertStandardizedTemplate(standardizedTemplate);
    }
    /**
     * 企业花名册修改
     * @param standardizedTemplate
     * @return
     */
    @ApiOperation(value = "标准化模版修改")
    @PostMapping("/standardizedTemplate/update")
    public CommonResult updateCompanyIndustryTemplate(@Validated @RequestBody StandardizedTemplate standardizedTemplate){
        return standardizedTemplateService.updateStandardizedTemplate(standardizedTemplate);
    }
    /**
     * 行业模版删除
     * @param standardizedTemplateId
     * @return
     */
    @ApiOperation(value = "标准化模版删除")
    @GetMapping("/standardizedTemplate/deleted")
    public CommonResult deletedStandardizedTemplate(@RequestParam("standardizedTemplateId") Integer standardizedTemplateId){
        return standardizedTemplateService.deletedStandardizedTemplate(standardizedTemplateId);
    }
    /**
     * 行业模版
     * @param companyId
     * @return
     */
    @ApiOperation(value = "获取质量手册")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = true, value = "公司iD"),
    })
    @GetMapping("/standardizedQuality/info")
    public CommonResult selectStandardizedQuality(Integer companyId){
        return CommonResult.success(standardizedTemplateService.selectStandardizedQuality(companyId));
    }
    /**
     * 行业模版新增
     * @param standardizedQuality
     * @return
     */
    @ApiOperation(value = "质量手册新增")
    @PostMapping("/standardizedQuality/insert")
    public CommonResult insertStandardizedQuality(@Validated @RequestBody StandardizedQuality standardizedQuality){
        return standardizedTemplateService.insertStandardizedQuality(standardizedQuality);
    }
    /**
     * 企业花名册修改
     * @param standardizedQuality
     * @return
     */
    @ApiOperation(value = "质量手册修改")
    @PostMapping("/standardizedQuality/update")
    public CommonResult updateStandardizedQuality(@Validated @RequestBody StandardizedQuality standardizedQuality){
        return standardizedTemplateService.updateStandardizedQuality(standardizedQuality);
    }
    /**
     * 行业模版删除
     * @param standardizedQualityId
     * @return
     */
    @ApiOperation(value = "质量手册删除")
    @GetMapping("/standardizedQuality/deleted")
    public CommonResult deletedStandardizedQuality(@RequestParam("standardizedQualityId") Integer standardizedQualityId){
        return standardizedTemplateService.deletedStandardizedQuality(standardizedQualityId);
    }
    /**
     * 获取质量手册数据
     * @param companyId
     * @return
     */
    @ApiOperation(value = "获取质量手册数据")
    @GetMapping("/standardizedQuality/dataInfo")
    public CommonResult standardizedQualityDataInfo(@RequestParam("companyId") Integer companyId){
        return standardizedTemplateService.getStandardizedQualityByCompanyId(companyId);
    }
}
multi-admin/src/main/resources/application-prod.yml
@@ -5,7 +5,7 @@
    druid:
      # 主库数据源
      master:
        url: jdbc:mysql://127.0.0.1:23306/train_exam?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Beijing&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
        url: jdbc:mysql://127.0.0.1:7006/multi_system?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
        username: root
        password: 2farwL3yPXfbH2AP
      # 从库数据源
@@ -41,10 +41,10 @@
        login-password: druid
  #redis 配置
  redis:
    database: 0
    database: 5
    host: 127.0.0.1
    port: 6379
    password:
    password: akj78avauba789a
# mybatis-plus相关配置
@@ -80,7 +80,7 @@
  enabled: false
minio:
  endpoint: http://127.0.0.1:9000/ #Minio服务所在地址
  bucketName: trainexam #存储桶名称
  accessKey: nblxqRZXDvQ59HBH49rF #访问的key
  secretKey: TR0IFphXPo0IObQCYgcJ0JOik21s40ey2MIMU8Rh #访问的秘钥
  endpoint: http://106.15.95.149:9001/ #Minio服务所在地址
  bucketName: multiSystem #存储桶名称
  accessKey: U9JW4xOeeUQOSR4f #访问的key
  secretKey: iaqQV6twR9yDZiFAf2UYr5xZfESanZs3 #访问的秘钥
multi-admin/src/main/resources/application.yml
@@ -1,8 +1,8 @@
spring:
  application:
    name: train_exam
    name: multi_system
  profiles:
    active: dev
    active: prod
  servlet:
    multipart:
      enabled: true
@@ -15,7 +15,7 @@
      matching-strategy: ant_path_matcher
server:
  port: 8082
  port: 8056
  servlet:
    context-path: /api
  tomcat:
multi-admin/src/test/java/com/gkhy/exam/admin/ExcelTest.java
@@ -19,6 +19,6 @@
    @Test
    public void importTest(){
        commonService.importStudent();
     //   commonService.importStudent();
    }
}
multi-common/pom.xml
@@ -152,6 +152,30 @@
            <artifactId>easyexcel</artifactId>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.deepoove</groupId>-->
<!--            <artifactId>poi-tl</artifactId>-->
<!--        </dependency>-->
<!--        &lt;!&ndash; 如果需要解析HTML &ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>org.jsoup</groupId>-->
<!--            <artifactId>jsoup</artifactId>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.itextpdf</groupId>-->
<!--            <artifactId>itextpdf</artifactId>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.bouncycastle</groupId>-->
<!--            <artifactId>bcprov-jdk15on</artifactId>-->
<!--        </dependency>-->
<!--        &lt;!&ndash; 支持中文 &ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>com.itextpdf</groupId>-->
<!--            <artifactId>itext-asian</artifactId>-->
<!--        </dependency>-->
    </dependencies>
</project>
multi-common/src/main/java/com/gkhy/exam/common/config/FFmpegConfig.java
@@ -20,8 +20,8 @@
    @Bean
    public FFmpeg fFmpeg() {
        String path = System.getProperty("user.dir");
        if(path.endsWith("exam-admin")){
            path=path.replace("\\exam-admin","");
        if(path.endsWith("multi-admin")){
            path=path.replace("\\multi-admin","");
        }
        if (isLinux()){
            path+="/ffmpeg/ffmpeg-linux/ffmpeg";
multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysUser.java
@@ -56,10 +56,10 @@
    @TableField("user_type")
    private Integer userType;
    @NotBlank(message = "手机号码不能为空")
    @Length(min = 11, max = 11, message = "手机号只能为11位")
    @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!")
    @ApiModelProperty(value = "手机号码",required = true)
//    @NotBlank(message = "手机号码不能为空")
//    @Length(min = 11, max = 11, message = "手机号只能为11位")
//    @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!")
    @ApiModelProperty(value = "手机号码",required = false)
    @TableField("phone")
    private String phone;
multi-system/src/main/java/com/gkhy/exam/system/domain/StandardizedQuality.java
对比新文件
@@ -0,0 +1,66 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
@TableName("standardized_quality")
@ApiModel(value = "standardized_quality",description = "质量体系手册")
public class StandardizedQuality implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @NotNull(message = "企业Id不可为空")
    @ApiModelProperty(value = "企业ID")
    @TableField("company_id")
    private Integer companyId;
    @ApiModelProperty(value = "企业名称")
    @TableField("company_name")
    private String companyName;
    @ApiModelProperty(value = "模板名称")
    @TableField("quality_name")
    @NotBlank(message = "模板名称不可为空")
    private String qualityName;
    @ApiModelProperty(value = "文件路径")
    @TableField("file_path")
    private String filePath;
    @ApiModelProperty(value = "文件格式")
    @TableField("format")
    private String format;
    @ApiModelProperty(value = "是否删除")
    @TableField("del_flag")
    private Integer delFlag;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/StandardizedTemplate.java
对比新文件
@@ -0,0 +1,73 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
@Getter
@Setter
@TableName("standardized_template")
@ApiModel(value = "standardized_template",description = "标准化系统模板")
public class StandardizedTemplate implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @NotNull(message = "企业Id不可为空")
    @ApiModelProperty(value = "企业ID")
    @TableField("company_id")
    private Integer companyId;
    @ApiModelProperty(value = "企业名称")
    @TableField("company_name")
    private String companyName;
    @ApiModelProperty(value = "模板名称")
    @TableField("template_name")
    @NotBlank(message = "模板名称不可为空")
    private String templateName;
    @ApiModelProperty(value = "类型1体系标准2技术标准3应用标准4程序文件5作业指导书6记录及表单7技术类8生产类9其他知识产权")
    @TableField("template_type")
    @NotNull(message = "类型不可为空")
    private Integer templateType;
    @ApiModelProperty(value = "文件路径")
    @TableField("file_path")
    @NotBlank(message = "文件路径不可为空")
    private String filePath;
    @ApiModelProperty(value = "文件格式")
    @TableField("format")
    @NotBlank(message = "文件格式不可为空")
    private String format;
    @ApiModelProperty(value = "是否删除")
    @TableField("del_flag")
    private Integer delFlag;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/vo/SysDeptSaveDTOReq.java
@@ -30,7 +30,7 @@
    /** 负责人 */
    @ApiModelProperty("负责人")
    @NotNull(message = "负责人不能为空")
    //@NotNull(message = "负责人不能为空")
    private Long leaderUserId;
    @ApiModelProperty("公司id")
multi-system/src/main/java/com/gkhy/exam/system/mapper/StandardizedQualityMapper.java
对比新文件
@@ -0,0 +1,15 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.StandardizedQuality;
import com.gkhy.exam.system.domain.StandardizedTemplate;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface StandardizedQualityMapper extends BaseMapper<StandardizedQuality> {
    List<StandardizedQuality> selectStandardizedQualityList(Integer companyId, Integer templateType);
    int updateStandardizedQualityById(StandardizedQuality template);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/StandardizedTemplateMapper.java
对比新文件
@@ -0,0 +1,15 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.CompanyIndustryTemplate;
import com.gkhy.exam.system.domain.StandardizedTemplate;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface StandardizedTemplateMapper extends BaseMapper<StandardizedTemplate> {
    List<StandardizedTemplate> selectStandardizedTemplateList(Integer companyId, Integer templateType);
    int updateStandardizedTemplateById(StandardizedTemplate template);
}
multi-system/src/main/java/com/gkhy/exam/system/service/StandardizedTemplateService.java
对比新文件
@@ -0,0 +1,29 @@
package com.gkhy.exam.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.CompanyIndustryTemplate;
import com.gkhy.exam.system.domain.StandardizedQuality;
import com.gkhy.exam.system.domain.StandardizedTemplate;
public interface StandardizedTemplateService extends IService<StandardizedTemplate> {
    CommonPage selectStandardizedTemplateList(Integer companyId,Integer templateType);
    CommonResult insertStandardizedTemplate(StandardizedTemplate standardizedTemplate);
    CommonResult updateStandardizedTemplate(StandardizedTemplate standardizedTemplate);
    CommonResult deletedStandardizedTemplate(Integer id);
    CommonResult selectStandardizedQuality(Integer companyId);
    CommonResult insertStandardizedQuality(StandardizedQuality standardizedQuality);
    CommonResult updateStandardizedQuality(StandardizedQuality standardizedQuality);
    CommonResult deletedStandardizedQuality(Integer id);
    CommonResult getStandardizedQualityByCompanyId(Integer id);
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java
对比新文件
@@ -0,0 +1,193 @@
package com.gkhy.exam.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.domain.TreeSelect;
import com.gkhy.exam.common.domain.entity.SysDept;
import com.gkhy.exam.common.domain.model.LoginUserDetails;
import com.gkhy.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.*;
import com.gkhy.exam.system.mapper.*;
import com.gkhy.exam.system.service.CompanyIndustryTemplateService;
import com.gkhy.exam.system.service.ISysDeptService;
import com.gkhy.exam.system.service.StandardizedTemplateService;
import com.gkhy.exam.system.service.SysCompanyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class StandardizedTemplateServiceImpl extends ServiceImpl<StandardizedTemplateMapper, StandardizedTemplate> implements StandardizedTemplateService {
    @Autowired
    private StandardizedTemplateMapper standardizedTemplateMapper;
    @Autowired
    private SysCompanyService sysCompanyService;
    @Autowired
    private StandardizedQualityMapper standardizedQualityMapper;
    @Autowired
    private SysFunctionalDistributionMapper sysFunctionalDistributionMapper;
    @Autowired
    private ISysDeptService iSysDeptService;
    @Autowired
    private CompanySummaryMapper companySummaryMapper;
    @Autowired
    private CompanyQualityPolicyMapper companyQualityPolicyMapper;
    @Override
    public CommonPage selectStandardizedTemplateList(Integer companyId, Integer templateType) {
        boolean admin = SecurityUtils.adminUser();
        if (!admin){
            if (companyId==null){
                companyId = SecurityUtils.getCompanyId().intValue();
            }
        }
        PageUtils.startPage();
        List<StandardizedTemplate> companyIndustryTemplates = standardizedTemplateMapper.selectStandardizedTemplateList(companyId, templateType);
        return CommonPage.restPage(companyIndustryTemplates);
    }
    @Override
    public CommonResult insertStandardizedTemplate(StandardizedTemplate standardizedTemplate) {
        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
        SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedTemplate.getCompanyId().longValue());
        standardizedTemplate.setCompanyName(sysCompany.getName());
        standardizedTemplate.setCreateBy(loginUser.getUsername());
        standardizedTemplate.setCreateTime(LocalDateTime.now());
        int insert = standardizedTemplateMapper.insert(standardizedTemplate);
        if (insert>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult updateStandardizedTemplate(StandardizedTemplate standardizedTemplate) {
        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
        SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedTemplate.getCompanyId().longValue());
        standardizedTemplate.setCompanyName(sysCompany.getName());
        standardizedTemplate.setUpdateBy(loginUser.getUsername());
        standardizedTemplate.setUpdateTime(LocalDateTime.now());
        int update = standardizedTemplateMapper.updateStandardizedTemplateById(standardizedTemplate);
        if (update>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult deletedStandardizedTemplate(Integer standardizedTemplateId) {
        StandardizedTemplate standardizedTemplate = new StandardizedTemplate();
        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
        standardizedTemplate.setUpdateBy(loginUser.getUsername());
        standardizedTemplate.setUpdateTime(LocalDateTime.now());
        standardizedTemplate.setDelFlag(1);
        standardizedTemplate.setId(standardizedTemplateId);
        int i = standardizedTemplateMapper.updateById(standardizedTemplate);
        if (i>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult selectStandardizedQuality(Integer companyId) {
        boolean admin = SecurityUtils.adminUser();
        LambdaQueryWrapper<StandardizedQuality> lambdaQueryWrapper = Wrappers.<StandardizedQuality>lambdaQuery();
        if (!admin){
            if (companyId==null){
                lambdaQueryWrapper.eq(StandardizedQuality::getCompanyId, SecurityUtils.getCompanyId().intValue());
            }
        }
        lambdaQueryWrapper.eq(StandardizedQuality::getDelFlag, 0);
        return CommonResult.success(standardizedQualityMapper.selectList(lambdaQueryWrapper));
    }
    @Override
    public CommonResult insertStandardizedQuality(StandardizedQuality standardizedQuality) {
        LambdaQueryWrapper<StandardizedQuality> eq = new LambdaQueryWrapper<StandardizedQuality>().eq(StandardizedQuality::getCompanyId, standardizedQuality.getCompanyId());
        standardizedQualityMapper.delete(eq);
        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
        SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedQuality.getCompanyId().longValue());
        standardizedQuality.setCompanyName(sysCompany.getName());
        standardizedQuality.setCreateBy(loginUser.getUsername());
        standardizedQuality.setCreateTime(LocalDateTime.now());
        int insert = standardizedQualityMapper.insert(standardizedQuality);
        if (insert>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult updateStandardizedQuality(StandardizedQuality standardizedQuality) {
        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
        SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedQuality.getCompanyId().longValue());
        standardizedQuality.setCompanyName(sysCompany.getName());
        standardizedQuality.setUpdateBy(loginUser.getUsername());
        standardizedQuality.setUpdateTime(LocalDateTime.now());
        int update = standardizedQualityMapper.updateStandardizedQualityById(standardizedQuality);
        if (update>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult deletedStandardizedQuality(Integer id) {
        LambdaQueryWrapper<StandardizedQuality> lambdaQueryWrapper = Wrappers.<StandardizedQuality>lambdaQuery()
                .eq(StandardizedQuality::getId, id)
                .eq(StandardizedQuality::getDelFlag, 0);
        StandardizedQuality standardizedQuality = new StandardizedQuality();
        standardizedQuality.setDelFlag(1);
        standardizedQuality.setUpdateBy(SecurityUtils.getUsername());
        standardizedQuality.setUpdateTime(LocalDateTime.now());
        standardizedQualityMapper.update(standardizedQuality, lambdaQueryWrapper);
        return CommonResult.success();
    }
    @Override
    public CommonResult getStandardizedQualityByCompanyId(Integer companyId) {
        Map<String, Object> map = new HashMap<>();
        //程序文件
        List<StandardizedTemplate> companyIndustryTemplates = standardizedTemplateMapper.selectStandardizedTemplateList(companyId, 4);
        //职能分配
        List<SysFunctionalDistribution> sysFunctionalDistributions = sysFunctionalDistributionMapper.selectListVo(companyId.longValue());
        //部门
        SysDept sysDept = new SysDept();
        sysDept.setCompanyId(companyId.longValue());
        List<TreeSelect> treeSelects = iSysDeptService.selectDeptTreeList(sysDept);
        //公司概况
        List<CompanySummary> companySummaries = companySummaryMapper.selectCompanySummaryList(companyId);
        //质量方针
        List<CompanyQualityPolicy> companyQualityPolicies = companyQualityPolicyMapper.selectCompanyQualityPolicyList(companyId);
        //质量方针
        map.put("companyQualityPolicies", companyQualityPolicies);
        //公司概况
        map.put("companySummaries", companySummaries);
        //部门
        map.put("treeSelects", treeSelects);
        //职能分配
        map.put("sysFunctionalDistributions", sysFunctionalDistributions);
        //程序文件
        map.put("companyIndustryTemplates", companyIndustryTemplates);
        return CommonResult.success(map);
    }
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysCommonServiceImpl.java
@@ -262,7 +262,7 @@
    @Override
    @Transactional(rollbackFor = RuntimeException.class)
    public void importStudent() {
        String path="/home/java/train_exam/back/安全教育学员模板.xlsx";
        String path="/home/java/multi_system/back/安全教育学员模板.xlsx";
      //  String path="F:/kzy/乱七八糟/安全教育学员模板.xlsx";
        List<StudentExcelData> studentExcelDataList=EasyExcel.read(path, StudentExcelData.class,new StudentExcelDataListener()).sheet().doReadSync();
        List<ExStudent> students=new ArrayList<>();
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
@@ -325,9 +325,7 @@
    @Override
    public List<SysFunctionalDistribution> getFunctionalDistributionList(Long companyId) {
        if (companyId != null){
            companyId = SecurityUtils.getCompanyId();
        }
       return sysFunctionalDistributionMapper.selectListVo(companyId);
    }
multi-system/src/main/resources/mapper/system/StandardizedQualityMapper.xml
对比新文件
@@ -0,0 +1,65 @@
<?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.gkhy.exam.system.mapper.StandardizedQualityMapper">
    <update id="updateStandardizedQualityById" parameterType="com.gkhy.exam.system.domain.StandardizedQuality">
        UPDATE standardized_quality
        <set>
            <if test="companyId != null and companyId != ''" >
                company_id = #{companyId},
            </if>
            <if test="companyName != null and companyName != ''" >
                company_name = #{companyName},
            </if>
            <if test="qualityName != null and qualityName !=''" >
                quality_name = #{qualityName},
            </if>
            <if test="filePath != null and filePath !=''" >
                file_path = #{filePath},
            </if>
            <if test="format != null and format !=''" >
                format = #{format},
            </if>
            <if test="delFlag != null and delFlag != ''" >
                del_flag = #{delFlag},
            </if>
            <if test="createBy != null" >
                create_by = #{createBy},
            </if>
            <if test="createTime != null" >
                create_time = #{createTime},
            </if>
            <if test="updateBy != null" >
                update_by = #{updateBy},
            </if>
            <if test="updateTime != null" >
                update_time = #{updateTime}
            </if>
        </set>
        where id = #{id}
    </update>
    <select id="selectStandardizedQualityList" resultType="com.gkhy.exam.system.domain.StandardizedQuality">
        SELECT
            `id`,
            `company_id`,
            `company_name`,
            `quality_name`,
            `file_path`,
            `format`,
            `del_flag`,
            `create_by`,
            `create_time`,
            `update_by`,
            `update_time`
        FROM
        standardized_quality
        WHERE
            del_flag = 0
        <if test="companyId!=null and companyId!=''">
            and company_id = #{companyId}
        </if>
        ORDER BY
            create_time DESC
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/StandardizedTemplateMapper.xml
对比新文件
@@ -0,0 +1,69 @@
<?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.gkhy.exam.system.mapper.StandardizedTemplateMapper">
    <update id="updateStandardizedTemplateById" parameterType="com.gkhy.exam.system.domain.StandardizedTemplate">
        UPDATE standardized_template
        <set>
            <if test="companyId != null and companyId != ''" >
                company_id = #{companyId},
            </if>
            <if test="companyName != null and companyName != ''" >
                company_name = #{companyName},
            </if>
            <if test="templateName != null and templateName !=''" >
                template_name = #{templateName},
            </if>
            <if test="templateType != null " >
                template_type = #{templateType},
            </if>
            <if test="filePath != null and filePath !=''" >
                file_path = #{filePath},
            </if>
            <if test="format != null and format !=''" >
                format = #{format},
            </if>
            <if test="delFlag != null and delFlag != ''" >
                del_flag = #{delFlag},
            </if>
            <if test="createBy != null" >
                create_by = #{createBy},
            </if>
            <if test="createTime != null" >
                create_time = #{createTime},
            </if>
            <if test="updateBy != null" >
                update_by = #{updateBy},
            </if>
            <if test="updateTime != null" >
                update_time = #{updateTime}
            </if>
        </set>
        where id = #{id}
    </update>
    <select id="selectStandardizedTemplateList" resultType="com.gkhy.exam.system.domain.StandardizedTemplate">
        SELECT
            `id`,
            `company_id`,
            `company_name`,
            `template_name`,
            `template_type`,
            `file_path`,
            `format`,
            `del_flag`,
            `create_by`,
            `create_time`,
            `update_by`,
            `update_time`
        FROM
        standardized_template
        WHERE
            del_flag = 0 and template_type = #{templateType}
        <if test="companyId!=null and companyId!=''">
            and company_id = #{companyId}
        </if>
        ORDER BY
            create_time DESC
    </select>
</mapper>
pom.xml
@@ -204,6 +204,37 @@
                <artifactId>easyexcel</artifactId>
                <version>${easyexcel.version}</version>
            </dependency>
<!--            <dependency>-->
<!--                <groupId>com.deepoove</groupId>-->
<!--                <artifactId>poi-tl</artifactId>-->
<!--                <version>1.10.0</version>-->
<!--            </dependency>-->
<!--            &lt;!&ndash; 如果需要解析HTML &ndash;&gt;-->
<!--            <dependency>-->
<!--                <groupId>org.jsoup</groupId>-->
<!--                <artifactId>jsoup</artifactId>-->
<!--                <version>1.15.3</version>-->
<!--            </dependency>-->
<!--            <dependency>-->
<!--                <groupId>com.itextpdf</groupId>-->
<!--                <artifactId>itextpdf</artifactId>-->
<!--                <version>5.5.13.3</version>-->
<!--            </dependency>-->
<!--            <dependency>-->
<!--                <groupId>org.bouncycastle</groupId>-->
<!--                <artifactId>bcprov-jdk15on</artifactId>-->
<!--                <version>1.68</version>-->
<!--            </dependency>-->
<!--            &lt;!&ndash; 支持中文 &ndash;&gt;-->
<!--            <dependency>-->
<!--                <groupId>com.itextpdf</groupId>-->
<!--                <artifactId>itext-asian</artifactId>-->
<!--                <version>5.2.0</version>-->
<!--            </dependency>-->
        </dependencies>
    </dependencyManagement>