叶佳兴 2 years ago
parent
commit
565fce3de6
  1. 2
      win-framework/win-spring-boot-starter-mq/src/main/java/com/win/framework/mq/core/stream/AbstractStreamMessageListener.java
  2. 5
      win-framework/win-spring-boot-starter-mybatis/pom.xml
  3. 62
      win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/datasource/enums/ShardingTableCacheEnum.java
  4. 144
      win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/datasource/sharding/TimeShardingAlgorithm.java
  5. 247
      win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/datasource/utils/ShardingAlgorithmTool.java
  6. 24
      win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/datasource/utils/ShardingTablesLoadRunner.java
  7. 1
      win-framework/win-spring-boot-starter-mybatis/src/main/resources/META-INF/spring.factories
  8. 3
      win-framework/win-spring-boot-starter-mybatis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  9. 11
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java
  10. 11
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java
  11. 11
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java
  12. 9
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/RedisController.java
  13. 22
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/vo/RedisGetReqVo.java
  14. 2
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/vo/RedisUpdateReqVo.java
  15. 2
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java
  16. 2
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java
  17. 2
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/trends/TrendsConsumer.java
  18. 2
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/trends/TrendsMessage.java
  19. 9
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/package-info.java
  20. 1
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsServiceImpl.java
  21. 2
      win-module-system/win-module-system-api/src/main/java/com/win/module/system/api/dict/DictDataApi.java
  22. 2
      win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/ErrorCodeConstants.java
  23. 6
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/api/dict/DictDataApiImpl.java
  24. 2
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyMessageController.java
  25. 2
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataService.java
  26. 26
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java
  27. 40
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  28. 35
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java
  29. 97
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/job/JobStatusState.java
  30. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java
  31. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/AreabasicController.java
  32. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/backflushRecord/BackflushRecordDetailbController.java
  33. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/backflushRecord/vo/BackflushRecordDetailbExcelVO.java
  34. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/BalanceController.java
  35. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceExcelVO.java
  36. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/BarcodeController.java
  37. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeExcelVO.java
  38. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/BomController.java
  39. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/businesstype/BusinesstypeController.java
  40. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/carrier/CarrierController.java
  41. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/condition/ConditionController.java
  42. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/condition/vo/ConditionExcelVO.java
  43. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configuration/ConfigurationController.java
  44. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configuration/vo/ConfigurationExcelVO.java
  45. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configurationsetting/ConfigurationsettingController.java
  46. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configurationsetting/vo/ConfigurationsettingExcelVO.java
  47. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/consumeRecord/ConsumeRecordDetailbController.java
  48. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/consumereRequest/ConsumereRequestDetailbController.java
  49. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerDetailController.java
  50. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java
  51. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailExcelVO.java
  52. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerMainExcelVO.java
  53. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobDetailController.java
  54. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java
  55. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/CountPlanDetailController.java
  56. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/CountPlanMainController.java
  57. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordDetailController.java
  58. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java
  59. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailExcelVO.java
  60. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainExcelVO.java
  61. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestDetailController.java
  62. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java
  63. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/CountadjustRecordDetailController.java
  64. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/CountadjustRecordMainController.java
  65. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/CountadjustRequestDetailController.java
  66. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/CountadjustRequestMainController.java
  67. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/CurrencyexchangeController.java
  68. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/CustomerController.java
  69. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/CustomerdockController.java
  70. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/CustomeritemController.java
  71. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/CustomerreceiptRecordDetailController.java
  72. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/CustomerreceiptRecordMainController.java
  73. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/CustomerreceiptRequestDetailController.java
  74. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/CustomerreceiptRequestMainController.java
  75. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobDetailController.java
  76. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java
  77. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/CustomerreturnRecordDetailController.java
  78. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/CustomerreturnRecordMainController.java
  79. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExcelVO.java
  80. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestDetailController.java
  81. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestMainController.java
  82. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/CustomersettleRecordDetailController.java
  83. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/CustomersettleRecordMainController.java
  84. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/CustomersettleRequestDetailController.java
  85. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/CustomersettleRequestMainController.java
  86. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/DeliverJobDetailController.java
  87. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/DeliverJobMainController.java
  88. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/DeliverPlanDetailController.java
  89. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/DeliverPlanMainController.java
  90. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRecord/DeliverRecordDetailController.java
  91. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRecord/DeliverRecordMainController.java
  92. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestDetailController.java
  93. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestMainController.java
  94. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/DemandforecastingDetailController.java
  95. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/DemandforecastingMainController.java
  96. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dismantleRecord/DismantleRecordDetailbController.java
  97. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dismantleRequest/DismantleRequestDetailbController.java
  98. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/DockController.java
  99. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/documentsetting/DocumentsettingController.java
  100. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectin/ExpectinController.java

2
win-framework/win-spring-boot-starter-mq/src/main/java/com/win/framework/mq/core/stream/AbstractStreamMessageListener.java

@ -63,6 +63,8 @@ public abstract class AbstractStreamMessageListener<T extends AbstractStreamMess
this.onMessage(messageObj); this.onMessage(messageObj);
// ack 消息消费完成 // ack 消息消费完成
redisMQTemplate.getRedisTemplate().opsForStream().acknowledge(group, message); redisMQTemplate.getRedisTemplate().opsForStream().acknowledge(group, message);
// 删除消费后的数据
// redisMQTemplate.getRedisTemplate().opsForStream().delete(message);
// TODO 芋艿:需要额外考虑以下几个点: // TODO 芋艿:需要额外考虑以下几个点:
// 1. 处理异常的情况 // 1. 处理异常的情况
// 2. 发送日志;以及事务的结合 // 2. 发送日志;以及事务的结合

5
win-framework/win-spring-boot-starter-mybatis/pom.xml

@ -65,11 +65,14 @@
<groupId>org.apache.shardingsphere</groupId> <groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId> <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.yulichang</groupId> <groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 联表查询 --> <artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 联表查询 -->
</dependency> </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

62
win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/datasource/enums/ShardingTableCacheEnum.java

@ -0,0 +1,62 @@
package com.win.framework.datasource.enums;
import java.util.*;
/**
* <p> @Title ShardingTableCacheEnum
* <p> @Description 分片表缓存枚举
*
* @author liuchen
* @date 2022/12/23 20:17
*/
public enum ShardingTableCacheEnum {
/**
* 动态记录表
*/
TRENDS("infra_trends", new HashSet<>());
/**
* 逻辑表名
*/
private final String logicTableName;
/**
* 实际表名
*/
private final Set<String> resultTableNamesCache;
private static Map<String, ShardingTableCacheEnum> valueMap = new HashMap<>();
static {
Arrays.stream(ShardingTableCacheEnum.values()).forEach(o -> valueMap.put(o.logicTableName, o));
}
ShardingTableCacheEnum(String logicTableName, Set<String> resultTableNamesCache) {
this.logicTableName = logicTableName;
this.resultTableNamesCache = resultTableNamesCache;
}
public static ShardingTableCacheEnum of(String value) {
return valueMap.get(value);
}
public String logicTableName() {
return logicTableName;
}
public Set<String> resultTableNamesCache() {
return resultTableNamesCache;
}
public static Set<String> logicTableNames() {
return valueMap.keySet();
}
@Override
public String toString() {
return "ShardingTableCacheEnum{" +
"logicTableName='" + logicTableName + '\'' +
", resultTableNamesCache=" + resultTableNamesCache +
'}';
}
}

144
win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/datasource/sharding/TimeShardingAlgorithm.java

@ -0,0 +1,144 @@
package com.win.framework.datasource.sharding;
import com.google.common.collect.Range;
import com.win.framework.datasource.enums.ShardingTableCacheEnum;
import com.win.framework.datasource.utils.ShardingAlgorithmTool;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.sharding.api.sharding.standard.PreciseShardingValue;
import org.apache.shardingsphere.sharding.api.sharding.standard.RangeShardingValue;
import org.apache.shardingsphere.sharding.api.sharding.standard.StandardShardingAlgorithm;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Function;
/**
* 分片算法按月分片
*/
@Slf4j
public class TimeShardingAlgorithm implements StandardShardingAlgorithm<LocalDateTime> {
/**
* 分片时间格式
*/
private static final DateTimeFormatter TABLE_SHARD_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyyMM");
/**
* 完整时间格式
*/
private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss");
/**
* 表分片符号t_contract_202201 分片符号为 "_"
*/
private final String TABLE_SPLIT_SYMBOL = "_";
/**
* 精准分片
* @param tableNames 对应分片库中所有分片表的集合
* @param preciseShardingValue 分片键值其中 logicTableName 为逻辑表columnName 分片键value 为从 SQL 中解析出来的分片键的值
* @return 表名
*/
@Override
public String doSharding(Collection<String> tableNames, PreciseShardingValue<LocalDateTime> preciseShardingValue) {
String logicTableName = preciseShardingValue.getLogicTableName();
ShardingTableCacheEnum logicTable = ShardingTableCacheEnum.of(logicTableName);
if (logicTable == null) {
log.error(">>>>>>>>>> 【ERROR】数据表类型错误,请稍后重试,logicTableNames:{},logicTableName:{}", ShardingTableCacheEnum.logicTableNames(), logicTableName);
throw new IllegalArgumentException("数据表类型错误,请稍后重试");
}
/// 打印分片信息
log.info(">>>>>>>>>> 【INFO】精确分片,节点配置表名:{},数据库缓存表名:{}", tableNames, logicTable.resultTableNamesCache());
LocalDateTime dateTime = preciseShardingValue.getValue();
String resultTableName = logicTableName + "_" + dateTime.format(TABLE_SHARD_TIME_FORMATTER);
// 检查分表获取的表名是否存在,不存在则自动建表
if (!tableNames.contains(resultTableName)){
tableNames.add(resultTableName);
}
return ShardingAlgorithmTool.getShardingTableAndCreate(logicTable, resultTableName);
}
/**
* 范围分片
* @param tableNames 对应分片库中所有分片表的集合
* @param rangeShardingValue 分片范围
* @return 表名集合
*/
@Override
public Collection<String> doSharding(Collection<String> tableNames, RangeShardingValue<LocalDateTime> rangeShardingValue) {
String logicTableName = rangeShardingValue.getLogicTableName();
ShardingTableCacheEnum logicTable = ShardingTableCacheEnum.of(logicTableName);
if (logicTable == null) {
log.error(">>>>>>>>>> 【ERROR】逻辑表范围异常,请稍后重试,logicTableNames:{},logicTableName:{}", ShardingTableCacheEnum.logicTableNames(), logicTableName);
throw new IllegalArgumentException("逻辑表范围异常,请稍后重试");
}
/// 打印分片信息
log.info(">>>>>>>>>> 【INFO】范围分片,节点配置表名:{},数据库缓存表名:{}", tableNames, logicTable.resultTableNamesCache());
// between and 的起始值
Range<LocalDateTime> valueRange = rangeShardingValue.getValueRange();
boolean hasLowerBound = valueRange.hasLowerBound();
boolean hasUpperBound = valueRange.hasUpperBound();
// 获取最大值和最小值
Set<String> tableNameCache = logicTable.resultTableNamesCache();
LocalDateTime min = hasLowerBound ? valueRange.lowerEndpoint() :getLowerEndpoint(tableNameCache);
LocalDateTime max = hasUpperBound ? valueRange.upperEndpoint() :getUpperEndpoint(tableNameCache);
// 循环计算分表范围
Set<String> resultTableNames = new LinkedHashSet<>();
while (min.isBefore(max) || min.equals(max)) {
String tableName = logicTableName + TABLE_SPLIT_SYMBOL + min.format(TABLE_SHARD_TIME_FORMATTER);
resultTableNames.add(tableName);
min = min.plusMinutes(1);
}
return ShardingAlgorithmTool.getShardingTablesAndCreate(logicTable, resultTableNames);
}
@Override
public void init() {
}
@Override
public String getType() {
return null;
}
// --------------------------------------------------------------------------------------------------------------
// 私有方法
// --------------------------------------------------------------------------------------------------------------
/**
* 获取 最小分片值
* @param tableNames 表名集合
* @return 最小分片值
*/
private LocalDateTime getLowerEndpoint(Collection<String> tableNames) {
Optional<LocalDateTime> optional = tableNames.stream()
.map(o -> LocalDateTime.parse(o.replace(TABLE_SPLIT_SYMBOL, "") + "01 00:00:00", DATE_TIME_FORMATTER))
.min(Comparator.comparing(Function.identity()));
if (optional.isPresent()) {
return optional.get();
} else {
log.error(">>>>>>>>>> 【ERROR】获取数据最小分表失败,请稍后重试,tableName:{}", tableNames);
throw new IllegalArgumentException("获取数据最小分表失败,请稍后重试");
}
}
/**
* 获取 最大分片值
* @param tableNames 表名集合
* @return 最大分片值
*/
private LocalDateTime getUpperEndpoint(Collection<String> tableNames) {
Optional<LocalDateTime> optional = tableNames.stream()
.map(o -> LocalDateTime.parse(o.replace(TABLE_SPLIT_SYMBOL, "") + "01 00:00:00", DATE_TIME_FORMATTER))
.max(Comparator.comparing(Function.identity()));
if (optional.isPresent()) {
return optional.get();
} else {
log.error(">>>>>>>>>> 【ERROR】获取数据最大分表失败,请稍后重试,tableName:{}", tableNames);
throw new IllegalArgumentException("获取数据最大分表失败,请稍后重试");
}
}
}

247
win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/datasource/utils/ShardingAlgorithmTool.java

@ -0,0 +1,247 @@
package com.win.framework.datasource.utils;
import cn.hutool.extra.spring.SpringUtil;
import com.win.framework.datasource.enums.ShardingTableCacheEnum;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.sharding.algorithm.config.AlgorithmProvidedShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
import org.springframework.core.env.Environment;
import java.sql.*;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
/**
* <p> @Title ShardingAlgorithmTool
* <p> @Description 按月分片算法工具
*
* @author liuchen
* @date 2022/12/20 14:03
*/
@Slf4j
public class ShardingAlgorithmTool {
/** 表分片符号,例:t_user_202201 中,分片符号为 "_" */
private static final String TABLE_SPLIT_SYMBOL = "_";
/** 数据库配置 */
private static final Environment ENV = SpringUtil.getApplicationContext().getEnvironment();
private static final String DATASOURCE_URL = ENV.getProperty("spring.shardingsphere.datasource.master.url");
private static final String DATASOURCE_USERNAME = ENV.getProperty("spring.shardingsphere.datasource.master.username");
private static final String DATASOURCE_PASSWORD = ENV.getProperty("spring.shardingsphere.datasource.master.password");
/**
* 检查分表获取的表名是否存在不存在则自动建表
* @param logicTable 逻辑表
* @param resultTableNames 真实表名t_user_202201
* @return 存在于数据库中的真实表名集合
*/
public static Set<String> getShardingTablesAndCreate(ShardingTableCacheEnum logicTable, Collection<String> resultTableNames) {
return resultTableNames.stream().map(o -> getShardingTableAndCreate(logicTable, o)).collect(Collectors.toSet());
}
/**
* 检查分表获取的表名是否存在不存在则自动建表
* @param logicTable 逻辑表
* @param resultTableName 真实表名t_user_202201
* @return 确认存在于数据库中的真实表名
*/
public static String getShardingTableAndCreate(ShardingTableCacheEnum logicTable, String resultTableName) {
// 缓存中有此表则返回,没有则判断创建
if (logicTable.resultTableNamesCache().contains(resultTableName)) {
return resultTableName;
} else {
// 未创建的表返回逻辑空表
boolean isSuccess = createShardingTable(logicTable, resultTableName);
return isSuccess ? resultTableName : logicTable.logicTableName();
}
}
/**
* 重载全部缓存
*/
public static void tableNameCacheReloadAll() {
Arrays.stream(ShardingTableCacheEnum.values()).forEach(ShardingAlgorithmTool::tableNameCacheReload);
}
/**
* 重载指定分表缓存
* @param logicTable 逻辑表t_user
*/
public static void tableNameCacheReload(ShardingTableCacheEnum logicTable) {
// 读取数据库中|所有表名
List<String> tableNameList = getAllTableNameBySchema(logicTable);
// 动态更新配置 actualDataNodes(先更新后删除缓存,防止数据不一致)
actualDataNodesRefresh(logicTable.logicTableName(), new HashSet<>(tableNameList));
// 删除旧的缓存(如果存在)
logicTable.resultTableNamesCache().clear();
// 写入新的缓存
logicTable.resultTableNamesCache().addAll(tableNameList);
}
/**
* 获取所有表名
* @return 表名集合
* @param logicTable 逻辑表
*/
public static List<String> getAllTableNameBySchema(ShardingTableCacheEnum logicTable) {
List<String> tableNames = new ArrayList<>();
if (StringUtils.isEmpty(DATASOURCE_URL) || StringUtils.isEmpty(DATASOURCE_USERNAME) || StringUtils.isEmpty(DATASOURCE_PASSWORD)) {
log.error(">>>>>>>>>> 【ERROR】数据库连接配置有误,请稍后重试,URL:{}, username:{}, password:{}", DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD);
throw new IllegalArgumentException("数据库连接配置有误,请稍后重试");
}
try (Connection conn = DriverManager.getConnection(DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD);
Statement st = conn.createStatement()) {
String logicTableName = logicTable.logicTableName();
try (ResultSet rs = st.executeQuery("show TABLES like '" + logicTableName + TABLE_SPLIT_SYMBOL + "%'")) {
while (rs.next()) {
String tableName = rs.getString(1);
// 匹配分表格式 例:^(t\_contract_\d{6})$
if (tableName != null && tableName.matches(String.format("^(%s\\d{6})$", logicTableName + TABLE_SPLIT_SYMBOL))) {
tableNames.add(rs.getString(1));
}
}
}
} catch (SQLException e) {
log.error(">>>>>>>>>> 【ERROR】数据库连接失败,请稍后重试,原因:{}", e.getMessage(), e);
throw new IllegalArgumentException("数据库连接失败,请稍后重试");
}
return tableNames;
}
/**
* 动态更新配置 actualDataNodes
*
* @param logicTableName 逻辑表名
* @param tableNamesCache 真实表名集合
*/
public static void actualDataNodesRefresh(String logicTableName, Set<String> tableNamesCache) {
try {
// 获取数据分片节点
String dbName = "master";
log.info(">>>>>>>>>> 【INFO】更新分表配置,logicTableName:{},tableNamesCache:{}", logicTableName, tableNamesCache);
// generate actualDataNodes
String newActualDataNodes = tableNamesCache.stream().map(o -> String.format("%s.%s", dbName, o)).collect(Collectors.joining(","));
ShardingSphereDataSource shardingSphereDataSource = SpringUtil.getBean(ShardingSphereDataSource.class);
updateShardRuleActualDataNodes(shardingSphereDataSource, logicTableName, newActualDataNodes);
}catch (Exception e){
log.error("初始化 动态表单失败,原因:{}", e.getMessage(), e);
}
}
// --------------------------------------------------------------------------------------------------------------
// 私有方法
// --------------------------------------------------------------------------------------------------------------
/**
* 刷新ActualDataNodes
*/
private static void updateShardRuleActualDataNodes(ShardingSphereDataSource dataSource, String logicTableName, String newActualDataNodes) {
// Context manager.
ContextManager contextManager = dataSource.getContextManager();
// Rule configuration.
String schemaName = "logic_db";
Collection<RuleConfiguration> newRuleConfigList = new LinkedList<>();
Collection<RuleConfiguration> oldRuleConfigList = dataSource.getContextManager()
.getMetaDataContexts()
.getMetaData(schemaName)
.getRuleMetaData()
.getConfigurations();
for (RuleConfiguration oldRuleConfig : oldRuleConfigList) {
if (oldRuleConfig instanceof AlgorithmProvidedShardingRuleConfiguration) {
// Algorithm provided sharding rule configuration
AlgorithmProvidedShardingRuleConfiguration oldAlgorithmConfig = (AlgorithmProvidedShardingRuleConfiguration) oldRuleConfig;
AlgorithmProvidedShardingRuleConfiguration newAlgorithmConfig = new AlgorithmProvidedShardingRuleConfiguration();
// Sharding table rule configuration Collection
Collection<ShardingTableRuleConfiguration> newTableRuleConfigList = new LinkedList<>();
Collection<ShardingTableRuleConfiguration> oldTableRuleConfigList = oldAlgorithmConfig.getTables();
oldTableRuleConfigList.forEach(oldTableRuleConfig -> {
if (logicTableName.equals(oldTableRuleConfig.getLogicTable())) {
ShardingTableRuleConfiguration newTableRuleConfig = new ShardingTableRuleConfiguration(oldTableRuleConfig.getLogicTable(), newActualDataNodes);
newTableRuleConfig.setTableShardingStrategy(oldTableRuleConfig.getTableShardingStrategy());
newTableRuleConfig.setDatabaseShardingStrategy(oldTableRuleConfig.getDatabaseShardingStrategy());
newTableRuleConfig.setKeyGenerateStrategy(oldTableRuleConfig.getKeyGenerateStrategy());
newTableRuleConfigList.add(newTableRuleConfig);
} else {
newTableRuleConfigList.add(oldTableRuleConfig);
}
});
newAlgorithmConfig.setTables(newTableRuleConfigList);
newAlgorithmConfig.setAutoTables(oldAlgorithmConfig.getAutoTables());
newAlgorithmConfig.setBindingTableGroups(oldAlgorithmConfig.getBindingTableGroups());
newAlgorithmConfig.setBroadcastTables(oldAlgorithmConfig.getBroadcastTables());
newAlgorithmConfig.setDefaultDatabaseShardingStrategy(oldAlgorithmConfig.getDefaultDatabaseShardingStrategy());
newAlgorithmConfig.setDefaultTableShardingStrategy(oldAlgorithmConfig.getDefaultTableShardingStrategy());
newAlgorithmConfig.setDefaultKeyGenerateStrategy(oldAlgorithmConfig.getDefaultKeyGenerateStrategy());
newAlgorithmConfig.setDefaultShardingColumn(oldAlgorithmConfig.getDefaultShardingColumn());
newAlgorithmConfig.setShardingAlgorithms(oldAlgorithmConfig.getShardingAlgorithms());
newAlgorithmConfig.setKeyGenerators(oldAlgorithmConfig.getKeyGenerators());
newRuleConfigList.add(newAlgorithmConfig);
}
}
// update context
contextManager.alterRuleConfiguration(schemaName, newRuleConfigList);
}
/**
* 创建分表
* @param logicTable 逻辑表
* @param resultTableName 真实表名t_user_202201
* @return 创建结果true创建成功false未创建
*/
private static boolean createShardingTable(ShardingTableCacheEnum logicTable, String resultTableName) {
// 根据日期判断,当前月份之后分表不提前创建
String month = resultTableName.replace(logicTable.logicTableName() + TABLE_SPLIT_SYMBOL,"");
YearMonth shardingMonth = YearMonth.parse(month, DateTimeFormatter.ofPattern("yyyyMM"));
if (shardingMonth.isAfter(YearMonth.now())) {
return false;
}
synchronized (logicTable.logicTableName().intern()) {
// 缓存中有此表 返回
if (logicTable.resultTableNamesCache().contains(resultTableName)) {
return false;
}
// 缓存中无此表,则建表并添加缓存
executeSql(Collections.singletonList("CREATE TABLE IF NOT EXISTS `" + resultTableName + "` LIKE `" + logicTable.logicTableName() + "`;"));
// 缓存重载
tableNameCacheReload(logicTable);
}
return true;
}
/**
* 执行SQL
* @param sqlList SQL集合
*/
private static void executeSql(List<String> sqlList) {
if (StringUtils.isEmpty(DATASOURCE_URL) || StringUtils.isEmpty(DATASOURCE_USERNAME) || StringUtils.isEmpty(DATASOURCE_PASSWORD)) {
log.error(">>>>>>>>>> 【ERROR】数据库连接配置有误,请稍后重试,URL:{}, username:{}, password:{}", DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD);
throw new IllegalArgumentException("数据库连接配置有误,请稍后重试");
}
try (Connection conn = DriverManager.getConnection(DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD)) {
try (Statement st = conn.createStatement()) {
conn.setAutoCommit(false);
for (String sql : sqlList) {
st.execute(sql);
}
} catch (Exception e) {
conn.rollback();
log.error(">>>>>>>>>> 【ERROR】数据表创建执行失败,请稍后重试,原因:{}", e.getMessage(), e);
throw new IllegalArgumentException("数据表创建执行失败,请稍后重试");
}
} catch (SQLException e) {
log.error(">>>>>>>>>> 【ERROR】数据库连接失败,请稍后重试,原因:{}", e.getMessage(), e);
throw new IllegalArgumentException("数据库连接失败,请稍后重试");
}
}
}

