Ver Fonte

华兰接口:半成品回库

k há 2 anos atrás
pai
commit
237bd4fa2e

+ 83 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/api/HualanApiController.java

@@ -0,0 +1,83 @@
+package com.ruoyi.web.controller.warewms.api;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.web.controller.warewms.pda.PdaDocAsnController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author JWK
+ * @version 1.0
+ * @date 2022/11/14 14:52
+ */
+@Api("华兰接口对接")
+@RestController
+@RequestMapping("/warewms")
+public class HualanApiController {
+
+
+    @Autowired
+    private PdaDocAsnController pdaDocAsnController;
+
+    /**
+     * 半成品回库
+     *
+     * @param docAsnHeader
+     * @return
+     */
+    @Transactional
+    @ApiOperation("半成品回库")
+    @PostMapping("asn/returnAsn")
+    public AjaxResult returnAsn(@RequestBody DocAsnHeader docAsnHeader) {
+        PdaDocAsnController.DocAsnHeader asnHeader = new PdaDocAsnController.DocAsnHeader();
+        asnHeader.setLocationFrom(docAsnHeader.getLocation());
+        ArrayList<PdaDocAsnController.DocAsnDetails> docAsnDetailsList = new ArrayList<>();
+        PdaDocAsnController.DocAsnDetails docAsnDetails = null;
+        for (DocAsnDetails asnDetails : docAsnHeader.getMaterialList()) {
+            docAsnDetails = new PdaDocAsnController.DocAsnDetails();
+            docAsnDetails.setSku(asnDetails.getMaterial());
+            docAsnDetails.setBatchNo(asnDetails.getBatchNum());
+            docAsnDetails.setQty("1");
+            docAsnDetails.setWeight(asnDetails.getWeight());
+            docAsnDetailsList.add(docAsnDetails);
+        }
+        asnHeader.setDocAsnDetails(docAsnDetailsList);
+        return pdaDocAsnController.inToTran(asnHeader);
+    }
+
+    @Data
+    public static class DocAsnHeader {
+        private String location;
+        private List<DocAsnDetails> materialList;
+    }
+
+    @Data
+    public static class DocAsnDetails {
+        /**
+         * 产品代码
+         */
+        private String material;
+        /**
+         * 批号
+         */
+        private String batchNum;
+        /**
+         * 单个周转箱的重量
+         */
+        private String weight;
+
+
+    }
+
+
+}