|
@@ -1,199 +0,0 @@
|
|
|
-package com.ruoyi.web.controller.warewms.api;
|
|
|
-
|
|
|
-import cn.hutool.http.HttpRequest;
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
-import com.ruoyi.ams.config.domain.dto.LotattDTO;
|
|
|
-import com.ruoyi.ams.inv.domain.form.InvLocIdSearchFrom;
|
|
|
-import com.ruoyi.ams.inv.domain.vo.InvLotLocIdLotattVO;
|
|
|
-import com.ruoyi.ams.inv.service.IInvLotLocIdService;
|
|
|
-import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
-import com.ruoyi.common.utils.StringUtils;
|
|
|
-import com.ruoyi.web.controller.warewms.pda.PdaDocAsnController;
|
|
|
-import com.ruoyi.web.controller.warewms.pda.PdaDocQcController;
|
|
|
-import com.ruoyi.web.controller.warewms.pda.PdaDocSoController;
|
|
|
-import io.swagger.annotations.Api;
|
|
|
-import io.swagger.annotations.ApiOperation;
|
|
|
-import lombok.Data;
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
-
|
|
|
-import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-/**
|
|
|
- * @author JWK
|
|
|
- * @version 1.0
|
|
|
- * @date 2022/11/14 14:52
|
|
|
- */
|
|
|
-@Slf4j
|
|
|
-@Api("华兰接口对接")
|
|
|
-@RestController
|
|
|
-@RequestMapping("/hualan")
|
|
|
-public class HualanApiController {
|
|
|
-
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private PdaDocAsnController pdaDocAsnController;
|
|
|
- @Autowired
|
|
|
- private PdaDocSoController pdaDocSoController;
|
|
|
- @Autowired
|
|
|
- private PdaDocQcController pdaDocQcController;
|
|
|
- @Autowired
|
|
|
- private IInvLotLocIdService invLotLocIdService;
|
|
|
-
|
|
|
- /**
|
|
|
- * 入库
|
|
|
- *
|
|
|
- * @param docAsnHeader
|
|
|
- * @return
|
|
|
- */
|
|
|
- @ApiOperation("入库")
|
|
|
- @PostMapping("asn/inInv")
|
|
|
- public AjaxResult inInv(@RequestBody DocAsnHeader docAsnHeader) {
|
|
|
- log.info("华兰接口测试传入数据-入库:" + JSON.toJSONString(docAsnHeader));
|
|
|
- return AjaxResult.success("调用接口成功!");
|
|
|
-
|
|
|
-// PdaDocAsnController.DocAsnHeader asnHeader = new PdaDocAsnController.DocAsnHeader();
|
|
|
-// asnHeader.setLocationFrom(docAsnHeader.getLocationFrom());
|
|
|
-// ArrayList<PdaDocAsnController.DocAsnDetails> docAsnDetailsList = new ArrayList<>();
|
|
|
-// PdaDocAsnController.DocAsnDetails docAsnDetails = null;
|
|
|
-// for (DocAsnDetails asnDetails : docAsnHeader.getDocAsnDetails()) {
|
|
|
-// docAsnDetails = new PdaDocAsnController.DocAsnDetails();
|
|
|
-// docAsnDetails.setSku(StringUtils.isEmpty(asnDetails.getMaterial()) ?
|
|
|
-// asnDetails.getBatchNum() : asnDetails.getMaterial());
|
|
|
-// docAsnDetails.setBatchNo(asnDetails.getBatchNum());
|
|
|
-// docAsnDetails.setQty(asnDetails.getQty());
|
|
|
-// docAsnDetails.setWeight(asnDetails.getWeight());
|
|
|
-// docAsnDetails.setBoxNo(asnDetails.getBoxNo() != null ? asnDetails.getBoxNo() : "");
|
|
|
-// docAsnDetailsList.add(docAsnDetails);
|
|
|
-// }
|
|
|
-// asnHeader.setDocAsnDetails(docAsnDetailsList);
|
|
|
-// return pdaDocAsnController.inToTran(asnHeader);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 质检提交
|
|
|
- *
|
|
|
- * @param map
|
|
|
- * @return
|
|
|
- */
|
|
|
- @ApiOperation("质检提交")
|
|
|
- @PostMapping("qc/updateQcStatus")
|
|
|
- public AjaxResult updateQcStatus(@RequestBody Map<String, String> map) {
|
|
|
- log.info("华兰接口测试传入数据-质检提交:" + JSON.toJSONString(map));
|
|
|
- return AjaxResult.success("调用接口成功!");
|
|
|
-
|
|
|
-// String batchNum = map.get("batchNum");
|
|
|
-// String qcStatus = map.get("qcStatus");
|
|
|
-// Map<String, String> mapp = new HashMap<>();
|
|
|
-// mapp.put("sku", "");
|
|
|
-// mapp.put("batchNo", batchNum);
|
|
|
-// mapp.put("status", qcStatus);
|
|
|
-// return pdaDocQcController.qcSubmit(mapp);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 出库
|
|
|
- *
|
|
|
- * @param docOrderHeader
|
|
|
- * @return
|
|
|
- */
|
|
|
- @ApiOperation("出库")
|
|
|
- @PostMapping("so/outInv")
|
|
|
- public AjaxResult outInv(@RequestBody DocOrderHeader docOrderHeader) {
|
|
|
- log.info("华兰接口测试传入数据-出库:" + JSON.toJSONString(docOrderHeader));
|
|
|
- return AjaxResult.success("调用接口成功!");
|
|
|
-
|
|
|
-// PdaDocSoController.DocOrderHeader header = new PdaDocSoController.DocOrderHeader();
|
|
|
-// header.setBatchNum(docOrderHeader.getBatchNum());
|
|
|
-// return pdaDocSoController.outToTran(header);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * ERP获取WMS批次号所在库位
|
|
|
- *
|
|
|
- * @param batchNum
|
|
|
- * @return
|
|
|
- */
|
|
|
- @ApiOperation("ERP获取WMS批次号所在库位")
|
|
|
- @GetMapping("getLocByCon")
|
|
|
- public AjaxResult getLocByCon(String batchNum, String boxNo) {
|
|
|
- InvLocIdSearchFrom invLotLocIdQuery = new InvLocIdSearchFrom();
|
|
|
- LotattDTO lotattDTO = new LotattDTO();
|
|
|
- lotattDTO.setLotatt01(batchNum);
|
|
|
- lotattDTO.setLotatt07(boxNo);
|
|
|
- invLotLocIdQuery.setLotattDTO(lotattDTO);
|
|
|
- List<InvLotLocIdLotattVO> invLotLocIdLotattVOList = invLotLocIdService.selectInvLocIdLotattList(invLotLocIdQuery);
|
|
|
- Map<String, Set<String>> locMap = new HashMap<>();
|
|
|
- Set<String> locSet = invLotLocIdLotattVOList.stream().map(v -> v.getLocationNo()).collect(Collectors.toSet());
|
|
|
- locMap.put(batchNum, locSet);
|
|
|
- return AjaxResult.success(locMap);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 半成品入库时,人工操作PDA扫描周转箱外箱二维码,二维码内容为生产批号,WMS通过批号获取华兰上游系统的生产数据
|
|
|
- *
|
|
|
- * @param batchNum
|
|
|
- * @param boxNo
|
|
|
- * @return
|
|
|
- */
|
|
|
- @ApiOperation("获取产品数据")
|
|
|
- @GetMapping("getSkuInfo")
|
|
|
- public AjaxResult getSkuInfo(String batchNum, String boxNo) {
|
|
|
- HttpRequest httpRequest = HttpRequest.get("");
|
|
|
- return AjaxResult.success();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Data
|
|
|
- public static class DocAsnHeader {
|
|
|
- /**
|
|
|
- * 起始库位 (目前现在就一个入库位,可以不传,系统默认)
|
|
|
- */
|
|
|
- private String locationFrom;
|
|
|
- private List<DocAsnDetails> docAsnDetails;
|
|
|
- }
|
|
|
-
|
|
|
- @Data
|
|
|
- public static class DocAsnDetails {
|
|
|
- /**
|
|
|
- * 批号
|
|
|
- */
|
|
|
- private String batchNum;
|
|
|
- /**
|
|
|
- * 数量
|
|
|
- */
|
|
|
- private String qty;
|
|
|
- /**
|
|
|
- * 单个周转箱的重量
|
|
|
- */
|
|
|
- private String weight;
|
|
|
- /**
|
|
|
- * 产品代码 可能不传
|
|
|
- */
|
|
|
- private String material;
|
|
|
- /**
|
|
|
- * 周转箱号
|
|
|
- */
|
|
|
- private String boxNo;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Data
|
|
|
- public static class DocOrderHeader {
|
|
|
- private String batchNum;
|
|
|
- }
|
|
|
-
|
|
|
- @Data
|
|
|
- public static class SkuInfo {
|
|
|
- private String material;
|
|
|
- private String batchNum;
|
|
|
- private int quantity;
|
|
|
- private double weight;
|
|
|
- private Date productDate;
|
|
|
- private String boxNo;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-}
|