From 1e06ec3b91e1bca46f9f2a5b9718bbc346a30073 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期六, 15 三月 2025 14:21:59 +0800
Subject: [PATCH] feat:新增asn单据
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 39 ++++++++++++++++++++++++++++++---------
1 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index 6dbfb93..6a5a632 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -10,11 +10,13 @@
import com.vincent.rsf.server.api.entity.enums.OrderWorkType;
import com.vincent.rsf.server.api.service.MobileService;
import com.vincent.rsf.server.common.config.ConfigProperties;
+import com.vincent.rsf.server.common.enums.WarehouseAreaType;
import com.vincent.rsf.server.common.security.JwtSubject;
import com.vincent.rsf.server.common.utils.JwtUtil;
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.mapper.*;
import com.vincent.rsf.server.manager.service.WarehouseAreasItemService;
+import com.vincent.rsf.server.manager.service.WarehouseAreasService;
import com.vincent.rsf.server.system.constant.CodeRes;
import com.vincent.rsf.server.system.controller.param.LoginParam;
import com.vincent.rsf.server.system.controller.result.LoginResult;
@@ -24,6 +26,7 @@
import com.vincent.rsf.server.system.mapper.TenantMapper;
import com.vincent.rsf.server.system.mapper.UserMapper;
import com.vincent.rsf.server.system.service.UserLoginService;
+import com.vincent.rsf.server.system.utils.SerialRuleUtils;
import org.apache.tika.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -56,6 +59,8 @@
private UserLoginService userLoginService;
@Autowired
private WarehouseAreasItemService warehouseAreasItemService;
+ @Autowired
+ private WarehouseAreasService warehouseAreasService;
@Resource
private AsnOrderItemMapper asnOrderItemMapper;
@Resource
@@ -141,7 +146,10 @@
if (Objects.isNull(params.getWhAreaId())) {
throw new CoolException("搴撳尯鏍囪瘑涓嶈兘涓虹┖锛侊紒");
}
- WarehouseAreasItem areasItem = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>().eq(WarehouseAreasItem::getAreaId, params.getWhAreaId()));
+ WarehouseAreas areasItem = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getId, params.getWhAreaId()));
+ if (Objects.isNull(areasItem)) {
+ throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶅簱鍖轰笉瀛樺湪锛侊紒");
+ }
List<ReceiptDetlsDto> receipts = params.getReceipts();
List<WarehouseAreasItem> allOrders = new ArrayList<>();
receipts.forEach(dto -> {
@@ -151,22 +159,21 @@
}
WarehouseAreasItem item = new WarehouseAreasItem();
item.setBarcode(dto.getBarcode())
- .setAreaName(areasItem.getAreaName())
- .setAreaId(areasItem.getAreaId())
+ .setAreaName(areasItem.getName())
+ .setAreaId(areasItem.getId())
.setStockUnit(dto.getStockUnit())
- //TODO 缂栫爜瑙勫垯鐢熸垚鎵规 (鐗╂枡鍙�+鏃ユ湡)
- .setBatch(null)
+ .setBatch(SerialRuleUtils.generateRuleCode("sys_receipt_batch", dto))
.setAnfme(dto.getReceiptQty())
.setSplrBtch(dto.getSplrBatch())
.setMatnrCode(matnr.getCode())
.setMatnrId(matnr.getId())
.setMatnrName(matnr.getName())
- //TODO 鍏ュ簱鍗曚綅鎹㈢畻
+ //搴撳瓨鍗曚綅涓烘渶灏忓崟浣�
.setUnit(dto.getStockUnit())
.setStockUnit(dto.getStockUnit())
.setWeight(matnr.getWeight())
.setShipperId(matnr.getShipperId());
- //TODO 渚涘簲鍟嗘爣璇嗘湭璁剧疆
+ //TODO 渚涘簲鍟嗘爣璇嗘湭璁剧疆锛屾爣璇嗙敱PO鍗曚緵搴斿晢缂栫爜杞崲
allOrders.add(item);
});
@@ -217,6 +224,18 @@
}
/**
+ * @author Ryan
+ * @description 鑾峰彇鏀惰揣鍖�
+ * @param
+ * @return
+ * @time 2025/3/11 10:12
+ */
+ @Override
+ public R getReceiptAreas() {
+ return R.ok(warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getType, WarehouseAreaType.WAREHOUSE_AREA_RECEIPT.type)));
+ }
+
+ /**
* 鑾峰彇ReceiptDetlsDto
*/
private R getAsnOrderItem(AsnOrderItem asnOrderItem) {
@@ -239,8 +258,10 @@
.setStockUnit(matnr.getStockUnit());
QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>()
.eq(QlyInspect::getAsnItemId, asnOrderItem.getId()).eq(QlyInspect::getPoItemId, asnOrderItem.getPoDetlId()));
- //set 璐ㄦ缁撴灉
- detlsDto.setInspect(inspect.getStatus$());
+ if (!Objects.isNull(inspect)) {
+ //set 璐ㄦ缁撴灉
+ detlsDto.setInspect(inspect.getStatus$());
+ }
//鑾峰彇褰撳墠搴撳瓨淇℃伅
StockItem stockItem = stockItemMapper.selectOne(new LambdaQueryWrapper<StockItem>()
.eq(StockItem::getAsnItemId, asnOrderItem.getId())
--
Gitblit v1.9.1