| | |
| | | |
| | | 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 { |
| | | |
| | |
| | | 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; |
| | | |
| | | |
| | | /** |
| | | * 接收下发订单信息 |
| | |
| | | */ |
| | | @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(); |
| | |
| | | } |
| | | 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; |
| | | } |
| | | |
| | | /* */ |
| | |
| | | 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()))) { |
| | | // 出库 |
| | |
| | | }); |
| | | } |
| | | |
| | | private String kopen() { |
| | | return url + ":" + port + prefix; |
| | | } |
| | | |
| | | } |