24
win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/datasource/utils/ShardingTablesLoadRunner.java

@ -0,0 +1,24 @@
package com.win.framework.datasource.utils;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* <p> @Title ShardingTablesLoadRunner
* <p> @Description 项目启动后读取已有分表进行缓存
*
* @author liuchen
* @date 2022/12/20 15:41
*/
@Order(value = 1) // 数字越小,越先执行
@Component
public class ShardingTablesLoadRunner implements CommandLineRunner {
@Override
public void run(String... args) {
// 读取已有分表,进行缓存
ShardingAlgorithmTool.tableNameCacheReloadAll();
}
}

1
win-framework/win-spring-boot-starter-mybatis/src/main/resources/META-INF/spring.factories

@ -1,2 +1,3 @@
org.springframework.boot.env.EnvironmentPostProcessor=\ org.springframework.boot.env.EnvironmentPostProcessor=\
com.win.framework.mybatis.config.IdTypeEnvironmentPostProcessor com.win.framework.mybatis.config.IdTypeEnvironmentPostProcessor

3
win-framework/win-spring-boot-starter-mybatis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@ -1,2 +1,3 @@
com.win.framework.datasource.config.WinDataSourceAutoConfiguration com.win.framework.datasource.config.WinDataSourceAutoConfiguration
com.win.framework.mybatis.config.WinMybatisAutoConfiguration com.win.framework.mybatis.config.WinMybatisAutoConfiguration
com.win.framework.datasource.utils.ShardingTablesLoadRunner

11
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java

@ -1,9 +1,8 @@
package com.win.module.infra.api.logger; package com.win.module.infra.api.logger;
import com.win.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; import com.win.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO;
import com.win.module.infra.convert.logger.ApiAccessLogConvert;
import com.win.module.infra.mq.message.logger.ApiAccessLogMessage;
import com.win.module.infra.mq.producer.logger.ApiAccessLogProducer; import com.win.module.infra.mq.producer.logger.ApiAccessLogProducer;
import com.win.module.infra.service.logger.ApiAccessLogService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -18,13 +17,17 @@ import javax.annotation.Resource;
@Validated @Validated
public class ApiAccessLogApiImpl implements ApiAccessLogApi { public class ApiAccessLogApiImpl implements ApiAccessLogApi {
@Resource
private ApiAccessLogService apiAccessLogService;
@Resource @Resource
private ApiAccessLogProducer apiAccessLogProducer; private ApiAccessLogProducer apiAccessLogProducer;
@Override @Override
public void createApiAccessLog(ApiAccessLogCreateReqDTO createDTO) { public void createApiAccessLog(ApiAccessLogCreateReqDTO createDTO) {
ApiAccessLogMessage accessLogMessage = ApiAccessLogConvert.INSTANCE.convertMessage(createDTO); apiAccessLogService.createApiAccessLog(createDTO);
apiAccessLogProducer.sendMessage(accessLogMessage); // ApiAccessLogMessage accessLogMessage = ApiAccessLogConvert.INSTANCE.convertMessage(createDTO);
// apiAccessLogProducer.sendMessage(accessLogMessage);
} }
} }

11
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java

@ -1,9 +1,8 @@
package com.win.module.infra.api.logger; package com.win.module.infra.api.logger;
import com.win.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; import com.win.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO;
import com.win.module.infra.convert.logger.ApiErrorLogConvert;
import com.win.module.infra.mq.message.logger.ApiErrorLogMessage;
import com.win.module.infra.mq.producer.logger.ApiErrorLogProducer; import com.win.module.infra.mq.producer.logger.ApiErrorLogProducer;
import com.win.module.infra.service.logger.ApiErrorLogService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -18,13 +17,17 @@ import javax.annotation.Resource;
@Validated @Validated
public class ApiErrorLogApiImpl implements ApiErrorLogApi { public class ApiErrorLogApiImpl implements ApiErrorLogApi {
@Resource
private ApiErrorLogService apiErrorLogService;
@Resource @Resource
private ApiErrorLogProducer apiErrorLogProducer; private ApiErrorLogProducer apiErrorLogProducer;
@Override @Override
public void createApiErrorLog(ApiErrorLogCreateReqDTO createDTO) { public void createApiErrorLog(ApiErrorLogCreateReqDTO createDTO) {
ApiErrorLogMessage errorLogMessage = ApiErrorLogConvert.INSTANCE.convertMessage(createDTO); apiErrorLogService.createApiErrorLog(createDTO);
apiErrorLogProducer.sendMessage(errorLogMessage); // ApiErrorLogMessage errorLogMessage = ApiErrorLogConvert.INSTANCE.convertMessage(createDTO);
// apiErrorLogProducer.sendMessage(errorLogMessage);
} }
} }

11
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java

@ -1,9 +1,8 @@
package com.win.module.infra.api.trends; package com.win.module.infra.api.trends;
import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO; import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO;
import com.win.module.infra.convert.trends.TrendsConvert;
import com.win.module.infra.mq.message.trends.TrendsMessage;
import com.win.module.infra.mq.producer.trends.TrendsProducer; import com.win.module.infra.mq.producer.trends.TrendsProducer;
import com.win.module.infra.service.trends.TrendsService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -21,10 +20,14 @@ public class TrendsApiImpl implements TrendsApi {
@Resource @Resource
private TrendsProducer trendsProducer; private TrendsProducer trendsProducer;
@Resource
private TrendsService trendsService;
@Override @Override
public void createTrends(TrendsCreateReqDTO createDTO) { public void createTrends(TrendsCreateReqDTO createDTO) {
TrendsMessage trendsMessage = TrendsConvert.INSTANCE.convertMessage(createDTO); trendsService.createTrends(createDTO);
trendsProducer.sendMessage(trendsMessage); // TrendsMessage trendsMessage = TrendsConvert.INSTANCE.convertMessage(createDTO);
// trendsProducer.sendMessage(trendsMessage);
} }
} }

9
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/RedisController.java

