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