From 282d7cc0621f22b2e9365a1dbb6ed22a63013faf Mon Sep 17 00:00:00 2001
From: Ryan <creaycat@gmail.com>
Date: 星期二, 01 四月 2025 19:53:58 +0800
Subject: [PATCH] #新增 1. 新增PDA快带质检接口 2. 新增PDA获取质检信息接口

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java               |   39 +++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java                |    6 ++
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java          |   21 +++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java       |   65 +++++++++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java     |   23 +++++++
 6 files changed, 155 insertions(+), 1 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 df6eb98..ac02aaa 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
@@ -3,11 +3,13 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.api.controller.params.CheckObjParams;
 import com.vincent.rsf.server.api.controller.params.OtherReceiptParams;
 import com.vincent.rsf.server.api.controller.params.ReceiptParams;
 import com.vincent.rsf.server.api.service.MobileService;
 import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
+import com.vincent.rsf.server.manager.entity.QlyIsptItem;
 import com.vincent.rsf.server.system.controller.BaseController;
 import com.vincent.rsf.server.system.controller.param.LoginParam;
 import io.swagger.annotations.Api;
@@ -183,4 +185,23 @@
         }
         return  mobileService.confirmIspt(id);
     }
+
+    @PreAuthorize("hasAuthority('manager:qlyInspect:list')")
+    @PostMapping("/inspect/query")
+    public R checkObjs(@RequestBody CheckObjParams params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return mobileService.checkObjs(params);
+    }
+
+
+    @PreAuthorize("hasAuthority('manager:qlyInspect:update')")
+    @PostMapping("/inspect/check/update")
+    public R checkUpdate(@RequestBody QlyIsptItem params) {
+        if (Objects.isNull(params)) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return mobileService.checkUpdate(params);
+    }
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java
new file mode 100644
index 0000000..7476746
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java
@@ -0,0 +1,23 @@
+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 = "CheckObjParams", description = "鑾峰彇璐ㄦ淇℃伅")
+public class CheckObjParams implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("璐ㄦ鍗�")
+    private String isptCode;
+
+    @ApiModelProperty("鐗╂枡缂栫爜")
+    private String matnrCode;
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java
new file mode 100644
index 0000000..ead8f00
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java
@@ -0,0 +1,39 @@
+package com.vincent.rsf.server.api.entity.dto;
+
+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 = "CheckObjDto", description = "PDA璐ㄦ淇℃伅")
+public class CheckObjDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("璐ㄦ鍗�")
+    private String isptCode;
+    @ApiModelProperty("鐗╂枡缂栫爜")
+    private String matnrCode;
+    @ApiModelProperty("鐗╂枡鍚嶇О")
+    private String maktx;
+    @ApiModelProperty("鍗曞彿")
+    private String asnCode;
+    @ApiModelProperty("渚涘簲鍟嗗悕绉�")
+    private String splrName;
+    @ApiModelProperty("渚涘簲鍟嗘壒娆�")
+    private String splrBatch;
+    @ApiModelProperty("鏀惰揣鏁伴噺")
+    private Double rcptQty;
+    @ApiModelProperty("鍚堟牸鏁伴噺")
+    private Double safeQty;
+    @ApiModelProperty("涓嶅悎鏍兼暟閲�")
+    private Double disQty;
+    @ApiModelProperty("鍥剧墖璺緞")
+    private String picPath;
+    @ApiModelProperty("澶囨敞")
+    private String memo;
+}
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 2227389..173025d 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,12 @@
 package com.vincent.rsf.server.api.service;
 
 import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.server.api.controller.params.CheckObjParams;
 import com.vincent.rsf.server.api.controller.params.OtherReceiptParams;
 import com.vincent.rsf.server.api.controller.params.ReceiptParams;
 import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
+import com.vincent.rsf.server.manager.entity.QlyIsptItem;
 import com.vincent.rsf.server.manager.entity.WaitPakin;
 import com.vincent.rsf.server.system.controller.param.LoginParam;
 import com.vincent.rsf.server.system.entity.Fields;
@@ -44,4 +46,8 @@
     R inspect(String code, Long loginUserId);
 
     R confirmIspt(String id);
