自动化立体仓库 - WMS系统
IZCD4L12RTSW0VZ\Administrator
13 小时以前 43f9cf624b83c9d3d0e2280a1404dcc52695a18d
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -37,17 +37,17 @@
import com.zy.asrs.utils.Utils;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
@Slf4j
@Service("kopenApiServiceImpl")
public class KopenApiServiceImpl implements KopenApiService {
@@ -65,6 +65,13 @@
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private CheckOrderDetlService checkOrderDetlService;
    @Value("${kopen.url}")
    private String url;
    @Value("${kopen.port}")
    private String port;
    @Value("${kopen.prefix}")
    private String prefix;
    /**
     * 接收下发订单信息
@@ -94,15 +101,16 @@
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public XSR getInDispatchResult(List<ReportOrderParam> params) {
    public XSR getInDispatchResult(List<ReportOrderParam> params, Order order) {
        if (Objects.isNull(params)) {
            return XSR.error("参数不能为空!!");
        }
        String response = null;
        try {
            response = new HttpHandler.Builder()
                    .setUri("127.0.0.1:8081")
                    .setPath("/wms/order/getInDispatchResult")
                    .setUri(url + ":" + port)
                    .setPath(prefix + "/getInDispatchResult")
                    .setJson(JSONObject.toJSONString(params))
                    .build()
                    .doPost();
@@ -111,15 +119,52 @@
            }
            JSONObject jsonObject = JSONObject.parseObject(response);
            Integer code = jsonObject.getInteger("code");
            if (!Objects.isNull(code) && code.equals(1)) {
            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());
        }
    }
    /**
     * 获取自定义请求头
     * @author Ryan
     * @date 2025/12/29 9:11
     * @return java.util.Map<java.lang.String,java.lang.Object>
     */
    private Map<String, Object> getHeaderParam() {
        Map<String, Object> headerParam = new HashMap<>();
//        headerParam.put("accept", "*/*");
//        headerParam.put("connection", "Keep-Alive");
        //设置请求连接的Token
        headerParam.put("api_key", "WMS");
        headerParam.put("charset", "UTF-8");
        headerParam.put("timestamp", new Date());
        headerParam.put("format", "xml");
        headerParam.put("signature", "c56ced444ed772098ffeb59537bbfa59");
        return headerParam;
    }
    /* */
@@ -296,7 +341,11 @@
                // 备货指示派工单(EO/SO)出库
                order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",
                        orderParams.getDispatch_no()));
            } else {
                throw new CoolException("单据类型不存在,不支持添加!!");
            }
        } else {
            throw new CoolException("单据类型不存在,不支持添加!!");
        }
        // 出库
        if (type.equals("add") && !Objects.isNull(order)) {
@@ -338,7 +387,8 @@
        if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
            // 入库
            newOrder.setPakinPakoutStatus(1);
            newOrder.setDocType(Long.parseLong(params.getType()));
            Integer docType = OrderWkType.getDocType(params.getType());
            newOrder.setDocType(Long.parseLong(docType + ""));
            newOrder.setNumber(params.getInv_no());
        } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
            // 出库
@@ -591,4 +641,8 @@
        });
    }
    private String kopen() {
        return url + ":" + port + prefix;
    }
}