@ -4,8 +4,9 @@ import com.win.framework.common.pojo.CommonResult;
import com.win.framework.redis.util.RedisCache; import com.win.framework.redis.util.RedisCache;
import com.win.framework.security.core.LoginUser; import com.win.framework.security.core.LoginUser;
import com.win.framework.security.core.util.SecurityFrameworkUtils; import com.win.framework.security.core.util.SecurityFrameworkUtils;
import com.win.module.infra.controller.redis.vo.RedisGetReqVo;
import com.win.module.infra.controller.redis.vo.RedisMonitorRespVO; import com.win.module.infra.controller.redis.vo.RedisMonitorRespVO;
import com.win.module.infra.controller.redis.vo.RedisReqVo; import com.win.module.infra.controller.redis.vo.RedisUpdateReqVo;
import com.win.module.infra.convert.redis.RedisConvert; import com.win.module.infra.convert.redis.RedisConvert;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@ -49,7 +50,7 @@ public class RedisController {
*/ */
@PostMapping("/set") @PostMapping("/set")
@Operation(summary = "加入缓存") @Operation(summary = "加入缓存")
public CommonResult<Boolean> setRedisHash(@Valid @RequestBody RedisReqVo reqVO) { public CommonResult<Boolean> setRedisHash(@Valid @RequestBody RedisUpdateReqVo reqVO) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
redisCache.setCacheMapValue(reqVO.getKey(), String.valueOf(loginUser.getId()), reqVO.getValue()); redisCache.setCacheMapValue(reqVO.getKey(), String.valueOf(loginUser.getId()), reqVO.getValue());
return success(Boolean.TRUE); return success(Boolean.TRUE);
@ -60,7 +61,7 @@ public class RedisController {
*/ */
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获取缓存") @Operation(summary = "获取缓存")
public CommonResult<String> getRedisHash(@Valid @RequestBody RedisReqVo reqVO) { public CommonResult<String> getRedisHash(@Valid RedisGetReqVo reqVO) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
String result = redisCache.getCacheMapValue(reqVO.getKey(), String.valueOf(loginUser.getId())); String result = redisCache.getCacheMapValue(reqVO.getKey(), String.valueOf(loginUser.getId()));
return success(result); return success(result);
@ -71,7 +72,7 @@ public class RedisController {
*/ */
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除缓存") @Operation(summary = "删除缓存")
public CommonResult<Boolean> deleteRedisHash(@Valid @RequestBody RedisReqVo reqVO) { public CommonResult<Boolean> deleteRedisHash(@Valid RedisGetReqVo reqVO) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
Boolean result = redisCache.deleteCacheMapValue(reqVO.getKey(), String.valueOf(loginUser.getId())); Boolean result = redisCache.deleteCacheMapValue(reqVO.getKey(), String.valueOf(loginUser.getId()));
return success(result); return success(result);

22
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/vo/RedisGetReqVo.java

@ -0,0 +1,22 @@
package com.win.module.infra.controller.redis.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
/**
* 个性化设置增加缓存接口
*/
@Data
public class RedisGetReqVo {
@Schema(description = "缓存键", requiredMode = Schema.RequiredMode.REQUIRED, example = "basic_itembasic")
@NotBlank(message = "缓存键不能为空")
@Pattern(regexp = "^[a-zA-Z0-9]{4,30}$", message = "缓存键账号由 数字、字母 组成")
@Size(min = 4, max = 30, message = "缓存键长度为 4-30 个字符")
private String key;
}

2
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/vo/RedisReqVo.java → win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/redis/vo/RedisUpdateReqVo.java

@ -11,7 +11,7 @@ import javax.validation.constraints.Size;
* 个性化设置增加缓存接口 * 个性化设置增加缓存接口
*/ */
@Data @Data
public class RedisReqVo { public class RedisUpdateReqVo {
@Schema(description = "缓存键", requiredMode = Schema.RequiredMode.REQUIRED, example = "basic_itembasic") @Schema(description = "缓存键", requiredMode = Schema.RequiredMode.REQUIRED, example = "basic_itembasic")
@NotBlank(message = "缓存键不能为空") @NotBlank(message = "缓存键不能为空")

2
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java

@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull;
@Data @Data
public class TrendsBaseVO { public class TrendsBaseVO {
@Schema(description = "表名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @Schema(description = "表名", requiredMode = Schema.RequiredMode.REQUIRED, example = "infraTrends")
@NotNull(message = "表名不能为空") @NotNull(message = "表名不能为空")
private String tableName; private String tableName;

2
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java

@ -17,7 +17,7 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@ToString(callSuper = true) @ToString(callSuper = true)
public class TrendsPageReqVO extends PageParam { public class TrendsPageReqVO extends PageParam {
@Schema(description = "表名", example = "赵六") @Schema(description = "表名", example = "infraTrends")
private String tableName; private String tableName;
@Schema(description = "表数据id", example = "9210") @Schema(description = "表数据id", example = "9210")

2
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/consumer/trends/TrendsConsumer.java

@ -1,7 +1,6 @@
package com.win.module.infra.mq.consumer.trends; package com.win.module.infra.mq.consumer.trends;
import com.win.framework.mq.core.stream.AbstractStreamMessageListener; import com.win.framework.mq.core.stream.AbstractStreamMessageListener;
import com.win.framework.security.core.util.SecurityFrameworkUtils;
import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO; import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO;
import com.win.module.infra.convert.trends.TrendsConvert; import com.win.module.infra.convert.trends.TrendsConvert;
import com.win.module.infra.mq.message.trends.TrendsMessage; import com.win.module.infra.mq.message.trends.TrendsMessage;
@ -27,7 +26,6 @@ public class TrendsConsumer extends AbstractStreamMessageListener<TrendsMessage>
public void onMessage(TrendsMessage message) { public void onMessage(TrendsMessage message) {
log.info("[onMessage][消息内容({})]", message); log.info("[onMessage][消息内容({})]", message);
TrendsCreateReqDTO trendsCreateReqDTO = TrendsConvert.INSTANCE.convert(message); TrendsCreateReqDTO trendsCreateReqDTO = TrendsConvert.INSTANCE.convert(message);
trendsCreateReqDTO.setCreator(String.valueOf(SecurityFrameworkUtils.getLoginUserId()));
trendsService.createTrends(trendsCreateReqDTO); trendsService.createTrends(trendsCreateReqDTO);
} }

2
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/mq/message/trends/TrendsMessage.java

@ -27,6 +27,8 @@ public class TrendsMessage extends AbstractStreamMessage {
@NotNull(message = "内容不能为空") @NotNull(message = "内容不能为空")
private String content; private String content;
private String creator;
@Override @Override
public String getStreamKey() { public String getStreamKey() {
return "trends.create"; return "trends.create";

9
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/package-info.java

@ -1,9 +0,0 @@
/**
* infra 模块主要提供两块能力
* 1. 我们放基础设施的运维与管理支撑上层的通用与核心业务 例如说定时任务的管理服务器的信息等等
* 2. 研发工具提升研发效率与质量 例如说代码生成器接口文档等等
*
* 1. Controller URL /infra/ 开头避免和其它 Module 冲突
* 2. DataObject 表名 infra_ 开头方便在数据库中区分
*/
package com.win.module.infra;

1
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsServiceImpl.java

@ -29,6 +29,7 @@ public class TrendsServiceImpl implements TrendsService {
@Override @Override
public void createTrends(TrendsCreateReqDTO createReqDTO) { public void createTrends(TrendsCreateReqDTO createReqDTO) {
TrendsDO trends = TrendsConvert.INSTANCE.convert(createReqDTO); TrendsDO trends = TrendsConvert.INSTANCE.convert(createReqDTO);
trends.setCreator(createReqDTO.getCreator());
trendsMapper.insert(trends); trendsMapper.insert(trends);
} }

2
win-module-system/win-module-system-api/src/main/java/com/win/module/system/api/dict/DictDataApi.java

@ -47,5 +47,5 @@ public interface DictDataApi {
*/ */
String[] getDictDataByType(String type); String[] getDictDataByType(String type);
DictDataRespDTO selectDictTypeAndLabel(String ptype, String plabel);
} }

2
win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/ErrorCodeConstants.java

@ -65,6 +65,8 @@ public interface ErrorCodeConstants {
ErrorCode DICT_TYPE_NAME_DUPLICATE = new ErrorCode(1_002_006_003, "已经存在该名字的字典类型"); ErrorCode DICT_TYPE_NAME_DUPLICATE = new ErrorCode(1_002_006_003, "已经存在该名字的字典类型");
ErrorCode DICT_TYPE_TYPE_DUPLICATE = new ErrorCode(1_002_006_004, "已经存在该类型的字典类型"); ErrorCode DICT_TYPE_TYPE_DUPLICATE = new ErrorCode(1_002_006_004, "已经存在该类型的字典类型");
ErrorCode DICT_TYPE_HAS_CHILDREN = new ErrorCode(1_002_006_005, "无法删除,该字典类型还有字典数据"); ErrorCode DICT_TYPE_HAS_CHILDREN = new ErrorCode(1_002_006_005, "无法删除,该字典类型还有字典数据");
ErrorCode DICT_TYPE_TYPE_AND_LABEL_NOT_EXISTS = new ErrorCode(1_002_006_006, "字典类型与数据参数不存在");
ErrorCode DICT_TYPE_LABEL_NOT_EXISTS = new ErrorCode(1_002_006_007, "数据参数不存在");
// ========== 字典数据 1-002-007-000 ========== // ========== 字典数据 1-002-007-000 ==========
ErrorCode DICT_DATA_NOT_EXISTS = new ErrorCode(1_002_007_001, "当前字典数据不存在"); ErrorCode DICT_DATA_NOT_EXISTS = new ErrorCode(1_002_007_001, "当前字典数据不存在");

6
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/api/dict/DictDataApiImpl.java

@ -50,5 +50,9 @@ public class DictDataApiImpl implements DictDataApi {
} }
return result; return result;
} }
@Override
public DictDataRespDTO selectDictTypeAndLabel(String ptype, String plabel) {
DictDataDO dictDataDO = dictDataService.selectDictTypeAndLabel(ptype, plabel);
return DictDataConvert.INSTANCE.convert02(dictDataDO);
}
} }

2
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/notify/NotifyMessageController.java

@ -2,6 +2,7 @@ package com.win.module.system.controller.notify;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.controller.notify.vo.message.NotifyMessageMyPageReqVO; import com.win.module.system.controller.notify.vo.message.NotifyMessageMyPageReqVO;
import com.win.module.system.controller.notify.vo.message.NotifyMessagePageReqVO; import com.win.module.system.controller.notify.vo.message.NotifyMessagePageReqVO;
import com.win.module.system.controller.notify.vo.message.NotifyMessageRespVO; import com.win.module.system.controller.notify.vo.message.NotifyMessageRespVO;
@ -85,6 +86,7 @@ public class NotifyMessageController {
@GetMapping("/get-unread-count") @GetMapping("/get-unread-count")
@Operation(summary = "获得当前用户的未读站内信数量") @Operation(summary = "获得当前用户的未读站内信数量")
@OperateLog(enable = false)
public CommonResult<Long> getUnreadNotifyMessageCount() { public CommonResult<Long> getUnreadNotifyMessageCount() {
return success(notifyMessageService.getUnreadNotifyMessageCount(getLoginUserId())); return success(notifyMessageService.getUnreadNotifyMessageCount(getLoginUserId()));
} }

2
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataService.java

@ -105,4 +105,6 @@ public interface DictDataService {
* @return 字典数据 * @return 字典数据
*/ */
DictDataDO parseDictData(String dictType, String label); DictDataDO parseDictData(String dictType, String label);
DictDataDO selectDictTypeAndLabel(String ptype, String plabel);
} }

26
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java

@ -1,6 +1,7 @@
package com.win.module.system.service.dict; package com.win.module.system.service.dict;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.enums.CommonStatusEnum;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.collection.CollectionUtils; import com.win.framework.common.util.collection.CollectionUtils;
@ -13,6 +14,7 @@ import com.win.module.system.dal.dataobject.dict.DictDataDO;
import com.win.module.system.dal.dataobject.dict.DictTypeDO; import com.win.module.system.dal.dataobject.dict.DictTypeDO;
import com.win.module.system.dal.mysql.dict.DictDataMapper; import com.win.module.system.dal.mysql.dict.DictDataMapper;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.win.module.system.dal.mysql.dict.DictTypeMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -34,6 +36,9 @@ import static com.win.module.system.enums.ErrorCodeConstants.*;
@Slf4j @Slf4j
public class DictDataServiceImpl implements DictDataService { public class DictDataServiceImpl implements DictDataService {
@Resource
private DictTypeMapper dictTypeMapper;
/** /**
* 排序 dictType > sort * 排序 dictType > sort
*/ */
@ -180,5 +185,24 @@ public class DictDataServiceImpl implements DictDataService {
public DictDataDO parseDictData(String dictType, String label) { public DictDataDO parseDictData(String dictType, String label) {
return dictDataMapper.selectByDictTypeAndLabel(dictType, label); return dictDataMapper.selectByDictTypeAndLabel(dictType, label);
} }
//调用公共方法 查询字典项
@Override
public DictDataDO selectDictTypeAndLabel(String ptype,String plabel) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("type",ptype);
DictTypeDO dictTypeDO = dictTypeMapper.selectOne(queryWrapper);
if(dictTypeDO != null && 0 == dictTypeDO.getStatus()){
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("dict_type",ptype);
queryWrapper1.eq("label",plabel);
DictDataDO dictDataDO = dictDataMapper.selectOne(queryWrapper1);
if(dictDataDO != null && 0 == dictDataDO.getStatus()){
return dictDataDO;
}else {
throw exception(DICT_TYPE_LABEL_NOT_EXISTS);
}
}else {
throw exception(DICT_TYPE_TYPE_AND_LABEL_NOT_EXISTS);
}
}
} }

40
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java

@ -130,7 +130,7 @@ public interface ErrorCodeConstants {
ErrorCode WAREHOUSE_AVAIABLE_NOT_EXISTS = new ErrorCode(1_033_000_003, "是否可用不存在"); ErrorCode WAREHOUSE_AVAIABLE_NOT_EXISTS = new ErrorCode(1_033_000_003, "是否可用不存在");
ErrorCode WAREHOUSE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_033_000_004, "导入仓库不能为空"); ErrorCode WAREHOUSE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_033_000_004, "导入仓库不能为空");
//月台ErrorCode //月台ErrorCode
ErrorCode DOCK_NOT_EXISTS = new ErrorCode(1_000_034_000, "月台不存在"); ErrorCode DOCK_NOT_EXISTS = new ErrorCode(1_000_034_000, "月台(收货口)不存在");
ErrorCode DOCK_CODE_NOT_EXISTS = new ErrorCode(1_000_034_001, "code不存在"); ErrorCode DOCK_CODE_NOT_EXISTS = new ErrorCode(1_000_034_001, "code不存在");
ErrorCode DOCK_CODE_EXISTS = new ErrorCode(1_000_034_002, "code已存在"); ErrorCode DOCK_CODE_EXISTS = new ErrorCode(1_000_034_002, "code已存在");
ErrorCode DOCK_TYPE_NOT_EXISTS = new ErrorCode(1_000_034_003, "类型不存在"); ErrorCode DOCK_TYPE_NOT_EXISTS = new ErrorCode(1_000_034_003, "类型不存在");
@ -167,6 +167,7 @@ public interface ErrorCodeConstants {
ErrorCode LOCATION_USER_GROUP_CODE_NOT_EXISTS = new ErrorCode(1_000_037_009, "用户组代码不存在"); ErrorCode LOCATION_USER_GROUP_CODE_NOT_EXISTS = new ErrorCode(1_000_037_009, "用户组代码不存在");
ErrorCode LOCATION_AVAILABLE_NOT_EXISTS = new ErrorCode(1_000_037_010, "是否可用不存在"); ErrorCode LOCATION_AVAILABLE_NOT_EXISTS = new ErrorCode(1_000_037_010, "是否可用不存在");
ErrorCode LOCATION_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_037_011, "导入库位不能为空"); ErrorCode LOCATION_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_037_011, "导入库位不能为空");
ErrorCode LOCATION_ITEMCODE_AND_LOCATIONCODE_NOT_EXISTS = new ErrorCode(1_000_037_011, "未查找到零件item_code库位location_code对应的上架策略");
//车间ErrorCode //车间ErrorCode
ErrorCode WORKSHOP_NOT_EXISTS = new ErrorCode(1_038_000_000, "车间不存在"); ErrorCode WORKSHOP_NOT_EXISTS = new ErrorCode(1_038_000_000, "车间不存在");
ErrorCode WORKSHOP_CODE_EXISTS = new ErrorCode(1_039_000_001, "code已存在"); ErrorCode WORKSHOP_CODE_EXISTS = new ErrorCode(1_039_000_001, "code已存在");
@ -364,8 +365,9 @@ public interface ErrorCodeConstants {
ErrorCode PURCHASE_CLOSED_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单已关闭"); ErrorCode PURCHASE_CLOSED_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单已关闭");
//采购订单子ErrorCode //采购订单子ErrorCode
ErrorCode PURCHASE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单子不存在"); ErrorCode PURCHASE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单子不存在");
ErrorCode PURCHASE_DETAIL_ARGUMENT_NOT_EXISTS = new ErrorCode(1_000_063_002, "采购订单明细:订单号ppo_number、订单行pline_number、零件号pitem_code无效");
ErrorCode PURCHASE_DETAIL_NUMBER_NOT_EXISTS = new ErrorCode(1_000_063_003, "采购订单pnumber无效");
//采购订单ErrorCode //采购订单ErrorCode
ErrorCode PURCHASE_DETAIL_NUMBER_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单明细订单号不存在");
//采购索赔申请主ErrorCode //采购索赔申请主ErrorCode
ErrorCode PURCHASECLAIM_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_064_000, "采购索赔申请主不存在"); ErrorCode PURCHASECLAIM_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_064_000, "采购索赔申请主不存在");
//采购索赔申请主ErrorCode //采购索赔申请主ErrorCode
@ -399,7 +401,9 @@ public interface ErrorCodeConstants {
//供应商发货记录主ErrorCode //供应商发货记录主ErrorCode
ErrorCode SUPPLIERDELIVER_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_071_000, "供应商发货记录主不存在"); ErrorCode SUPPLIERDELIVER_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_071_000, "供应商发货记录主不存在");
//供应商发货记录子ErrorCode //供应商发货记录子ErrorCode
ErrorCode SUPPLIERDELIVER_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_071_001, "供应商发货记录子不存在"); ErrorCode SUPPLIERDELIVER_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_071_001, "供应商发货记录不存在");
ErrorCode SUPPLIERDELIVER_RECORD_MAIN_NUMBER_NOT_EXISTS = new ErrorCode(1_000_071_002, "发货订单无效number无效");
ErrorCode SUPPLIERDELIVER_RECORD_DETAIL_PONUMBER_AND_POLINE_AND_ITEMCODE_NOT_EXISTS = new ErrorCode(1_000_071_003, "订单号【pline_number】、订单行【pline_number】、零件号【pitem_code】无效");
//采购收货申请主ErrorCode //采购收货申请主ErrorCode
ErrorCode PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_072_000, "采购收货申请主不存在"); ErrorCode PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_072_000, "采购收货申请主不存在");
//采购收货申请子ErrorCode //采购收货申请子ErrorCode
@ -408,6 +412,7 @@ public interface ErrorCodeConstants {
ErrorCode PURCHASERECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_073_000, "采购收货任务主不存在"); ErrorCode PURCHASERECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_073_000, "采购收货任务主不存在");
//采购收货任务子ErrorCode //采购收货任务子ErrorCode
ErrorCode PURCHASERECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_073_001, "采购收货任务子不存在"); ErrorCode PURCHASERECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_073_001, "采购收货任务子不存在");
ErrorCode PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_073_002, "采购收货任务状态错误");
//采购收货记录主ErrorCode //采购收货记录主ErrorCode
ErrorCode PURCHASERECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_074_000, "采购收货记录主不存在"); ErrorCode PURCHASERECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_074_000, "采购收货记录主不存在");
//采购收货记录子ErrorCode //采购收货记录子ErrorCode
@ -420,6 +425,7 @@ public interface ErrorCodeConstants {
ErrorCode PURCHASERETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_076_000, "采购退货任务主不存在"); ErrorCode PURCHASERETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_076_000, "采购退货任务主不存在");
//采购退货任务子ErrorCode //采购退货任务子ErrorCode
ErrorCode PURCHASERETURN_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_076_001, "采购退货任务子不存在"); ErrorCode PURCHASERETURN_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_076_001, "采购退货任务子不存在");
ErrorCode PURCHASERETURN_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_076_002, "采购退货任务状态");
//采购退货记录主ErrorCode //采购退货记录主ErrorCode
ErrorCode PURCHASERETURN_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_077_000, "采购退货记录主不存在"); ErrorCode PURCHASERETURN_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_077_000, "采购退货记录主不存在");
//采购退货记录子ErrorCode //采购退货记录子ErrorCode
@ -432,6 +438,7 @@ public interface ErrorCodeConstants {
ErrorCode INSPECT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_079_000, "检验任务主不存在"); ErrorCode INSPECT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_079_000, "检验任务主不存在");
//检验任务子ErrorCode //检验任务子ErrorCode
ErrorCode INSPECT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_079_001, "检验任务子不存在"); ErrorCode INSPECT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_079_001, "检验任务子不存在");
ErrorCode INSPECT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_079_002, "检验任务状态错误");
//检验记录主ErrorCode //检验记录主ErrorCode
ErrorCode INSPECT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_080_000, "检验记录主不存在"); ErrorCode INSPECT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_080_000, "检验记录主不存在");
//检验记录子ErrorCode //检验记录子ErrorCode
@ -464,6 +471,7 @@ public interface ErrorCodeConstants {
//补料任务子ErrorCode //补料任务子ErrorCode
ErrorCode REPLEINSH_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_087_001, "补料任务子不存在"); ErrorCode REPLEINSH_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_087_001, "补料任务子不存在");
ErrorCode REPLEINSH_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_087_002, "补料任务状态错误");
//补料记录主ErrorCode //补料记录主ErrorCode
ErrorCode REPLEINSH_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_088_000, "补料记录主不存在"); ErrorCode REPLEINSH_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_088_000, "补料记录主不存在");
@ -482,6 +490,7 @@ public interface ErrorCodeConstants {
//拣料任务子ErrorCode //拣料任务子ErrorCode
ErrorCode PICK_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_088_001, "拣料任务子不存在"); ErrorCode PICK_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_088_001, "拣料任务子不存在");
ErrorCode PICK_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_088_002, "拣料任务状态错误");
//拣料记录主ErrorCode //拣料记录主ErrorCode
ErrorCode PICK_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_089_000, "拣料记录主不存在"); ErrorCode PICK_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_089_000, "拣料记录主不存在");
@ -500,6 +509,7 @@ public interface ErrorCodeConstants {
//发料任务子ErrorCode //发料任务子ErrorCode
ErrorCode ISSUE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_091_001, "发料任务子不存在"); ErrorCode ISSUE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_091_001, "发料任务子不存在");
ErrorCode ISSUE_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_091_002, "发料任务状态错误");
//发料记录主ErrorCode //发料记录主ErrorCode
ErrorCode ISSUE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_092_000, "发料记录主不存在"); ErrorCode ISSUE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_092_000, "发料记录主不存在");
@ -511,6 +521,7 @@ public interface ErrorCodeConstants {
//生产收料任务子ErrorCode //生产收料任务子ErrorCode
ErrorCode PRODUCTIONRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_093_001, "生产收料任务子不存在"); ErrorCode PRODUCTIONRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_093_001, "生产收料任务子不存在");
ErrorCode PRODUCTIONRECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_093_002, "生产收料任务状态错误");
//生产收料记录主ErrorCode //生产收料记录主ErrorCode
ErrorCode PRODUCTIONRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_094_000, "生产收料记录主不存在"); ErrorCode PRODUCTIONRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_094_000, "生产收料记录主不存在");
@ -533,6 +544,7 @@ public interface ErrorCodeConstants {
ErrorCode PRODUCTIONRETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_098_000, "生产退料任务主不存在"); ErrorCode PRODUCTIONRETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_098_000, "生产退料任务主不存在");
//生产退料任务子ErrorCode //生产退料任务子ErrorCode
ErrorCode PRODUCTIONRETURN_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_098_001, "生产退料任务子不存在"); ErrorCode PRODUCTIONRETURN_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_098_001, "生产退料任务子不存在");
ErrorCode PRODUCTIONRETURN_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_098_002, "生产退料任务状态错误");
//生产退料记录主ErrorCode //生产退料记录主ErrorCode
ErrorCode PRODUCTIONRETURN_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_099_000, "生产退料记录主不存在"); ErrorCode PRODUCTIONRETURN_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_099_000, "生产退料记录主不存在");
//生产退料任务子ErrorCode //生产退料任务子ErrorCode
@ -545,7 +557,10 @@ public interface ErrorCodeConstants {
ErrorCode PRODUCTION_MAIN_NOT_EXISTS = new ErrorCode(1_001_101_000, "生产计划主不存在"); ErrorCode PRODUCTION_MAIN_NOT_EXISTS = new ErrorCode(1_001_101_000, "生产计划主不存在");
//生产计划子ErrorCode //生产计划子ErrorCode
ErrorCode PRODUCTION_DETAIL_NOT_EXISTS = new ErrorCode(1_001_100_001, "生产计划子不存在"); ErrorCode PRODUCTION_DETAIL_NOT_EXISTS = new ErrorCode(1_001_101_001, "生产计划子不存在");
ErrorCode PRODUCTION_MAIN_MASSAGE_EXISTS = new ErrorCode(1_001_101_002, "生产计明细:订单号pline_number、零件号pitem_code无效");
ErrorCode PRODUCTION_MAIN_NUMBER_CLOSE_EXISTS = new ErrorCode(1_001_101_003, "生产计划number已经关闭");
ErrorCode PRODUCTION_MAIN_NUMBER_NOT_EXISTS = new ErrorCode(1_001_101_004, "生产计划number无效");
//制品收货申请主ErrorCode //制品收货申请主ErrorCode
ErrorCode PRODUCTRECEIPT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_102_000, "制品收货申请主不存在"); ErrorCode PRODUCTRECEIPT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_102_000, "制品收货申请主不存在");
@ -555,6 +570,7 @@ public interface ErrorCodeConstants {
ErrorCode PRODUCTRECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_103_000, "制品收货任务主不存在"); ErrorCode PRODUCTRECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_103_000, "制品收货任务主不存在");
//制品收货申请子ErrorCode //制品收货申请子ErrorCode
ErrorCode PRODUCTRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_001_103_001, "制品收货任务子不存在"); ErrorCode PRODUCTRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_001_103_001, "制品收货任务子不存在");
ErrorCode PRODUCTRECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_103_002, "制品收货任务状态错误");
//制品收货记录主ErrorCode //制品收货记录主ErrorCode
ErrorCode PRODUCTRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_104_000, "制品收货记录主不存在"); ErrorCode PRODUCTRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_104_000, "制品收货记录主不存在");
//制品收货记录子ErrorCode //制品收货记录子ErrorCode
@ -572,6 +588,7 @@ public interface ErrorCodeConstants {
ErrorCode PRODUCTDISMANTLE_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_106_000, "制品拆解任务主不存在"); ErrorCode PRODUCTDISMANTLE_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_106_000, "制品拆解任务主不存在");
//制品拆解任务子ErrorCode //制品拆解任务子ErrorCode
ErrorCode PRODUCTDISMANTLE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_001_106_001, "制品拆解任务子不存在"); ErrorCode PRODUCTDISMANTLE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_001_106_001, "制品拆解任务子不存在");
ErrorCode PRODUCTDISMANTLE_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_106_002, "制品拆解任务状态错误");
//制品拆解记录主ErrorCode //制品拆解记录主ErrorCode
ErrorCode PRODUCTDISMANTLE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_107_000, "制品拆解记录主不存在"); ErrorCode PRODUCTDISMANTLE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_107_000, "制品拆解记录主不存在");
@ -603,6 +620,7 @@ public interface ErrorCodeConstants {
ErrorCode PRODUCTSCRAP_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_111_000, "制品报废任务主不存在"); ErrorCode PRODUCTSCRAP_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_111_000, "制品报废任务主不存在");
//制品报废任务子ErrorCode //制品报废任务子ErrorCode
ErrorCode PRODUCTSCRAP_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_001_110_001, "制品报废任务子不存在"); ErrorCode PRODUCTSCRAP_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_001_110_001, "制品报废任务子不存在");
ErrorCode PRODUCTSCRAP_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_111_002, "制品报废任务状态错误");
//制品报废记录ErrorCode //制品报废记录ErrorCode
ErrorCode PRODUCTSCRAP_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_111_000, "制品报废记录主不存在"); ErrorCode PRODUCTSCRAP_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_111_000, "制品报废记录主不存在");
ErrorCode PRODUCTSCRAP_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_111_001, "制品报废记录子不存在"); ErrorCode PRODUCTSCRAP_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_111_001, "制品报废记录子不存在");
@ -612,6 +630,7 @@ public interface ErrorCodeConstants {
//制品上架任务ErrorCode //制品上架任务ErrorCode
ErrorCode PRODUCTPUTAWAY_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_113_000, "制品上架任务主不存在"); ErrorCode PRODUCTPUTAWAY_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_113_000, "制品上架任务主不存在");
ErrorCode PRODUCTPUTAWAY_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_113_001, "制品上架任务子不存在"); ErrorCode PRODUCTPUTAWAY_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_113_001, "制品上架任务子不存在");
ErrorCode PRODUCTPUTAWAY_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_113_002, "制品上架任务状态错误");
//制品上架任务ErrorCode //制品上架任务ErrorCode
ErrorCode PRODUCTPUTAWAY_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_114_000, "制品上架记录主不存在"); ErrorCode PRODUCTPUTAWAY_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_114_000, "制品上架记录主不存在");
ErrorCode PRODUCTPUTAWAY_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_114_001, "制品上架记录子不存在"); ErrorCode PRODUCTPUTAWAY_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_114_001, "制品上架记录子不存在");
@ -624,6 +643,7 @@ public interface ErrorCodeConstants {
//销售订单ErrorCode //销售订单ErrorCode
ErrorCode SALE_MAIN_NOT_EXISTS = new ErrorCode(1_000_117_000, "销售订单主不存在"); ErrorCode SALE_MAIN_NOT_EXISTS = new ErrorCode(1_000_117_000, "销售订单主不存在");
ErrorCode SALE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_117_001, "销售订单子不存在"); ErrorCode SALE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_117_001, "销售订单子不存在");
ErrorCode SALE_DETAIL_NUMBER_AND_LINE_NUMBER_AND_ITEMCODE_NOT_EXISTS = new ErrorCode(1_000_117_002, "订单号【pso_numbe】、订单行【pso_line】、零件号【pitem_code】无效");
//发货计划ErrorCode //发货计划ErrorCode
ErrorCode DELIVER_PLAN_MAIN_NOT_EXISTS = new ErrorCode(1_000_118_000, "发货计划主不存在"); ErrorCode DELIVER_PLAN_MAIN_NOT_EXISTS = new ErrorCode(1_000_118_000, "发货计划主不存在");
ErrorCode DELIVER_PLAN_DETAIL_NOT_EXISTS = new ErrorCode(1_000_118_001, "发货计划子不存在"); ErrorCode DELIVER_PLAN_DETAIL_NOT_EXISTS = new ErrorCode(1_000_118_001, "发货计划子不存在");
@ -633,6 +653,7 @@ public interface ErrorCodeConstants {
//发货任务ErrorCode //发货任务ErrorCode
ErrorCode DELIVER_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_120_000, "发货任务主不存在"); ErrorCode DELIVER_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_120_000, "发货任务主不存在");
ErrorCode DELIVER_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_120_001, "发货任务子不存在"); ErrorCode DELIVER_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_120_001, "发货任务子不存在");
ErrorCode DELIVER_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_120_003, "发货任务状态错误");
//发货记录ErrorCode //发货记录ErrorCode
ErrorCode DELIVER_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_122_000, "发货记录主不存在"); ErrorCode DELIVER_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_122_000, "发货记录主不存在");
ErrorCode DELIVER_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_122_001, "发货记录子不存在"); ErrorCode DELIVER_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_122_001, "发货记录子不存在");
@ -648,6 +669,7 @@ public interface ErrorCodeConstants {
//客户退货任务ErrorCode //客户退货任务ErrorCode
ErrorCode CUSTOMERRETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_125_000, "客户退货任务主不存在"); ErrorCode CUSTOMERRETURN_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_125_000, "客户退货任务主不存在");
ErrorCode CUSTOMERRETURN_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_125_001, "客户退货任务子不存在"); ErrorCode CUSTOMERRETURN_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_125_001, "客户退货任务子不存在");
ErrorCode CUSTOMERRETURN_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_125_003, "客户退货任务状态错误");
//客户退货记录ErrorCode //客户退货记录ErrorCode
ErrorCode CUSTOMERRETURN_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_126_000, "客户退货记录主不存在"); ErrorCode CUSTOMERRETURN_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_126_000, "客户退货记录主不存在");
ErrorCode CUSTOMERRETURN_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_126_001, "客户退货记录子不存在"); ErrorCode CUSTOMERRETURN_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_126_001, "客户退货记录子不存在");
@ -669,6 +691,7 @@ public interface ErrorCodeConstants {
//库存转移任务ErrorCode //库存转移任务ErrorCode
ErrorCode INVENTORYMOVE_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_132_000, "库存转移任务主不存在"); ErrorCode INVENTORYMOVE_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_132_000, "库存转移任务主不存在");
ErrorCode INVENTORYMOVE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_132_001, "库存转移任务子不存在"); ErrorCode INVENTORYMOVE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_132_001, "库存转移任务子不存在");
ErrorCode INVENTORYMOVE_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_132_000, "库存转移任务状态错误");
//库存转移记录ErrorCode //库存转移记录ErrorCode
ErrorCode INVENTORYMOVE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_133_000, "库存转移记录主不存在"); ErrorCode INVENTORYMOVE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_133_000, "库存转移记录主不存在");
ErrorCode INVENTORYMOVE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_133_001, "库存转移记录子不存在"); ErrorCode INVENTORYMOVE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_133_001, "库存转移记录子不存在");
@ -684,6 +707,7 @@ public interface ErrorCodeConstants {
//调拨出库任务ErrorCode //调拨出库任务ErrorCode
ErrorCode TRANSFERISSUE_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_137_000, "调拨出库任务主不存在"); ErrorCode TRANSFERISSUE_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_137_000, "调拨出库任务主不存在");
ErrorCode TRANSFERISSUE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_138_001, "调拨出库任务子不存在"); ErrorCode TRANSFERISSUE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_138_001, "调拨出库任务子不存在");
ErrorCode TRANSFERISSUE_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_137_002, "调拨出库任务状态错误");
//调拨出库记录ErrorCode //调拨出库记录ErrorCode
ErrorCode TRANSFERISSUE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_139_000, "调拨出库记录主不存在"); ErrorCode TRANSFERISSUE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_139_000, "调拨出库记录主不存在");
ErrorCode TRANSFERISSUE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_139_001, "调拨出库记录子不存在"); ErrorCode TRANSFERISSUE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_139_001, "调拨出库记录子不存在");
@ -693,6 +717,7 @@ public interface ErrorCodeConstants {
//调拨入库任务ErrorCode //调拨入库任务ErrorCode
ErrorCode TRANSFERRECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_141_000, "调拨入库任务主不存在"); ErrorCode TRANSFERRECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_141_000, "调拨入库任务主不存在");
ErrorCode TRANSFERRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_141_001, "调拨入库任务子不存在"); ErrorCode TRANSFERRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_141_001, "调拨入库任务子不存在");
ErrorCode TRANSFERRECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_141_002, "调拨入库任务状态错误");
//调拨入库记录ErrorCode //调拨入库记录ErrorCode
ErrorCode TRANSFERRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_142_000, "调拨入库记录主不存在"); ErrorCode TRANSFERRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_142_000, "调拨入库记录主不存在");
ErrorCode TRANSFERRECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_142_001, "调拨入库记录子不存在"); ErrorCode TRANSFERRECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_142_001, "调拨入库记录子不存在");
@ -702,6 +727,7 @@ public interface ErrorCodeConstants {
//计划外出库任务ErrorCode //计划外出库任务ErrorCode
ErrorCode UNPLANNEDISSUE_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_144_000, "计划外出库任务主不存在"); ErrorCode UNPLANNEDISSUE_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_144_000, "计划外出库任务主不存在");
ErrorCode UNPLANNEDISSUE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_144_001, "计划外出库任务子不存在"); ErrorCode UNPLANNEDISSUE_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_144_001, "计划外出库任务子不存在");
ErrorCode UNPLANNEDISSUE_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_144_002, "计划外出库任务状态错误");
//计划外出库记录ErrorCode //计划外出库记录ErrorCode
ErrorCode UNPLANNEDISSUE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_145_000, "计划外出库记录主不存在"); ErrorCode UNPLANNEDISSUE_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_145_000, "计划外出库记录主不存在");
ErrorCode UNPLANNEDISSUE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_145_001, "计划外出库记录子不存在"); ErrorCode UNPLANNEDISSUE_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_145_001, "计划外出库记录子不存在");
@ -711,6 +737,7 @@ public interface ErrorCodeConstants {
//计划外入库任务ErrorCode //计划外入库任务ErrorCode
ErrorCode UNPLANNEDRECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_147_000, "计划外入库任务主不存在"); ErrorCode UNPLANNEDRECEIPT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_147_000, "计划外入库任务主不存在");
ErrorCode UNPLANNEDRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_147_001, "计划外入库任务子不存在"); ErrorCode UNPLANNEDRECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_147_001, "计划外入库任务子不存在");
ErrorCode UNPLANNEDRECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_147_002, "计划外入库任务状态错误");
//计划外入库记录ErrorCode //计划外入库记录ErrorCode
ErrorCode UNPLANNEDRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_148_000, "计划外入库记录主不存在"); ErrorCode UNPLANNEDRECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_148_000, "计划外入库记录主不存在");
ErrorCode UNPLANNEDRECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_148_001, "计划外入库记录子不存在"); ErrorCode UNPLANNEDRECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_148_001, "计划外入库记录子不存在");
@ -720,6 +747,7 @@ public interface ErrorCodeConstants {
//报废出库任务ErrorCode //报废出库任务ErrorCode
ErrorCode SCRAP_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_150_000, "报废出库任务主不存在"); ErrorCode SCRAP_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_150_000, "报废出库任务主不存在");
ErrorCode SCRAP_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_150_001, "报废出库任务子不存在"); ErrorCode SCRAP_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_150_001, "报废出库任务子不存在");
ErrorCode SCRAP_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_150_002, "报废出库任务状态不存在");
//报废出库记录ErrorCode //报废出库记录ErrorCode
ErrorCode SCRAP_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_151_000, "报废出库记录主不存在"); ErrorCode SCRAP_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_151_000, "报废出库记录主不存在");
ErrorCode SCRAP_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_151_001, "报废出库记录子不存在"); ErrorCode SCRAP_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_151_001, "报废出库记录子不存在");
@ -732,6 +760,7 @@ public interface ErrorCodeConstants {
//盘点任务ErrorCode //盘点任务ErrorCode
ErrorCode COUNT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_154_000, "盘点任务主不存在"); ErrorCode COUNT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_154_000, "盘点任务主不存在");
ErrorCode COUNT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_154_001, "盘点任务子不存在"); ErrorCode COUNT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_154_001, "盘点任务子不存在");
ErrorCode COUNT_JOB_MAIN_STATUS_ERROR= new ErrorCode(1_000_154_002, "盘点任务状态错误");
//盘点申请ErrorCode //盘点申请ErrorCode
ErrorCode COUNT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_155_000, "盘点申请主不存在"); ErrorCode COUNT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_155_000, "盘点申请主不存在");
ErrorCode COUNT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_155_001, "盘点申请子不存在"); ErrorCode COUNT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_155_001, "盘点申请子不存在");
@ -761,8 +790,5 @@ public interface ErrorCodeConstants {
//生产线与零件关系ErrorCode //生产线与零件关系ErrorCode
ErrorCode PRODUCTIONLINEITEM_PITEM_NOT_EXISTS = new ErrorCode(1_000_166_000, "生产线与零件关系无效"); ErrorCode PRODUCTIONLINEITEM_PITEM_NOT_EXISTS = new ErrorCode(1_000_166_000, "生产线与零件关系无效");
//生产线与零件关系ErrorCode
ErrorCode PDOCK_NOT_EXISTS = new ErrorCode(1_000_166_000, "收货口不存在");
} }

