【同步】BOOT 和 CLOUD 的功能(wms)

master-jdk17
YunaiV 2026-05-16 06:39:43 +08:00
parent 63cae8bc31
commit 9d1dd25bc7
6 changed files with 21 additions and 6 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -31,8 +31,8 @@
| 【完整版】[yudao-cloud](https://gitee.com/zhijiantianya/yudao-cloud) | [`master`](https://gitee.com/zhijiantianya/yudao-cloud/tree/master/) 分支 | [`master-jdk17`](https://gitee.com/zhijiantianya/yudao-cloud/tree/master-jdk17/) 分支 |
| 【精简版】[yudao-cloud-mini](https://gitee.com/yudaocode/yudao-cloud-mini) | [`master`](https://gitee.com/yudaocode/yudao-cloud-mini/tree/master/) 分支 | [`master-jdk17`](https://gitee.com/yudaocode/yudao-cloud-mini/tree/master-jdk17/) 分支 |
* 【完整版】包括系统功能、基础设施、会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP、MES、AI 大模型、IoT 物联网 等功能
* 【精简版】只包括系统功能、基础设施功能不包括会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP、MES、AI 大模型、IoT 物联网 等功能
* 【完整版】包括系统功能、基础设施、会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP、MES、WMS、AI 大模型、IoT 物联网 等功能
* 【精简版】只包括系统功能、基础设施功能不包括会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP、MES、WMS、AI 大模型、IoT 物联网 等功能
可参考 [《迁移文档》](https://cloud.iocoder.cn/migrate-module/) ,只需要 5-10 分钟,即可将【完整版】按需迁移到【精简版】
@ -115,7 +115,7 @@
* 通用模块(必选):系统功能、基础设施
* 通用模块(可选):工作流程、支付系统、数据报表、会员中心
* 业务系统按需ERP 系统、CRM 系统、MES 系统、商城系统、微信公众号、AI 大模型、IoT 物联网
* 业务系统按需ERP 系统、CRM 系统、MES 系统、WMS 系统、商城系统、微信公众号、AI 大模型、IoT 物联网
> 友情提示:本项目基于 RuoYi-Vue 修改,**重构优化**后端的代码,**美化**前端的界面。
>
@ -287,6 +287,14 @@
![功能图](/.image/common/mes-preview.png)
### WMS 系统
演示地址:<https://cloud.iocoder.cn/wms-preview/>
![功能图](/.image/common/wms-feature.png)
![功能图](/.image/common/wms-preview.png)
### AI 大模型
演示地址:<https://cloud.iocoder.cn/ai-preview/>
@ -321,6 +329,7 @@
| `yudao-module-erp` | ERP 系统的 Module 模块 |
| `yudao-module-crm` | CRM 系统的 Module 模块 |
| `yudao-module-mes` | MES 系统的 Module 模块 |
| `yudao-module-wms` | WMS 系统的 Module 模块 |
| `yudao-module-ai` | AI 大模型的 Module 模块 |
| `yudao-module-iot` | IoT 物联网的 Module 模块 |
| `yudao-module-mp` | 微信公众号的 Module 模块 |

View File

@ -88,6 +88,11 @@
<artifactId>yudao-spring-boot-starter-monitor</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- Test 测试相关 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>

View File

@ -22,11 +22,11 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.IntStream;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.getSumValue;
import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.getBigDecimal;
import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.getDateList;
/**
* WMS Service
@ -74,7 +74,7 @@ public class WmsHomeStatisticsServiceImpl implements WmsHomeStatisticsService {
dateMap.computeIfAbsent(date, key -> new HashMap<>()).put(orderType, count);
}
// 构造结果,保证每天都有数据
return convertList(getDateList(startDate, days), d -> {
return convertList(IntStream.range(0, days).mapToObj(startDate::plusDays).toList(), d -> {
String dateStr = DatePattern.NORM_DATE_FORMATTER.format(d);
Map<Integer, Long> row = dateMap.getOrDefault(dateStr, Collections.emptyMap());
return new WmsHomeOrderTrendRespVO().setTime(d.atStartOfDay())

View File

@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.IdentityHashMap;
import java.util.List;
@ -291,7 +292,7 @@ public class WmsInventoryServiceImpl implements WmsInventoryService {
WmsItemSkuDO skuDO = itemSkuService.validateItemSkuExists(item.getSkuId());
WmsItemDO itemDO = itemService.validateItemExists(skuDO.getItemId());
return exception(INVENTORY_QUANTITY_NOT_ENOUGH, itemDO.getName(), skuDO.getName(),
item.getWarehouseId(), beforeQuantity, item.getQuantity());
item.getWarehouseId(), beforeQuantity.setScale(6, RoundingMode.HALF_UP), item.getQuantity());
}
}