diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java new file mode 100644 index 00000000..b4ada957 --- /dev/null +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java @@ -0,0 +1,30 @@ +package org.springblade.erpdata.feign; + + +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.core.tool.api.R; +import org.springblade.erpdata.pojo.vo.QueryBatchVO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * Feign接口类 + * + * @author Chill + */ +@FeignClient( + value = AppConstant.APPLICATION_SYSTEM_NAME, + fallback = IErpDataProduceClientFallback.class +) +public interface IErpDataProduceClient { + + String API_PREFIX = "/feign/erpdata/client"; + String QUERY_BATCH = API_PREFIX + "/queryBatch"; + + /** + * 缺件申报-通过零件号获取批次号 + */ + @GetMapping(QUERY_BATCH) + R queryBatch(String partCode); + +} diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java new file mode 100644 index 00000000..cd3b977c --- /dev/null +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java @@ -0,0 +1,20 @@ +package org.springblade.erpdata.feign; + +import org.springblade.core.tool.api.R; +import org.springblade.erpdata.pojo.vo.QueryBatchVO; +import org.springframework.stereotype.Component; + +/** + * Feign失败配置 + * + * @author litao + * @date 2026-1-31 + */ +@Component +public class IErpDataProduceClientFallback implements IErpDataProduceClient { + + @Override + public R queryBatch(String partCode) { + return R.fail("获取数据失败"); + } +} diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/QueryBatchVO.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/QueryBatchVO.java new file mode 100644 index 00000000..a2546ba5 --- /dev/null +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/QueryBatchVO.java @@ -0,0 +1,67 @@ +package org.springblade.erpdata.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 缺件申报-通过零件号获取批次号 视图实体类 + * + * @author litao + */ +@Data +public class QueryBatchVO { + + @Schema(description = "零件号") + private String prtno; + /** + * 生产标识 + */ + @Schema(description = "生产标识") + private String prtlotno; + /** + * 库房号 + */ + @Schema(description = "库房号") + private String warno; + /** + * 库位号 + */ + @Schema(description = "库位号") + private String warlocno; + /** + * 库存数 + */ + @Schema(description = "库存数") + private String invqty; + /** + * 预占用数 + */ + @Schema(description = "预占用数") + private String invalqty; + /** + * 库存部门 + */ + @Schema(description = "库存部门") + private String deptno; + /** + * 批次号 + */ + @Schema(description = "批次号") + private String splcode; + /** + * 入库时间 + */ + @Schema(description = "入库时间") + private String splydate; + /** + * 保管员 + */ + @Schema(description = "保管员") + private String warctlr; + /** + * 计划员 + */ + @Schema(description = "计划员") + private String schemer; + +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java new file mode 100644 index 00000000..9ec063bc --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java @@ -0,0 +1,31 @@ +package org.springblade.erpdata.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import lombok.AllArgsConstructor; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springblade.erpdata.pojo.vo.QueryBatchVO; +import org.springblade.erpdata.service.IErpDataProduceService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * 字典服务Feign实现类 + * + * @author Chill + */ +@NonDS +@Hidden +@RestController +@AllArgsConstructor +public class ErpDataProduceClient implements IErpDataProduceClient { + + private final IErpDataProduceService erpDataProduceService; + + @Override + @GetMapping(QUERY_BATCH) + public R queryBatch(String partCode) { + return R.data(erpDataProduceService.queryBatch(partCode)); + } +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java new file mode 100644 index 00000000..db9635e7 --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java @@ -0,0 +1,14 @@ +package org.springblade.erpdata.mapper; + +import com.baomidou.mybatisplus.core.mapper.Mapper; +import org.springblade.erpdata.pojo.vo.QueryBatchVO; + +/** + * Mapper 接口 + * + * @author lqk + */ +public interface ErpDataProduceMapper extends Mapper { + + QueryBatchVO queryBatch(String partCode); +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.xml new file mode 100644 index 00000000..8cae6ffd --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.xml @@ -0,0 +1,41 @@ + + + + + + + diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java new file mode 100644 index 00000000..c3c3bbe8 --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java @@ -0,0 +1,14 @@ +package org.springblade.erpdata.service; + +import org.springblade.erpdata.pojo.vo.QueryBatchVO; + +/** + * ERP数据查询service + * + * @author litao + */ +public interface IErpDataProduceService { + + + QueryBatchVO queryBatch(String partCode); +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java new file mode 100644 index 00000000..c84bd90a --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java @@ -0,0 +1,24 @@ +package org.springblade.erpdata.service.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.erpdata.mapper.ErpDataProduceMapper; +import org.springblade.erpdata.pojo.vo.QueryBatchVO; +import org.springblade.erpdata.service.IErpDataProduceService; +import org.springframework.stereotype.Service; + +/** + * @author litao + * @date 2026-1-31 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class ErpDataProduceServiceImpl implements IErpDataProduceService { + + private final ErpDataProduceMapper erpDataProduceMapper; + @Override + public QueryBatchVO queryBatch(String partCode) { + return erpDataProduceMapper.queryBatch(partCode); + } +}