<?php /** * Created by PhpStorm. * User: zhaopeng * Date: 2020/9/1 * Time: 10:09 */ namespace Meibuyu\Rpc\Service\Interfaces\Order; interface SubOrderServiceInterface { /** * @param int $id * @param array $column 需要查询的字段 * @param array $relation 需要的子订单关联关系可传入['order','order_product'] * @return array | null */ public function getById(int $id, array $column = ['*'], array $relation = []): array; /** * * @param array $idList 子订单的ID 数组[1,2,3] * @param array $column 需要查询字段 * @param array $relation 需要的关联关系可传入['order','order_product'] * @return array | null */ public function getByIdList(array $idList, array $column = ['*'], array $relation = []): array; /** * @param array $idList 需要改变发货状态的子订单ID数组 * @param int $status 需要改变的发货状态ID 1 待发货 2 已发货 3 已签收 4 已取消 * @return bool */ public function updateSubOrderShipStatus(array $idList, int $status): bool; /** * 需要改变的子订单id * @param int $id * @return bool */ public function StockIntoUpdateSubOrderStatus(int $id): bool; /** * description:通过来源单号获取生产工厂 * author: fuyunnan * @param * @return array * @throws * Date: 2020/10/29 */ public function getBySourcesFactory($sources): array; /** * * @param array $source 来源单号数组 * @return array */ public function getBySourceSite($source): array; /** * 订单采购完成 修改子订单信息 ---1688采购系统使用 * @param $data //修改参数数组(二维数组) * 参数字段:$data = [ * [ * 'sub_order_no'=>oa子订单编号 * 'supplier_name'=>供应商, * 'purchase_price'=>采购总价, * 'platform_order'=>'采购平台订单号', * 'domestic_logistics_no'=>物流单号, * 'domestic_logistics_price'=>物流价格 * ], * [ * 'sub_order_no'=>oa子订单编号 * 'supplier_name'=>供应商, * 'purchase_price'=>采购总价, * 'platform_order'=>'采购平台订单号', * 'domestic_logistics_no'=>物流单号, * 'domestic_logistics_price'=>物流价格 * ] * ] * @return bool */ public function purchaseCompleted($data, $type): bool; /** * 1688采购异常订单 修改OA子订单状态 * @param $orderId //oa子订单id * @param $errorCode //异常信息 1 取消 2其他 * @return array */ public function purchaseError($orderId, $errorCode): array; /** * 1688采购取消 * @param $orderNo * @param $editData * @return bool */ public function purchaseCancel($orderNo, $editData = []): bool; /** * 1688采购 修改oa子订单 * @param $editData * $editData = [ * 'logistic_no'=>'需要修改的物流单号' * 'logistic_no_new'=>'修改后的物流单号', * 'logistic_price'=>'物流费用', * ] * @return array */ public function purchaseEdit($editData): bool; /** * 删除物流信息 * @param $data =>[ * 'sub_order_no'=>'子订单号', * 'logistic_no'=>'物流单号' * ] * @return bool */ public function purchaseDelete($data): bool; /** * 通过子订单获取出库信息 * @param array $subOrderNos * @return array (返回满足出库条件的子订单号以及出库数量 keyBy sub_order_no) */ public function isOutStockInfo(array $subOrderNos = []):array; /** * 通过子订单号获取子订单信息 * @param array $subOrderNos * @return array */ public function getSubOrderInfoByNo(array $subOrderNos = [], array $column = ['sub_order_no','shipping_notes','dispatch_notes','product_specification']): array; /** * 获取手动采购对应的成本单价(总成本 + 运费) / 对应的数量 * @param $subOrderNo * @return mixed */ public function getManualPurchaseUnitPriceBySubOrderNo($subOrderNo); /** * 获取【订单中心-采购入库】对应的成本单价 * @param $subOrderNo * @return mixed */ public function getOrderPurchaseUnitPrice($subOrderNo); /** * 获取销售退回单价 * 这里的 orderNo 有可能是主订单的 order_no, 也有可能是子订单的 sub_order_no, 先从 * @param $orderNo * @param $productId * @return mixed */ public function getSalesReturnUnitPrice($orderNo, $productId); /** * 获取主订单下的所有子订单列表 * * @param string $subOrderNo 子订单号 * @return mixed */ public function getBySubOrderNo(string $subOrderNo); }