35
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java

@ -0,0 +1,35 @@
package com.win.module.wms.enums.job;
import com.win.module.wms.enums.order.OrderStatusEnum;
public enum JobStatusEnum {
OPEN(1), // 待处理
DOING(2), // 执行中
DONE(3), // 完成
CLOSED(4), // 关闭
CANCELLED(5); // 放弃
private final Integer code;
JobStatusEnum(int code) {
this.code = code;
}
public int getCode() {
return code;
}
/**
* 用状态值获取枚举
* @param status
* @return
*/
static JobStatusEnum getJobStatusEnum(int status) {
for (JobStatusEnum jobStatusEnum : values()) {
if (jobStatusEnum.getCode() == status) {
return jobStatusEnum;
}
}
return OPEN;
}
}

97
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/job/JobStatusState.java

@ -0,0 +1,97 @@
package com.win.module.wms.enums.job;
import com.win.module.wms.enums.job.JobStatusEnum;
/**
* 订单状态机
*/
public class JobStatusState {
/**
* 当前状态枚举
*/
private JobStatusEnum jobStatusEnum;
/**
* 构造函数默认创建
*/
public JobStatusState() {
this.jobStatusEnum = jobStatusEnum.OPEN;
}
/**
* 构造函数当前状态
* @param status
*/
public JobStatusState(int status) {
this.jobStatusEnum = jobStatusEnum.getJobStatusEnum(status);
}
/**
* 构造函数当前状态枚举
* @param jobStatusEnum
*/
public JobStatusState(JobStatusEnum jobStatusEnum) {
this.jobStatusEnum = jobStatusEnum;
}
/**
* 当前状态是否可以修改为执行中状态
* @return
*/
public boolean doing() {
if(this.jobStatusEnum.getCode() == jobStatusEnum.OPEN.getCode()) {
this.jobStatusEnum = jobStatusEnum.DOING;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 当前状态是否可以修改为关闭状态
* @return
*/
public boolean closed() {
if(this.jobStatusEnum.getCode() == jobStatusEnum.OPEN.getCode()) {
this.jobStatusEnum = jobStatusEnum.CLOSED;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 当前状态是否可以修改为完成状态
* @return
*/
public boolean done() {
if(this.jobStatusEnum.getCode() == jobStatusEnum.DOING.getCode()) {
this.jobStatusEnum = jobStatusEnum.DONE;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 当前状态是否可以修改为放弃状态
* @return
*/
public boolean cancelled() {
if(this.jobStatusEnum.getCode() == jobStatusEnum.DOING.getCode()) {
this.jobStatusEnum = jobStatusEnum.CANCELLED;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/**
* 获取可执行的状态机
* @return
*/
public JobStatusEnum getState() {
return jobStatusEnum;
}
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java

@ -1,12 +1,18 @@
package com.win.module.wms.controller.accountcalendar; package com.win.module.wms.controller.accountcalendar;
import com.alibaba.druid.sql.ast.statement.SQLCreateDatabaseStatement;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.accountcalendar.vo.*; import com.win.module.wms.controller.accountcalendar.vo.*;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert; import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.accountcalendar.AccountcalendarService; import com.win.module.wms.service.accountcalendar.AccountcalendarService;
@ -39,6 +45,9 @@ public class AccountcalendarController {
@Resource @Resource
private AccountcalendarService accountcalendarService; private AccountcalendarService accountcalendarService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建账期日历") @Operation(summary = "创建账期日历")
@PreAuthorize("@ss.hasPermission('wms:accountcalendar:create')") @PreAuthorize("@ss.hasPermission('wms:accountcalendar:create')")
@ -98,6 +107,11 @@ public class AccountcalendarController {
List<AccountcalendarDO> list = accountcalendarService.getAccountcalendarList(exportReqVO); List<AccountcalendarDO> list = accountcalendarService.getAccountcalendarList(exportReqVO);
// 导出 Excel // 导出 Excel
List<AccountcalendarExcelVO> datas = AccountcalendarConvert.INSTANCE.convertList02(list); List<AccountcalendarExcelVO> datas = AccountcalendarConvert.INSTANCE.convertList02(list);
for(AccountcalendarExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "账期日历.xls", "数据", AccountcalendarExcelVO.class, datas); ExcelUtils.write(response, "账期日历.xls", "数据", AccountcalendarExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/areabasic/AreabasicController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarExcelVO;
import com.win.module.wms.controller.areabasic.vo.*; import com.win.module.wms.controller.areabasic.vo.*;
import com.win.module.wms.convert.areabasic.AreabasicConvert; import com.win.module.wms.convert.areabasic.AreabasicConvert;
import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO; import com.win.module.wms.dal.dataobject.areabasic.AreabasicDO;
@ -39,6 +42,9 @@ public class AreabasicController {
@Resource @Resource
private AreabasicService areabasicService; private AreabasicService areabasicService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建库区") @Operation(summary = "创建库区")
@PreAuthorize("@ss.hasPermission('wms:areabasic:create')") @PreAuthorize("@ss.hasPermission('wms:areabasic:create')")
@ -98,6 +104,11 @@ public class AreabasicController {
List<AreabasicDO> list = areabasicService.getAreabasicList(exportReqVO); List<AreabasicDO> list = areabasicService.getAreabasicList(exportReqVO);
// 导出 Excel // 导出 Excel
List<AreabasicExcelVO> datas = AreabasicConvert.INSTANCE.convertList02(list); List<AreabasicExcelVO> datas = AreabasicConvert.INSTANCE.convertList02(list);
for(AreabasicExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "库区.xls", "数据", AreabasicExcelVO.class, datas); ExcelUtils.write(response, "库区.xls", "数据", AreabasicExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/backflushRecord/BackflushRecordDetailbController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.backflushRecord; package com.win.module.wms.controller.backflushRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.areabasic.vo.AreabasicExcelVO;
import com.win.module.wms.controller.backflushRecord.vo.*; import com.win.module.wms.controller.backflushRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,8 @@ public class BackflushRecordDetailbController {
@Resource @Resource
private BackflushRecordDetailbService backflushRecordDetailbService; private BackflushRecordDetailbService backflushRecordDetailbService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建制品收货记录子") @Operation(summary = "创建制品收货记录子")
@PreAuthorize("@ss.hasPermission('wms:backflush-record-detailb:create')") @PreAuthorize("@ss.hasPermission('wms:backflush-record-detailb:create')")
@ -96,6 +101,11 @@ public class BackflushRecordDetailbController {
List<BackflushRecordDetailbDO> list = backflushRecordDetailbService.getBackflushRecordDetailbList(exportReqVO); List<BackflushRecordDetailbDO> list = backflushRecordDetailbService.getBackflushRecordDetailbList(exportReqVO);
// 导出 Excel // 导出 Excel
List<BackflushRecordDetailbExcelVO> datas = BackflushRecordDetailbConvert.INSTANCE.convertList02(list); List<BackflushRecordDetailbExcelVO> datas = BackflushRecordDetailbConvert.INSTANCE.convertList02(list);
for(BackflushRecordDetailbExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "制品收货记录子.xls", "数据", BackflushRecordDetailbExcelVO.class, datas); ExcelUtils.write(response, "制品收货记录子.xls", "数据", BackflushRecordDetailbExcelVO.class, datas);
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/backflushRecord/vo/BackflushRecordDetailbExcelVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.backflushRecord.vo; package com.win.module.wms.controller.backflushRecord.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -69,6 +70,7 @@ public class BackflushRecordDetailbExcelVO {
private String remark; private String remark;
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime; private LocalDateTime createTime;
@ExcelProperty("创建者Id") @ExcelProperty("创建者Id")
@ -84,4 +86,5 @@ public class BackflushRecordDetailbExcelVO {
@ExcelProperty("任务明细ID") @ExcelProperty("任务明细ID")
private String jobDetailId; private String jobDetailId;
} }

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/BalanceController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.balance; package com.win.module.wms.controller.balance;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.backflushRecord.vo.BackflushRecordDetailbExcelVO;
import com.win.module.wms.controller.balance.vo.*; import com.win.module.wms.controller.balance.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -36,6 +39,8 @@ public class BalanceController {
@Resource @Resource
private BalanceService balanceService; private BalanceService balanceService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建库存余额") @Operation(summary = "创建库存余额")
@ -96,7 +101,11 @@ public class BalanceController {
List<BalanceDO> list = balanceService.getBalanceList(exportReqVO); List<BalanceDO> list = balanceService.getBalanceList(exportReqVO);
// 导出 Excel // 导出 Excel
List<BalanceExcelVO> datas = BalanceConvert.INSTANCE.convertList02(list); List<BalanceExcelVO> datas = BalanceConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "库存余额.xls", "数据", BalanceExcelVO.class, datas); for (BalanceExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
ExcelUtils.write(response, "库存余额.xls", "数据", BalanceExcelVO.class, datas);
}
} }
} }

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceExcelVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.balance.vo; package com.win.module.wms.controller.balance.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -117,4 +118,11 @@ public class BalanceExcelVO {
@ExcelProperty("体积") @ExcelProperty("体积")
private BigDecimal volume; private BigDecimal volume;
@ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/BarcodeController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.backflushRecord.vo.BackflushRecordDetailbExcelVO;
import com.win.module.wms.controller.barcode.vo.*; import com.win.module.wms.controller.barcode.vo.*;
import com.win.module.wms.convert.barcode.BarcodeConvert; import com.win.module.wms.convert.barcode.BarcodeConvert;
import com.win.module.wms.dal.dataobject.barcode.BarcodeDO; import com.win.module.wms.dal.dataobject.barcode.BarcodeDO;
@ -39,6 +42,9 @@ public class BarcodeController {
@Resource @Resource
private BarcodeService barcodeService; private BarcodeService barcodeService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建条码片段") @Operation(summary = "创建条码片段")
@PreAuthorize("@ss.hasPermission('label:barcode:create')") @PreAuthorize("@ss.hasPermission('label:barcode:create')")
@ -98,6 +104,11 @@ public class BarcodeController {
List<BarcodeDO> list = barcodeService.getBarcodeList(exportReqVO); List<BarcodeDO> list = barcodeService.getBarcodeList(exportReqVO);
// 导出 Excel // 导出 Excel
List<BarcodeExcelVO> datas = BarcodeConvert.INSTANCE.convertList02(list); List<BarcodeExcelVO> datas = BarcodeConvert.INSTANCE.convertList02(list);
for(BarcodeExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "条码片段.xls", "数据", BarcodeExcelVO.class, datas); ExcelUtils.write(response, "条码片段.xls", "数据", BarcodeExcelVO.class, datas);
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeExcelVO.java

@ -1,8 +1,11 @@
package com.win.module.wms.controller.barcode.vo; package com.win.module.wms.controller.barcode.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
/** /**
* 条码片段 Excel VO * 条码片段 Excel VO
* *
@ -50,4 +53,12 @@ public class BarcodeExcelVO {
@ExcelProperty("是否加密") @ExcelProperty("是否加密")
private String isEncypt; private String isEncypt;
@ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/bom/BomController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.barcode.vo.BarcodeExcelVO;
import com.win.module.wms.controller.bom.vo.*; import com.win.module.wms.controller.bom.vo.*;
import com.win.module.wms.convert.bom.BomConvert; import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO; import com.win.module.wms.dal.dataobject.bom.BomDO;
@ -39,6 +42,9 @@ public class BomController {
@Resource @Resource
private BomService bomService; private BomService bomService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建物料清单") @Operation(summary = "创建物料清单")
@PreAuthorize("@ss.hasPermission('wms:bom:create')") @PreAuthorize("@ss.hasPermission('wms:bom:create')")
@ -98,6 +104,11 @@ public class BomController {
List<BomDO> list = bomService.getBomList(exportReqVO); List<BomDO> list = bomService.getBomList(exportReqVO);
// 导出 Excel // 导出 Excel
List<BomExcelVO> datas = BomConvert.INSTANCE.convertList02(list); List<BomExcelVO> datas = BomConvert.INSTANCE.convertList02(list);
for(BomExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "物料清单.xls", "数据", BomExcelVO.class, datas); ExcelUtils.write(response, "物料清单.xls", "数据", BomExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/businesstype/BusinesstypeController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.bom.vo.BomExcelVO;
import com.win.module.wms.controller.businesstype.vo.*; import com.win.module.wms.controller.businesstype.vo.*;
import com.win.module.wms.convert.businesstype.BusinesstypeConvert; import com.win.module.wms.convert.businesstype.BusinesstypeConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
@ -39,6 +42,9 @@ public class BusinesstypeController {
@Resource @Resource
private BusinesstypeService businesstypeService; private BusinesstypeService businesstypeService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建业务类型") @Operation(summary = "创建业务类型")
@PreAuthorize("@ss.hasPermission('wms:businesstype:create')") @PreAuthorize("@ss.hasPermission('wms:businesstype:create')")
@ -98,6 +104,11 @@ public class BusinesstypeController {
List<BusinesstypeDO> list = businesstypeService.getBusinesstypeList(exportReqVO); List<BusinesstypeDO> list = businesstypeService.getBusinesstypeList(exportReqVO);
// 导出 Excel // 导出 Excel
List<BusinesstypeExcelVO> datas = BusinesstypeConvert.INSTANCE.convertList02(list); List<BusinesstypeExcelVO> datas = BusinesstypeConvert.INSTANCE.convertList02(list);
for(BusinesstypeExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "业务类型.xls", "数据", BusinesstypeExcelVO.class, datas); ExcelUtils.write(response, "业务类型.xls", "数据", BusinesstypeExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/carrier/CarrierController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.businesstype.vo.BusinesstypeExcelVO;
import com.win.module.wms.controller.carrier.vo.*; import com.win.module.wms.controller.carrier.vo.*;
import com.win.module.wms.convert.carrier.CarrierConvert; import com.win.module.wms.convert.carrier.CarrierConvert;
import com.win.module.wms.dal.dataobject.carrier.CarrierDO; import com.win.module.wms.dal.dataobject.carrier.CarrierDO;
@ -39,6 +42,9 @@ public class CarrierController {
@Resource @Resource
private CarrierService carrierService; private CarrierService carrierService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建承运商") @Operation(summary = "创建承运商")
@PreAuthorize("@ss.hasPermission('wms:carrier:create')") @PreAuthorize("@ss.hasPermission('wms:carrier:create')")
@ -98,6 +104,11 @@ public class CarrierController {
List<CarrierDO> list = carrierService.getCarrierList(exportReqVO); List<CarrierDO> list = carrierService.getCarrierList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CarrierExcelVO> datas = CarrierConvert.INSTANCE.convertList02(list); List<CarrierExcelVO> datas = CarrierConvert.INSTANCE.convertList02(list);
for(CarrierExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "承运商.xls", "数据", CarrierExcelVO.class, datas); ExcelUtils.write(response, "承运商.xls", "数据", CarrierExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/condition/ConditionController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.carrier.vo.CarrierExcelVO;
import com.win.module.wms.controller.condition.vo.*; import com.win.module.wms.controller.condition.vo.*;
import com.win.module.wms.convert.condition.ConditionConvert; import com.win.module.wms.convert.condition.ConditionConvert;
import com.win.module.wms.dal.dataobject.condition.ConditionDO; import com.win.module.wms.dal.dataobject.condition.ConditionDO;
@ -39,6 +42,9 @@ public class ConditionController {
@Resource @Resource
private ConditionService conditionService; private ConditionService conditionService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建条件") @Operation(summary = "创建条件")
@PreAuthorize("@ss.hasPermission('wms:condition:create')") @PreAuthorize("@ss.hasPermission('wms:condition:create')")
@ -98,6 +104,11 @@ public class ConditionController {
List<ConditionDO> list = conditionService.getConditionList(exportReqVO); List<ConditionDO> list = conditionService.getConditionList(exportReqVO);
// 导出 Excel // 导出 Excel
List<ConditionExcelVO> datas = ConditionConvert.INSTANCE.convertList02(list); List<ConditionExcelVO> datas = ConditionConvert.INSTANCE.convertList02(list);
for(ConditionExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "条件.xls", "数据", ConditionExcelVO.class, datas); ExcelUtils.write(response, "条件.xls", "数据", ConditionExcelVO.class, datas);
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/condition/vo/ConditionExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.condition.vo; package com.win.module.wms.controller.condition.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
@ -36,4 +39,12 @@ public class ConditionExcelVO {
@ExcelProperty("条件分组") @ExcelProperty("条件分组")
private String groupCode; private String groupCode;
@ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configuration/ConfigurationController.java

@ -4,6 +4,9 @@ import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.condition.vo.ConditionExcelVO;
import com.win.module.wms.controller.configuration.vo.*; import com.win.module.wms.controller.configuration.vo.*;
import com.win.module.wms.convert.configuration.ConfigurationConvert; import com.win.module.wms.convert.configuration.ConfigurationConvert;
import com.win.module.wms.dal.dataobject.configuration.ConfigurationDO; import com.win.module.wms.dal.dataobject.configuration.ConfigurationDO;
@ -37,6 +40,9 @@ public class ConfigurationController {
@Resource @Resource
private ConfigurationService configurationService; private ConfigurationService configurationService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建配置") @Operation(summary = "创建配置")
@PreAuthorize("@ss.hasPermission('wms:configuration:create')") @PreAuthorize("@ss.hasPermission('wms:configuration:create')")
@ -96,6 +102,11 @@ public class ConfigurationController {
List<ConfigurationDO> list = configurationService.getConfigurationList(exportReqVO); List<ConfigurationDO> list = configurationService.getConfigurationList(exportReqVO);
// 导出 Excel // 导出 Excel
List<ConfigurationExcelVO> datas = ConfigurationConvert.INSTANCE.convertList02(list); List<ConfigurationExcelVO> datas = ConfigurationConvert.INSTANCE.convertList02(list);
for(ConfigurationExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "配置.xls", "数据", ConfigurationExcelVO.class, datas); ExcelUtils.write(response, "配置.xls", "数据", ConfigurationExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configuration/vo/ConfigurationExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.configuration.vo; package com.win.module.wms.controller.configuration.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
@ -32,4 +35,12 @@ public class ConfigurationExcelVO {
@ExcelProperty("配置分组") @ExcelProperty("配置分组")
private String groupCode; private String groupCode;
@ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configurationsetting/ConfigurationsettingController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.configuration.vo.ConfigurationExcelVO;
import com.win.module.wms.controller.configurationsetting.vo.*; import com.win.module.wms.controller.configurationsetting.vo.*;
import com.win.module.wms.convert.configurationsetting.ConfigurationsettingConvert; import com.win.module.wms.convert.configurationsetting.ConfigurationsettingConvert;
import com.win.module.wms.dal.dataobject.configurationsetting.ConfigurationsettingDO; import com.win.module.wms.dal.dataobject.configurationsetting.ConfigurationsettingDO;
@ -39,6 +42,9 @@ public class ConfigurationsettingController {
@Resource @Resource
private ConfigurationsettingService configurationsettingService; private ConfigurationsettingService configurationsettingService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建配置设置") @Operation(summary = "创建配置设置")
@PreAuthorize("@ss.hasPermission('wms:configurationsetting:create')") @PreAuthorize("@ss.hasPermission('wms:configurationsetting:create')")
@ -98,6 +104,11 @@ public class ConfigurationsettingController {
List<ConfigurationsettingDO> list = configurationsettingService.getConfigurationsettingList(exportReqVO); List<ConfigurationsettingDO> list = configurationsettingService.getConfigurationsettingList(exportReqVO);
// 导出 Excel // 导出 Excel
List<ConfigurationsettingExcelVO> datas = ConfigurationsettingConvert.INSTANCE.convertList02(list); List<ConfigurationsettingExcelVO> datas = ConfigurationsettingConvert.INSTANCE.convertList02(list);
for(ConfigurationsettingExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "配置设置.xls", "数据", ConfigurationsettingExcelVO.class, datas); ExcelUtils.write(response, "配置设置.xls", "数据", ConfigurationsettingExcelVO.class, datas);
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/configurationsetting/vo/ConfigurationsettingExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.configurationsetting.vo; package com.win.module.wms.controller.configurationsetting.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
@ -43,4 +46,11 @@ public class ConfigurationsettingExcelVO {
@ExcelProperty("必填") @ExcelProperty("必填")
private String isRequired; private String isRequired;
@ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/consumeRecord/ConsumeRecordDetailbController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.consumeRecord; package com.win.module.wms.controller.consumeRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.configurationsetting.vo.ConfigurationsettingExcelVO;
import com.win.module.wms.controller.consumeRecord.vo.*; import com.win.module.wms.controller.consumeRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class ConsumeRecordDetailbController {
@Resource @Resource
private ConsumeRecordDetailbService consumeRecordDetailbService; private ConsumeRecordDetailbService consumeRecordDetailbService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建制品返修记录子") @Operation(summary = "创建制品返修记录子")
@PreAuthorize("@ss.hasPermission('wms:consume-record-detailb:create')") @PreAuthorize("@ss.hasPermission('wms:consume-record-detailb:create')")
@ -96,6 +102,11 @@ public class ConsumeRecordDetailbController {
List<ConsumeRecordDetailbDO> list = consumeRecordDetailbService.getConsumeRecordDetailbList(exportReqVO); List<ConsumeRecordDetailbDO> list = consumeRecordDetailbService.getConsumeRecordDetailbList(exportReqVO);
// 导出 Excel // 导出 Excel
List<ConsumeRecordDetailbExcelVO> datas = ConsumeRecordDetailbConvert.INSTANCE.convertList02(list); List<ConsumeRecordDetailbExcelVO> datas = ConsumeRecordDetailbConvert.INSTANCE.convertList02(list);
for(ConsumeRecordDetailbExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "制品返修记录子.xls", "数据", ConsumeRecordDetailbExcelVO.class, datas); ExcelUtils.write(response, "制品返修记录子.xls", "数据", ConsumeRecordDetailbExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/consumereRequest/ConsumereRequestDetailbController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.consumereRequest; package com.win.module.wms.controller.consumereRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.consumeRecord.vo.ConsumeRecordDetailbExcelVO;
import com.win.module.wms.controller.consumereRequest.vo.*; import com.win.module.wms.controller.consumereRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class ConsumereRequestDetailbController {
@Resource @Resource
private ConsumereRequestDetailbService consumereRequestDetailbService; private ConsumereRequestDetailbService consumereRequestDetailbService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建制品返修申请子") @Operation(summary = "创建制品返修申请子")
@PreAuthorize("@ss.hasPermission('wms:consumere-request-detailb:create')") @PreAuthorize("@ss.hasPermission('wms:consumere-request-detailb:create')")
@ -96,6 +102,11 @@ public class ConsumereRequestDetailbController {
List<ConsumereRequestDetailbDO> list = consumereRequestDetailbService.getConsumereRequestDetailbList(exportReqVO); List<ConsumereRequestDetailbDO> list = consumereRequestDetailbService.getConsumereRequestDetailbList(exportReqVO);
// 导出 Excel // 导出 Excel
List<ConsumereRequestDetailbExcelVO> datas = ConsumereRequestDetailbConvert.INSTANCE.convertList02(list); List<ConsumereRequestDetailbExcelVO> datas = ConsumereRequestDetailbConvert.INSTANCE.convertList02(list);
for(ConsumereRequestDetailbExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "制品返修申请子.xls", "数据", ConsumereRequestDetailbExcelVO.class, datas); ExcelUtils.write(response, "制品返修申请子.xls", "数据", ConsumereRequestDetailbExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.container; package com.win.module.wms.controller.container;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.container.vo.*; import com.win.module.wms.controller.container.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class ContainerDetailController {
@Resource @Resource
private ContainerDetailService containerDetailService; private ContainerDetailService containerDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建器具子") @Operation(summary = "创建器具子")
@PreAuthorize("@ss.hasPermission('wms:container-detail:create')") @PreAuthorize("@ss.hasPermission('wms:container-detail:create')")
@ -96,6 +101,11 @@ public class ContainerDetailController {
List<ContainerDetailDO> list = containerDetailService.getContainerDetailList(exportReqVO); List<ContainerDetailDO> list = containerDetailService.getContainerDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<ContainerDetailExcelVO> datas = ContainerDetailConvert.INSTANCE.convertList02(list); List<ContainerDetailExcelVO> datas = ContainerDetailConvert.INSTANCE.convertList02(list);
for(ContainerDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "器具子.xls", "数据", ContainerDetailExcelVO.class, datas); ExcelUtils.write(response, "器具子.xls", "数据", ContainerDetailExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.container; package com.win.module.wms.controller.container;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.consumereRequest.vo.ConsumereRequestDetailbExcelVO;
import com.win.module.wms.controller.container.vo.*; import com.win.module.wms.controller.container.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class ContainerMainController {
@Resource @Resource
private ContainerMainService containerMainService; private ContainerMainService containerMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建器具主") @Operation(summary = "创建器具主")
@PreAuthorize("@ss.hasPermission('wms:container-main:create')") @PreAuthorize("@ss.hasPermission('wms:container-main:create')")
@ -96,6 +102,11 @@ public class ContainerMainController {
List<ContainerMainDO> list = containerMainService.getContainerMainList(exportReqVO); List<ContainerMainDO> list = containerMainService.getContainerMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<ContainerMainExcelVO> datas = ContainerMainConvert.INSTANCE.convertList02(list); List<ContainerMainExcelVO> datas = ContainerMainConvert.INSTANCE.convertList02(list);
for(ContainerMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "器具主.xls", "数据", ContainerMainExcelVO.class, datas); ExcelUtils.write(response, "器具主.xls", "数据", ContainerMainExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.container.vo; package com.win.module.wms.controller.container.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -42,4 +45,11 @@ public class ContainerDetailExcelVO {
@ExcelProperty("数量") @ExcelProperty("数量")
private BigDecimal qty; private BigDecimal qty;
@ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerMainExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.container.vo; package com.win.module.wms.controller.container.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -38,4 +41,11 @@ public class ContainerMainExcelVO {
@ExcelProperty("货主代码") @ExcelProperty("货主代码")
private String ownerCode; private String ownerCode;
@ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者Id")
private String creator;
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.countJob; package com.win.module.wms.controller.countJob;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countJob.vo.*; import com.win.module.wms.controller.countJob.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CountJobDetailController {
@Resource @Resource
private CountJobDetailService countJobDetailService; private CountJobDetailService countJobDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点任务子") @Operation(summary = "创建盘点任务子")
@PreAuthorize("@ss.hasPermission('wms:count-job-detail:create')") @PreAuthorize("@ss.hasPermission('wms:count-job-detail:create')")
@ -96,6 +101,11 @@ public class CountJobDetailController {
List<CountJobDetailDO> list = countJobDetailService.getCountJobDetailList(exportReqVO); List<CountJobDetailDO> list = countJobDetailService.getCountJobDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountJobDetailExcelVO> datas = CountJobDetailConvert.INSTANCE.convertList02(list); List<CountJobDetailExcelVO> datas = CountJobDetailConvert.INSTANCE.convertList02(list);
for(CountJobDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点任务子.xls", "数据", CountJobDetailExcelVO.class, datas); ExcelUtils.write(response, "盘点任务子.xls", "数据", CountJobDetailExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java

@ -1,6 +1,9 @@
package com.win.module.wms.controller.countJob; package com.win.module.wms.controller.countJob;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countJob.vo.*; import com.win.module.wms.controller.countJob.vo.*;
import com.win.module.wms.controller.countadjustRequest.vo.CountadjustRequestMainExcelVO;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -37,6 +40,9 @@ public class CountJobMainController {
@Resource @Resource
private CountJobMainService countJobMainService; private CountJobMainService countJobMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点任务主") @Operation(summary = "创建盘点任务主")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:create')") @PreAuthorize("@ss.hasPermission('wms:count-job-main:create')")
@ -96,6 +102,11 @@ public class CountJobMainController {
List<CountJobMainDO> list = countJobMainService.getCountJobMainList(exportReqVO); List<CountJobMainDO> list = countJobMainService.getCountJobMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountJobMainExcelVO> datas = CountJobMainConvert.INSTANCE.convertList02(list); List<CountJobMainExcelVO> datas = CountJobMainConvert.INSTANCE.convertList02(list);
for(CountJobMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点任务主.xls", "数据", CountJobMainExcelVO.class, datas); ExcelUtils.write(response, "盘点任务主.xls", "数据", CountJobMainExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/CountPlanDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.countPlan; package com.win.module.wms.controller.countPlan;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countPlan.vo.*; import com.win.module.wms.controller.countPlan.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CountPlanDetailController {
@Resource @Resource
private CountPlanDetailService countPlanDetailService; private CountPlanDetailService countPlanDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点计划子") @Operation(summary = "创建盘点计划子")
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:create')") @PreAuthorize("@ss.hasPermission('wms:count-plan-detail:create')")
@ -96,6 +101,11 @@ public class CountPlanDetailController {
List<CountPlanDetailDO> list = countPlanDetailService.getCountPlanDetailList(exportReqVO); List<CountPlanDetailDO> list = countPlanDetailService.getCountPlanDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountPlanDetailExcelVO> datas = CountPlanDetailConvert.INSTANCE.convertList02(list); List<CountPlanDetailExcelVO> datas = CountPlanDetailConvert.INSTANCE.convertList02(list);
for(CountPlanDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点计划子.xls", "数据", CountPlanDetailExcelVO.class, datas); ExcelUtils.write(response, "盘点计划子.xls", "数据", CountPlanDetailExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/CountPlanMainController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.countPlan; package com.win.module.wms.controller.countPlan;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countJob.vo.CountJobMainExcelVO;
import com.win.module.wms.controller.countPlan.vo.*; import com.win.module.wms.controller.countPlan.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CountPlanMainController {
@Resource @Resource
private CountPlanMainService countPlanMainService; private CountPlanMainService countPlanMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点计划主") @Operation(summary = "创建盘点计划主")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:create')") @PreAuthorize("@ss.hasPermission('wms:count-plan-main:create')")
@ -96,6 +102,11 @@ public class CountPlanMainController {
List<CountPlanMainDO> list = countPlanMainService.getCountPlanMainList(exportReqVO); List<CountPlanMainDO> list = countPlanMainService.getCountPlanMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountPlanMainExcelVO> datas = CountPlanMainConvert.INSTANCE.convertList02(list); List<CountPlanMainExcelVO> datas = CountPlanMainConvert.INSTANCE.convertList02(list);
for(CountPlanMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点计划主.xls", "数据", CountPlanMainExcelVO.class, datas); ExcelUtils.write(response, "盘点计划主.xls", "数据", CountPlanMainExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordDetailController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.countRecord; package com.win.module.wms.controller.countRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainExcelVO;
import com.win.module.wms.controller.countRecord.vo.*; import com.win.module.wms.controller.countRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CountRecordDetailController {
@Resource @Resource
private CountRecordDetailService countRecordDetailService; private CountRecordDetailService countRecordDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点记录子") @Operation(summary = "创建盘点记录子")
@PreAuthorize("@ss.hasPermission('wms:count-record-detail:create')") @PreAuthorize("@ss.hasPermission('wms:count-record-detail:create')")
@ -96,6 +102,11 @@ public class CountRecordDetailController {
List<CountRecordDetailDO> list = countRecordDetailService.getCountRecordDetailList(exportReqVO); List<CountRecordDetailDO> list = countRecordDetailService.getCountRecordDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountRecordDetailExcelVO> datas = CountRecordDetailConvert.INSTANCE.convertList02(list); List<CountRecordDetailExcelVO> datas = CountRecordDetailConvert.INSTANCE.convertList02(list);
for(CountRecordDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点记录子.xls", "数据", CountRecordDetailExcelVO.class, datas); ExcelUtils.write(response, "盘点记录子.xls", "数据", CountRecordDetailExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.countRecord; package com.win.module.wms.controller.countRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countRecord.vo.*; import com.win.module.wms.controller.countRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CountRecordMainController {
@Resource @Resource
private CountRecordMainService countRecordMainService; private CountRecordMainService countRecordMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点记录主") @Operation(summary = "创建盘点记录主")
@PreAuthorize("@ss.hasPermission('wms:count-record-main:create')") @PreAuthorize("@ss.hasPermission('wms:count-record-main:create')")
@ -96,6 +101,11 @@ public class CountRecordMainController {
List<CountRecordMainDO> list = countRecordMainService.getCountRecordMainList(exportReqVO); List<CountRecordMainDO> list = countRecordMainService.getCountRecordMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountRecordMainExcelVO> datas = CountRecordMainConvert.INSTANCE.convertList02(list); List<CountRecordMainExcelVO> datas = CountRecordMainConvert.INSTANCE.convertList02(list);
for(CountRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点记录主.xls", "数据", CountRecordMainExcelVO.class, datas); ExcelUtils.write(response, "盘点记录主.xls", "数据", CountRecordMainExcelVO.class, datas);
} }

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordDetailExcelVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.countRecord.vo; package com.win.module.wms.controller.countRecord.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -97,10 +98,11 @@ public class CountRecordDetailExcelVO {
private String remark; private String remark;
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime; private LocalDateTime createTime;
@ExcelProperty("创建者Id") @ExcelProperty("创建者Id")
private String creatorId; private String creator;
@ExcelProperty("任务明细ID") @ExcelProperty("任务明细ID")
private String jobDetailId; private String jobDetailId;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainExcelVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.countRecord.vo; package com.win.module.wms.controller.countRecord.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -76,6 +77,7 @@ public class CountRecordMainExcelVO {
private String remark; private String remark;
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime; private LocalDateTime createTime;
@ExcelProperty("创建者Id") @ExcelProperty("创建者Id")

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestDetailController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.countRequest; package com.win.module.wms.controller.countRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countRecord.vo.CountRecordMainExcelVO;
import com.win.module.wms.controller.countRequest.vo.*; import com.win.module.wms.controller.countRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,10 @@ public class CountRequestDetailController {
@Resource @Resource
private CountRequestDetailService countRequestDetailService; private CountRequestDetailService countRequestDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点申请子") @Operation(summary = "创建盘点申请子")
@PreAuthorize("@ss.hasPermission('wms:count-request-detail:create')") @PreAuthorize("@ss.hasPermission('wms:count-request-detail:create')")
@ -96,6 +103,11 @@ public class CountRequestDetailController {
List<CountRequestDetailDO> list = countRequestDetailService.getCountRequestDetailList(exportReqVO); List<CountRequestDetailDO> list = countRequestDetailService.getCountRequestDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountRequestDetailExcelVO> datas = CountRequestDetailConvert.INSTANCE.convertList02(list); List<CountRequestDetailExcelVO> datas = CountRequestDetailConvert.INSTANCE.convertList02(list);
for(CountRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点申请子.xls", "数据", CountRequestDetailExcelVO.class, datas); ExcelUtils.write(response, "盘点申请子.xls", "数据", CountRequestDetailExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.countRequest; package com.win.module.wms.controller.countRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countRequest.vo.*; import com.win.module.wms.controller.countRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,10 @@ public class CountRequestMainController {
@Resource @Resource
private CountRequestMainService countRequestMainService; private CountRequestMainService countRequestMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点申请主") @Operation(summary = "创建盘点申请主")
@PreAuthorize("@ss.hasPermission('wms:count-request-main:create')") @PreAuthorize("@ss.hasPermission('wms:count-request-main:create')")
@ -96,6 +102,11 @@ public class CountRequestMainController {
List<CountRequestMainDO> list = countRequestMainService.getCountRequestMainList(exportReqVO); List<CountRequestMainDO> list = countRequestMainService.getCountRequestMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountRequestMainExcelVO> datas = CountRequestMainConvert.INSTANCE.convertList02(list); List<CountRequestMainExcelVO> datas = CountRequestMainConvert.INSTANCE.convertList02(list);
for(CountRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点申请主.xls", "数据", CountRequestMainExcelVO.class, datas); ExcelUtils.write(response, "盘点申请主.xls", "数据", CountRequestMainExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/CountadjustRecordDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.countadjustRecord; package com.win.module.wms.controller.countadjustRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countadjustRecord.vo.*; import com.win.module.wms.controller.countadjustRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CountadjustRecordDetailController {
@Resource @Resource
private CountadjustRecordDetailService countadjustRecordDetailService; private CountadjustRecordDetailService countadjustRecordDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点调整记录子") @Operation(summary = "创建盘点调整记录子")
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-detail:create')") @PreAuthorize("@ss.hasPermission('wms:countadjust-record-detail:create')")
@ -96,6 +101,11 @@ public class CountadjustRecordDetailController {
List<CountadjustRecordDetailDO> list = countadjustRecordDetailService.getCountadjustRecordDetailList(exportReqVO); List<CountadjustRecordDetailDO> list = countadjustRecordDetailService.getCountadjustRecordDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountadjustRecordDetailExcelVO> datas = CountadjustRecordDetailConvert.INSTANCE.convertList02(list); List<CountadjustRecordDetailExcelVO> datas = CountadjustRecordDetailConvert.INSTANCE.convertList02(list);
for(CountadjustRecordDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点调整记录子.xls", "数据", CountadjustRecordDetailExcelVO.class, datas); ExcelUtils.write(response, "盘点调整记录子.xls", "数据", CountadjustRecordDetailExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRecord/CountadjustRecordMainController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.countadjustRecord; package com.win.module.wms.controller.countadjustRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.container.vo.ContainerMainExcelVO;
import com.win.module.wms.controller.countadjustRecord.vo.*; import com.win.module.wms.controller.countadjustRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CountadjustRecordMainController {
@Resource @Resource
private CountadjustRecordMainService countadjustRecordMainService; private CountadjustRecordMainService countadjustRecordMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点调整记录主") @Operation(summary = "创建盘点调整记录主")
@PreAuthorize("@ss.hasPermission('wms:countadjust-record-main:create')") @PreAuthorize("@ss.hasPermission('wms:countadjust-record-main:create')")
@ -96,6 +102,11 @@ public class CountadjustRecordMainController {
List<CountadjustRecordMainDO> list = countadjustRecordMainService.getCountadjustRecordMainList(exportReqVO); List<CountadjustRecordMainDO> list = countadjustRecordMainService.getCountadjustRecordMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountadjustRecordMainExcelVO> datas = CountadjustRecordMainConvert.INSTANCE.convertList02(list); List<CountadjustRecordMainExcelVO> datas = CountadjustRecordMainConvert.INSTANCE.convertList02(list);
for(CountadjustRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点调整记录主.xls", "数据", CountadjustRecordMainExcelVO.class, datas); ExcelUtils.write(response, "盘点调整记录主.xls", "数据", CountadjustRecordMainExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/CountadjustRequestDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.countadjustRequest; package com.win.module.wms.controller.countadjustRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countadjustRequest.vo.*; import com.win.module.wms.controller.countadjustRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CountadjustRequestDetailController {
@Resource @Resource
private CountadjustRequestDetailService countadjustRequestDetailService; private CountadjustRequestDetailService countadjustRequestDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点调整申请子") @Operation(summary = "创建盘点调整申请子")
@PreAuthorize("@ss.hasPermission('wms:countadjust-request-detail:create')") @PreAuthorize("@ss.hasPermission('wms:countadjust-request-detail:create')")
@ -96,6 +101,11 @@ public class CountadjustRequestDetailController {
List<CountadjustRequestDetailDO> list = countadjustRequestDetailService.getCountadjustRequestDetailList(exportReqVO); List<CountadjustRequestDetailDO> list = countadjustRequestDetailService.getCountadjustRequestDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountadjustRequestDetailExcelVO> datas = CountadjustRequestDetailConvert.INSTANCE.convertList02(list); List<CountadjustRequestDetailExcelVO> datas = CountadjustRequestDetailConvert.INSTANCE.convertList02(list);
for(CountadjustRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点调整申请子.xls", "数据", CountadjustRequestDetailExcelVO.class, datas); ExcelUtils.write(response, "盘点调整申请子.xls", "数据", CountadjustRequestDetailExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countadjustRequest/CountadjustRequestMainController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.countadjustRequest; package com.win.module.wms.controller.countadjustRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countadjustRecord.vo.CountadjustRecordMainExcelVO;
import com.win.module.wms.controller.countadjustRequest.vo.*; import com.win.module.wms.controller.countadjustRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CountadjustRequestMainController {
@Resource @Resource
private CountadjustRequestMainService countadjustRequestMainService; private CountadjustRequestMainService countadjustRequestMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建盘点调整申请主") @Operation(summary = "创建盘点调整申请主")
@PreAuthorize("@ss.hasPermission('wms:countadjust-request-main:create')") @PreAuthorize("@ss.hasPermission('wms:countadjust-request-main:create')")
@ -96,6 +102,11 @@ public class CountadjustRequestMainController {
List<CountadjustRequestMainDO> list = countadjustRequestMainService.getCountadjustRequestMainList(exportReqVO); List<CountadjustRequestMainDO> list = countadjustRequestMainService.getCountadjustRequestMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CountadjustRequestMainExcelVO> datas = CountadjustRequestMainConvert.INSTANCE.convertList02(list); List<CountadjustRequestMainExcelVO> datas = CountadjustRequestMainConvert.INSTANCE.convertList02(list);
for(CountadjustRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点调整申请主.xls", "数据", CountadjustRequestMainExcelVO.class, datas); ExcelUtils.write(response, "盘点调整申请主.xls", "数据", CountadjustRequestMainExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/currencyexchange/CurrencyexchangeController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countRequest.vo.CountRequestMainExcelVO;
import com.win.module.wms.controller.currencyexchange.vo.*; import com.win.module.wms.controller.currencyexchange.vo.*;
import com.win.module.wms.convert.currencyexchange.CurrencyexchangeConvert; import com.win.module.wms.convert.currencyexchange.CurrencyexchangeConvert;
import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO; import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO;
@ -39,6 +42,9 @@ public class CurrencyexchangeController {
@Resource @Resource
private CurrencyexchangeService currencyexchangeService; private CurrencyexchangeService currencyexchangeService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建货币转换") @Operation(summary = "创建货币转换")
@PreAuthorize("@ss.hasPermission('wms:currencyexchange:create')") @PreAuthorize("@ss.hasPermission('wms:currencyexchange:create')")
@ -98,6 +104,11 @@ public class CurrencyexchangeController {
List<CurrencyexchangeDO> list = currencyexchangeService.getCurrencyexchangeList(exportReqVO); List<CurrencyexchangeDO> list = currencyexchangeService.getCurrencyexchangeList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CurrencyexchangeExcelVO> datas = CurrencyexchangeConvert.INSTANCE.convertList02(list); List<CurrencyexchangeExcelVO> datas = CurrencyexchangeConvert.INSTANCE.convertList02(list);
for(CurrencyexchangeExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "货币转换.xls", "数据", CurrencyexchangeExcelVO.class, datas); ExcelUtils.write(response, "货币转换.xls", "数据", CurrencyexchangeExcelVO.class, datas);
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customer/CustomerController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.currencyexchange.vo.CurrencyexchangeExcelVO;
import com.win.module.wms.controller.customer.vo.CustomerImportExcelVo; import com.win.module.wms.controller.customer.vo.CustomerImportExcelVo;
import com.win.module.wms.controller.customer.vo.*; import com.win.module.wms.controller.customer.vo.*;
import com.win.module.wms.convert.customer.CustomerConvert; import com.win.module.wms.convert.customer.CustomerConvert;
@ -40,6 +43,9 @@ public class CustomerController {
@Resource @Resource
private CustomerService customerService; private CustomerService customerService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户") @Operation(summary = "创建客户")
@PreAuthorize("@ss.hasPermission('wms:customer:create')") @PreAuthorize("@ss.hasPermission('wms:customer:create')")
@ -99,6 +105,11 @@ public class CustomerController {
List<CustomerDO> list = customerService.getCustomerList(exportReqVO); List<CustomerDO> list = customerService.getCustomerList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerExcelVO> datas = CustomerConvert.INSTANCE.convertList02(list); List<CustomerExcelVO> datas = CustomerConvert.INSTANCE.convertList02(list);
for(CustomerExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户.xls", "数据", CustomerExcelVO.class, datas); ExcelUtils.write(response, "客户.xls", "数据", CustomerExcelVO.class, datas);
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerdock/CustomerdockController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customer.vo.CustomerExcelVO;
import com.win.module.wms.controller.customer.vo.CustomerImportExcelVo; import com.win.module.wms.controller.customer.vo.CustomerImportExcelVo;
import com.win.module.wms.controller.customerdock.vo.*; import com.win.module.wms.controller.customerdock.vo.*;
import com.win.module.wms.convert.customerdock.CustomerdockConvert; import com.win.module.wms.convert.customerdock.CustomerdockConvert;
@ -40,6 +43,9 @@ public class CustomerdockController {
@Resource @Resource
private CustomerdockService customerdockService; private CustomerdockService customerdockService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户月台") @Operation(summary = "创建客户月台")
@PreAuthorize("@ss.hasPermission('wms:customerdock:create')") @PreAuthorize("@ss.hasPermission('wms:customerdock:create')")
@ -99,6 +105,11 @@ public class CustomerdockController {
List<CustomerdockDO> list = customerdockService.getCustomerdockList(exportReqVO); List<CustomerdockDO> list = customerdockService.getCustomerdockList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerdockExcelVO> datas = CustomerdockConvert.INSTANCE.convertList02(list); List<CustomerdockExcelVO> datas = CustomerdockConvert.INSTANCE.convertList02(list);
for(CustomerdockExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户月台.xls", "数据", CustomerdockExcelVO.class, datas); ExcelUtils.write(response, "客户月台.xls", "数据", CustomerdockExcelVO.class, datas);
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customeritem/CustomeritemController.java

@ -5,6 +5,9 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerdock.vo.CustomerdockExcelVO;
import com.win.module.wms.controller.customeritem.vo.*; import com.win.module.wms.controller.customeritem.vo.*;
import com.win.module.wms.convert.customeritem.CustomeritemConvert; import com.win.module.wms.convert.customeritem.CustomeritemConvert;
import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO; import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO;
@ -39,6 +42,9 @@ public class CustomeritemController {
@Resource @Resource
private CustomeritemService customeritemService; private CustomeritemService customeritemService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户物品") @Operation(summary = "创建客户物品")
@PreAuthorize("@ss.hasPermission('wms:customeritem:create')") @PreAuthorize("@ss.hasPermission('wms:customeritem:create')")
@ -98,6 +104,11 @@ public class CustomeritemController {
List<CustomeritemDO> list = customeritemService.getCustomeritemList(exportReqVO); List<CustomeritemDO> list = customeritemService.getCustomeritemList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomeritemExcelVO> datas = CustomeritemConvert.INSTANCE.convertList02(list); List<CustomeritemExcelVO> datas = CustomeritemConvert.INSTANCE.convertList02(list);
for(CustomeritemExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户物品.xls", "数据", CustomeritemExcelVO.class, datas); ExcelUtils.write(response, "客户物品.xls", "数据", CustomeritemExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/CustomerreceiptRecordDetailController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.customerreceiptRecord; package com.win.module.wms.controller.customerreceiptRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customeritem.vo.CustomeritemExcelVO;
import com.win.module.wms.controller.customerreceiptRecord.vo.*; import com.win.module.wms.controller.customerreceiptRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CustomerreceiptRecordDetailController {
@Resource @Resource
private CustomerreceiptRecordDetailService customerreceiptRecordDetailService; private CustomerreceiptRecordDetailService customerreceiptRecordDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户收货记录子") @Operation(summary = "创建客户收货记录子")
@PreAuthorize("@ss.hasPermission('wms:customerreceipt-record-detail:create')") @PreAuthorize("@ss.hasPermission('wms:customerreceipt-record-detail:create')")
@ -96,6 +102,11 @@ public class CustomerreceiptRecordDetailController {
List<CustomerreceiptRecordDetailDO> list = customerreceiptRecordDetailService.getCustomerreceiptRecordDetailList(exportReqVO); List<CustomerreceiptRecordDetailDO> list = customerreceiptRecordDetailService.getCustomerreceiptRecordDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreceiptRecordDetailExcelVO> datas = CustomerreceiptRecordDetailConvert.INSTANCE.convertList02(list); List<CustomerreceiptRecordDetailExcelVO> datas = CustomerreceiptRecordDetailConvert.INSTANCE.convertList02(list);
for(CustomerreceiptRecordDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户收货记录子.xls", "数据", CustomerreceiptRecordDetailExcelVO.class, datas); ExcelUtils.write(response, "客户收货记录子.xls", "数据", CustomerreceiptRecordDetailExcelVO.class, datas);
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/CustomerreceiptRecordMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.customerreceiptRecord; package com.win.module.wms.controller.customerreceiptRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreceiptRecord.vo.*; import com.win.module.wms.controller.customerreceiptRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,8 @@ public class CustomerreceiptRecordMainController {
@Resource @Resource
private CustomerreceiptRecordMainService customerreceiptRecordMainService; private CustomerreceiptRecordMainService customerreceiptRecordMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户收货记录主") @Operation(summary = "创建客户收货记录主")
@PreAuthorize("@ss.hasPermission('wms:customerreceipt-record-main:create')") @PreAuthorize("@ss.hasPermission('wms:customerreceipt-record-main:create')")
@ -96,6 +100,11 @@ public class CustomerreceiptRecordMainController {
List<CustomerreceiptRecordMainDO> list = customerreceiptRecordMainService.getCustomerreceiptRecordMainList(exportReqVO); List<CustomerreceiptRecordMainDO> list = customerreceiptRecordMainService.getCustomerreceiptRecordMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreceiptRecordMainExcelVO> datas = CustomerreceiptRecordMainConvert.INSTANCE.convertList02(list); List<CustomerreceiptRecordMainExcelVO> datas = CustomerreceiptRecordMainConvert.INSTANCE.convertList02(list);
for(CustomerreceiptRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户收货记录主.xls", "数据", CustomerreceiptRecordMainExcelVO.class, datas); ExcelUtils.write(response, "客户收货记录主.xls", "数据", CustomerreceiptRecordMainExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/CustomerreceiptRequestDetailController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.customerreceiptRequest; package com.win.module.wms.controller.customerreceiptRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordDetailExcelVO;
import com.win.module.wms.controller.customerreceiptRequest.vo.*; import com.win.module.wms.controller.customerreceiptRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CustomerreceiptRequestDetailController {
@Resource @Resource
private CustomerreceiptRequestDetailService customerreceiptRequestDetailService; private CustomerreceiptRequestDetailService customerreceiptRequestDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户收货申请子") @Operation(summary = "创建客户收货申请子")
@PreAuthorize("@ss.hasPermission('wms:customerreceipt-request-detail:create')") @PreAuthorize("@ss.hasPermission('wms:customerreceipt-request-detail:create')")
@ -96,6 +102,11 @@ public class CustomerreceiptRequestDetailController {
List<CustomerreceiptRequestDetailDO> list = customerreceiptRequestDetailService.getCustomerreceiptRequestDetailList(exportReqVO); List<CustomerreceiptRequestDetailDO> list = customerreceiptRequestDetailService.getCustomerreceiptRequestDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreceiptRequestDetailExcelVO> datas = CustomerreceiptRequestDetailConvert.INSTANCE.convertList02(list); List<CustomerreceiptRequestDetailExcelVO> datas = CustomerreceiptRequestDetailConvert.INSTANCE.convertList02(list);
for(CustomerreceiptRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户收货申请子.xls", "数据", CustomerreceiptRequestDetailExcelVO.class, datas); ExcelUtils.write(response, "客户收货申请子.xls", "数据", CustomerreceiptRequestDetailExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRequest/CustomerreceiptRequestMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.customerreceiptRequest; package com.win.module.wms.controller.customerreceiptRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreceiptRequest.vo.*; import com.win.module.wms.controller.customerreceiptRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CustomerreceiptRequestMainController {
@Resource @Resource
private CustomerreceiptRequestMainService customerreceiptRequestMainService; private CustomerreceiptRequestMainService customerreceiptRequestMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户收货申请主") @Operation(summary = "创建客户收货申请主")
@PreAuthorize("@ss.hasPermission('wms:customerreceipt-request-main:create')") @PreAuthorize("@ss.hasPermission('wms:customerreceipt-request-main:create')")
@ -96,6 +101,11 @@ public class CustomerreceiptRequestMainController {
List<CustomerreceiptRequestMainDO> list = customerreceiptRequestMainService.getCustomerreceiptRequestMainList(exportReqVO); List<CustomerreceiptRequestMainDO> list = customerreceiptRequestMainService.getCustomerreceiptRequestMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreceiptRequestMainExcelVO> datas = CustomerreceiptRequestMainConvert.INSTANCE.convertList02(list); List<CustomerreceiptRequestMainExcelVO> datas = CustomerreceiptRequestMainConvert.INSTANCE.convertList02(list);
for(CustomerreceiptRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户收货申请主.xls", "数据", CustomerreceiptRequestMainExcelVO.class, datas); ExcelUtils.write(response, "客户收货申请主.xls", "数据", CustomerreceiptRequestMainExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobDetailController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.customerreturnJob; package com.win.module.wms.controller.customerreturnJob;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreceiptRequest.vo.CustomerreceiptRequestMainExcelVO;
import com.win.module.wms.controller.customerreturnJob.vo.*; import com.win.module.wms.controller.customerreturnJob.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CustomerreturnJobDetailController {
@Resource @Resource
private CustomerreturnJobDetailService customerreturnJobDetailService; private CustomerreturnJobDetailService customerreturnJobDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户退货任务子") @Operation(summary = "创建客户退货任务子")
@PreAuthorize("@ss.hasPermission('wms:customerreturn-job-detail:create')") @PreAuthorize("@ss.hasPermission('wms:customerreturn-job-detail:create')")
@ -96,6 +102,11 @@ public class CustomerreturnJobDetailController {
List<CustomerreturnJobDetailDO> list = customerreturnJobDetailService.getCustomerreturnJobDetailList(exportReqVO); List<CustomerreturnJobDetailDO> list = customerreturnJobDetailService.getCustomerreturnJobDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreturnJobDetailExcelVO> datas = CustomerreturnJobDetailConvert.INSTANCE.convertList02(list); List<CustomerreturnJobDetailExcelVO> datas = CustomerreturnJobDetailConvert.INSTANCE.convertList02(list);
for(CustomerreturnJobDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户退货任务子.xls", "数据", CustomerreturnJobDetailExcelVO.class, datas); ExcelUtils.write(response, "客户退货任务子.xls", "数据", CustomerreturnJobDetailExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.customerreturnJob; package com.win.module.wms.controller.customerreturnJob;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreturnJob.vo.*; import com.win.module.wms.controller.customerreturnJob.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CustomerreturnJobMainController {
@Resource @Resource
private CustomerreturnJobMainService customerreturnJobMainService; private CustomerreturnJobMainService customerreturnJobMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户退货任务主") @Operation(summary = "创建客户退货任务主")
@PreAuthorize("@ss.hasPermission('wms:customerreturn-job-main:create')") @PreAuthorize("@ss.hasPermission('wms:customerreturn-job-main:create')")
@ -96,6 +101,11 @@ public class CustomerreturnJobMainController {
List<CustomerreturnJobMainDO> list = customerreturnJobMainService.getCustomerreturnJobMainList(exportReqVO); List<CustomerreturnJobMainDO> list = customerreturnJobMainService.getCustomerreturnJobMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreturnJobMainExcelVO> datas = CustomerreturnJobMainConvert.INSTANCE.convertList02(list); List<CustomerreturnJobMainExcelVO> datas = CustomerreturnJobMainConvert.INSTANCE.convertList02(list);
for(CustomerreturnJobMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户退货任务主.xls", "数据", CustomerreturnJobMainExcelVO.class, datas); ExcelUtils.write(response, "客户退货任务主.xls", "数据", CustomerreturnJobMainExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/CustomerreturnRecordDetailController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.customerreturnRecord; package com.win.module.wms.controller.customerreturnRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainExcelVO;
import com.win.module.wms.controller.customerreturnRecord.vo.*; import com.win.module.wms.controller.customerreturnRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CustomerreturnRecordDetailController {
@Resource @Resource
private CustomerreturnRecordDetailService customerreturnRecordDetailService; private CustomerreturnRecordDetailService customerreturnRecordDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户退货记录子") @Operation(summary = "创建客户退货记录子")
@PreAuthorize("@ss.hasPermission('wms:customerreturn-record-detail:create')") @PreAuthorize("@ss.hasPermission('wms:customerreturn-record-detail:create')")
@ -96,6 +102,11 @@ public class CustomerreturnRecordDetailController {
List<CustomerreturnRecordDetailDO> list = customerreturnRecordDetailService.getCustomerreturnRecordDetailList(exportReqVO); List<CustomerreturnRecordDetailDO> list = customerreturnRecordDetailService.getCustomerreturnRecordDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreturnRecordDetailExcelVO> datas = CustomerreturnRecordDetailConvert.INSTANCE.convertList02(list); List<CustomerreturnRecordDetailExcelVO> datas = CustomerreturnRecordDetailConvert.INSTANCE.convertList02(list);
for(CustomerreturnRecordDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户退货记录子.xls", "数据", CustomerreturnRecordDetailExcelVO.class, datas); ExcelUtils.write(response, "客户退货记录子.xls", "数据", CustomerreturnRecordDetailExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/CustomerreturnRecordMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.customerreturnRecord; package com.win.module.wms.controller.customerreturnRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreturnRecord.vo.*; import com.win.module.wms.controller.customerreturnRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CustomerreturnRecordMainController {
@Resource @Resource
private CustomerreturnRecordMainService customerreturnRecordMainService; private CustomerreturnRecordMainService customerreturnRecordMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户退货记录主") @Operation(summary = "创建客户退货记录主")
@PreAuthorize("@ss.hasPermission('wms:customerreturn-record-main:create')") @PreAuthorize("@ss.hasPermission('wms:customerreturn-record-main:create')")
@ -96,6 +101,11 @@ public class CustomerreturnRecordMainController {
List<CustomerreturnRecordMainDO> list = customerreturnRecordMainService.getCustomerreturnRecordMainList(exportReqVO); List<CustomerreturnRecordMainDO> list = customerreturnRecordMainService.getCustomerreturnRecordMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreturnRecordMainExcelVO> datas = CustomerreturnRecordMainConvert.INSTANCE.convertList02(list); List<CustomerreturnRecordMainExcelVO> datas = CustomerreturnRecordMainConvert.INSTANCE.convertList02(list);
for(CustomerreturnRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户退货记录主.xls", "数据", CustomerreturnRecordMainExcelVO.class, datas); ExcelUtils.write(response, "客户退货记录主.xls", "数据", CustomerreturnRecordMainExcelVO.class, datas);
} }

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRecord/vo/CustomerreturnRecordMainExcelVO.java

@ -120,4 +120,9 @@ public class CustomerreturnRecordMainExcelVO {
@ExcelProperty("从库区代码范围") @ExcelProperty("从库区代码范围")
private String fromAreaCodes; private String fromAreaCodes;
@ExcelProperty("创建者ID")
private String creator;
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestDetailController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.customerreturnRequest; package com.win.module.wms.controller.customerreturnRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreturnRecord.vo.CustomerreturnRecordMainExcelVO;
import com.win.module.wms.controller.customerreturnRequest.vo.*; import com.win.module.wms.controller.customerreturnRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CustomerreturnRequestDetailController {
@Resource @Resource
private CustomerreturnRequestDetailService customerreturnRequestDetailService; private CustomerreturnRequestDetailService customerreturnRequestDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户退货申请子") @Operation(summary = "创建客户退货申请子")
@PreAuthorize("@ss.hasPermission('wms:customerreturn-request-detail:create')") @PreAuthorize("@ss.hasPermission('wms:customerreturn-request-detail:create')")
@ -96,6 +102,11 @@ public class CustomerreturnRequestDetailController {
List<CustomerreturnRequestDetailDO> list = customerreturnRequestDetailService.getCustomerreturnRequestDetailList(exportReqVO); List<CustomerreturnRequestDetailDO> list = customerreturnRequestDetailService.getCustomerreturnRequestDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreturnRequestDetailExcelVO> datas = CustomerreturnRequestDetailConvert.INSTANCE.convertList02(list); List<CustomerreturnRequestDetailExcelVO> datas = CustomerreturnRequestDetailConvert.INSTANCE.convertList02(list);
for(CustomerreturnRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户退货申请子.xls", "数据", CustomerreturnRequestDetailExcelVO.class, datas); ExcelUtils.write(response, "客户退货申请子.xls", "数据", CustomerreturnRequestDetailExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/CustomerreturnRequestMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.customerreturnRequest; package com.win.module.wms.controller.customerreturnRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreturnRequest.vo.*; import com.win.module.wms.controller.customerreturnRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CustomerreturnRequestMainController {
@Resource @Resource
private CustomerreturnRequestMainService customerreturnRequestMainService; private CustomerreturnRequestMainService customerreturnRequestMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户退货申请主") @Operation(summary = "创建客户退货申请主")
@PreAuthorize("@ss.hasPermission('wms:customerreturn-request-main:create')") @PreAuthorize("@ss.hasPermission('wms:customerreturn-request-main:create')")
@ -96,6 +101,11 @@ public class CustomerreturnRequestMainController {
List<CustomerreturnRequestMainDO> list = customerreturnRequestMainService.getCustomerreturnRequestMainList(exportReqVO); List<CustomerreturnRequestMainDO> list = customerreturnRequestMainService.getCustomerreturnRequestMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomerreturnRequestMainExcelVO> datas = CustomerreturnRequestMainConvert.INSTANCE.convertList02(list); List<CustomerreturnRequestMainExcelVO> datas = CustomerreturnRequestMainConvert.INSTANCE.convertList02(list);
for(CustomerreturnRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户退货申请主.xls", "数据", CustomerreturnRequestMainExcelVO.class, datas); ExcelUtils.write(response, "客户退货申请主.xls", "数据", CustomerreturnRequestMainExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/CustomersettleRecordDetailController.java

@ -1,5 +1,8 @@
package com.win.module.wms.controller.customersettleRecord; package com.win.module.wms.controller.customersettleRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customerreturnRequest.vo.CustomerreturnRequestMainExcelVO;
import com.win.module.wms.controller.customersettleRecord.vo.*; import com.win.module.wms.controller.customersettleRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +40,9 @@ public class CustomersettleRecordDetailController {
@Resource @Resource
private CustomersettleRecordDetailService customersettleRecordDetailService; private CustomersettleRecordDetailService customersettleRecordDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户结算记录子") @Operation(summary = "创建客户结算记录子")
@PreAuthorize("@ss.hasPermission('wms:customersettle-record-detail:create')") @PreAuthorize("@ss.hasPermission('wms:customersettle-record-detail:create')")
@ -96,6 +102,11 @@ public class CustomersettleRecordDetailController {
List<CustomersettleRecordDetailDO> list = customersettleRecordDetailService.getCustomersettleRecordDetailList(exportReqVO); List<CustomersettleRecordDetailDO> list = customersettleRecordDetailService.getCustomersettleRecordDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomersettleRecordDetailExcelVO> datas = CustomersettleRecordDetailConvert.INSTANCE.convertList02(list); List<CustomersettleRecordDetailExcelVO> datas = CustomersettleRecordDetailConvert.INSTANCE.convertList02(list);
for(CustomersettleRecordDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户结算记录子.xls", "数据", CustomersettleRecordDetailExcelVO.class, datas); ExcelUtils.write(response, "客户结算记录子.xls", "数据", CustomersettleRecordDetailExcelVO.class, datas);
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRecord/CustomersettleRecordMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.customersettleRecord; package com.win.module.wms.controller.customersettleRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customersettleRecord.vo.*; import com.win.module.wms.controller.customersettleRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -36,6 +38,8 @@ public class CustomersettleRecordMainController {
@Resource @Resource
private CustomersettleRecordMainService customersettleRecordMainService; private CustomersettleRecordMainService customersettleRecordMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户结算记录主") @Operation(summary = "创建客户结算记录主")
@ -96,6 +100,11 @@ public class CustomersettleRecordMainController {
List<CustomersettleRecordMainDO> list = customersettleRecordMainService.getCustomersettleRecordMainList(exportReqVO); List<CustomersettleRecordMainDO> list = customersettleRecordMainService.getCustomersettleRecordMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomersettleRecordMainExcelVO> datas = CustomersettleRecordMainConvert.INSTANCE.convertList02(list); List<CustomersettleRecordMainExcelVO> datas = CustomersettleRecordMainConvert.INSTANCE.convertList02(list);
for(CustomersettleRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户结算记录主.xls", "数据", CustomersettleRecordMainExcelVO.class, datas); ExcelUtils.write(response, "客户结算记录主.xls", "数据", CustomersettleRecordMainExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/CustomersettleRequestDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.customersettleRequest; package com.win.module.wms.controller.customersettleRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customersettleRequest.vo.*; import com.win.module.wms.controller.customersettleRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class CustomersettleRequestDetailController {
@Resource @Resource
private CustomersettleRequestDetailService customersettleRequestDetailService; private CustomersettleRequestDetailService customersettleRequestDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户结算申请子") @Operation(summary = "创建客户结算申请子")
@PreAuthorize("@ss.hasPermission('wms:customersettle-request-detail:create')") @PreAuthorize("@ss.hasPermission('wms:customersettle-request-detail:create')")
@ -96,6 +101,11 @@ public class CustomersettleRequestDetailController {
List<CustomersettleRequestDetailDO> list = customersettleRequestDetailService.getCustomersettleRequestDetailList(exportReqVO); List<CustomersettleRequestDetailDO> list = customersettleRequestDetailService.getCustomersettleRequestDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomersettleRequestDetailExcelVO> datas = CustomersettleRequestDetailConvert.INSTANCE.convertList02(list); List<CustomersettleRequestDetailExcelVO> datas = CustomersettleRequestDetailConvert.INSTANCE.convertList02(list);
for(CustomersettleRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户结算申请子.xls", "数据", CustomersettleRequestDetailExcelVO.class, datas); ExcelUtils.write(response, "客户结算申请子.xls", "数据", CustomersettleRequestDetailExcelVO.class, datas);
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customersettleRequest/CustomersettleRequestMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.customersettleRequest; package com.win.module.wms.controller.customersettleRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.customersettleRequest.vo.*; import com.win.module.wms.controller.customersettleRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -36,6 +38,8 @@ public class CustomersettleRequestMainController {
@Resource @Resource
private CustomersettleRequestMainService customersettleRequestMainService; private CustomersettleRequestMainService customersettleRequestMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户结算申请主") @Operation(summary = "创建客户结算申请主")
@ -96,6 +100,11 @@ public class CustomersettleRequestMainController {
List<CustomersettleRequestMainDO> list = customersettleRequestMainService.getCustomersettleRequestMainList(exportReqVO); List<CustomersettleRequestMainDO> list = customersettleRequestMainService.getCustomersettleRequestMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<CustomersettleRequestMainExcelVO> datas = CustomersettleRequestMainConvert.INSTANCE.convertList02(list); List<CustomersettleRequestMainExcelVO> datas = CustomersettleRequestMainConvert.INSTANCE.convertList02(list);
for(CustomersettleRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "客户结算申请主.xls", "数据", CustomersettleRequestMainExcelVO.class, datas); ExcelUtils.write(response, "客户结算申请主.xls", "数据", CustomersettleRequestMainExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/DeliverJobDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.deliverJob; package com.win.module.wms.controller.deliverJob;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.deliverJob.vo.*; import com.win.module.wms.controller.deliverJob.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class DeliverJobDetailController {
@Resource @Resource
private DeliverJobDetailService deliverJobDetailService; private DeliverJobDetailService deliverJobDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建发货任务子") @Operation(summary = "创建发货任务子")
@PreAuthorize("@ss.hasPermission('wms:deliver-job-detail:create')") @PreAuthorize("@ss.hasPermission('wms:deliver-job-detail:create')")
@ -96,6 +101,11 @@ public class DeliverJobDetailController {
List<DeliverJobDetailDO> list = deliverJobDetailService.getDeliverJobDetailList(exportReqVO); List<DeliverJobDetailDO> list = deliverJobDetailService.getDeliverJobDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DeliverJobDetailExcelVO> datas = DeliverJobDetailConvert.INSTANCE.convertList02(list); List<DeliverJobDetailExcelVO> datas = DeliverJobDetailConvert.INSTANCE.convertList02(list);
for(DeliverJobDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "发货任务子.xls", "数据", DeliverJobDetailExcelVO.class, datas); ExcelUtils.write(response, "发货任务子.xls", "数据", DeliverJobDetailExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverJob/DeliverJobMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.deliverJob; package com.win.module.wms.controller.deliverJob;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.deliverJob.vo.*; import com.win.module.wms.controller.deliverJob.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class DeliverJobMainController {
@Resource @Resource
private DeliverJobMainService deliverJobMainService; private DeliverJobMainService deliverJobMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建发货任务主") @Operation(summary = "创建发货任务主")
@PreAuthorize("@ss.hasPermission('wms:deliver-job-main:create')") @PreAuthorize("@ss.hasPermission('wms:deliver-job-main:create')")
@ -96,6 +101,11 @@ public class DeliverJobMainController {
List<DeliverJobMainDO> list = deliverJobMainService.getDeliverJobMainList(exportReqVO); List<DeliverJobMainDO> list = deliverJobMainService.getDeliverJobMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DeliverJobMainExcelVO> datas = DeliverJobMainConvert.INSTANCE.convertList02(list); List<DeliverJobMainExcelVO> datas = DeliverJobMainConvert.INSTANCE.convertList02(list);
for(DeliverJobMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "发货任务主.xls", "数据", DeliverJobMainExcelVO.class, datas); ExcelUtils.write(response, "发货任务主.xls", "数据", DeliverJobMainExcelVO.class, datas);
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/DeliverPlanDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.deliverPlan; package com.win.module.wms.controller.deliverPlan;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.deliverPlan.vo.*; import com.win.module.wms.controller.deliverPlan.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class DeliverPlanDetailController {
@Resource @Resource
private DeliverPlanDetailService deliverPlanDetailService; private DeliverPlanDetailService deliverPlanDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建发货计划子") @Operation(summary = "创建发货计划子")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-detail:create')") @PreAuthorize("@ss.hasPermission('wms:deliver-plan-detail:create')")
@ -96,6 +101,12 @@ public class DeliverPlanDetailController {
List<DeliverPlanDetailDO> list = deliverPlanDetailService.getDeliverPlanDetailList(exportReqVO); List<DeliverPlanDetailDO> list = deliverPlanDetailService.getDeliverPlanDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DeliverPlanDetailExcelVO> datas = DeliverPlanDetailConvert.INSTANCE.convertList02(list); List<DeliverPlanDetailExcelVO> datas = DeliverPlanDetailConvert.INSTANCE.convertList02(list);
for(DeliverPlanDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "发货计划子.xls", "数据", DeliverPlanDetailExcelVO.class, datas); ExcelUtils.write(response, "发货计划子.xls", "数据", DeliverPlanDetailExcelVO.class, datas);
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/DeliverPlanMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.deliverPlan; package com.win.module.wms.controller.deliverPlan;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.deliverPlan.vo.*; import com.win.module.wms.controller.deliverPlan.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -36,6 +38,8 @@ public class DeliverPlanMainController {
@Resource @Resource
private DeliverPlanMainService deliverPlanMainService; private DeliverPlanMainService deliverPlanMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建发货计划主") @Operation(summary = "创建发货计划主")
@ -96,6 +100,11 @@ public class DeliverPlanMainController {
List<DeliverPlanMainDO> list = deliverPlanMainService.getDeliverPlanMainList(exportReqVO); List<DeliverPlanMainDO> list = deliverPlanMainService.getDeliverPlanMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DeliverPlanMainExcelVO> datas = DeliverPlanMainConvert.INSTANCE.convertList02(list); List<DeliverPlanMainExcelVO> datas = DeliverPlanMainConvert.INSTANCE.convertList02(list);
for(DeliverPlanMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "发货计划主.xls", "数据", DeliverPlanMainExcelVO.class, datas); ExcelUtils.write(response, "发货计划主.xls", "数据", DeliverPlanMainExcelVO.class, datas);
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRecord/DeliverRecordDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.deliverRecord; package com.win.module.wms.controller.deliverRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.deliverRecord.vo.*; import com.win.module.wms.controller.deliverRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -36,6 +38,8 @@ public class DeliverRecordDetailController {
@Resource @Resource
private DeliverRecordDetailService deliverRecordDetailService; private DeliverRecordDetailService deliverRecordDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建发货记录子") @Operation(summary = "创建发货记录子")
@ -96,6 +100,11 @@ public class DeliverRecordDetailController {
List<DeliverRecordDetailDO> list = deliverRecordDetailService.getDeliverRecordDetailList(exportReqVO); List<DeliverRecordDetailDO> list = deliverRecordDetailService.getDeliverRecordDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DeliverRecordDetailExcelVO> datas = DeliverRecordDetailConvert.INSTANCE.convertList02(list); List<DeliverRecordDetailExcelVO> datas = DeliverRecordDetailConvert.INSTANCE.convertList02(list);
for(DeliverRecordDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "发货记录子.xls", "数据", DeliverRecordDetailExcelVO.class, datas); ExcelUtils.write(response, "发货记录子.xls", "数据", DeliverRecordDetailExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRecord/DeliverRecordMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.deliverRecord; package com.win.module.wms.controller.deliverRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.deliverRecord.vo.*; import com.win.module.wms.controller.deliverRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class DeliverRecordMainController {
@Resource @Resource
private DeliverRecordMainService deliverRecordMainService; private DeliverRecordMainService deliverRecordMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建发货记录主") @Operation(summary = "创建发货记录主")
@PreAuthorize("@ss.hasPermission('wms:deliver-record-main:create')") @PreAuthorize("@ss.hasPermission('wms:deliver-record-main:create')")
@ -96,6 +101,11 @@ public class DeliverRecordMainController {
List<DeliverRecordMainDO> list = deliverRecordMainService.getDeliverRecordMainList(exportReqVO); List<DeliverRecordMainDO> list = deliverRecordMainService.getDeliverRecordMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DeliverRecordMainExcelVO> datas = DeliverRecordMainConvert.INSTANCE.convertList02(list); List<DeliverRecordMainExcelVO> datas = DeliverRecordMainConvert.INSTANCE.convertList02(list);
for(DeliverRecordMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "发货记录主.xls", "数据", DeliverRecordMainExcelVO.class, datas); ExcelUtils.write(response, "发货记录主.xls", "数据", DeliverRecordMainExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.deliverRequest; package com.win.module.wms.controller.deliverRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.deliverRequest.vo.*; import com.win.module.wms.controller.deliverRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class DeliverRequestDetailController {
@Resource @Resource
private DeliverRequestDetailService deliverRequestDetailService; private DeliverRequestDetailService deliverRequestDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建发货申请子") @Operation(summary = "创建发货申请子")
@PreAuthorize("@ss.hasPermission('wms:deliver-request-detail:create')") @PreAuthorize("@ss.hasPermission('wms:deliver-request-detail:create')")
@ -96,6 +101,11 @@ public class DeliverRequestDetailController {
List<DeliverRequestDetailDO> list = deliverRequestDetailService.getDeliverRequestDetailList(exportReqVO); List<DeliverRequestDetailDO> list = deliverRequestDetailService.getDeliverRequestDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DeliverRequestDetailExcelVO> datas = DeliverRequestDetailConvert.INSTANCE.convertList02(list); List<DeliverRequestDetailExcelVO> datas = DeliverRequestDetailConvert.INSTANCE.convertList02(list);
for(DeliverRequestDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "发货申请子.xls", "数据", DeliverRequestDetailExcelVO.class, datas); ExcelUtils.write(response, "发货申请子.xls", "数据", DeliverRequestDetailExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.deliverRequest; package com.win.module.wms.controller.deliverRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.deliverRequest.vo.*; import com.win.module.wms.controller.deliverRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class DeliverRequestMainController {
@Resource @Resource
private DeliverRequestMainService deliverRequestMainService; private DeliverRequestMainService deliverRequestMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建发货申请主") @Operation(summary = "创建发货申请主")
@PreAuthorize("@ss.hasPermission('wms:deliver-request-main:create')") @PreAuthorize("@ss.hasPermission('wms:deliver-request-main:create')")
@ -96,6 +101,11 @@ public class DeliverRequestMainController {
List<DeliverRequestMainDO> list = deliverRequestMainService.getDeliverRequestMainList(exportReqVO); List<DeliverRequestMainDO> list = deliverRequestMainService.getDeliverRequestMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DeliverRequestMainExcelVO> datas = DeliverRequestMainConvert.INSTANCE.convertList02(list); List<DeliverRequestMainExcelVO> datas = DeliverRequestMainConvert.INSTANCE.convertList02(list);
for(DeliverRequestMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "发货申请主.xls", "数据", DeliverRequestMainExcelVO.class, datas); ExcelUtils.write(response, "发货申请主.xls", "数据", DeliverRequestMainExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/DemandforecastingDetailController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.demandforecasting; package com.win.module.wms.controller.demandforecasting;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.demandforecasting.vo.*; import com.win.module.wms.controller.demandforecasting.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class DemandforecastingDetailController {
@Resource @Resource
private DemandforecastingDetailService demandforecastingDetailService; private DemandforecastingDetailService demandforecastingDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建要货预测子") @Operation(summary = "创建要货预测子")
@PreAuthorize("@ss.hasPermission('wms:demandforecasting-detail:create')") @PreAuthorize("@ss.hasPermission('wms:demandforecasting-detail:create')")
@ -96,6 +101,11 @@ public class DemandforecastingDetailController {
List<DemandforecastingDetailDO> list = demandforecastingDetailService.getDemandforecastingDetailList(exportReqVO); List<DemandforecastingDetailDO> list = demandforecastingDetailService.getDemandforecastingDetailList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DemandforecastingDetailExcelVO> datas = DemandforecastingDetailConvert.INSTANCE.convertList02(list); List<DemandforecastingDetailExcelVO> datas = DemandforecastingDetailConvert.INSTANCE.convertList02(list);
for(DemandforecastingDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "要货预测子.xls", "数据", DemandforecastingDetailExcelVO.class, datas); ExcelUtils.write(response, "要货预测子.xls", "数据", DemandforecastingDetailExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/demandforecasting/DemandforecastingMainController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.demandforecasting; package com.win.module.wms.controller.demandforecasting;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.demandforecasting.vo.*; import com.win.module.wms.controller.demandforecasting.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -36,6 +38,9 @@ public class DemandforecastingMainController {
@Resource @Resource
private DemandforecastingMainService demandforecastingMainService; private DemandforecastingMainService demandforecastingMainService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建要货预测主") @Operation(summary = "创建要货预测主")
@PreAuthorize("@ss.hasPermission('wms:demandforecasting-main:create')") @PreAuthorize("@ss.hasPermission('wms:demandforecasting-main:create')")
@ -95,6 +100,11 @@ public class DemandforecastingMainController {
List<DemandforecastingMainDO> list = demandforecastingMainService.getDemandforecastingMainList(exportReqVO); List<DemandforecastingMainDO> list = demandforecastingMainService.getDemandforecastingMainList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DemandforecastingMainExcelVO> datas = DemandforecastingMainConvert.INSTANCE.convertList02(list); List<DemandforecastingMainExcelVO> datas = DemandforecastingMainConvert.INSTANCE.convertList02(list);
for(DemandforecastingMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "要货预测主.xls", "数据", DemandforecastingMainExcelVO.class, datas); ExcelUtils.write(response, "要货预测主.xls", "数据", DemandforecastingMainExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dismantleRecord/DismantleRecordDetailbController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.dismantleRecord; package com.win.module.wms.controller.dismantleRecord;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.dismantleRecord.vo.*; import com.win.module.wms.controller.dismantleRecord.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class DismantleRecordDetailbController {
@Resource @Resource
private DismantleRecordDetailbService dismantleRecordDetailbService; private DismantleRecordDetailbService dismantleRecordDetailbService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建制品拆解记录子") @Operation(summary = "创建制品拆解记录子")
@PreAuthorize("@ss.hasPermission('wms:dismantle-record-detailb:create')") @PreAuthorize("@ss.hasPermission('wms:dismantle-record-detailb:create')")
@ -96,6 +101,11 @@ public class DismantleRecordDetailbController {
List<DismantleRecordDetailbDO> list = dismantleRecordDetailbService.getDismantleRecordDetailbList(exportReqVO); List<DismantleRecordDetailbDO> list = dismantleRecordDetailbService.getDismantleRecordDetailbList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DismantleRecordDetailbExcelVO> datas = DismantleRecordDetailbConvert.INSTANCE.convertList02(list); List<DismantleRecordDetailbExcelVO> datas = DismantleRecordDetailbConvert.INSTANCE.convertList02(list);
for(DismantleRecordDetailbExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "制品拆解记录子.xls", "数据", DismantleRecordDetailbExcelVO.class, datas); ExcelUtils.write(response, "制品拆解记录子.xls", "数据", DismantleRecordDetailbExcelVO.class, datas);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dismantleRequest/DismantleRequestDetailbController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.dismantleRequest; package com.win.module.wms.controller.dismantleRequest;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.dismantleRequest.vo.*; import com.win.module.wms.controller.dismantleRequest.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class DismantleRequestDetailbController {
@Resource @Resource
private DismantleRequestDetailbService dismantleRequestDetailbService; private DismantleRequestDetailbService dismantleRequestDetailbService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建制品拆解申请子") @Operation(summary = "创建制品拆解申请子")
@PreAuthorize("@ss.hasPermission('wms:dismantle-request-detailb:create')") @PreAuthorize("@ss.hasPermission('wms:dismantle-request-detailb:create')")
@ -96,6 +101,11 @@ public class DismantleRequestDetailbController {
List<DismantleRequestDetailbDO> list = dismantleRequestDetailbService.getDismantleRequestDetailbList(exportReqVO); List<DismantleRequestDetailbDO> list = dismantleRequestDetailbService.getDismantleRequestDetailbList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DismantleRequestDetailbExcelVO> datas = DismantleRequestDetailbConvert.INSTANCE.convertList02(list); List<DismantleRequestDetailbExcelVO> datas = DismantleRequestDetailbConvert.INSTANCE.convertList02(list);
for(DismantleRequestDetailbExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "制品拆解申请子.xls", "数据", DismantleRequestDetailbExcelVO.class, datas); ExcelUtils.write(response, "制品拆解申请子.xls", "数据", DismantleRequestDetailbExcelVO.class, datas);
} }

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/dock/DockController.java

@ -5,6 +5,8 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.dock.vo.*; import com.win.module.wms.controller.dock.vo.*;
import com.win.module.wms.convert.dock.DockConvert; import com.win.module.wms.convert.dock.DockConvert;
import com.win.module.wms.dal.dataobject.dock.DockDO; import com.win.module.wms.dal.dataobject.dock.DockDO;
@ -41,6 +43,9 @@ public class DockController {
@Resource @Resource
private DockService dockService; private DockService dockService;
@Resource
private AdminUserApi userApi;
@Resource @Resource
private DockMapper dockMapper; private DockMapper dockMapper;
@ -103,6 +108,11 @@ public class DockController {
List<DockDO> list = dockService.getDockList(exportReqVO); List<DockDO> list = dockService.getDockList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DockExcelVO> datas = DockConvert.INSTANCE.convertList02(list); List<DockExcelVO> datas = DockConvert.INSTANCE.convertList02(list);
for(DockExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "月台.xls", "数据", DockExcelVO.class, datas); ExcelUtils.write(response, "月台.xls", "数据", DockExcelVO.class, datas);
} }
@ -114,7 +124,7 @@ public class DockController {
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] type = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.DOCK_TYPE); String[] type = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.DOCK_TYPE);
mapDropDown.put(5, type); mapDropDown.put(5, type);
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PACK_UNIT); String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(10, available);; mapDropDown.put(10, available);;
// 输出 // 输出
ExcelUtils.write(response, "月台导入模板.xls", "月台列表", DockImportExcelVO.class, list,mapDropDown); ExcelUtils.write(response, "月台导入模板.xls", "月台列表", DockImportExcelVO.class, list,mapDropDown);

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/documentsetting/DocumentsettingController.java

@ -5,6 +5,8 @@ import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.documentsetting.vo.*; import com.win.module.wms.controller.documentsetting.vo.*;
import com.win.module.wms.convert.documentsetting.DocumentsettingConvert; import com.win.module.wms.convert.documentsetting.DocumentsettingConvert;
import com.win.module.wms.dal.dataobject.documentsetting.DocumentsettingDO; import com.win.module.wms.dal.dataobject.documentsetting.DocumentsettingDO;
@ -39,6 +41,9 @@ public class DocumentsettingController {
@Resource @Resource
private DocumentsettingService documentsettingService; private DocumentsettingService documentsettingService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建单据设置") @Operation(summary = "创建单据设置")
@PreAuthorize("@ss.hasPermission('wms:documentsetting:create')") @PreAuthorize("@ss.hasPermission('wms:documentsetting:create')")
@ -98,6 +103,11 @@ public class DocumentsettingController {
List<DocumentsettingDO> list = documentsettingService.getDocumentsettingList(exportReqVO); List<DocumentsettingDO> list = documentsettingService.getDocumentsettingList(exportReqVO);
// 导出 Excel // 导出 Excel
List<DocumentsettingExcelVO> datas = DocumentsettingConvert.INSTANCE.convertList02(list); List<DocumentsettingExcelVO> datas = DocumentsettingConvert.INSTANCE.convertList02(list);
for(DocumentsettingExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "单据设置.xls", "数据", DocumentsettingExcelVO.class, datas); ExcelUtils.write(response, "单据设置.xls", "数据", DocumentsettingExcelVO.class, datas);
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectin/ExpectinController.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.expectin; package com.win.module.wms.controller.expectin;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.expectin.vo.*; import com.win.module.wms.controller.expectin.vo.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,6 +39,9 @@ public class ExpectinController {
@Resource @Resource
private ExpectinService expectinService; private ExpectinService expectinService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建预计入库存") @Operation(summary = "创建预计入库存")
@PreAuthorize("@ss.hasPermission('wms:expectin:create')") @PreAuthorize("@ss.hasPermission('wms:expectin:create')")
@ -96,6 +101,11 @@ public class ExpectinController {
List<ExpectinDO> list = expectinService.getExpectinList(exportReqVO); List<ExpectinDO> list = expectinService.getExpectinList(exportReqVO);
// 导出 Excel // 导出 Excel
List<ExpectinExcelVO> datas = ExpectinConvert.INSTANCE.convertList02(list); List<ExpectinExcelVO> datas = ExpectinConvert.INSTANCE.convertList02(list);
for(ExpectinExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "预计入库存.xls", "数据", ExpectinExcelVO.class, datas); ExcelUtils.write(response, "预计入库存.xls", "数据", ExpectinExcelVO.class, datas);
} }

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save