package com.sunda.spmsorder.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sunda.spmsorder.entity.OrderLog;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 订单审批记录表 服务类
 * </p>
 *
 * @author Wayne
 * @since 2021-02-03
 */
public interface IOrderLogService extends IService<OrderLog> {

    void insertOrderLog(OrderLog orderLog);

    void saveOrderLog(String userId, String comments, String uuid);

    /** 根据车间请购单号，查询车间请购单日志信息 */
    List<Map<String, Object>> orderLogList(String spmsWsId);

    /** 根据工厂请购单号，查询工厂请购单日志信息 */
    List<Map<String, Object>> orderLogLists(String spmsId);

    /** 根据车间请购单号 或 工厂请购单号查询请购单据在SRM状态。orderType：1车间请购单，2工厂请购单；orderUuid 对应单号 UUID*/
    List<Map<String, Object>> getOrderLogSrm(String orderType, String orderUuid);

    /** 发送 REST 请求到 ESB，数据格式化 
     * @throws Exception */
    JSONObject formatDataSend(List<Map<String, Object>> orderWerksInfo) throws Exception;

    /** ESB 请求后返回数据格式化处理后再返回给前端 */
    JSONArray formatDataReceived(String received, List<Map<String, Object>> mapList);

    /** 根据物料申请单uuid查询关联操作日志 */
    List<Map<String, Object>> getOrderLogList(String uuid);
}
