From 481cc7562008b6e2d5ce90c1661af4de0dc619ca Mon Sep 17 00:00:00 2001
From: DESKTOP-LMJ82IJ\Eno <creaycat@gmail.com>
Date: 星期一, 10 三月 2025 20:38:06 +0800
Subject: [PATCH] #新增 1. 新增通知单列表接口 2. 新增其它收货接口
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java | 7 +
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java | 39 +++++++++
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 126 ++++++++++++++++++++++---------
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/OtherReceiptParams.java | 27 ++++++
4 files changed, 161 insertions(+), 38 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java
index e96c1e4..2cf4547 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java
@@ -2,12 +2,14 @@
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.api.controller.params.OtherReceiptParams;
import com.vincent.rsf.server.api.controller.params.ReceiptParams;
import com.vincent.rsf.server.api.entity.dto.ReceiptDetlsDto;
import com.vincent.rsf.server.api.service.MobileService;
import com.vincent.rsf.server.system.controller.BaseController;
import com.vincent.rsf.server.system.controller.param.LoginParam;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation;
import org.apache.tika.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +36,12 @@
private MobileService mobileService;
+ /**
+ * PDA鐢ㄦ埛鐧诲綍
+ * @param param
+ * @param request
+ * @return
+ */
@PostMapping("/login")
@ApiOperation("PDA鐢ㄦ埛鐧诲綍")
public R login(@RequestBody LoginParam param, HttpServletRequest request) {
@@ -51,6 +59,11 @@
}
+ /**
+ * 鏍囧噯鎵爜鏀惰揣淇℃伅
+ * @param barcode
+ * @return
+ */
@PreAuthorize("hasAuthority('manager:asnOrder:list')")
@GetMapping("/orders/{barcode}")
@ApiOperation("鏍囧噯鎵爜鏀惰揣")
@@ -61,7 +74,12 @@
return mobileService.getOrderByCode(barcode);
}
- @PreAuthorize("hasAuthority('manager:warehouseAreas:save')")
+ /**
+ * 纭鏀惰揣淇℃伅
+ * @param params
+ * @return
+ */
+ @PreAuthorize("hasAuthority('manager:warehouseAreasItem:save')")
@PostMapping("/orders/confirm")
@ApiOperation("纭鏀惰揣")
public R confirmReceipt(@RequestBody ReceiptParams params) {
@@ -72,5 +90,24 @@
}
+ @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+ @PostMapping("/orders/other")
+ @ApiOperation("鍏跺畠鎵爜鏀惰揣")
+ public R getOtherReceipt(@RequestBody OtherReceiptParams params) {
+ if (Objects.isNull(params)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+
+ return mobileService.otherReceipt(params);
+ }
+
+
+ @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+ @GetMapping("/orders/asn")
+ @ApiOperation("鑾峰彇閫氱煡鍗�")
+ public R getAllAsnOrders() {
+ return R.ok(mobileService.getAllAsnOrders());
+ }
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/OtherReceiptParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/OtherReceiptParams.java
new file mode 100644
index 0000000..8ad2128
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/OtherReceiptParams.java
@@ -0,0 +1,27 @@
+package com.vincent.rsf.server.api.controller.params;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "OtherReceiptParams", description = "鍏跺畠鏀惰揣")
+public class OtherReceiptParams implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("閫氱煡鍗�")
+ private String asnCode;
+
+ @ApiModelProperty("閲囪喘鍗�")
+ private String poCode;
+
+ @ApiModelProperty("鏉″舰鐮�")
+ private String barcode;
+
+
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
index e730332..2a2f597 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
@@ -1,10 +1,13 @@
package com.vincent.rsf.server.api.service;
import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.server.api.controller.params.OtherReceiptParams;
import com.vincent.rsf.server.api.controller.params.ReceiptParams;
+import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.system.controller.param.LoginParam;
import javax.servlet.http.HttpServletRequest;
+import java.util.List;
/**
* @author Ryan
@@ -20,4 +23,8 @@
R getOrderByCode(String barcode);
R receiptToWarehouse(ReceiptParams orders);
+
+ R otherReceipt(OtherReceiptParams params);
+
+ List<AsnOrder> getAllAsnOrders();
}
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 b2bc903..6dbfb93 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
@@ -4,8 +4,10 @@
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.api.controller.params.OtherReceiptParams;
import com.vincent.rsf.server.api.controller.params.ReceiptParams;
import com.vincent.rsf.server.api.entity.dto.ReceiptDetlsDto;
+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.security.JwtSubject;
@@ -52,11 +54,12 @@
private UserMapper userService;
@Autowired
private UserLoginService userLoginService;
-
@Autowired
private WarehouseAreasItemService warehouseAreasItemService;
@Resource
private AsnOrderItemMapper asnOrderItemMapper;
+ @Resource
+ private AsnOrderMapper asnOrderMapper;
@Resource
private MatnrMapper matnrMapper;
@Resource
@@ -114,47 +117,12 @@
if (StringUtils.isEmpty(barcode)) {
return R.error("鏍囩鐮佷笉鑳戒负绌猴紒锛�");
}
- ReceiptDetlsDto detlsDto = new ReceiptDetlsDto();
AsnOrderItem asnOrderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getBarcode, barcode));
if (Objects.isNull(asnOrderItem)) {
throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
}
- detlsDto.setAsnCode(asnOrderItem.getAsnCode())
- .setMatnk(asnOrderItem.getMatnk())
- .setBarcode(asnOrderItem.getBarcode())
- .setPoCode(asnOrderItem.getPoCode())
- .setPurQty(asnOrderItem.getAnfme())
- .setSplrBatch(asnOrderItem.getSplrBatch());
- Matnr matnr = matnrMapper.selectById(asnOrderItem.getMatnrId());
- if (Objects.isNull(matnr)) {
- throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶇墿鏂欎笉瀛樺湪锛侊紒");
- }
- //SET 鐗╂枡鏈�澶у瓨鏀炬暟閲�
- detlsDto.setMaxQty(matnr.getMaxQty())
- .setMatnrId(matnr.getId())
- .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$());
- //鑾峰彇褰撳墠搴撳瓨淇℃伅
- StockItem stockItem = stockItemMapper.selectOne(new LambdaQueryWrapper<StockItem>()
- .eq(StockItem::getAsnItemId, asnOrderItem.getId())
- .eq(StockItem::getMatnrId, asnOrderItem.getMatnrId()));
- //SET 褰撳墠搴撳瓨鏁伴噺
- if (Objects.isNull(stockItem)) {
- detlsDto.setStockQty(0.0);
- } else {
- detlsDto.setStockQty(stockItem.getQty() + stockItem.getWorkQty());
- }
-
- //鑾峰彇閲囪喘鍗曟槑缁嗕俊鎭�
- PurchaseItem purchaseItem = purchaseItemMapper.selectOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, asnOrderItem.getPoDetlId()));
- //SET 骞冲彴琛屽彿
- detlsDto.setPlatformId(purchaseItem.getPlatItemId());
-
- return R.ok(detlsDto);
+ return getAsnOrderItem(asnOrderItem);
}
/**
@@ -209,4 +177,88 @@
return R.ok("鎿嶄綔鎴愬姛");
}
+
+ /**
+ * @author Ryan
+ * @description 鍏跺畠鏀惰揣
+ * @param params
+ * @return
+ */
+ @Override
+ public R otherReceipt(OtherReceiptParams params) {
+ if (Objects.isNull(params.getAsnCode())) {
+ throw new CoolException("閫氱煡鍗曚笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(params.getBarcode())) {
+ throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒");
+ }
+
+ AsnOrderItem asnOrderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>()
+ .eq(AsnOrderItem::getAsnCode, params.getAsnCode())
+ .eq(AsnOrderItem::getBarcode, params.getBarcode()));
+
+ if (Objects.isNull(asnOrderItem)) {
+ throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
+ }
+
+ return getAsnOrderItem(asnOrderItem);
+
+ }
+
+ /**
+ * @author Ryan
+ * @description 鑾峰彇鎵�鏈夐�氱煡鍗�
+ * @return
+ */
+ @Override
+ public List<AsnOrder> getAllAsnOrders() {
+ List<AsnOrder> asnOrders = asnOrderMapper.selectList(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getWkType, OrderWorkType.ORDER_PURCHASE_IN.type));
+ return asnOrders;
+ }
+
+ /**
+ * 鑾峰彇ReceiptDetlsDto
+ */
+ private R getAsnOrderItem(AsnOrderItem asnOrderItem) {
+ ReceiptDetlsDto detlsDto = new ReceiptDetlsDto();
+
+ detlsDto.setAsnCode(asnOrderItem.getAsnCode())
+ .setMatnk(asnOrderItem.getMatnk())
+ .setBarcode(asnOrderItem.getBarcode())
+ .setPoCode(asnOrderItem.getPoCode())
+ .setPurQty(asnOrderItem.getAnfme())
+ .setSplrBatch(asnOrderItem.getSplrBatch());
+
+ Matnr matnr = matnrMapper.selectById(asnOrderItem.getMatnrId());
+ if (Objects.isNull(matnr)) {
+ throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶇墿鏂欎笉瀛樺湪锛侊紒");
+ }
+ //SET 鐗╂枡鏈�澶у瓨鏀炬暟閲�
+ detlsDto.setMaxQty(matnr.getMaxQty())
+ .setMatnrId(matnr.getId())
+ .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$());
+ //鑾峰彇褰撳墠搴撳瓨淇℃伅
+ StockItem stockItem = stockItemMapper.selectOne(new LambdaQueryWrapper<StockItem>()
+ .eq(StockItem::getAsnItemId, asnOrderItem.getId())
+ .eq(StockItem::getMatnrId, asnOrderItem.getMatnrId()));
+ //SET 褰撳墠搴撳瓨鏁伴噺
+ if (Objects.isNull(stockItem)) {
+ detlsDto.setStockQty(0.0);
+ } else {
+ detlsDto.setStockQty(stockItem.getQty() + stockItem.getWorkQty());
+ }
+
+ //鑾峰彇閲囪喘鍗曟槑缁嗕俊鎭�
+ PurchaseItem purchaseItem = purchaseItemMapper.selectOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, asnOrderItem.getPoDetlId()));
+ //SET 骞冲彴琛屽彿
+ detlsDto.setPlatformId(purchaseItem.getPlatItemId());
+
+ return R.ok(detlsDto);
+ }
+
+
}
--
Gitblit v1.9.1