<?php namespace Meibuyu\Rpc\Service\Interfaces\Production; use App\Model\ApprovalFlowConfiguration; use Meibuyu\Micro\Exceptions\HttpResponseException; interface ProductionServiceInterface { /** * 生产单批次发货入库回调 * @param array $params * [ * 'production_no' => 'SC20201218-001-001', // 生产单号,必须 * 'auth' => Auth::user(), // 当前用户,必须 * 'warehousing_order' => [ * 'id' => '123', // 入库单id,必须 * 'warehousing_no' => 'RK-20200727-001', // 入库单号,必须 * 'count' => '123', // 入库数量, 必须 * ] * ] * @throws \Meibuyu\Rpc\Exceptions\RpcException * @author Zero */ public function warehousingCallback(array $params); /** * 通过入库单id获取相关数据 * @param array $warehousingOrderIds 默认去重 * @return array 默认keyBy */ public function getInfoForWarehousingOrder(array $warehousingOrderIds); /** * 通过生产单号获取生产单工厂信息 * @param array $productionNoList 生产单号数组,默认去重 * @return array 'production_no' => ['factory_id' => 1, 'factory_name' => 'AL'] * @author Zero */ public function getFactoryByProductionNoList(array $productionNoList): array; /** * 查询备货计划中是否用过仓库子产品 * @param array $ids 仓库子产品id数组,默认去重 * @return array 返回用过的id数组 */ public function searchUsedProductChildId($ids); /** * 查询备货计划中是否用过平台子产品 * @param array $ids 平台子产品id数组,默认去重 * @return array 返回用过的id数组 */ public function searchUsedPlatformProductChildId($ids); /** * 通过生产单号获取生产单产品数据 * @param $productionNo * @return array * @throws \Meibuyu\Rpc\Exceptions\RpcException * @author Zero */ public function getProductionProductInfoByNo($productionNo): array; /** * 仓库返工出库回调 * @param array $params * @throws \Meibuyu\Rpc\Exceptions\RpcException * @author Zero */ public function exWarehouseCallback(array $params); /** * 获取生产单留言信息 * @param array $params * @throws \Meibuyu\Rpc\Exceptions\RpcException * @author Zero */ public function productionMessages($params); /** * 生产单留言操作 * @param array $params * @throws \Meibuyu\Rpc\Exceptions\RpcException * @author Zero */ public function toMessage($params); /** * 获取生产单列表是否有未读消息 * @param $productionNoArr * @param string $source */ public function getListMessageReadStatus($productionNoArr,$source='factory'); /** * 更新备货计划产品工艺单维护信息 * @param $productId 产品id * @param $status 工艺维护状态 0未维护,1已维护,2部分维护 * @return mixed */ public function productCraftMaintain($productId,$status); /** * 获取生产单信息 * @param $productionNoArr 生产单号 * @param array $columns 生产主表字段 * @param $relation 关联信息 * @return mixed */ public function productionInfo($productionNoArr,$columns = ['*'],$relation=['production_order_products']); /** * 根据订单汇总消息 * @return mixed */ public function getProductionCountMessage(); /** * 获取订单留言表的product_order_id * @return mixed */ public function getMessageProductionOrderIds(); /** * 发送留言 * @return mixed */ public function pushProductionMessage(array $params); /** * 获取留言 * @return mixed */ public function getProductionMessage(array $params); /** * 已读标记 * @return mixed */ public function isReadProductionMessage(array $params); /** * Notes: 获取礼服备货单信息 * User: carlos * DateTime: 2022/11/8 18:48 * @param $code * @return array */ public function getStockUpOrder($code): array; /** * Notes: 收货 * User: carlos * DateTime: 2022/11/21 10:34 * [ * 'delivery_no' => '', //发货单号 * 'package_num' => , //收到包裹数量 * 'user_id' => '', //收货人id * 'user_name' => '', //收货人姓名 * ] */ public function confirmDelivery($params); /** * Notes: 取消发货订单 * User: carlos * DateTime: 2022/11/22 9:20 * @param $params */ public function cancelDelivery($params); /** * Notes: 创建生产异常单 * User: carlos * DateTime: 2022/11/21 16:36 */ public function createProductionException($params); /** * Notes: 返修退回 * User: carlos * DateTime: 2022/11/22 13:58 */ public function repairReturn($params); /** * 发送留言-小货 * @param $params * @throws HttpResponseException */ public function pushOutsideMessage($params); /** * Notes: 获取小货-留言 * User: carlos * DateTime: 2022/11/26 10:40 */ public function getOutsideMessage($id); /** * Notes: 获取礼服备货审核信息 * User: carlos * DateTime: 2022/11/29 16:59 * @param $code */ public function getStockUpDressApproval($code); /** * Notes: 飞书审批回调 * User: carlos * DateTime: 2022/11/30 19:09 * @param $params */ public function stockUpDetailCallBack($params); /** * 工厂信息合同 * @param $params * @author Lin jixin * date 2023/1/11 10:28 */ public function contractInfo($params); /** * 下载合同 * @param $params * @author Lin jixin * date 2023/1/11 15:48 */ public function dowloadContract($params); /** * 下载销售订单合同 * @param $params * @author Lin jixin * date 2023/1/13 10:48 */ public function OrderContractExport($params); /*** * Notes: 获取备货金额信息 * User: carlos * DateTime: 2023/5/12 16:56 */ public function getStockUpPlanMoneyInfo(); /** * 获取订单是否为组合产品 * @param $stockUpPlanIds */ public function getGroupProduct($stockUpPlanIds); /** * 检查审批配置是否开启操作规则 * @param $operation_type * @return bool */ public function getApprovalTypeIsTrue($operation_type); /** * 获取跟单员、订单类型、合作方式 */ public function getProductionOrderMember(); /** * 通过订单号获取备货计划信息 * @param $ProductionOrders */ public function getStockPlanInfo($ProductionOrders); /** * 保存二次分派跟单员 * @param $params */ public function saveApportionProcessUser($params); /** * 通过生产单号,或者计划单号获取抄送人 * @param $type * @param $No * @return array|bool */ public function getNoticeUser($type,$No); /** * 通过单号获取采购单位 * @param $production_no * @return array */ public function getPlanUnit($production_no); }