自动化立体仓库 - WMS系统
skyouc
2 天以前 3bf231d89a3012da9fe8447f321a82e13c426d7f
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -47,6 +47,7 @@
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Service("kopenApiServiceImpl")
@@ -557,18 +558,22 @@
     * @return com.core.common.R
     */
    @Override
    public XSR getStockInfo(PageRequestParams params) {
    public XSR getStockInfo(List<PageRequestParams> params) {
        if (Objects.isNull(params) || params.isEmpty()) {
            throw new CoolException("参数不能为空!!");
        }
        Set<String> collect = params.stream().map(PageRequestParams::getPro_id).collect(Collectors.toSet());
        Set<String> komccodes = params.stream().map(PageRequestParams::getPro_komcode).collect(Collectors.toSet());
        EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
        if (!Objects.isNull(params.getPro_id())) {
            wrapper.eq("supp_code", params.getPro_id());
        }
        if (!Objects.isNull(params.getPro_komcode())) {
            wrapper.eq("matnr", params.getPro_komcode());
        }
        wrapper.in(collect.isEmpty(), "pro_id", collect);
        wrapper.in(komccodes.isEmpty(), "komccode", komccodes);
        Page<LocDetl> locDetls = locDetlService.selectPage(new Page<>(params.getCurr(), params.getLimit()), wrapper);
        List<LocDetl> detls = locDetlService.selectList(wrapper);
        return XSR.ok(locDetls.getRecords());
        return XSR.ok(detls);
    }
    /**
@@ -706,6 +711,60 @@
    }
    /**
     * 备货指示派工单反馈
     * @author Ryan
     * @date 2026/1/15 15:20
     * @param orderParams
     * @param order
     * @return com.zy.api.entity.dto.XSR
     */
    @Override
    public XSR reportOutDetailsResult(List<ReportOrderParam> orderParams, Order order) {
        if (Objects.isNull(orderParams)) {
            return XSR.error("参数不能为空!!");
        }
        String response = null;
        try {
            response = new HttpHandler.Builder()
                    .setUri(url + ":" + port)
                    .setPath(prefix + "/getOutDetailsResult")
                    .setJson(JSONObject.toJSONString(orderParams))
                    .build()
                    .doPost();
             if (Objects.isNull(response) || response.trim().isEmpty()) {
                return XSR.error("外网接口无响应!!");
            }
            JSONObject jsonObject = JSONObject.parseObject(response);
            Integer code = jsonObject.getInteger("code");
            if (!Objects.isNull(code) && code.equals(200)) {
                if (!Objects.isNull(order)) {
                    order.setReportOnce(5);
                    orderService.updateById(order);
                }
                return XSR.ok("入库单上报完成!!");
            } else {
                if (!Objects.isNull(order)) {
                    int reportOnce = order.getReportOnce();
                    reportOnce++;
                    order.setReportOnce(reportOnce);
                    orderService.updateById(order);
                }
                String msg = jsonObject.getString("message");
                return XSR.error(Objects.isNull(msg) ? "上报失败!!" : msg);
            }
        } catch (Exception e) {
            if (!Objects.isNull(order)) {
                int reportOnce = order.getReportOnce();
                reportOnce++;
                order.setReportOnce(reportOnce);
                orderService.updateById(order);
            }
            log.error(e.getMessage(), e);
            return XSR.error(e.getMessage());
        }
    }
    /**
     * 生成新的零件损溢单
     *
     * @param userId