UpdateProcessWaitFinallyData.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <?php
  2. declare (strict_types=1);
  3. namespace app\command;
  4. use think\console\Command;
  5. use think\console\Input;
  6. use think\console\input\Argument;
  7. use think\console\input\Option;
  8. use think\console\Output;
  9. use think\Exception;
  10. use think\facade\Db;
  11. class UpdateProcessWaitFinallyData extends Command
  12. {
  13. protected function configure()
  14. {
  15. // 指令配置
  16. $this->setName('UpdateProcessWaitFinallyData')
  17. ->setDescription('更新待办数据表中的字段:实时状态值和实时操作人');
  18. }
  19. protected function execute(Input $input, Output $output)
  20. {
  21. Db::startTrans();
  22. try {
  23. $data = Db::name('process_wait')
  24. ->field('order_code,order_type,order_id')
  25. ->group('order_code,order_type,order_id')
  26. ->whereIn('status', [1, 2])
  27. ->cursor();
  28. foreach ($data as $value) {
  29. $order_process_finally = 0;
  30. switch ($value['order_type']) {
  31. //1.采购单流程
  32. case 'CGD':
  33. $order_process_finally = Db::name('purchease_order')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  34. break;
  35. //2.采购单入库流程
  36. case 'RKD':
  37. $order_process_finally = Db::name('purchease_in')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  38. break;
  39. //3.备货申请单流程
  40. case 'BHD':
  41. $order_process_finally = Db::name('purchease')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  42. break;
  43. //4.销售订单流程
  44. case 'XSQRD':
  45. $order_process_finally = Db::name('sale')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  46. break;
  47. //5.发货申请单流程
  48. case 'CKD':
  49. $order_process_finally = Db::name('order_out')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  50. break;
  51. //6.售后申请单流程
  52. case 'SHD':
  53. $order_process_finally = Db::name('order_return')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  54. break;
  55. //7.售后退货单流程
  56. case 'CKTHD':
  57. $order_process_finally = Db::name('order_back')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  58. break;
  59. //8.销售退货单流程
  60. case 'XSTHD':
  61. $order_process_finally = Db::name('sale_return')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  62. break;
  63. //9.采购工差单流程
  64. case 'CGGCD':
  65. $order_process_finally = Db::name('purchease_diff')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  66. break;
  67. //10.销售工差单流程
  68. case 'XSGCD':
  69. $order_process_finally = Db::name('sale_diff')
  70. ->where(['id' => $value['order_id']])
  71. ->value('status', 0);
  72. break;
  73. //11.调拨单流程
  74. case 'DBD':
  75. $order_process_finally = Db::name('allot_stock')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  76. break;
  77. //12.盘点单流程
  78. case 'PDD':
  79. $order_process_finally = Db::name('good_check')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  80. break;
  81. //13.议价单流程
  82. case 'YJD':
  83. $order_process_finally = Db::name('bargain_order')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  84. break;
  85. //14.项目单流程
  86. case 'PRO':
  87. $order_process_finally = Db::name('project')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  88. break;
  89. //15.商品成本流程
  90. case 'SPCB':
  91. $order_process_finally = Db::name('good_basic')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  92. break;
  93. //16.商品上线流程
  94. case 'SPSX':
  95. $order_process_finally = Db::name('good_platform')
  96. ->where(['id' => $value['order_id']])
  97. ->value('exam_status', 0);
  98. break;
  99. //17.活动流程
  100. case 'HD':
  101. $order_process_finally = Db::name('good_activity')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  102. break;
  103. //19.有赞商品上架流程
  104. case 'YZSX':
  105. $order_process_finally = Db::name('platform_youzan')
  106. ->where(['id' => $value['order_id']])
  107. ->value('exam_status', 0);
  108. break;
  109. //20.有赞订单审核流程
  110. // case 'YZQRD':
  111. // $order_process_finally = Db::name('')->where(['id' => $value['order_id'], 'is_del' => 0])->value('', 0);
  112. // break;
  113. //22.离职交接流程
  114. case 'LZJJ':
  115. $order_process_finally = Db::name('resign_info')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  116. break;
  117. //23.采购单退货流程
  118. case 'CGTHD':
  119. $order_process_finally = Db::name('purchease_return')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  120. break;
  121. //24.竞价单流程
  122. case 'ZXD':
  123. $order_process_finally = Db::name('consult_order')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  124. break;
  125. //25.商品下线流程
  126. // case 'GOL':
  127. // $order_process_finally = Db::name('good_offline_log')->where(['id' => $value['order_id'], 'is_del' => 0])->value('status', 0);
  128. // break;
  129. }
  130. if ($order_process_finally) Db::name('process_wait')
  131. ->where('order_code', $value['order_code'])
  132. ->where('order_type', $value['order_type'])
  133. ->update(['order_process_finally' => $order_process_finally]);
  134. }
  135. Db::commit();
  136. $output->writeln('update success');
  137. } catch (Exception $exception) {
  138. Db::rollback();
  139. $output->writeln('update fail,' . $exception->getMessage());
  140. }
  141. }
  142. }