SupplierPlatformCatProfit.php 7.2 KB

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