SupplierPlatform.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <?php
  2. namespace app\admin\controller;
  3. //公司平台
  4. use think\facade\Db;
  5. use think\facade\Validate;
  6. class SupplierPlatform extends Base
  7. {
  8. //列表
  9. public function getList()
  10. {
  11. $param = $this->request->only(['page' => 1, 'size' => 10, 'supplier_name' => '', 'platform_name' => '', 'supplierNo' => ''], 'post', 'trim');
  12. $where = [['a.is_del', '=', 0]];
  13. if ($param['supplier_name'] != '') $where[] = ['b.name', 'like', '%' . $param['supplier_name'] . '%'];
  14. if ($param['platform_name'] != '') $where[] = ['c.platform_name', 'like', '%' . $param['platform_name'] . '%'];
  15. if ($param['supplierNo'] != '') $where[] = ['a.supplierNo', '=', $param['supplierNo']];
  16. $count = Db::name('supplier_platform')
  17. ->alias('a')
  18. ->leftJoin('supplier b', 'b.code=a.supplierNo')
  19. ->leftJoin('platform c', 'c.id=a.platform_id AND c.is_del=0')
  20. ->where($where)
  21. ->count('a.id');
  22. $list = Db::name('supplier_platform')
  23. ->alias('a')
  24. ->field('a.id,b.name supplier_name,c.platform_name,c.platform_code,a.status')
  25. ->leftJoin('supplier b', 'b.code=a.supplierNo')
  26. ->leftJoin('platform c', 'c.id=a.platform_id AND c.is_del=0')
  27. ->where($where)
  28. ->order('a.id', 'desc')
  29. ->page($param['page'], $param['size'])
  30. ->select()
  31. ->toArray();
  32. return json_show(0, '获取列表成功', ['count' => $count, 'list' => $list]);
  33. }
  34. //添加
  35. public function add()
  36. {
  37. $param = $this->request->only(['supplierNo', 'platform_id'], 'post', 'trim');
  38. $val = Validate::rule([
  39. 'supplierNo|公司编码' => 'require|length:18',
  40. 'platform_id|平台id' => 'require|array|max:100',
  41. ]);
  42. if (!$val->check($param)) return json_show(1004, $val->getError());
  43. //该公司下已存在的平台id
  44. $exis_platform_id = Db::name('supplier_platform')
  45. ->where(['is_del' => 0, 'supplierNo' => $param['supplierNo']])
  46. ->column('id', 'platform_id');
  47. $insert = [];
  48. $date = date('Y-m-d H:i:s');
  49. foreach ($param['platform_id'] as $platform_id) {
  50. if (!isset($exis_platform_id[$platform_id])) {
  51. $insert[] = [
  52. 'platform_id' => $platform_id,
  53. 'supplierNo' => $param['supplierNo'],
  54. 'status' => 1,
  55. 'is_del' => 0,
  56. 'addtime' => $date,
  57. 'updatetime' => $date,
  58. ];
  59. }
  60. }
  61. $rs = 0;
  62. if ($insert) $rs = Db::name('supplier_platform')->insertAll($insert);
  63. return $rs ? json_show(0, '添加成功') : json_show(1004, '添加失败');
  64. }
  65. //详情
  66. public function info()
  67. {
  68. $id = $this->request->post('id/d', 0, 'trim');
  69. $rs = Db::name('supplier_platform')
  70. ->where(['id' => $id, 'is_del' => 0])
  71. ->findOrEmpty();
  72. return json_show(0, '获取详情成功', $rs);
  73. }
  74. //编辑
  75. public function update()
  76. {
  77. $param = $this->request->only(['id', 'platform_id'], 'post', 'trim');
  78. $val = Validate::rule([
  79. 'id' => 'require|number|gt:0',
  80. 'platform_id|平台id' => 'require|number|gt:0',
  81. ]);
  82. if (!$val->check($param)) return json_show(1004, $val->getError());
  83. $rs = Db::name('supplier_platform')
  84. ->field('id,supplierNo')
  85. ->where(['is_del' => 0, 'id' => $param['id']])
  86. ->findOrEmpty();
  87. if (empty($rs)) return json_show(1004, '该记录不存在');
  88. $tmp = Db::name('supplier_platform')
  89. ->field('id')
  90. ->where(['is_del' => 0, 'supplierNo' => $rs['supplierNo'], 'platform_id' => $param['platform_id']])
  91. ->where('id', '<>', $param['id'])
  92. ->findOrEmpty();
  93. if (!empty($tmp)) return json_show(1004, '该平台在该公司下已存在');
  94. $rs = Db::name('supplier_platform')
  95. ->where(['is_del' => 0, 'id' => $param['id']])
  96. ->update([
  97. 'platform_id' => $param['platform_id'],
  98. 'updatetime' => date('Y-m-d H:i:s')
  99. ]);
  100. return $rs ? json_show(0, '修改成功') : json_show(1004, '修改失败');
  101. }
  102. //启禁用
  103. public function status()
  104. {
  105. $param = $this->request->only(['id', 'status'], 'post', 'trim');
  106. $val = Validate::rule([
  107. 'id' => 'require|number|gt:0',
  108. 'status|状态' => 'require|number|in:0,1',
  109. ]);
  110. if (!$val->check($param)) return json_show(1004, $val->getError());
  111. $tmp = Db::name('supplier_platform')
  112. ->field('id,status')
  113. ->where(['is_del' => 0, 'id' => $param['id']])
  114. ->findOrEmpty();
  115. if (empty($tmp)) return json_show(1004, '该记录不存在');
  116. if ($tmp['status'] == $param['status']) return json_show(1004, '重复操作');
  117. $rs = Db::name('supplier_platform')
  118. ->where(['is_del' => 0, 'id' => $param['id']])
  119. ->where('status', '<>', $param['status'])
  120. ->update([
  121. 'status' => $param['status'],
  122. 'updatetime' => date('Y-m-d H:i:s')
  123. ]);
  124. return $rs ? json_show(0, '操作成功') : json_show(1004, '操作失败');
  125. }
  126. //删除
  127. public function delete()
  128. {
  129. $id = $this->request->post('id/d', 0, 'trim');
  130. $rs = Db::name('supplier_platform')
  131. ->where(['is_del' => 0, 'id' => $id])
  132. ->update([
  133. 'is_del' => 1,
  134. 'updatetime' => date('Y-m-d H:i:s')
  135. ]);
  136. return $rs ? json_show(0, '删除成功') : json_show(1004, '删除失败');
  137. }
  138. }