| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
- namespace App\Services;
- use App\Traits\ServiceAppAop;
- use App\WorkOrderCommodities;
- use App\WorkOrderDetail;
- class WorkOrderCommoditiesService
- {
- use ServiceAppAop;
- protected $modelClass = WorkOrderCommodities::class;
- public function createWorkOrderCommodityByJson(WorkOrderDetail $detail, $json)
- {
- $obj = json_decode($json);
- $detail->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]);
- }
- }
|