浏览代码

简化结构 增加web

daili 3 年之前
父节点
当前提交
dce2531f8f
共有 100 个文件被更改,包括 2349 次插入323 次删除
  1. 0 1
      application-file/src/main/java/com/factory/FileApplication.java
  2. 4 4
      application-file/src/main/java/com/factory/file/config/UpdateFileStoreDirListener.java
  3. 3 3
      application-file/src/main/java/com/factory/file/config/WebMvcConfig.java
  4. 5 5
      application-file/src/main/java/com/factory/file/controller/FileController.java
  5. 1 1
      application-file/src/main/java/com/factory/file/entity/vo/FileRes.java
  6. 5 5
      application-file/src/main/java/com/factory/file/service/FileInfoService.java
  7. 13 14
      application-file/src/main/java/com/factory/file/service/FileInfoServiceImpl.java
  8. 1 1
      application-file/src/main/java/com/factory/file/util/SnowFlake.java
  9. 0 106
      application-file/src/main/resources/application-prod.yml
  10. 0 104
      application-file/src/main/resources/application-test.yml
  11. 1 1
      application-file/src/main/resources/application.yml
  12. 85 1
      application-web/pom.xml
  13. 13 0
      application-web/src/main/java/com/factory/WebApplication.java
  14. 95 0
      application-web/src/main/java/com/factory/web/GetApiTest.java
  15. 39 0
      application-web/src/main/java/com/factory/web/config/LocalDateTimeConverter.java
  16. 57 0
      application-web/src/main/java/com/factory/web/controller/UserController.java
  17. 13 0
      application-web/src/main/java/com/factory/web/entity/vo/enumPo/CheckType.java
  18. 13 0
      application-web/src/main/java/com/factory/web/entity/vo/enumPo/CheckTypeSubmit.java
  19. 69 0
      application-web/src/main/java/com/factory/web/entity/vo/enumPo/FrequencyType.java
  20. 15 0
      application-web/src/main/java/com/factory/web/entity/vo/enumPo/ResStatus.java
  21. 13 0
      application-web/src/main/java/com/factory/web/entity/vo/enumPo/RoleEnum.java
  22. 14 0
      application-web/src/main/java/com/factory/web/entity/vo/enumPo/VersionAuditStatus.java
  23. 102 0
      application-web/src/main/java/com/factory/web/entity/vo/excel/ExcelFillCellMergeStrategy.java
  24. 34 0
      application-web/src/main/java/com/factory/web/entity/vo/excel/FillData.java
  25. 139 0
      application-web/src/main/java/com/factory/web/entity/vo/excel/IssueQualityExport.java
  26. 101 0
      application-web/src/main/java/com/factory/web/entity/vo/excel/IssueStopExport.java
  27. 51 0
      application-web/src/main/java/com/factory/web/entity/vo/excel/LongdyExcel.java
  28. 36 0
      application-web/src/main/java/com/factory/web/entity/vo/excel/TestFileUtil.java
  29. 2 2
      application-web/src/main/java/com/factory/web/entity/vo/req/MenuInsertReq.java
  30. 2 2
      application-web/src/main/java/com/factory/web/entity/vo/req/MenuPageQueryReq.java
  31. 2 2
      application-web/src/main/java/com/factory/web/entity/vo/req/MenuUpdateReq.java
  32. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/req/RoleInsertReq.java
  33. 2 2
      application-web/src/main/java/com/factory/web/entity/vo/req/RolePageQueryReq.java
  34. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/req/RoleUpdateReq.java
  35. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/req/UserInsertReq.java
  36. 25 0
      application-web/src/main/java/com/factory/web/entity/vo/req/UserLockReq.java
  37. 2 2
      application-web/src/main/java/com/factory/web/entity/vo/req/UserPageQueryReq.java
  38. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/req/UserUpdateReq.java
  39. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/res/ButtonRes.java
  40. 19 0
      application-web/src/main/java/com/factory/web/entity/vo/res/FieldNameRes.java
  41. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/res/FileRes.java
  42. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/res/MenuRes.java
  43. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/res/RoleListRes.java
  44. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/res/RoleRes.java
  45. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/res/UserLogInRes.java
  46. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/res/UserMenuRes.java
  47. 1 1
      application-web/src/main/java/com/factory/web/entity/vo/res/UserRes.java
  48. 51 0
      application-web/src/main/java/com/factory/web/entity/vo/res/benteler/PagePlanRes.java
  49. 11 0
      application-web/src/main/java/com/factory/web/entity/vo/res/versionApproveRes.java
  50. 28 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/FileList.java
  51. 35 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/HeadType.java
  52. 36 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/TestFileUtil.java
  53. 70 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type1.java
  54. 41 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type2.java
  55. 58 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type3.java
  56. 39 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type4.java
  57. 58 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type5.java
  58. 42 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type6.java
  59. 45 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type7.java
  60. 65 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/TypeOne.java
  61. 16 0
      application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/WidthAndHeightData.java
  62. 17 0
      application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniCheckItemMapper.java
  63. 17 0
      application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniCheckResultMapper.java
  64. 17 0
      application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniCheckTypeMapper.java
  65. 17 0
      application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniVersionItemMapper.java
  66. 23 0
      application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniVersionMapper.java
  67. 17 0
      application-web/src/main/java/com/factory/web/mapper/benteler/BentelerPlanMapper.java
  68. 3 2
      application-web/src/main/java/com/factory/web/mapper/remote/DeptMapper.java
  69. 3 2
      application-web/src/main/java/com/factory/web/mapper/remote/DictMapper.java
  70. 2 2
      application-web/src/main/java/com/factory/web/mapper/remote/MenuMapper.java
  71. 2 2
      application-web/src/main/java/com/factory/web/mapper/remote/ModuleMapper.java
  72. 2 2
      application-web/src/main/java/com/factory/web/mapper/remote/PermissionMapper.java
  73. 2 2
      application-web/src/main/java/com/factory/web/mapper/remote/RoleMapper.java
  74. 2 2
      application-web/src/main/java/com/factory/web/mapper/remote/RolePermissionMapper.java
  75. 10 0
      application-web/src/main/java/com/factory/web/mapper/remote/UserInfoMapper.java
  76. 2 2
      application-web/src/main/java/com/factory/web/mapper/remote/UserRoleMapper.java
  77. 2 2
      application-web/src/main/java/com/factory/web/mapper/remote/WorkstationMapper.java
  78. 2 5
      application-web/src/main/java/com/factory/web/mapper/system/FileInfoMapper.java
  79. 16 0
      application-web/src/main/java/com/factory/web/service/benteler/BentelerIniCheckItemService.java
  80. 16 0
      application-web/src/main/java/com/factory/web/service/benteler/BentelerIniCheckResultService.java
  81. 16 0
      application-web/src/main/java/com/factory/web/service/benteler/BentelerIniCheckTypeService.java
  82. 16 0
      application-web/src/main/java/com/factory/web/service/benteler/BentelerIniVersionItemService.java
  83. 50 0
      application-web/src/main/java/com/factory/web/service/benteler/BentelerIniVersionService.java
  84. 18 0
      application-web/src/main/java/com/factory/web/service/benteler/BentelerPlanService.java
  85. 16 0
      application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniCheckItemServiceImpl.java
  86. 16 0
      application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniCheckResultServiceImpl.java
  87. 16 0
      application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniCheckTypeServiceImpl.java
  88. 16 0
      application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniVersionItemServiceImpl.java
  89. 113 0
      application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniVersionServiceImpl.java
  90. 16 0
      application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerPlanServiceImpl.java
  91. 43 0
      application-web/src/main/java/com/factory/web/service/impl/remote/DeptServiceImpl.java
  92. 5 5
      application-web/src/main/java/com/factory/web/service/impl/remote/DictServiceImpl.java
  93. 7 6
      application-web/src/main/java/com/factory/web/service/impl/remote/FileInfoServiceImpl.java
  94. 4 4
      application-web/src/main/java/com/factory/web/service/impl/remote/MenuServiceImpl.java
  95. 4 4
      application-web/src/main/java/com/factory/web/service/impl/remote/PermissionServiceImpl.java
  96. 4 4
      application-web/src/main/java/com/factory/web/service/impl/remote/RolePermissionServiceImpl.java
  97. 4 4
      application-web/src/main/java/com/factory/web/service/impl/remote/RoleServiceImpl.java
  98. 190 0
      application-web/src/main/java/com/factory/web/service/impl/remote/UserInfoServiceImpl.java
  99. 35 0
      application-web/src/main/java/com/factory/web/service/impl/remote/UserRoleServiceImpl.java
  100. 5 5
      application-web/src/main/java/com/factory/web/service/impl/remote/WorkStationServiceImpl.java

+ 0 - 1
application-file/src/main/java/com/factory/FileApplication.java

