GoodOfflineLog.php 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\model\DataGroup as DataGroupModel;
  4. use think\facade\Db;
  5. use think\facade\Validate;
  6. class GoodOfflineLog extends Base
  7. {
  8. //列表
  9. public function getList()
  10. {
  11. $param = $this->request->only(['start_date' => '',"type"=>1,'companyNo' => '','supplierNo' => '','relaComNo' =>
  12. '', "spuCode"=>'',"good_name"=>'','end_date' => '', 'creater' => '', 'page' => 1,'size' => 15], 'post', 'trim');
  13. $where = [["a.type","=",$param["type"]]];
  14. if ($param['start_date'] != '' && $param['end_date'] != '') $where[] = ['a.addtime', 'between', [$param['start_date'], $param['end_date']]];
  15. if ($param['creater'] != '') $where[] = ['a.creater', 'like', '%' . $param['creater'] . '%'];
  16. if ($param['spuCode'] != '') $where[] = ['a.spuCode', 'like', '%' . $param['spuCode'] . '%'];
  17. if ($param['good_name'] != '') $where[] = ['a.good_name', 'like', '%' . $param['good_name'] . '%'];
  18. if ($param['companyNo'] != '') $where[] = ['b.companyNo', 'like', '%' . $param['companyNo'] . '%'];
  19. if ($param['supplierNo'] != '') $where[] = ['b.supplierNo', 'like', '%' . $param['supplierNo'] . '%'];
  20. $count = Db::name('good_offline_log')
  21. ->alias("a")
  22. ->leftJoin("good_basic b","a.spuCode=b.spuCode")
  23. ->where($where)
  24. ->count('a.id');
  25. $list = Db::name('good_offline_log')
  26. ->alias("a")
  27. ->field('a.id,a.spuCode,a.good_name,a.creater,a.addtime,a.createrid,b.companyNo,b.supplierNo')
  28. ->leftJoin("good_basic b","a.spuCode=b.spuCode")
  29. ->where($where)
  30. ->order('a.addtime', 'desc')
  31. ->page($param['page'], $param['size'])
  32. // ->append(['is_allow_update'])
  33. // ->withAttr('is_allow_update', function ($val, $data) use ($role) {
  34. // if ($this->level == 2) return (in_array($this->roleid, [1, 33]) || in_array($data['createrid'], $role[DataGroupModel::$type_可编辑])) ? 1 : 0; //是否具有编辑权限
  35. //
  36. // })
  37. ->select()
  38. ->toArray();
  39. $userCommon=\app\admin\common\User::getIns();
  40. $supplierInfo = $userCommon->handle('getCodeAndName',['code'=>array_merge(array_column($list,'companyNo'),array_column($list,'supplierNo'))]);
  41. foreach ($list as &$value){
  42. $value['companyName'] = $supplierInfo["data"][$value['companyNo']]??"";
  43. $value['supplierName'] = $supplierInfo["data"][$value['supplierNo']]??"";
  44. }
  45. return json_show(0, "获取成功", ['list' => $list, 'count' => $count]);
  46. }
  47. //详情
  48. public function getDetail()
  49. {
  50. $id = $this->request->post('id', null, 'trim');
  51. $val = Validate::rule(['id' => 'require|number|gt:0']);
  52. if (!$val->check(['id' => $id])) return error_show(1004, $val->getError());
  53. else {
  54. $res = Db::name('good_offline_log')
  55. ->alias('gol')
  56. ->field('gol.*,ri.result')
  57. ->where('gol.id', $id)
  58. ->leftJoin('result_info ri', 'ri.result_code=gol.offline_reason')
  59. ->find();
  60. $res['children_list'] = Db::name('good_platform')
  61. ->alias('gp')
  62. ->field('gp.id,gp.skuCode,p.platform_name,g.creater purchease,gp.creater')
  63. ->where(['gp.spuCode' => $res['spuCode']])
  64. ->whereIn('gp.skuCode', $res['skuCodes'])
  65. ->leftJoin('platform p', 'p.id=gp.platform_code')
  66. ->leftJoin('good g', 'g.spuCode=gp.spuCode')
  67. ->select()
  68. ->toArray();
  69. return app_show(0, "获取成功", $res);
  70. }
  71. }
  72. }