+
+    R checkObjs(CheckObjParams params);
+
+    R checkUpdate(QlyIsptItem params);
 }
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 41976a5..e53bd94 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.CheckObjParams;
 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.CheckObjDto;
 import com.vincent.rsf.server.api.entity.dto.InspectDetlDto;
 import com.vincent.rsf.server.api.entity.dto.InspectItemDto;
 import com.vincent.rsf.server.api.entity.dto.ReceiptDetlsDto;
@@ -16,6 +18,7 @@
 import com.vincent.rsf.server.common.security.JwtSubject;
 import com.vincent.rsf.server.common.utils.CommonUtil;
 import com.vincent.rsf.server.common.utils.JwtUtil;
+import com.vincent.rsf.server.manager.controller.params.IsptItemsParams;
 import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
 import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.mapper.*;
@@ -78,6 +81,8 @@
     private MatnrMapper matnrMapper;
     @Resource
     private QlyInspectMapper qlyInspectMapper;
+    @Autowired
+    private QlyIsptItemService qlyIsptItemService;
     @Resource
     private StockItemMapper stockItemMapper;
     @Resource
@@ -491,6 +496,66 @@
     }
 
     /**
+     * 閫氳繃鐗╂枡锛岃川妫�鍗曡幏鍙栭渶瑕佽川妫�鍗曟嵁
+     * @param params
+     * @return
+     */
+    @Override
+    public R checkObjs(CheckObjParams params) {
+        if (Objects.isNull(params.getIsptCode())) {
+            throw new CoolException("璐ㄦ鍗曚笉鑳戒负绌�");
+        }
+        if (Objects.isNull(params.getMatnrCode())) {
+            throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛�");
+        }
+        QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>().eq(QlyInspect::getCode, params.getIsptCode()));
+        if (Objects.isNull(inspect)) {
+            throw new CoolException("璐ㄦ鍗曟嵁涓嶅瓨鍦紒!");
+        }
+        QlyIsptItem isptItem = qlyIsptItemService.getOne(new LambdaQueryWrapper<QlyIsptItem>()
+                .eq(QlyIsptItem::getMatnrCode, params.getMatnrCode())
+                .eq(QlyIsptItem::getIspectId, inspect.getId()));
+        if (Objects.isNull(isptItem)) {
+            throw new CoolException("璐ㄦ鍗曟槑缁嗕笉瀛樺湪锛侊紒");
+        }
+
+        CheckObjDto objDto = new CheckObjDto();
+        objDto.setIsptCode(inspect.getCode())
+                .setAsnCode(inspect.getAsnCode())
+                .setMatnrCode(isptItem.getMatnrCode())
+                .setMaktx(isptItem.getMaktx())
+                .setDisQty(isptItem.getDisQty())
+                .setRcptQty(isptItem.getRcptQty())
+                .setSplrBatch(isptItem.getSplrBatch())
+                .setSplrName(isptItem.getSplrName())
+                .setPicPath(isptItem.getPicPath())
+                .setMemo(isptItem.getMemo())
+                .setSafeQty(isptItem.getSafeQty());
+        return R.ok(objDto);
+    }
+
+    /**
+     * 蹇�熻川妫�
+     * @param params
+     * @return
+     */
+    @Override
+    public R checkUpdate(QlyIsptItem params) {
+        if (Objects.isNull(params.getId()) || Objects.isNull(params.getIspectId())) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        IsptItemsParams itemsParams = new IsptItemsParams();
+        List<QlyIsptItem> items = new ArrayList<>();
+        items.add(params);
+        itemsParams.setIsptItem(items).setType("0");
+        if (qlyIsptItemService.batchUpdate(itemsParams)) {
+            return R.ok();
+        } else {
+            return R.error("淇濆瓨澶辫触锛侊紒");
+        }
+    }
+
+    /**
      * 鑾峰彇ReceiptDetlsDtos
      */
     private R getAsnOrderItem(List<AsnOrderItem> items) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java
index 0c8d681..bcc3337 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java
@@ -114,7 +114,7 @@
     }
 
     @PreAuthorize("hasAuthority('manager:qlyIsptItem:update')")
-    @ApiOperation("鎵归噺淇敼")
+    @ApiOperation("蹇�熻川妫�")
     @PostMapping("/qlyIsptItem/batch/update")
     public R batchUpdate(@RequestBody IsptItemsParams params) {
         if (Objects.isNull(params)) {

--
Gitblit v1.9.1