@@ -3,7 +3,6 @@ package com.factory;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-//a
 @SpringBootApplication
 public class FileApplication {
 

+ 4 - 4
application-file/src/main/java/com/factory/file/application/event/listener/UpdateFileStoreDirListener.java → application-file/src/main/java/com/factory/file/config/UpdateFileStoreDirListener.java

@@ -1,9 +1,9 @@
-package com.factory.file.application.event.listener;
+package com.factory.file.config;
 
 
-import com.factory.infrastructure.config.properties.FileSystemProperties;
-import com.factory.infrastructure.constant.res.SystemConstant;
-import com.factory.infrastructure.util.file.FileUtils;
+import com.factory.config.properties.FileSystemProperties;
+import com.factory.base.entity.constant.res.SystemConstant;
+import com.factory.base.util.file.FileUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.context.ApplicationListener;

+ 3 - 3
application-file/src/main/java/com/factory/file/infrastructure/config/mvc/WebMvcConfig.java → application-file/src/main/java/com/factory/file/config/WebMvcConfig.java

@@ -1,8 +1,8 @@
-package com.factory.file.infrastructure.config.mvc;
+package com.factory.file.config;
 
 
-import com.factory.infrastructure.config.properties.FileSystemProperties;
-import com.factory.infrastructure.constant.res.SystemConstant;
+import com.factory.config.properties.FileSystemProperties;
+import com.factory.base.entity.constant.res.SystemConstant;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.context.annotation.Configuration;

+ 5 - 5
application-file/src/main/java/com/factory/file/interfaces/facade/FileController.java → application-file/src/main/java/com/factory/file/controller/FileController.java

@@ -1,10 +1,10 @@
-package com.factory.file.interfaces.facade;
+package com.factory.file.controller;
 
 
-import com.factory.domain.model.aggregates.ResponseBean;
-import com.factory.file.application.service.FileInfoService;
-import com.factory.file.domain.model.aggregates.FileRes;
-import com.factory.infrastructure.config.file.FileType;
+import com.factory.base.entity.aggregates.ResponseBean;
+import com.factory.file.service.FileInfoService;
+import com.factory.file.entity.vo.FileRes;
+import com.factory.base.config.file.FileType;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.PostMapping;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/res/FileRes.java → application-file/src/main/java/com/factory/file/entity/vo/FileRes.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.res;
+package com.factory.file.entity.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 5 - 5
application-file/src/main/java/com/factory/file/application/service/FileInfoService.java → application-file/src/main/java/com/factory/file/service/FileInfoService.java

@@ -1,11 +1,11 @@
-package com.factory.file.application.service;
+package com.factory.file.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.factory.domain.model.aggregates.ResponseBean;
-import com.factory.file.domain.model.aggregates.FileRes;
-import com.factory.infrastructure.config.file.FileType;
-import com.factory.infrastructure.po.file.FileInfo;
+import com.factory.base.entity.aggregates.ResponseBean;
+import com.factory.file.entity.vo.FileRes;
+import com.factory.base.config.file.FileType;
+import com.factory.base.entity.po.file.FileInfo;
 import org.springframework.web.multipart.MultipartFile;
 
 public interface FileInfoService extends IService<FileInfo> {

+ 13 - 14
application-file/src/main/java/com/factory/file/domain/service/FileInfoServiceImpl.java → application-file/src/main/java/com/factory/file/service/FileInfoServiceImpl.java

@@ -1,27 +1,26 @@
-package com.factory.file.domain.service;
+package com.factory.file.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.factory.user.config.handler.LoginContext;
+import com.factory.user.mapper.FileInfoMapper;
 import org.springframework.beans.BeanUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.factory.auth.infrastructure.config.AuthenticationProperties;
-import com.factory.domain.model.aggregates.ResponseBean;
-import com.factory.file.application.service.FileInfoService;
-import com.factory.file.domain.mapper.FileInfoMapper;
-import com.factory.file.domain.model.aggregates.FileRes;
-import com.factory.file.infrastructure.config.util.SnowFlake;
-import com.factory.infrastructure.config.file.FileType;
-import com.factory.infrastructure.config.properties.FileSystemProperties;
-import com.factory.infrastructure.constant.res.SystemConstant;
-import com.factory.infrastructure.po.file.FileInfo;
-import com.factory.infrastructure.util.file.FileUtils;
-import com.factory.infrastructure.util.res.ResponseBeanBuilder;
+import com.factory.user.config.AuthenticationProperties;
+import com.factory.base.entity.aggregates.ResponseBean;
+import com.factory.file.entity.vo.FileRes;
+import com.factory.file.util.SnowFlake;
+import com.factory.base.config.file.FileType;
+import com.factory.config.properties.FileSystemProperties;
+import com.factory.base.entity.constant.res.SystemConstant;
+import com.factory.base.entity.po.file.FileInfo;
+import com.factory.base.util.file.FileUtils;
+import com.factory.base.util.res.ResponseBeanBuilder;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import javax.security.auth.login.LoginContext;
 import java.io.File;
 import java.io.IOException;
 import java.time.LocalDateTime;

+ 1 - 1
application-file/src/main/java/com/factory/file/infrastructure/config/util/SnowFlake.java → application-file/src/main/java/com/factory/file/util/SnowFlake.java

@@ -1,4 +1,4 @@
-package com.factory.file.infrastructure.config.util;
+package com.factory.file.util;
 
 /**
  * Twitter的分布式自增ID雪花算法snowflake

+ 0 - 106
application-file/src/main/resources/application-prod.yml

@@ -1,106 +0,0 @@
-server:
-  port: 30045
-spring:
-  application:
-    name: application-file
-  redis:
-    host: 39.100.230.190
-    port: 8120
-    password: jh1q2w3e4r
-    database: 15
-    lettuce:
-      pool:
-        max-active: 5
-  datasource:
-    dynamic:
-      primary: self #设置默认的数据源或者数据源组,默认值即为master
-      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源.
-      datasource:
-        self:
-          url: jdbc:mysql://rm-2zesmqi0ku3lf9p3c.mysql.rds.aliyuncs.com:3306/zhoudu_base?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-          username: zhoudu
-          password: zhoudu&yujia#SY
-          driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
-        file:
-          url: jdbc:mysql://rm-2zesmqi0ku3lf9p3c.mysql.rds.aliyuncs.com:3306/zhoudu_base?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-          username: zhoudu
-          password: zhoudu&yujia#SY
-          driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
-    hikari:
-      maximum-pool-size: 5
-
-cn:
-  jiheng:
-    file:
-      file-store-dir: download
-      zip-out-dir: zip
-#      download-prefix: http://81.70.84.72:30045/
-      download-prefix: http://8.140.188.124:30045/file/
-#      download-prefix: http://172.18.0.24:30045/
-
-jetcache:
-  statIntervalMinutes: 15
-  areaInCacheName: false
-  hidePackages: top.jiheng.factory
-  local:
-    # 默认2小时本地缓存
-    default:
-      type: caffeine
-      keyConvertor: fastjson
-      expireAfterWriteInMillis: 3600000
-      expireAfterAccessInMillis: 1800000
-    # 長時本地緩存,主要用于要求时效一般
-    longTime:
-      type: caffeine
-      keyConvertor: fastjson
-      expireAfterWriteInMillis: 300000
-      expireAfterAccessInMillis: 180000
-    # 短時本地緩存,主要用于要求时效较高的配置
-    shortTime:
-      type: caffeine
-      keyConvertor: fastjson
-      expireAfterWriteInMillis: 60000
-      expireAfterAccessInMillis: 40000
-  remote:
-    # 默认2小时的远程缓存
-    default:
-      type: redis
-      expireAfterWriteInMillis: 43200000
-      keyConvertor: fastjson
-      valueEncoder: kryo
-      valueDecoder: kryo
-      poolConfig:
-        minIdle: 5
-        maxIdle: 20
-        maxTotal: 50
-      host: ${SPRING.REDIS.HOST:39.100.230.190}
-      port: ${SPRING.REDIS.PORT:8120}
-      password: ${SPRING.REDIS.PASSWORD:jh1q2w3e4r}
-    # 长时远程緩存,主要用于要求时效要求一般的集中式缓存
-    longTime:
-      type: redis
-      expireAfterWriteInMillis: 7200000
-      keyConvertor: fastjson
-      valueEncoder: kryo
-      valueDecoder: kryo
-      poolConfig:
-        minIdle: 5
-        maxIdle: 20
-        maxTotal: 50
-      host: ${SPRING.REDIS.HOST:39.100.230.190}
-      port: ${SPRING.REDIS.PORT:8120}
-      password: ${SPRING.REDIS.PASSWORD:jh1q2w3e4r}
-    # 短時远程緩存,主要用于要求时效较高的集中式缓存
-    shortTime:
-      type: redis
-      expireAfterWriteInMillis: 300000
-      keyConvertor: fastjson
-      valueEncoder: kryo
-      valueDecoder: kryo
-      poolConfig:
-        minIdle: 5
-        maxIdle: 20
-        maxTotal: 50
-      host: ${SPRING.REDIS.HOST:39.100.230.190}
-      port: ${SPRING.REDIS.PORT:8120}
-      password: ${SPRING.REDIS.PASSWORD:jh1q2w3e4r}

+ 0 - 104
application-file/src/main/resources/application-test.yml

@@ -1,104 +0,0 @@
-server:
-  port: 40045
-spring:
-  application:
-    name: application-file
-  redis:
-    host: 39.100.230.190
-    port: 8120
-    password: jh1q2w3e4r
-    database: 14
-    lettuce:
-      pool:
-        max-active: 5
-  datasource:
-    dynamic:
-      primary: self #设置默认的数据源或者数据源组,默认值即为master
-      strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源.
-      datasource:
-        self:
-          url: jdbc:mysql://39.100.230.190:8092/zhoudu_ceshi?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-          username: root
-          password: Jh@Jh2019!
-          driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
-        file:
-          url: jdbc:mysql://39.100.230.190:8092/zhoudu_ceshi?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-          username: root
-          password: Jh@Jh2019!
-          driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
-    hikari:
-      maximum-pool-size: 5
-
-cn:
-  jiheng:
-    file:
-      file-store-dir: download
-      zip-out-dir: zip
-      download-prefix: https://s2t.jihengcc.cn/file/
-
-jetcache:
-  statIntervalMinutes: 15
-  areaInCacheName: false
-  hidePackages: top.jiheng.factory
-  local:
-    # 默认2小时本地缓存
-    default:
-      type: caffeine
-      keyConvertor: fastjson
-      expireAfterWriteInMillis: 3600000
-      expireAfterAccessInMillis: 1800000
-    # 長時本地緩存,主要用于要求时效一般
-    longTime:
-      type: caffeine
-      keyConvertor: fastjson
-      expireAfterWriteInMillis: 300000
-      expireAfterAccessInMillis: 180000
-    # 短時本地緩存,主要用于要求时效较高的配置
-    shortTime:
-      type: caffeine
-      keyConvertor: fastjson
-      expireAfterWriteInMillis: 60000
-      expireAfterAccessInMillis: 40000
-  remote:
-    # 默认2小时的远程缓存
-    default:
-      type: redis
-      expireAfterWriteInMillis: 43200000
-      keyConvertor: fastjson
-      valueEncoder: kryo
-      valueDecoder: kryo
-      poolConfig:
-        minIdle: 5
-        maxIdle: 20
-        maxTotal: 50
-      host: ${SPRING.REDIS.HOST:39.100.230.190}
-      port: ${SPRING.REDIS.PORT:8120}
-      password: ${SPRING.REDIS.PASSWORD:jh1q2w3e4r}
-    # 长时远程緩存,主要用于要求时效要求一般的集中式缓存
-    longTime:
-      type: redis
-      expireAfterWriteInMillis: 7200000
-      keyConvertor: fastjson
-      valueEncoder: kryo
-      valueDecoder: kryo
-      poolConfig:
-        minIdle: 5
-        maxIdle: 20
-        maxTotal: 50
-      host: ${SPRING.REDIS.HOST:39.100.230.190}
-      port: ${SPRING.REDIS.PORT:8120}
-      password: ${SPRING.REDIS.PASSWORD:jh1q2w3e4r}
-    # 短時远程緩存,主要用于要求时效较高的集中式缓存
-    shortTime:
-      type: redis
-      expireAfterWriteInMillis: 300000
-      keyConvertor: fastjson
-      valueEncoder: kryo
-      valueDecoder: kryo
-      poolConfig:
-        minIdle: 5
-        maxIdle: 20
-        maxTotal: 50
-      host: ${SPRING.REDIS.HOST:39.100.230.190}
-      port: ${SPRING.REDIS.PORT:8120}
-      password: ${SPRING.REDIS.PASSWORD:jh1q2w3e4r}

+ 1 - 1
application-file/src/main/resources/application.yml

@@ -13,7 +13,7 @@ swagger:
   docket:
     apis:
       title: "文件上传"
-      base-package: cn.jiheng.factory.application.file.interfaces.facade
+      base-package: com.factory.file.interfaces.facade
   authorization:
     key-name: Authorization
   ui-config:

+ 85 - 1
application-web/pom.xml

@@ -8,9 +8,93 @@
         <version>1.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
+    <packaging>jar</packaging>
+
+    <properties>
+        <flying-saucer-pdf.version>9.1.5</flying-saucer-pdf.version>
+        <xmlworker.version>5.5.6</xmlworker.version>
+    </properties>
 
     <artifactId>application-web</artifactId>
-    <version>1.0</version>
+    <name>application-web</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.jihengbel.intelligent</groupId>
+            <artifactId>common-config</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.jihengbel.intelligent</groupId>
+            <artifactId>common-user</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.itextpdf</groupId>
+            <artifactId>itextpdf</artifactId>
+            <version>5.5.6</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.itextpdf.tool</groupId>
+            <artifactId>xmlworker</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.itextpdf</groupId>
+            <artifactId>itext-asian</artifactId>
+            <version>5.2.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.xhtmlrenderer</groupId>
+            <artifactId>flying-saucer-pdf</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-freemarker</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
 
+    </dependencies>
 
+    <build>
+        <finalName>application-web</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>

+ 13 - 0
application-web/src/main/java/com/factory/WebApplication.java

@@ -0,0 +1,13 @@
+package com.factory;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class WebApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(WebApplication.class, args);
+    }
+
+}

+ 95 - 0
application-web/src/main/java/com/factory/web/GetApiTest.java

@@ -0,0 +1,95 @@
+package com.factory.web;
+
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.core.io.support.ResourcePatternResolver;
+import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
+import org.springframework.core.type.classreading.MetadataReader;
+import org.springframework.core.type.classreading.MetadataReaderFactory;
+import org.springframework.util.ClassUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+public class GetApiTest {
+	private final static String BASE_PACKAGE = "cn.jiheng.factory.application.web.interfaces.facade.andon";
+	private final static String RESOURCE_PATTERN = "/**/*.class";
+	public static void main(String[] args) {
+		List<String> pathList = new ArrayList<>();
+
+        //spring工具类,可以获取指定路径下的全部类
+        ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
+        try {
+            String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX +
+                    ClassUtils.convertClassNameToResourcePath(BASE_PACKAGE) + RESOURCE_PATTERN;
+            
+            Resource[] resources = resourcePatternResolver.getResources(pattern);
+            
+            //MetadataReader 的工厂类
+            MetadataReaderFactory readerfactory = new CachingMetadataReaderFactory(resourcePatternResolver);
+            for (Resource resource : resources) {
+                //用于读取类信息
+                MetadataReader reader = readerfactory.getMetadataReader(resource);
+                //扫描到的class
+                String classname = reader.getClassMetadata().getClassName();
+                Class<?> clazz = Class.forName(classname);
+                
+                //判断是否有指定主解
+                RestController anno1 = clazz.getAnnotation(RestController.class);
+                if(anno1==null) {
+                	continue;
+                }
+                String path = "";
+                RequestMapping anno2 = clazz.getAnnotation(RequestMapping.class);
+                if(anno2!=null) {
+                	String[] value = anno2.value();
+                	path = value[0];
+                }
+                if(path.length()>0&&!path.startsWith("/")) {
+                	path = "/"+path;
+                }
+                
+                //将注解中的类型值作为key,对应的类作为 value
+                Method[] methods = clazz.getMethods();
+                for(Method method:methods) {
+                    RequestMapping annotation = method.getAnnotation(RequestMapping.class);
+                    GetMapping ag = method.getAnnotation(GetMapping.class);
+                    PostMapping ap = method.getAnnotation(PostMapping.class);
+                    if (annotation != null) {
+                        String v = annotation.value()[0];
+                        if(!v.startsWith("/")) {
+                        	v = "/"+v;
+                        }
+                        pathList.add(path+v);
+                    }
+                    if (ag != null) {
+                        String v = ag.value()[0];
+                        if(!v.startsWith("/")) {
+                        	v = "/"+v;
+                        }
+                        pathList.add(path+v);
+                    }
+                    if (ap != null) {
+                        String v = ap.value()[0];
+                        if(!v.startsWith("/")) {
+                        	v = "/"+v;
+                        }
+                        pathList.add(path+v);
+                    }
+                }
+                
+            }
+        } catch (IOException | ClassNotFoundException e) {
+        }
+        for(String path:pathList) {
+        	System.out.println("/web"+path);
+        }
+	}
+	
+}

+ 39 - 0
application-web/src/main/java/com/factory/web/config/LocalDateTimeConverter.java

@@ -0,0 +1,39 @@
+package com.factory.web.config;
+
+
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.CellData;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+public class LocalDateTimeConverter implements Converter<LocalDateTime> {
+
+
+    @Override
+    public Class<LocalDateTime> supportJavaTypeKey() {
+        return LocalDateTime.class;
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return CellDataTypeEnum.STRING;
+    }
+
+    @Override
+    public LocalDateTime convertToJavaData(CellData cellData, ExcelContentProperty contentProperty,
+                                           GlobalConfiguration globalConfiguration) {
+        return LocalDateTime.parse(cellData.getStringValue(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+    }
+
+    @Override
+    public CellData<String> convertToExcelData(LocalDateTime value, ExcelContentProperty contentProperty,
+                                               GlobalConfiguration globalConfiguration) {
+        return new CellData<>(value.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+    }
+
+
+}

+ 57 - 0
application-web/src/main/java/com/factory/web/controller/UserController.java

@@ -0,0 +1,57 @@
+package com.factory.web.controller;
+
+import com.factory.web.service.remote.UserInfoService;
+import com.factory.web.entity.vo.req.UserInsertReq;
+import com.factory.web.entity.vo.req.UserLockReq;
+import com.factory.web.entity.vo.req.UserPageQueryReq;
+import com.factory.web.entity.vo.res.UserRes;
+import com.factory.base.entity.aggregates.PageBean;
+import com.factory.base.entity.aggregates.ResponseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 用户管理
+ *
+ * @author JCM
+ * @date 2021/5/13 10:53
+ */
+@Api(tags = "用户管理")
+@RestController
+@RequestMapping("/userController")
+public class UserController {
+
+    @Autowired
+    private UserInfoService userInfoService;
+
+    @ApiOperation("账户列表")
+    @PostMapping("/selectUser")
+    public ResponseBean<PageBean<UserRes>> selectUser(@RequestBody UserPageQueryReq userPageQueryReq){
+        return userInfoService.selectUser(userPageQueryReq);
+    }
+
+    @ApiOperation("用户新增")
+    @PostMapping("/insertUser")
+    public ResponseBean<String> insertUser(@RequestBody UserInsertReq userInsertReq){
+        return userInfoService.insertUser(userInsertReq);
+    }
+
+    @ApiOperation("用户修改")
+    @PostMapping("/updateUser")
+    public ResponseBean<String> updateUser(@RequestBody UserInsertReq userInsertReq){
+        return userInfoService.updateUser(userInsertReq);
+    }
+
+    @ApiOperation("用户禁用")
+    @PostMapping("/userLock")
+    public ResponseBean<String> userLock(@RequestBody UserLockReq userLockReq){
+        return userInfoService.userLock(userLockReq);
+    }
+
+
+}

+ 13 - 0
application-web/src/main/java/com/factory/web/entity/vo/enumPo/CheckType.java

@@ -0,0 +1,13 @@
+package com.factory.web.entity.vo.enumPo;
+
+public enum CheckType {
+    //检查结果类型 首件 二百
+    FIRST(1),
+    TWOHUNDRED(2),
+    BREAK(3);
+    public final Integer value;
+    CheckType(Integer value) {
+        this.value = value;
+    }
+
+}

+ 13 - 0
application-web/src/main/java/com/factory/web/entity/vo/enumPo/CheckTypeSubmit.java

@@ -0,0 +1,13 @@
+package com.factory.web.entity.vo.enumPo;
+
+public enum CheckTypeSubmit {
+    //检查单-某一类型的提交状态 1未保存2保存3提交
+    UNSAVE(0),
+    SAVE(1),
+    SUBMIT(2);
+    public final Integer value;
+    CheckTypeSubmit(Integer value) {
+        this.value = value;
+    }
+
+}

+ 69 - 0
application-web/src/main/java/com/factory/web/entity/vo/enumPo/FrequencyType.java

@@ -0,0 +1,69 @@
+package com.factory.web.entity.vo.enumPo;
+
+import java.time.*;
+import java.time.temporal.TemporalAdjusters;
+import java.util.function.Function;
+
+public enum  FrequencyType {
+    //频次  日  周  月
+    Day(1,
+            "每日",
+            Function.identity(),
+            Function.identity()),
+
+    Week(2,
+            "每周",
+            item->item.with(TemporalAdjusters.previous(DayOfWeek.MONDAY)),
+            item-> {
+                LocalDate with = item.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
+                return with;
+            }),
+    Month(3,
+            "每月",
+            item->item.with(TemporalAdjusters.firstDayOfMonth()),
+            item->item.with(TemporalAdjusters.lastDayOfMonth())),
+    QUARTER(4,
+            "每季度",
+            item->{
+                Month firstMonthOfQuarter = java.time.Month.of(item.getMonth().firstMonthOfQuarter().getValue());
+                Month firstMonthOfNextQuarter = firstMonthOfQuarter.plus(3L);
+                int yearOfNextQuarter = firstMonthOfQuarter.getValue() > 9 ? item.getYear() + 1 : item.getYear();
+                return LocalDateTime.of(LocalDate.of(yearOfNextQuarter, firstMonthOfNextQuarter, 1), LocalTime.MIN).toLocalDate();
+            },
+            item->{
+                Month firstMonthOfQuarter = java.time.Month.of(item.getMonth().firstMonthOfQuarter().getValue());
+                Month firstMonthOfNextQuarter = firstMonthOfQuarter.plus(5L);
+                int yearOfNextQuarter = firstMonthOfQuarter.getValue() > 9 ? item.getYear() + 1 : item.getYear();
+                return LocalDateTime.of(LocalDate.of(yearOfNextQuarter, firstMonthOfNextQuarter, firstMonthOfNextQuarter.maxLength()), LocalTime.MAX).toLocalDate();
+            }),
+    HALFYEAR(5,
+            "每半年",
+            item->{
+                int lastHalfYear = (item.getMonthValue() > 6) ? item.getYear() : item.getYear() - 1;
+                java.time.Month firstMonthOfLastHalfYear = (item.getMonthValue() > 6) ? java.time.Month.JANUARY : java.time.Month.JULY;
+                LocalDateTime of = LocalDateTime.of(LocalDate.of(lastHalfYear, firstMonthOfLastHalfYear, 1), LocalTime.MIN);
+                return of.toLocalDate();
+            },
+            item->{
+                int lastHalfYear = (item.getMonthValue() > 6) ? item.getYear() : item.getYear() - 1;
+                Month firstMonthOfLastHalfYear = (item.getMonthValue() > 6) ? java.time.Month.JANUARY : java.time.Month.JULY;
+                return LocalDateTime.of(LocalDate.of(lastHalfYear, firstMonthOfLastHalfYear, 1), LocalTime.MIN).toLocalDate();
+            }),
+    TEAM(6,
+            "班/次",
+            Function.identity(),
+            Function.identity());
+
+    public final Integer value;
+    public final String desc;
+    public final Function getFirstDate;
+    public final Function getEndDate;
+    FrequencyType(Integer value,String desc, Function<LocalDate, LocalDate> getFirstDate,Function<LocalDate, LocalDate> getEndDate) {
+        this.value = value;
+        this.desc = desc;
+        this.getFirstDate = getFirstDate;
+        this.getEndDate = getEndDate;
+    }
+
+
+}

+ 15 - 0
application-web/src/main/java/com/factory/web/entity/vo/enumPo/ResStatus.java

@@ -0,0 +1,15 @@
+package com.factory.web.entity.vo.enumPo;
+
+public enum ResStatus {
+    //响应状态
+    //待响应 已响应/未响应 已完成
+    WAIT(1),
+    UNRES(2),
+    RES(3),
+    Finished(4);
+    public final Integer value;
+    ResStatus(Integer value) {
+        this.value = value;
+    }
+
+}

+ 13 - 0
application-web/src/main/java/com/factory/web/entity/vo/enumPo/RoleEnum.java

@@ -0,0 +1,13 @@
+package com.factory.web.entity.vo.enumPo;
+
+public enum RoleEnum {
+    //响应状态
+    //待响应 已响应/未响应 已完成
+    质量工程师("58"),
+    质量经理("57"),
+    生产经理("56");
+    public final String value;
+    RoleEnum(String value) {
+        this.value = value;
+    }
+}

+ 14 - 0
application-web/src/main/java/com/factory/web/entity/vo/enumPo/VersionAuditStatus.java

@@ -0,0 +1,14 @@
+package com.factory.web.entity.vo.enumPo;
+
+public enum VersionAuditStatus {
+    //审核结果 1待审核 2当前版本 3历史版本 4驳回
+    UNAUDIT(1),
+    CURRENT(2),
+    HISTORY(3),
+    TURNDOWN(4);
+    public final Integer value;
+    VersionAuditStatus(Integer value) {
+        this.value = value;
+    }
+
+}

+ 102 - 0
application-web/src/main/java/com/factory/web/entity/vo/excel/ExcelFillCellMergeStrategy.java

@@ -0,0 +1,102 @@
+package com.factory.web.entity.vo.excel;
+
+import com.alibaba.excel.metadata.CellData;
+import com.alibaba.excel.metadata.Head;
+import com.alibaba.excel.write.handler.CellWriteHandler;
+import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
+import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
+import lombok.Data;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.util.CellRangeAddress;
+
+import java.util.List;
+
+@Data
+public class ExcelFillCellMergeStrategy implements CellWriteHandler {
+	/**
+	 * 合并字段的下标
+	 */
+	private int[] mergeColumnIndex;
+	/**
+	 * 合并几行
+	 */
+	private int mergeRowIndex;
+
+	public ExcelFillCellMergeStrategy() {
+	}
+
+	public ExcelFillCellMergeStrategy(int mergeRowIndex, int[] mergeColumnIndex) {
+		this.mergeRowIndex = mergeRowIndex;
+		this.mergeColumnIndex = mergeColumnIndex;
+	}
+
+	@Override
+	public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row,
+                                 Head head, Integer integer, Integer integer1, Boolean aBoolean) {
+
+	}
+
+	@Override
+	public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell,
+                                Head head, Integer integer, Boolean aBoolean) {
+
+	}
+
+	@Override
+	public void afterCellDataConverted(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder,
+                                       CellData cellData, Cell cell, Head head, Integer integer, Boolean aBoolean) {
+
+	}
+
+	@Override
+	public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder,
+                                 List<CellData> list, Cell cell, Head head, Integer integer, Boolean aBoolean) {
+//当前行
+		int curRowIndex = cell.getRowIndex();
+		//当前列
+		int curColIndex = cell.getColumnIndex();
+
+		if (curRowIndex > mergeRowIndex) {
+			for (int i = 0; i < mergeColumnIndex.length; i++) {
+				if (curColIndex == mergeColumnIndex[i]) {
+					mergeWithPrevRow(writeSheetHolder, cell, curRowIndex, curColIndex);
+					break;
+				}
+			}
+		}
+	}
+
+	private void mergeWithPrevRow(WriteSheetHolder writeSheetHolder, Cell cell, int curRowIndex, int curColIndex) {
+		//获取当前行的当前列的数据和上一行的当前列列数据,通过上一行数据是否相同进行合并
+		Object curData = cell.getCellTypeEnum() == CellType.STRING ? cell.getStringCellValue() :
+				cell.getNumericCellValue();
+		Cell preCell = cell.getSheet().getRow(curRowIndex - 1).getCell(curColIndex);
+		Object preData = preCell.getCellTypeEnum() == CellType.STRING ? preCell.getStringCellValue() : preCell.getNumericCellValue();
+		// 比较当前行的第一列的单元格与上一行是否相同,相同合并当前单元格与上一行
+		//
+		if (curData.equals(preData)) {
+			Sheet sheet = writeSheetHolder.getSheet();
+			List<CellRangeAddress> mergeRegions = sheet.getMergedRegions();
+			boolean isMerged = false;
+			for (int i = 0; i < mergeRegions.size() && !isMerged; i++) {
+				CellRangeAddress cellRangeAddr = mergeRegions.get(i);
+				// 若上一个单元格已经被合并,则先移出原有的合并单元,再重新添加合并单元
+				if (cellRangeAddr.isInRange(curRowIndex - 1, curColIndex)) {
+					sheet.removeMergedRegion(i);
+					cellRangeAddr.setLastRow(curRowIndex);
+					sheet.addMergedRegion(cellRangeAddr);
+					isMerged = true;
+				}
+			}
+			// 若上一个单元格未被合并,则新增合并单元
+			if (!isMerged) {
+				CellRangeAddress cellRangeAddress = new CellRangeAddress(curRowIndex - 1, curRowIndex, curColIndex,
+						curColIndex);
+				sheet.addMergedRegion(cellRangeAddress);
+			}
+		}
+	}
+}

+ 34 - 0
application-web/src/main/java/com/factory/web/entity/vo/excel/FillData.java

@@ -0,0 +1,34 @@
+package com.factory.web.entity.vo.excel;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class FillData {
+    private String no;
+    private String characteristics;
+    private String measuringRange;
+    private String method;
+    private String frequency;
+    private String clazz;
+    private String tool;
+    private String releaseRecord;
+    private String workstation;
+    private String inistation;
+    private String inigread;
+    private String twoStation;
+    private String twoGread;
+    private String breakOffstation;
+    private String breakOffgread;
+    private String firOrder;
+    private String towOrder;
+    private String breOrder;
+
+
+}

+ 139 - 0
application-web/src/main/java/com/factory/web/entity/vo/excel/IssueQualityExport.java

@@ -0,0 +1,139 @@
+package com.factory.web.entity.vo.excel;
+
+import com.factory.web.config.LocalDateTimeConverter;
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * @program: factory-point-inspection
+ * @description:
+ * @author: dl
+ * @create: 03月12日 15时
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ContentRowHeight(20)
+@HeadRowHeight(20)
+@ColumnWidth(25)
+public class IssueQualityExport {
+
+    @ExcelIgnore
+    private Long id;
+    /**
+     * 中长期责任人
+     */
+    @ExcelProperty(value = "长期责任人")
+    private String longPrincipalName;
+
+    /**
+     * 短期责任人
+     */
+    @ExcelProperty(value = "短期责任人")
+    private String shortPrincipalName;
+    /**
+     * 短期责任部门
+     */
+    @ExcelProperty(value = "短期责任部门")
+    private String shortTimeDepartmentName;
+
+    /**
+     * 长期负责部门
+     */
+    @ExcelProperty(value = "长期负责部门")
+    private String longtimeDepartmentName;
+
+    /**
+     * 发生时间
+     */
+    @ExcelProperty(value = "发生时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime startTime;
+
+    /**
+     * 问题描述
+     */
+    @ExcelProperty(value = "问题描述")
+    private String detail;
+
+    /**
+     * 创建人
+     */
+    @ExcelProperty(value = "记录人")
+    private String createdUsername;
+
+    /**
+     * 状态
+     */
+    @ExcelProperty(value = "状态")
+    private String statusValue;
+    /**
+     * 缺陷类型 对应源系统dict表
+     */
+    @ExcelProperty(value = "缺陷类型")
+    private String defectTypeName;
+
+    /**
+     * 过程 对应源系统dict表
+     */
+    @ExcelProperty(value = "过程")
+    private String processName;
+    /**
+     * 发生地点
+     */
+    @ExcelProperty(value = "发生地点")
+    private String areaName;
+    /**
+     * 零件选择 对应源系统dict表
+     */
+    @ExcelProperty(value = "零件选择")
+    private String partName;
+    /**
+     * 完成时间
+     */
+    @ExcelProperty(value = "完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime finishTime;
+
+    @ExcelProperty(value = "短期措施根本原因")
+    private String shortCause;
+
+    @ExcelProperty(value = "短期措施")
+    private String shortSolution;
+
+    @ExcelProperty(value = "短期计划完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime shortPlanFinishTime;
+
+    @ExcelProperty(value = "短期实际完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime shortCompletionTime;
+
+    @ExcelProperty(value = "短期措施根本原因")
+    private String longCause;
+
+    @ExcelProperty(value = "中长措施")
+    private String middleSolution;
+
+    @ExcelProperty(value = "中长计划完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime middlePlanFinishTime;
+
+    @ExcelProperty(value = "中长实际完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime middleCompletionTime;
+
+    @ExcelProperty(value = "长期措施")
+    private String longSolution;
+
+    @ExcelProperty(value = "长期计划完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime longPlanFinishTime;
+
+    @ExcelProperty(value = "长期实际完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime longCompletionTime;
+
+}

+ 101 - 0
application-web/src/main/java/com/factory/web/entity/vo/excel/IssueStopExport.java

@@ -0,0 +1,101 @@
+package com.factory.web.entity.vo.excel;
+
+import com.factory.web.config.LocalDateTimeConverter;
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * @program: factory-point-inspection
+ * @description:
+ * @author: dl
+ * @create: 03月12日 15时
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class IssueStopExport {
+
+    @ExcelIgnore
+    private Long id;
+
+    @ExcelProperty(value = "发生时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime startTime;
+
+    @ExcelProperty(value = "发生地点")
+    private String areaName;
+
+    @ExcelProperty(value = "工位")
+    private String workstationName;
+
+    @ExcelProperty(value = "项目名称")
+    private String projectName;
+
+    @ExcelProperty(value = "零件名称")
+    private String partName;
+
+    @ExcelProperty(value = "责任部门")
+    private String departmentName;
+
+    @ExcelProperty(value = "停机分组")
+    private String stopGroupName;
+
+    @ExcelProperty(value = "停机类型")
+    private String stopTypeName;
+
+    @ExcelProperty(value = "SQP类型")
+    private String sqpTypeName;
+
+    @ExcelProperty(value = "rank")
+    private String rankName;
+
+    @ExcelProperty(value = "停机时长(分钟)")
+    private Integer stopTime;
+
+    @ExcelProperty(value = "责任人")
+    private String principalName;
+
+    @ExcelProperty(value = "问题描述")
+    private String detail;
+
+    @ExcelProperty(value = "记录人")
+    private String createdUsername;
+
+    @ExcelProperty(value = "状态")
+    private String statusValue;
+
+    @ExcelProperty(value = "完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime finishTime;
+
+    @ExcelProperty(value = "短期措施根本原因")
+    private String shortCause;
+
+    @ExcelProperty(value = "短期措施")
+    private String shortSolution;
+
+    @ExcelProperty(value = "短期计划完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime shortPlanFinishTime;
+
+    @ExcelProperty(value = "短期实际完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime shortCompletionTime;
+
+    @ExcelProperty(value = "长期措施根本原因")
+    private String longCause;
+
+    @ExcelProperty(value = "长期措施")
+    private String longSolution;
+
+
+    @ExcelProperty(value = "长期计划完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime longPlanFinishTime;
+
+    @ExcelProperty(value = "长期实际完成时间", converter = LocalDateTimeConverter.class)
+    private LocalDateTime longCompletionTime;
+
+}

+ 51 - 0
application-web/src/main/java/com/factory/web/entity/vo/excel/LongdyExcel.java

@@ -0,0 +1,51 @@
+package com.factory.web.entity.vo.excel;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class LongdyExcel {
+    private String flow;
+    private String longdyProject;
+    private String standard;
+    private String frequency;
+    private String o1;
+    private String o2;
+    private String o3;
+    private String o4;
+    private String o5;
+    private String o6;
+    private String o7;
+    private String o8;
+    private String o9;
+    private String o10;
+    private String o11;
+    private String o12;
+    private String o13;
+    private String o14;
+    private String o15;
+    private String o16;
+    private String o17;
+    private String o18;
+    private String o19;
+    private String o20;
+    private String o21;
+    private String o22;
+    private String o23;
+    private String o24;
+    private String o25;
+    private String o26;
+    private String o27;
+    private String o28;
+    private String o29;
+    private String o30;
+    private String o31;
+
+
+}

+ 36 - 0
application-web/src/main/java/com/factory/web/entity/vo/excel/TestFileUtil.java

@@ -0,0 +1,36 @@
+package com.factory.web.entity.vo.excel;
+
+import java.io.File;
+import java.io.InputStream;
+
+public class TestFileUtil {
+
+
+    public static InputStream getResourcesFileInputStream(String fileName) {
+        return Thread.currentThread().getContextClassLoader().getResourceAsStream("" + fileName);
+    }
+
+    public static String getPath() {
+        return TestFileUtil.class.getResource("/").getPath();
+    }
+
+    public static File createNewFile(String pathName) {
+        File file = new File(getPath() + pathName);
+        if (file.exists()) {
+            file.delete();
+        } else {
+            if (!file.getParentFile().exists()) {
+                file.getParentFile().mkdirs();
+            }
+        }
+        return file;
+    }
+
+    public static File readFile(String pathName) {
+        return new File(getPath() + pathName);
+    }
+
+    public static File readUserHomeFile(String pathName) {
+        return new File(System.getProperty("user.home") + File.separator + pathName);
+    }
+}

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/model/vo/req/MenuInsertReq.java → application-web/src/main/java/com/factory/web/entity/vo/req/MenuInsertReq.java

@@ -1,6 +1,6 @@
-package com.factory.user.domain.model.vo.req;
+package com.factory.web.entity.vo.req;
 
-import com.factory.infrastructure.config.auth.MenuType;
+import com.factory.base.config.auth.MenuType;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/model/vo/req/MenuPageQueryReq.java → application-web/src/main/java/com/factory/web/entity/vo/req/MenuPageQueryReq.java

@@ -1,6 +1,6 @@
-package com.factory.user.domain.model.vo.req;
+package com.factory.web.entity.vo.req;
 
-import com.factory.domain.model.vo.req.BasePageSortReq;
+import com.factory.base.entity.vo.req.BasePageSortReq;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/model/vo/req/MenuUpdateReq.java → application-web/src/main/java/com/factory/web/entity/vo/req/MenuUpdateReq.java

@@ -1,6 +1,6 @@
-package com.factory.user.domain.model.vo.req;
+package com.factory.web.entity.vo.req;
 
-import com.factory.infrastructure.config.auth.MenuType;
+import com.factory.base.config.auth.MenuType;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/req/RoleInsertReq.java → application-web/src/main/java/com/factory/web/entity/vo/req/RoleInsertReq.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.req;
+package com.factory.web.entity.vo.req;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/model/vo/req/RolePageQueryReq.java → application-web/src/main/java/com/factory/web/entity/vo/req/RolePageQueryReq.java

@@ -1,6 +1,6 @@
-package com.factory.user.domain.model.vo.req;
+package com.factory.web.entity.vo.req;
 
-import com.factory.domain.model.vo.req.BasePageSortReq;
+import com.factory.base.entity.vo.req.BasePageSortReq;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/req/RoleUpdateReq.java → application-web/src/main/java/com/factory/web/entity/vo/req/RoleUpdateReq.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.req;
+package com.factory.web.entity.vo.req;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/req/UserInsertReq.java → application-web/src/main/java/com/factory/web/entity/vo/req/UserInsertReq.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.req;
+package com.factory.web.entity.vo.req;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 25 - 0
application-web/src/main/java/com/factory/web/entity/vo/req/UserLockReq.java

@@ -0,0 +1,25 @@
+package com.factory.web.entity.vo.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 用户管理
+ *
+ * @author JCM
+ * @date 2021/5/13 20:36
+ */
+@Data
+@ApiModel("用户管理")
+public class UserLockReq {
+
+    @ApiModelProperty("用户id")
+    private Long id;
+
+    @ApiModelProperty("设置:false.解禁 true.禁用")
+    private boolean no;
+
+    @ApiModelProperty("班次")
+    private Long shiftId;
+}

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/model/vo/req/UserPageQueryReq.java → application-web/src/main/java/com/factory/web/entity/vo/req/UserPageQueryReq.java

@@ -1,6 +1,6 @@
-package com.factory.user.domain.model.vo.req;
+package com.factory.web.entity.vo.req;
 
-import com.factory.domain.model.vo.req.BasePageReq;
+import com.factory.base.entity.vo.req.BasePageReq;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/req/UserUpdateReq.java → application-web/src/main/java/com/factory/web/entity/vo/req/UserUpdateReq.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.req;
+package com.factory.web.entity.vo.req;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/res/ButtonRes.java → application-web/src/main/java/com/factory/web/entity/vo/res/ButtonRes.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.res;
+package com.factory.web.entity.vo.res;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 19 - 0
application-web/src/main/java/com/factory/web/entity/vo/res/FieldNameRes.java

@@ -0,0 +1,19 @@
+package com.factory.web.entity.vo.res;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class FieldNameRes {
+
+    @ApiModelProperty(value = "字段名")
+    private String Field;
+
+    @ApiModelProperty(value = "备注")
+    private String Comment;
+
+}

+ 1 - 1
application-file/src/main/java/com/factory/file/domain/model/aggregates/FileRes.java → application-web/src/main/java/com/factory/web/entity/vo/res/FileRes.java

@@ -1,4 +1,4 @@
-package com.factory.file.domain.model.aggregates;
+package com.factory.web.entity.vo.res;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/res/MenuRes.java → application-web/src/main/java/com/factory/web/entity/vo/res/MenuRes.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.res;
+package com.factory.web.entity.vo.res;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/res/RoleListRes.java → application-web/src/main/java/com/factory/web/entity/vo/res/RoleListRes.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.res;
+package com.factory.web.entity.vo.res;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/res/RoleRes.java → application-web/src/main/java/com/factory/web/entity/vo/res/RoleRes.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.res;
+package com.factory.web.entity.vo.res;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/res/UserLogInRes.java → application-web/src/main/java/com/factory/web/entity/vo/res/UserLogInRes.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.res;
+package com.factory.web.entity.vo.res;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/res/UserMenuRes.java → application-web/src/main/java/com/factory/web/entity/vo/res/UserMenuRes.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.res;
+package com.factory.web.entity.vo.res;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
common-user/src/main/java/com/factory/user/domain/model/vo/res/UserRes.java → application-web/src/main/java/com/factory/web/entity/vo/res/UserRes.java

@@ -1,4 +1,4 @@
-package com.factory.user.domain.model.vo.res;
+package com.factory.web.entity.vo.res;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 51 - 0
application-web/src/main/java/com/factory/web/entity/vo/res/benteler/PagePlanRes.java

@@ -0,0 +1,51 @@
+package com.factory.web.entity.vo.res.benteler;
+
+import com.factory.base.entity.vo.req.BaseIdReq;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.sql.Time;
+import java.time.LocalDateTime;
+
+/**
+ * @program: intelligent-factory-service
+ * @description:
+ * @author: dl
+ * @create: 05月19日 08时
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude()
+public class PagePlanRes extends BaseIdReq {
+    @ApiModelProperty("计划名称")
+    private String name;
+
+    @ApiModelProperty("责任人1")
+    private String principleOne;
+    @ApiModelProperty("责任人2")
+    private String principleTwo;
+
+
+    @ApiModelProperty("当前执行 检查状态 1待响应 2未响应 3已响应 4已完成")
+    private Integer checkStatus;
+
+
+    @ApiModelProperty(value = "提交时间")
+    private Time submitTime;
+
+
+    @ApiModelProperty(value = "创建时间", hidden = true)
+    private LocalDateTime createdTime;
+
+    @ApiModelProperty("是否禁用暂停")
+    private Boolean pauseFlag;
+
+
+
+}

+ 11 - 0
application-web/src/main/java/com/factory/web/entity/vo/res/versionApproveRes.java

@@ -0,0 +1,11 @@
+package com.factory.web.entity.vo.res;
+
+/**
+ * @program: intelligent-factory-service
+ * @description:
+ * @author: dl
+ * @create: 05月17日 19时
+ **/
+public class versionApproveRes {
+
+}

+ 28 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/FileList.java

@@ -0,0 +1,28 @@
+/**
+  * Copyright 2021 json.cn 
+  */
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Auto-generated: 2021-04-20 14:32:31
+ *
+ * @author json.cn (i@json.cn)
+ * @website http://www.json.cn/java2pojo/
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+
+public class FileList {
+
+    private int id;
+    private String url;
+
+
+}

+ 35 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/HeadType.java

@@ -0,0 +1,35 @@
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(25)
+@HeadRowHeight(40)
+@ContentRowHeight(40)
+public class HeadType {
+    @ExcelProperty("模具工作号")
+    private String string;
+    @ExcelProperty("日期标题")
+    private Date date;
+    @ExcelProperty("模具号")
+    private Double doubleData;
+    /**
+     * 忽略这个字段
+     */
+    @ExcelIgnore
+    private String ignore;
+
+}

+ 36 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/TestFileUtil.java

@@ -0,0 +1,36 @@
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import java.io.File;
+import java.io.InputStream;
+
+public class TestFileUtil {
+
+
+    public static InputStream getResourcesFileInputStream(String fileName) {
+        return Thread.currentThread().getContextClassLoader().getResourceAsStream("" + fileName);
+    }
+
+    public static String getPath() {
+        return TestFileUtil.class.getResource("/").getPath();
+    }
+
+    public static File createNewFile(String pathName) {
+        File file = new File(getPath() + pathName);
+        if (file.exists()) {
+            file.delete();
+        } else {
+            if (!file.getParentFile().exists()) {
+                file.getParentFile().mkdirs();
+            }
+        }
+        return file;
+    }
+
+    public static File readFile(String pathName) {
+        return new File(getPath() + pathName);
+    }
+
+    public static File readUserHomeFile(String pathName) {
+        return new File(System.getProperty("user.home") + File.separator + pathName);
+    }
+}

+ 70 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type1.java

@@ -0,0 +1,70 @@
+/**
+  * Copyright 2021 json.cn 
+  */
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Auto-generated: 2021-04-16 12:39:32
+ *
+ * @author json.cn (i@json.cn)
+ * @website http://www.json.cn/java2pojo/
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@HeadRowHeight(40)
+@ContentRowHeight(40)
+public class Type1 {
+    //目视检查
+    @ExcelProperty(index = 0 ,value = "检查项目")
+    private String methodValue;
+    //氮气缸
+    @ExcelProperty(index = 1,value = "检查项目")
+    private String projectValue;
+    //压力值
+    @ExcelProperty(index = 2,value = "检查内容描述")
+    private String checkContentValue;
+    @ExcelProperty(index = 3,value = "维修内容")
+    private String fixvalue;
+    @ColumnWidth(10)
+    @ExcelProperty(index = 4,value = "点检状态")
+    private String status;
+    @ExcelProperty(index = 5,value = "备注")
+    private String markValue;
+
+
+    @ExcelIgnore
+    private String type;
+    @ExcelIgnore
+    private String title;
+    //检查项目
+    @ExcelIgnore
+    private String projectName;
+    //检查方法
+    @ExcelIgnore
+    private String methodName;
+    //检查内容
+    @ExcelIgnore
+    private String checkContentName;
+    //维修内容
+    @ExcelIgnore
+    private String fixName;
+    //备注
+    @ExcelIgnore
+    private String markName;
+
+
+
+
+}

+ 41 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type2.java

@@ -0,0 +1,41 @@
+/**
+  * Copyright 2021 json.cn 
+  */
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Auto-generated: 2021-04-16 13:33:55
+ *
+ * @author json.cn (i@json.cn)
+ * @website http://www.json.cn/java2pojo/
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(25)
+@HeadRowHeight(40)
+@ContentRowHeight(40)
+public class Type2 {
+    @ExcelProperty(value = "down机处理/维护内容")
+    private String title;
+    @ExcelProperty(value = "down机处理/维护内容")
+    private String blank;
+    private String issuename;
+    private String issuevalue;
+
+    @ExcelProperty(value = "down机处理/维护内容")
+    private String blank1;
+    @ExcelProperty(value = "down机处理/维护内容")
+    private String blank2;
+
+}

+ 58 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type3.java

@@ -0,0 +1,58 @@
+/**
+  * Copyright 2021 json.cn 
+  */
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Auto-generated: 2021-04-16 13:35:18
+ *
+ * @author json.cn (i@json.cn)
+ * @website http://www.json.cn/java2pojo/
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(25)
+@HeadRowHeight(40)
+@ContentRowHeight(40)
+public class Type3 {
+    @ExcelProperty(value = "保养项目")
+    private String projectUpkeepValue;
+    @ExcelProperty(value = "保养项目")
+    private String blank;
+    @ExcelProperty(value = "保养内容描述")
+    private String keepValue;
+    @ExcelProperty(value = "保养内容描述")
+    private String blank1;
+    @ColumnWidth(10)
+    @ExcelProperty(value = "点检状态")
+    private String status;
+    @ExcelProperty(value = "备注")
+    private String markValue;
+
+
+
+
+    @ExcelIgnore
+    private String title;
+    @ExcelIgnore
+    private String projectUpkeepName;
+    @ExcelIgnore
+    private String keepName;
+    @ExcelIgnore
+    private String markName;
+    @ExcelIgnore
+    private String type;
+
+}

+ 39 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type4.java

@@ -0,0 +1,39 @@
+/**
+ * Copyright 2021 json.cn
+ */
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Auto-generated: 2021-04-16 13:35:37
+ *
+ * @author json.cn (i@json.cn)
+ * @website http://www.json.cn/java2pojo/
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(25)
+@HeadRowHeight(40)
+@ContentRowHeight(40)
+public class Type4 {
+    @ExcelIgnore
+    private String type;
+    private String key;
+    private String blank;
+    private String value;
+    private String blank1;
+    private String blank2;
+    private String blank3;
+
+
+}

+ 58 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type5.java

@@ -0,0 +1,58 @@
+/**
+  * Copyright 2021 json.cn 
+  */
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Auto-generated: 2021-04-16 13:35:18
+ *
+ * @author json.cn (i@json.cn)
+ * @website http://www.json.cn/java2pojo/
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(25)
+@HeadRowHeight(40)
+@ContentRowHeight(40)
+public class Type5 {
+    @ExcelProperty(value = "注意事项")
+    private String projectUpkeepValue;
+    @ExcelProperty(value = "注意事项")
+    private String blank;
+    @ExcelProperty(value = "注意事项")
+    private String keepValue;
+    @ExcelProperty(value = "注意事项")
+    private String blank1;
+    @ColumnWidth(10)
+    @ExcelProperty(value = "点检状态")
+    private String status;
+    @ExcelProperty(value = "备注")
+    private String markValue;
+
+
+
+
+    @ExcelIgnore
+    private String title;
+    @ExcelIgnore
+    private String projectUpkeepName;
+    @ExcelIgnore
+    private String keepName;
+    @ExcelIgnore
+    private String markName;
+    @ExcelIgnore
+    private String type;
+
+}

+ 42 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type6.java

@@ -0,0 +1,42 @@
+/**
+  * Copyright 2021 json.cn 
+  */
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Auto-generated: 2021-04-16 13:35:18
+ *
+ * @author json.cn (i@json.cn)
+ * @website http://www.json.cn/java2pojo/
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(25)
+@HeadRowHeight(40)
+@ContentRowHeight(40)
+public class Type6 {
+    private String mouldNameTitle;
+    private String mouldName;
+    private String blank1;
+
+    private String mouldcodeTitle;
+    private String mouldcode;
+    private String blank;
+
+
+
+
+
+
+
+}

+ 45 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/Type7.java

@@ -0,0 +1,45 @@
+/**
+  * Copyright 2021 json.cn 
+  */
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Auto-generated: 2021-04-16 13:35:18
+ *
+ * @author json.cn (i@json.cn)
+ * @website http://www.json.cn/java2pojo/
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(25)
+@HeadRowHeight(40)
+@ContentRowHeight(40)
+public class Type7 {
+
+    private String explain;
+    private String blank1;
+    @ExcelProperty(index = 2)
+    private String personnelTitle;
+    private String personnel;
+    private String dateTitle;
+    @ExcelProperty(index = 5)
+    private String date;
+
+
+
+
+
+
+
+}

+ 65 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/TypeOne.java

@@ -0,0 +1,65 @@
+/**
+  * Copyright 2021 json.cn 
+  */
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * Auto-generated: 2021-04-20 14:32:31
+ *
+ * @author json.cn (i@json.cn)
+ * @website http://www.json.cn/java2pojo/
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(25)
+@HeadRowHeight(40)
+@ContentRowHeight(40)
+public class TypeOne {
+
+    @ExcelIgnore
+    private String type;
+    @ExcelIgnore
+    private String title;
+    @ExcelIgnore
+    private String methodName;
+    @ExcelIgnore
+    private String projectName;
+    @ExcelIgnore
+    private String checkContentName;
+    @ExcelIgnore
+    private String fixName;
+    @ExcelIgnore
+    private String markName;
+    @ExcelIgnore
+    private List<FileList> fileList;
+
+
+    @ExcelProperty("区分")
+    private String projectValue;
+    @ExcelProperty("检查项目")
+    private String methodValue;
+    @ExcelProperty("内容描述")
+    private String checkContentValue;
+    @ExcelProperty("整改工作内容")
+    private String fixvalue;
+    @ExcelProperty("备注")
+    private String markValue;
+    @ExcelProperty("状态")
+    private String status;
+
+
+}

+ 16 - 0
application-web/src/main/java/com/factory/web/entity/vo/upkeepJsonType/WidthAndHeightData.java

@@ -0,0 +1,16 @@
+package com.factory.web.entity.vo.upkeepJsonType;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+@Data
+@ContentRowHeight(20)
+@HeadRowHeight(20)
+@ColumnWidth(25)
+public class WidthAndHeightData {
+    @ExcelProperty("字符串标题")
+    private String string;
+}

+ 17 - 0
application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniCheckItemMapper.java

@@ -0,0 +1,17 @@
+package com.factory.web.mapper.benteler;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.factory.base.entity.po.benteler.BentelerIniCheckItem;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 记录检查结果 - 分类结果 - 单一检查项结果
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+@Mapper
+public interface BentelerIniCheckItemMapper extends BaseMapper<BentelerIniCheckItem> {
+	
+}

+ 17 - 0
application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniCheckResultMapper.java

@@ -0,0 +1,17 @@
+package com.factory.web.mapper.benteler;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.factory.base.entity.po.benteler.BentelerIniCheckResult;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 检查记录
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+@Mapper
+public interface BentelerIniCheckResultMapper extends BaseMapper<BentelerIniCheckResult> {
+	
+}

+ 17 - 0
application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniCheckTypeMapper.java

@@ -0,0 +1,17 @@
+package com.factory.web.mapper.benteler;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.factory.base.entity.po.benteler.BentelerIniCheckType;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 计划 - 检验结果
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+@Mapper
+public interface BentelerIniCheckTypeMapper extends BaseMapper<BentelerIniCheckType> {
+	
+}

+ 17 - 0
application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniVersionItemMapper.java

@@ -0,0 +1,17 @@
+package com.factory.web.mapper.benteler;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.factory.base.entity.po.benteler.BentelerIniVersionItem;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 计划 - 检查项
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+@Mapper
+public interface BentelerIniVersionItemMapper extends BaseMapper<BentelerIniVersionItem> {
+	
+}

+ 23 - 0
application-web/src/main/java/com/factory/web/mapper/benteler/BentelerIniVersionMapper.java

@@ -0,0 +1,23 @@
+package com.factory.web.mapper.benteler;
+
+import com.factory.web.entity.vo.res.benteler.PagePlanRes;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.factory.base.entity.po.benteler.BentelerIniVersion;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 计划 - 版本信息
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+@Mapper
+public interface BentelerIniVersionMapper extends BaseMapper<BentelerIniVersion> {
+    List<PagePlanRes> pageIniPlan(@Param("page") Page page);
+	
+}

+ 17 - 0
application-web/src/main/java/com/factory/web/mapper/benteler/BentelerPlanMapper.java

@@ -0,0 +1,17 @@
+package com.factory.web.mapper.benteler;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.factory.base.entity.po.benteler.BentelerPlan;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 本特勒检测计划
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+@Mapper
+public interface BentelerPlanMapper extends BaseMapper<BentelerPlan> {
+	
+}

+ 3 - 2
common-user/src/main/java/com/factory/user/domain/mapper/remote/DeptMapper.java → application-web/src/main/java/com/factory/web/mapper/remote/DeptMapper.java

@@ -1,8 +1,9 @@
-package com.factory.user.domain.mapper.remote;
+package com.factory.web.mapper.remote;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.remote.Dept;
+import com.factory.base.entity.po.remote.Dept;
+
 
 public interface DeptMapper extends BaseMapper<Dept> {
 

+ 3 - 2
common-user/src/main/java/com/factory/user/domain/mapper/remote/DictMapper.java → application-web/src/main/java/com/factory/web/mapper/remote/DictMapper.java

@@ -1,8 +1,9 @@
-package com.factory.user.domain.mapper.remote;
+package com.factory.web.mapper.remote;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.remote.Dict;
+import com.factory.base.entity.po.remote.Dict;
+
 
 public interface DictMapper extends BaseMapper<Dict> {
 

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/mapper/remote/MenuMapper.java → application-web/src/main/java/com/factory/web/mapper/remote/MenuMapper.java

@@ -1,7 +1,7 @@
-package com.factory.user.domain.mapper.remote;
+package com.factory.web.mapper.remote;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.remote.Menu;
+import com.factory.base.entity.po.remote.Menu;
 
 public interface MenuMapper extends BaseMapper<Menu> {
 }

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/mapper/remote/ModuleMapper.java → application-web/src/main/java/com/factory/web/mapper/remote/ModuleMapper.java

@@ -1,7 +1,7 @@
-package com.factory.user.domain.mapper.remote;
+package com.factory.web.mapper.remote;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.remote.Menu;
+import com.factory.base.entity.po.remote.Menu;
 
 public interface ModuleMapper extends BaseMapper<Menu> {
 }

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/mapper/remote/PermissionMapper.java → application-web/src/main/java/com/factory/web/mapper/remote/PermissionMapper.java

@@ -1,7 +1,7 @@
-package com.factory.user.domain.mapper.remote;
+package com.factory.web.mapper.remote;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.remote.Permission;
+import com.factory.base.entity.po.remote.Permission;
 
 public interface PermissionMapper extends BaseMapper<Permission> {
 }

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/mapper/remote/RoleMapper.java → application-web/src/main/java/com/factory/web/mapper/remote/RoleMapper.java

@@ -1,7 +1,7 @@
-package com.factory.user.domain.mapper.remote;
+package com.factory.web.mapper.remote;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.remote.Role;
+import com.factory.base.entity.po.remote.Role;
 
 public interface RoleMapper extends BaseMapper<Role> {
 

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/mapper/remote/RolePermissionMapper.java → application-web/src/main/java/com/factory/web/mapper/remote/RolePermissionMapper.java

@@ -1,7 +1,7 @@
-package com.factory.user.domain.mapper.remote;
+package com.factory.web.mapper.remote;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.remote.RolePermission;
+import com.factory.base.entity.po.remote.RolePermission;
 
 public interface RolePermissionMapper extends BaseMapper<RolePermission> {
 }

+ 10 - 0
application-web/src/main/java/com/factory/web/mapper/remote/UserInfoMapper.java

@@ -0,0 +1,10 @@
+package com.factory.web.mapper.remote;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.factory.base.entity.po.remote.UserInfo;
+
+public interface UserInfoMapper extends BaseMapper<UserInfo> {
+
+
+
+}

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/mapper/remote/UserRoleMapper.java → application-web/src/main/java/com/factory/web/mapper/remote/UserRoleMapper.java

@@ -1,7 +1,7 @@
-package com.factory.user.domain.mapper.remote;
+package com.factory.web.mapper.remote;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.remote.UserRole;
+import com.factory.base.entity.po.remote.UserRole;
 
 public interface UserRoleMapper extends BaseMapper<UserRole> {
 }

+ 2 - 2
common-user/src/main/java/com/factory/user/domain/mapper/remote/WorkstationMapper.java → application-web/src/main/java/com/factory/web/mapper/remote/WorkstationMapper.java

@@ -1,7 +1,7 @@
-package com.factory.user.domain.mapper.remote;
+package com.factory.web.mapper.remote;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.remote.Workstation;
+import com.factory.base.entity.po.remote.Workstation;
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Component;
 

+ 2 - 5
application-file/src/main/java/com/factory/file/domain/mapper/FileInfoMapper.java → application-web/src/main/java/com/factory/web/mapper/system/FileInfoMapper.java

@@ -1,10 +1,7 @@
-package com.factory.file.domain.mapper;
-
+package com.factory.web.mapper.system;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.factory.infrastructure.po.file.FileInfo;
+import com.factory.base.entity.po.file.FileInfo;
 
 public interface FileInfoMapper extends BaseMapper<FileInfo> {
-
-
 }

+ 16 - 0
application-web/src/main/java/com/factory/web/service/benteler/BentelerIniCheckItemService.java

@@ -0,0 +1,16 @@
+package com.factory.web.service.benteler;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.factory.base.entity.po.benteler.BentelerIniCheckItem;
+
+/**
+ * 记录检查结果 - 分类结果 - 单一检查项结果
+ *
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+public interface BentelerIniCheckItemService extends IService<BentelerIniCheckItem> {
+
+}
+

+ 16 - 0
application-web/src/main/java/com/factory/web/service/benteler/BentelerIniCheckResultService.java

@@ -0,0 +1,16 @@
+package com.factory.web.service.benteler;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.factory.base.entity.po.benteler.BentelerIniCheckResult;
+
+/**
+ * 检查记录
+ *
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+public interface BentelerIniCheckResultService extends IService<BentelerIniCheckResult> {
+
+}
+

+ 16 - 0
application-web/src/main/java/com/factory/web/service/benteler/BentelerIniCheckTypeService.java

@@ -0,0 +1,16 @@
+package com.factory.web.service.benteler;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.factory.base.entity.po.benteler.BentelerIniCheckType;
+
+/**
+ * 计划 - 检验结果
+ *
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+public interface BentelerIniCheckTypeService extends IService<BentelerIniCheckType> {
+
+}
+

+ 16 - 0
application-web/src/main/java/com/factory/web/service/benteler/BentelerIniVersionItemService.java

@@ -0,0 +1,16 @@
+package com.factory.web.service.benteler;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.factory.base.entity.po.benteler.BentelerIniVersionItem;
+
+/**
+ * 计划 - 检查项
+ *
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+public interface BentelerIniVersionItemService extends IService<BentelerIniVersionItem> {
+
+}
+

+ 50 - 0
application-web/src/main/java/com/factory/web/service/benteler/BentelerIniVersionService.java

@@ -0,0 +1,50 @@
+package com.factory.web.service.benteler;
+
+import com.factory.base.entity.aggregates.ResponseBean;
+import com.factory.base.entity.po.benteler.BentelerIniVersion;
+import com.factory.base.entity.vo.req.BaseIdReq;
+import com.factory.web.entity.vo.res.FileRes;
+import com.factory.web.entity.vo.res.versionApproveRes;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.factory.web.entity.vo.res.benteler.PagePlanRes;
+
+/**
+ * 计划 - 版本信息
+ *
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+public interface BentelerIniVersionService extends IService<BentelerIniVersion> {
+
+    //ResponseBean<FileRes> exportInitialPlan(exportInitialPlanReq req);
+    //
+    //ResponseBean addVersion(AddPlanReq params);
+    //
+    //ResponseBean<AddPlanReq> getOneVersionDetails(BaseIdReq baseIdReq);
+    //
+    //ResponseBean updatePlanVersion(AddPlanReq params);
+    //
+    //ResponseBean<AddPlanReq> getOneUNAUDITVersionDetails(BaseIdReq baseIdReq);
+    //
+    //ResponseBean<PageBean<GetVersionHistoryRes>> getVersionHistory(BasePageIdReq req);
+    //
+    //ResponseBean<GetVersionBaseRes> getVersionBase(BaseIdReq req);
+    //
+    //ResponseBean<PageBean<GetVersionSubRes>> getVersionSub(BasePageIdReq req);
+    //
+    //ResponseBean<PageBean<versionApproveRes>> versionApprove(versionApproveReq req);
+    //
+    //ResponseBean<PlanVersion> getVersionSubGread(getVersionSubGreadReq req);
+    //
+    //ResponseBean<PlanVersion> getHistoryVersionSubGread(getVersionSubGreadReq req);
+    //
+    //ResponseBean<getAuditRecordRes> getAuditRecord(getAuditRecordReq req);
+    //
+    //ResponseBean addPlan(AddPlanReq params);
+    //
+    //ResponseBean<PageBean<UnAuditRes>> unAuditList(unAuditReq params);
+    //
+    //ResponseBean<PageBean<PagePlanRes>> pagePlan(PlanListReq params);
+}
+

+ 18 - 0
application-web/src/main/java/com/factory/web/service/benteler/BentelerPlanService.java

@@ -0,0 +1,18 @@
+package com.factory.web.service.benteler;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.factory.base.entity.po.benteler.BentelerPlan;
+
+/**
+ * 本特勒检测计划
+ *
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2021-06-26 12:35:17
+ */
+public interface BentelerPlanService extends IService<BentelerPlan> {
+
+
+}
+

+ 16 - 0
application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniCheckItemServiceImpl.java

@@ -0,0 +1,16 @@
+package com.factory.web.service.impl.benteler;
+
+import com.factory.base.entity.po.benteler.BentelerIniCheckItem;
+import com.factory.web.service.benteler.BentelerIniCheckItemService;
+import com.factory.web.mapper.benteler.BentelerIniCheckItemMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+
+@Service("bentelerIniCheckItemService")
+@Transactional(rollbackFor = Exception.class)
+public class BentelerIniCheckItemServiceImpl extends ServiceImpl<BentelerIniCheckItemMapper, BentelerIniCheckItem> implements BentelerIniCheckItemService {
+
+
+}

+ 16 - 0
application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniCheckResultServiceImpl.java

@@ -0,0 +1,16 @@
+package com.factory.web.service.impl.benteler;
+
+import com.factory.base.entity.po.benteler.BentelerIniCheckResult;
+import com.factory.web.service.benteler.BentelerIniCheckResultService;
+import com.factory.web.mapper.benteler.BentelerIniCheckResultMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+
+@Service("bentelerIniCheckResultService")
+@Transactional(rollbackFor = Exception.class)
+public class BentelerIniCheckResultServiceImpl extends ServiceImpl<BentelerIniCheckResultMapper, BentelerIniCheckResult> implements BentelerIniCheckResultService {
+
+
+}

+ 16 - 0
application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniCheckTypeServiceImpl.java

@@ -0,0 +1,16 @@
+package com.factory.web.service.impl.benteler;
+
+import com.factory.web.service.benteler.BentelerIniCheckTypeService;
+import com.factory.web.mapper.benteler.BentelerIniCheckTypeMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.factory.base.entity.po.benteler.BentelerIniCheckType;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+
+@Service("bentelerIniCheckTypeService")
+@Transactional(rollbackFor = Exception.class)
+public class BentelerIniCheckTypeServiceImpl extends ServiceImpl<BentelerIniCheckTypeMapper, BentelerIniCheckType> implements BentelerIniCheckTypeService {
+
+
+}

+ 16 - 0
application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniVersionItemServiceImpl.java

@@ -0,0 +1,16 @@
+package com.factory.web.service.impl.benteler;
+
+import com.factory.web.service.benteler.BentelerIniVersionItemService;
+import com.factory.web.mapper.benteler.BentelerIniVersionItemMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.factory.base.entity.po.benteler.BentelerIniVersionItem;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+
+@Service("bentelerIniVersionItemService")
+@Transactional(rollbackFor = Exception.class)
+public class BentelerIniVersionItemServiceImpl extends ServiceImpl<BentelerIniVersionItemMapper, BentelerIniVersionItem> implements BentelerIniVersionItemService {
+
+
+}

+ 113 - 0
application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerIniVersionServiceImpl.java

@@ -0,0 +1,113 @@
+package com.factory.web.service.impl.benteler;
+
+import com.factory.base.entity.po.benteler.BentelerIniVersion;
+import com.factory.web.service.benteler.BentelerIniVersionService;
+import com.factory.web.mapper.benteler.BentelerIniVersionMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+
+@Service("bentelerIniVersionService")
+@Transactional(rollbackFor = Exception.class)
+public class BentelerIniVersionServiceImpl extends ServiceImpl<BentelerIniVersionMapper, BentelerIniVersion> implements BentelerIniVersionService {
+
+    //@Autowired
+    //private BentelerPlanService planService;
+    //@Autowired
+    //private BentelerIniVersionMapper versionMapper;
+    //
+    //@Override
+    //public ResponseBean<FileRes> exportInitialPlan(exportInitialPlanReq req) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean addVersion(AddPlanReq params) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<AddPlanReq> getOneVersionDetails(BaseIdReq baseIdReq) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean updatePlanVersion(AddPlanReq params) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<AddPlanReq> getOneUNAUDITVersionDetails(BaseIdReq baseIdReq) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<PageBean<GetVersionHistoryRes>> getVersionHistory(BasePageIdReq req) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<GetVersionBaseRes> getVersionBase(BaseIdReq req) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<PageBean<GetVersionSubRes>> getVersionSub(BasePageIdReq req) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<PageBean<versionApproveRes>> versionApprove(versionApproveReq req) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<PlanVersion> getVersionSubGread(getVersionSubGreadReq req) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<PlanVersion> getHistoryVersionSubGread(getVersionSubGreadReq req) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<getAuditRecordRes> getAuditRecord(getAuditRecordReq req) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean addPlan(AddPlanReq params) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<PageBean<UnAuditRes>> unAuditList(unAuditReq params) {
+    //    return null;
+    //}
+    //
+    //@Override
+    //public ResponseBean<PageBean<PagePlanRes>> pagePlan(PlanListReq params) {
+    //    Page<PagePlanRes> page = new Page<PagePlanRes>(params.getPage(), params.getSize());
+    //
+    //    List<PagePlanRes> pagePlanRes = versionMapper.pageIniPlan(page);
+    //    return ResponseBeanBuilder.ok();
+    //}
+    //
+    ////获取未禁用首件计划
+    //private List<BentelerPlan> getUnDisablePlan() {
+    //    return planService.list(Wrappers.<BentelerPlan>lambdaQuery()
+    //            .eq(BentelerPlan::getPauseFlag, 0)
+    //            .eq(BentelerPlan::getCheckType, 1)
+    //    );
+    //}
+    //
+    ////获取未禁用首件计划ID
+    //private List<Long> getUnDisablePlanId() {
+    //    return planService.list(Wrappers.<BentelerPlan>lambdaQuery()
+    //            .eq(BentelerPlan::getPauseFlag, 0)
+    //            .eq(BentelerPlan::getCheckType, 1)
+    //    ).stream().map(BentelerPlan::getId).collect(Collectors.toList());
+    //}
+}

+ 16 - 0
application-web/src/main/java/com/factory/web/service/impl/benteler/BentelerPlanServiceImpl.java

@@ -0,0 +1,16 @@
+package com.factory.web.service.impl.benteler;
+
+import com.factory.base.entity.po.benteler.BentelerPlan;
+import com.factory.web.service.benteler.BentelerPlanService;
+import com.factory.web.mapper.benteler.BentelerPlanMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service("bentelerPlanService")
+@Transactional(rollbackFor = Exception.class)
+public class BentelerPlanServiceImpl
+        extends ServiceImpl<BentelerPlanMapper, BentelerPlan> implements BentelerPlanService {
+
+
+}

+ 43 - 0
application-web/src/main/java/com/factory/web/service/impl/remote/DeptServiceImpl.java

@@ -0,0 +1,43 @@
+package com.factory.web.service.impl.remote;
+
+import com.factory.web.service.remote.DeptService;
+import com.factory.web.mapper.remote.DeptMapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.factory.base.entity.constant.res.SystemConstant;
+import com.factory.base.entity.po.remote.Dept;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements DeptService {
+
+    @Override
+    public String getDeptNameById(Long id) {
+        String name = SystemConstant.EMPTY_STRING;
+        if (id == null) {
+            return name;
+        }
+        Dept dept = getById(id);
+        if (dept != null) {
+            name = dept.getName();
+        }
+        return name;
+    }
+
+    @Override
+    public String getDeptNameByCode(Long code) {
+        String name = SystemConstant.EMPTY_STRING;
+        if (code == null) {
+            return name;
+        }
+        Dept dept = getOne(Wrappers.<Dept>lambdaQuery()
+                .eq(Dept::getDeptCode,code),false
+
+        );
+        if (dept != null) {
+            name = dept.getName();
+        }
+        return name;
+    }
+
+}

+ 5 - 5
common-user/src/main/java/com/factory/user/domain/service/remote/DictServiceImpl.java → application-web/src/main/java/com/factory/web/service/impl/remote/DictServiceImpl.java

@@ -1,10 +1,10 @@
-package com.factory.user.domain.service.remote;
+package com.factory.web.service.impl.remote;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.factory.infrastructure.constant.res.SystemConstant;
-import com.factory.infrastructure.po.remote.Dict;
-import com.factory.user.application.service.remote.DictService;
-import com.factory.user.domain.mapper.remote.DictMapper;
+import com.factory.base.entity.constant.res.SystemConstant;
+import com.factory.base.entity.po.remote.Dict;
+import com.factory.web.mapper.remote.DictMapper;
+import com.factory.web.service.remote.DictService;
 import org.springframework.stereotype.Service;
 
 @Service

+ 7 - 6
common-user/src/main/java/com/factory/user/domain/service/remote/FileInfoServiceImpl.java → application-web/src/main/java/com/factory/web/service/impl/remote/FileInfoServiceImpl.java

@@ -1,12 +1,12 @@
-package com.factory.user.domain.service.remote;
+package com.factory.web.service.impl.remote;
 
+import com.factory.web.service.remote.FileInfoService;
+import com.factory.web.mapper.system.FileInfoMapper;
+import com.factory.web.util.assembler.FileInfoAssembler;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.factory.infrastructure.constant.res.SystemConstant;
-import com.factory.infrastructure.po.file.FileInfo;
-import com.factory.user.application.service.remote.FileInfoService;
-import com.factory.user.domain.mapper.remote.FileInfoMapper;
-import com.factory.user.interfaces.assembler.FileInfoAssembler;
+import com.factory.base.entity.constant.res.SystemConstant;
+import com.factory.base.entity.po.file.FileInfo;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
@@ -17,6 +17,7 @@ import javax.annotation.Resource;
  * 考虑独立文件服务器 暂时采用多数据源读库 后续按需求修改
  */
 
+@DS("file")
 @Service
 @Transactional(propagation = Propagation.REQUIRES_NEW)
 public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> implements FileInfoService {

+ 4 - 4
common-user/src/main/java/com/factory/user/domain/service/remote/MenuServiceImpl.java → application-web/src/main/java/com/factory/web/service/impl/remote/MenuServiceImpl.java

@@ -1,9 +1,9 @@
-package com.factory.user.domain.service.remote;
+package com.factory.web.service.impl.remote;
 
+import com.factory.web.service.remote.MenuService;
+import com.factory.web.mapper.remote.MenuMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.factory.infrastructure.po.remote.Menu;
-import com.factory.user.application.service.remote.MenuService;
-import com.factory.user.domain.mapper.remote.MenuMapper;
+import com.factory.base.entity.po.remote.Menu;
 import org.springframework.stereotype.Service;
 
 @Service

+ 4 - 4
common-user/src/main/java/com/factory/user/domain/service/remote/PermissionServiceImpl.java → application-web/src/main/java/com/factory/web/service/impl/remote/PermissionServiceImpl.java

@@ -1,9 +1,9 @@
-package com.factory.user.domain.service.remote;
+package com.factory.web.service.impl.remote;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.factory.infrastructure.po.remote.Permission;
-import com.factory.user.application.service.remote.PermissionService;
-import com.factory.user.domain.mapper.remote.PermissionMapper;
+import com.factory.base.entity.po.remote.Permission;
+import com.factory.web.mapper.remote.PermissionMapper;
+import com.factory.web.service.remote.PermissionService;
 import org.springframework.stereotype.Service;
 
 @Service

+ 4 - 4
common-user/src/main/java/com/factory/user/domain/service/remote/RolePermissionServiceImpl.java → application-web/src/main/java/com/factory/web/service/impl/remote/RolePermissionServiceImpl.java

@@ -1,9 +1,9 @@
-package com.factory.user.domain.service.remote;
+package com.factory.web.service.impl.remote;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.factory.infrastructure.po.remote.RolePermission;
-import com.factory.user.application.service.remote.RolePermissionService;
-import com.factory.user.domain.mapper.remote.RolePermissionMapper;
+import com.factory.base.entity.po.remote.RolePermission;
+import com.factory.web.mapper.remote.RolePermissionMapper;
+import com.factory.web.service.remote.RolePermissionService;
 import org.springframework.stereotype.Service;
 
 @Service

+ 4 - 4
common-user/src/main/java/com/factory/user/domain/service/remote/RoleServiceImpl.java → application-web/src/main/java/com/factory/web/service/impl/remote/RoleServiceImpl.java

@@ -1,9 +1,9 @@
-package com.factory.user.domain.service.remote;
+package com.factory.web.service.impl.remote;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.factory.infrastructure.po.remote.Role;
-import com.factory.user.application.service.remote.RoleService;
-import com.factory.user.domain.mapper.remote.RoleMapper;
+import com.factory.base.entity.po.remote.Role;
+import com.factory.web.mapper.remote.RoleMapper;
+import com.factory.web.service.remote.RoleService;
 import org.springframework.stereotype.Service;
 
 @Service

+ 190 - 0
application-web/src/main/java/com/factory/web/service/impl/remote/UserInfoServiceImpl.java

@@ -0,0 +1,190 @@
+package com.factory.web.service.impl.remote;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.factory.web.service.remote.UserInfoService;
+import com.factory.web.mapper.remote.DictMapper;
+import com.factory.web.mapper.remote.RoleMapper;
+import com.factory.web.mapper.remote.UserInfoMapper;
+import com.factory.web.mapper.remote.UserRoleMapper;
+import com.factory.web.entity.vo.req.UserInsertReq;
+import com.factory.web.entity.vo.req.UserLockReq;
+import com.factory.web.entity.vo.req.UserPageQueryReq;
+import com.factory.web.entity.vo.res.UserRes;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.factory.base.entity.aggregates.PageBean;
+import com.factory.base.entity.aggregates.ResponseBean;
+import com.factory.base.entity.constant.res.SystemConstant;
+import com.factory.base.entity.po.remote.Dict;
+import com.factory.base.entity.po.remote.Role;
+import com.factory.base.entity.po.remote.UserInfo;
+import com.factory.base.entity.po.remote.UserRole;
+import com.factory.base.util.res.ResponseBeanBuilder;
+import com.factory.user.util.Base64;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> implements UserInfoService {
+
+    @Resource
+    private UserRoleMapper userRoleMapper;
+    @Resource
+    private RoleMapper roleMapper;
+    @Resource
+    private DictMapper dictMapper;
+
+    @Override
+    public String getNameById(Long id) {
+        String name = SystemConstant.EMPTY_STRING;
+        if (id == null) {
+            return name;
+        }
+        UserInfo userInfo = getById(id);
+        if (userInfo != null) {
+            name = userInfo.getName();
+        }
+        return name;
+    }
+    @Override
+    public List<UserInfo> getListByNameOrNo(String word) {
+        return list(Wrappers.<UserInfo>lambdaQuery().like(UserInfo::getName, word).or().like(UserInfo::getNo, word));
+    }
+
+    @Override
+    public ResponseBean<PageBean<UserRes>> selectUser(UserPageQueryReq userPageQueryReq) {
+        LambdaQueryWrapper<UserInfo> wrapper = new LambdaQueryWrapper<>();
+        wrapper.orderByDesc(UserInfo::getId);
+        if (userPageQueryReq.getName() != null) {
+            wrapper.like(UserInfo::getUsername, userPageQueryReq.getName());
+        }
+        if (userPageQueryReq.getRoleId() != null) {
+            List<UserRole> userRoles = userRoleMapper.selectList(Wrappers.<UserRole>lambdaQuery().eq(UserRole::getRoleId, userPageQueryReq.getRoleId()));
+            if (CollUtil.isNotEmpty(userRoles)) {
+                List<Long> userIds = userRoles.stream().map(UserRole::getUserId).collect(Collectors.toList());
+                wrapper.in(UserInfo::getId, userIds);
+            }
+        }
+        IPage<UserInfo> page = new Page<>(userPageQueryReq.getPage(), userPageQueryReq.getSize());
+        IPage<UserInfo> userInfoPage = baseMapper.selectPage(page, wrapper);
+        List<UserInfo> records = userInfoPage.getRecords();
+        List<UserRes> userResList = records.stream().map(x -> {
+            UserRes userRes = new UserRes();
+            userRes.setId(x.getId());
+            userRes.setUsername(x.getUsername());
+            List<UserRole> userRoles = userRoleMapper.selectList(Wrappers.<UserRole>lambdaQuery().eq(UserRole::getUserId, x.getId()));
+            if (CollUtil.isNotEmpty(userRoles)) {
+                Role role = roleMapper.selectById(userRoles.get(0).getRoleId());
+                userRes.setRoleId(role.getId());
+                userRes.setRoleName(role.getName());
+            }
+            userRes.setShiftId(x.getShiftId());
+            if (x.getShiftId() != null) {
+                Dict dict = dictMapper.selectById(x.getShiftId());
+                if (dict != null) {
+                    userRes.setShiftName(dict.getDictVal());
+                }
+            }
+            String psd = new String(Base64.decode(x.getPassword()));
+            userRes.setPassWord(psd);
+            userRes.setLock(x.isLock());
+            return userRes;
+        }).collect(Collectors.toList());
+        return ResponseBeanBuilder.ok(PageBean.<UserRes>builder().row(userResList).total(userInfoPage.getTotal()).page(userInfoPage.getPages()).build());
+    }
+
+    @Override
+    public ResponseBean<String> insertUser(UserInsertReq userInsertReq) {
+        UserInfo userInfo = new UserInfo();
+        if (userInsertReq.getUsername() != null) {
+            Integer count = baseMapper.selectCount(Wrappers.<UserInfo>lambdaQuery().eq(UserInfo::getUsername, userInsertReq.getUsername()));
+            if (count > 0) {
+                return ResponseBeanBuilder.fail("用户名重复!");
+            }
+        } else {
+            return ResponseBeanBuilder.fail("用户名不能为空");
+        }
+        if (userInsertReq.getPassword() == null) {
+            return ResponseBeanBuilder.fail("密码不能为空");
+        }
+        if (userInsertReq.getRoleId() == 55) {
+            if (userInsertReq.getShiftId()==null){
+            return ResponseBeanBuilder.fail("班次不能为空");
+
+            }
+        }
+        userInfo.setUsername(userInsertReq.getUsername());
+        String psd = Base64.encode(userInsertReq.getPassword().getBytes());
+        userInfo.setPassword(psd);
+        userInfo.setEffectiveTime(LocalDateTime.now());
+        if (userInsertReq.getShiftId() != null) {
+            userInfo.setShiftId(userInsertReq.getShiftId());
+        }
+        int insert = baseMapper.insert(userInfo);
+        if (insert > 0) {
+            if (userInsertReq.getRoleId() != null) {
+                UserRole userRole = new UserRole();
+                userRole.setUserId(userInfo.getId());
+                userRole.setRoleId(userInsertReq.getRoleId());
+                userRoleMapper.insert(userRole);
+            }
+            return ResponseBeanBuilder.ok("新增成功!");
+        }
+        return ResponseBeanBuilder.ok("新增失败!");
+    }
+
+    @Override
+    public ResponseBean<String> updateUser(UserInsertReq userInsertReq) {
+        UserInfo userInfo = new UserInfo();
+        if (userInsertReq.getUsername() != null) {
+            UserInfo userInfos = baseMapper.selectOne(Wrappers.<UserInfo>lambdaQuery().eq(UserInfo::getUsername, userInsertReq.getUsername()));
+            if(BeanUtil.isNotEmpty(userInfos)){
+                if (!userInfos.getId().equals(userInsertReq.getId())) {
+                    return ResponseBeanBuilder.fail("用户名重复!");
+                }
+            }
+        } else {
+            return ResponseBeanBuilder.fail("用户名不能为空");
+        }
+        if (userInsertReq.getPassword() == null) {
+            return ResponseBeanBuilder.fail("密码不能为空");
+        }
+        userInfo.setUsername(userInsertReq.getUsername());
+        String psd = Base64.encode(userInsertReq.getPassword().getBytes());
+        userInfo.setPassword(psd);
+        userInfo.setShiftId(userInsertReq.getShiftId());
+        userInfo.setId(userInsertReq.getId());
+        int up = baseMapper.updateById(userInfo);
+        if (up > 0) {
+            if (userInsertReq.getRoleId() != null) {
+                UserRole userRole = new UserRole();
+                userRole.setRoleId(userInsertReq.getRoleId());
+                userRoleMapper.update(userRole, Wrappers.<UserRole>lambdaQuery().eq(UserRole::getUserId, userInsertReq.getId()));
+            }
+            return ResponseBeanBuilder.ok("修改成功!");
+        }
+        return ResponseBeanBuilder.ok("修改失败!");
+    }
+
+    @Override
+    public ResponseBean<String> userLock(UserLockReq userLockReq) {
+        UserInfo userInfo = new UserInfo();
+        userInfo.setId(userLockReq.getId());
+        userInfo.setLock(userLockReq.isNo());
+        userInfo.setShiftId(userLockReq.getShiftId());
+        boolean b = this.updateById(userInfo);
+        if (b) {
+            return ResponseBeanBuilder.ok("操作成功!");
+        }
+        return ResponseBeanBuilder.fail("操作失败!");
+    }
+
+}

+ 35 - 0
application-web/src/main/java/com/factory/web/service/impl/remote/UserRoleServiceImpl.java

@@ -0,0 +1,35 @@
+package com.factory.web.service.impl.remote;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.factory.base.entity.po.remote.UserRole;
+import com.factory.web.mapper.remote.UserRoleMapper;
+import com.factory.web.service.remote.UserRoleService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements UserRoleService {
+
+    @Override
+    public boolean userHasRole(Long userId,Long roleId) {
+        return getRoleIdsByUserId(userId).contains(roleId);
+    }
+
+    @Override
+    public List<UserRole> getRolesByUserId(Long userId) {
+        List<UserRole> userRoleList = list(
+                Wrappers.<UserRole>lambdaQuery()
+                        .eq(UserRole::getUserId, userId));
+        return userRoleList;
+    }
+
+    @Override
+    public List<Long> getRoleIdsByUserId(Long userId) {
+        List<UserRole> userRoleList = getRolesByUserId(userId);
+        List<Long> roleIds = userRoleList.stream().map(UserRole::getRoleId).collect(Collectors.toList());
+        return roleIds;
+    }
+}

+ 5 - 5
common-user/src/main/java/com/factory/user/domain/service/remote/WorkStationServiceImpl.java → application-web/src/main/java/com/factory/web/service/impl/remote/WorkStationServiceImpl.java

@@ -1,10 +1,10 @@
-package com.factory.user.domain.service.remote;
+package com.factory.web.service.impl.remote;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.factory.infrastructure.constant.res.SystemConstant;
-import com.factory.infrastructure.po.remote.Workstation;
-import com.factory.user.application.service.remote.WorkStationService;
-import com.factory.user.domain.mapper.remote.WorkstationMapper;
+import com.factory.base.entity.constant.res.SystemConstant;
+import com.factory.base.entity.po.remote.Workstation;
+import com.factory.web.mapper.remote.WorkstationMapper;
+import com.factory.web.service.remote.WorkStationService;
 import org.springframework.stereotype.Service;
 
 

部分文件因为文件数量过多而无法显示