commodities()->create([ 'work_order_id' => $detail->work_order_id ?? '', 'work_order_detail_id' =>$detail->id ?? '', 'commodity_id' => $obj->commodity_id ?? '', 'sku' => $obj->sku ?? '', 'amount' => $obj->amount ?? '', 'price' => $obj->price ?? '', 'logistic_number' => $obj->logistic_number ?? '', 'abnormal_amount' => $obj->abnormal_amount ?? '', 'check_amount' => $obj->check_amount ?? '', 'bao_shi_check_amount' => $obj->bao_shi_check_amount ?? '', 'reissue_logistic_number' => $obj->reissue_logistic_number ?? '', 'store_in_number' => $obj->store_in_number ?? '', 'check_result' => $obj->check_result ?? '', 'process_result' => $obj->process_result ?? '', 'abnormal_type' => $obj->abnormal_type ?? '', 'issue_type' => $detail->order_issue_type_id ?? '', 'out_order_number' => $detail->out_order_number ?? '', ]); } /** * 工单详情 * @param WorkOrderDetail $detail * @param $array */ public function createWorkOrderCommoditiesByJsonArray(WorkOrderDetail $detail, $array) { foreach ($array as $json) { $this->createWorkOrderCommodityByJson($detail, $json); } } /** * @param WorkOrderDetail $detail * @param $array */ public function updateWorkOrderCommoditiesByJsonArray(WorkOrderDetail $detail, $array) { foreach ($array as $json) { $this->updateWorkOrderCommoditiesByJson($detail, $json); } } /** * @param WorkOrderDetail $detail * @param $json */ public function updateWorkOrderCommoditiesByJson(WorkOrderDetail $detail, $json) { $obj = json_decode($json); $detail->commodities()->where('id', $obj->id)->update([ 'check_amount' => $obj->check_amount ?? '', 'bao_shi_check_amount' => $obj->bao_shi_check_amount ?? '', 'abnormal_amount' => $obj->abnormal_amount ?? '', 'abnormal_type' => $obj->abnormal_type ?? '', 'check_result' => $obj->check_result ?? '', 'price' => $obj->price ?? '', 'process_result' => $obj->process_result ?? '', 'process_result_info' => $obj->process_result_info ?? '', 'reissue_logistic_number' => $obj->reissue_logistic_number ?? '', // 补发单号 'store_in_amount' => $obj->store_in_amount ?? '', // 入库数量 'store_in_number' => $obj->store_in_number ?? '', // 入库单号 'out_order_number' => $obj->out_order_number ?? '', // 入库单号 'end_handle_result' => $obj->end_handle_result ?? '', // 最终处理 ]); } public function deleteCommodities($detail,$delete_ids) { if (!$delete_ids) return ; WorkOrderCommodities::query()->where('work_order_detail_id',$detail->id)->whereIn('id',$delete_ids)->delete(); } /** * 标记为未完成历史标记 * @param WorkOrderDetail $detail */ public function undoneTag(WorkOrderDetail $detail) { $detail->commodities()->update(['tag' => 2]); } /** * 标记为完成 * @param WorkOrderDetail $detail */ public function endDetail(WorkOrderDetail $detail) { $detail->commodities()->update(['tag' => 1]); } }