WorkOrderCommoditiesService.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace App\Services;
  3. use App\Traits\ServiceAppAop;
  4. use App\WorkOrder;
  5. use App\WorkOrderCommodities;
  6. use App\WorkOrderDetail;
  7. class WorkOrderCommoditiesService
  8. {
  9. use ServiceAppAop;
  10. protected $modelClass = WorkOrderCommodities::class;
  11. public function createWorkOrderCommodityByJson(WorkOrderDetail $detail, $json)
  12. {
  13. $obj = json_decode($json);
  14. $detail->commodities()->create([
  15. 'work_order_id' => $detail->work_order_id ?? '',
  16. 'work_order_detail_id' =>$detail->id ?? '',
  17. 'commodity_id' => $obj->commodity_id ?? '',
  18. 'sku' => $obj->sku,
  19. 'amount' => $obj->amount ?? '',
  20. 'price' => $obj->price ?? '',
  21. 'logistic_number' => $obj->logistic_number ?? '',
  22. 'abnormal_amount' => $obj->abnormal_amount ?? '',
  23. 'check_amount' => $obj->check_amount ?? '',
  24. 'bao_shi_check_amount' => $obj->bao_shi_check_amount ?? '',
  25. 'check_result' => $obj->check_result ?? '',
  26. 'process_result' => $obj->process_result ?? '',
  27. 'abnormal_type' => $obj->abnormal_type ?? '',
  28. 'issue_type' => $detail->order_issue_type_id ?? '',
  29. ]);
  30. }
  31. /**
  32. * 工单详情
  33. * @param WorkOrderDetail $detail
  34. * @param $array
  35. */
  36. public function createWorkOrderCommoditiesByJsonArray(WorkOrderDetail $detail, $array)
  37. {
  38. foreach ($array as $json) {
  39. $this->createWorkOrderCommodityByJson($detail, $json);
  40. }
  41. }
  42. /**
  43. * @param WorkOrderDetail $detail
  44. * @param $array
  45. */
  46. public function updateWorkOrderCommoditiesByJsonArray(WorkOrderDetail $detail, $array)
  47. {
  48. foreach ($array as $json) {
  49. $this->updateWorkOrderCommoditiesByJson($detail, $json);
  50. }
  51. }
  52. /**
  53. * @param WorkOrderDetail $detail
  54. * @param $json
  55. */
  56. public function updateWorkOrderCommoditiesByJson(WorkOrderDetail $detail, $json)
  57. {
  58. $obj = json_decode($json);
  59. $detail->commodities()->where('id', $obj->id)->update([
  60. 'check_amount' => $obj->check_amount ?? '',
  61. 'bao_shi_check_amount' => $obj->bao_shi_check_amount ?? '',
  62. 'check_result' => $obj->check_result ?? '',
  63. 'process_result' => $obj->process_result ?? '',
  64. 'process_result_info' => $obj->process_result_info ?? '',
  65. ]);
  66. }
  67. /**
  68. * @param WorkOrderDetail $detail
  69. */
  70. public function undoneTag(WorkOrderDetail $detail)
  71. { // 标记为未完成历史标记
  72. $detail->commodities()->update(['tag' => 2]);
  73. }
  74. /**
  75. * @param WorkOrderDetail $detail
  76. */
  77. public function endDetail(WorkOrderDetail $detail)
  78. { // 标记为完成
  79. $detail->commodities()->update(['tag' => 1]);
  80. }
  81. }