ProcessLib.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use Monolog\Handler\IFTTTHandler;
  5. use Overtrue\Socialite\Providers\WeWorkProvider;
  6. use think\Db;
  7. use think\Request;
  8. use function fast\e;
  9. /**
  10. * 产品_工艺库
  11. */
  12. class ProcessLib extends Api
  13. {
  14. protected $noNeedLogin = ['*'];
  15. protected $noNeedRight = ['*'];
  16. public function index(){
  17. $this->success('产品_工艺资料库');
  18. }
  19. /**
  20. * 新增产品工艺库
  21. */
  22. /**
  23. * 新增产品工艺库
  24. */
  25. /**
  26. * 新增产品工艺库
  27. */
  28. public function ProcessAdd(){
  29. if (Request::instance()->isPost() == false){
  30. $this->error('非法请求');
  31. }
  32. $params = Request::instance()->param();
  33. // 单条/多条统一处理
  34. $insertData = [];
  35. if (isset($params['gy_name'])) {
  36. $insertData[] = $params;
  37. } else {
  38. $insertData = $params;
  39. }
  40. // ========== 自动生成 GX 编号 ==========
  41. $lastCode = \db('产品_工艺库')->order('id desc')->whereNull('mod_rq')->value('gy_code');
  42. if ($lastCode) {
  43. $num = intval(str_replace('GX', '', $lastCode)) + 1;
  44. } else {
  45. $num = 1; // 空表从 1 开始
  46. }
  47. // 批量生成编号
  48. foreach ($insertData as &$item) {
  49. $item['gy_code'] = 'GX' . str_pad($num, 6, '0', STR_PAD_LEFT);
  50. $item['status'] = 1;
  51. $item['create_time'] = date('Y-m-d H:i:s');
  52. $num++;
  53. }
  54. // echo "<pre>";
  55. // print_r($insertData);
  56. // echo "<pre>";die;
  57. $result = \db('产品_工艺库')->insertAll($insertData);
  58. return $result ? $this->success('新增成功') : $this->error('新增失败');
  59. }
  60. /**
  61. * 获取产品工艺库
  62. */
  63. public function ProcessList(){
  64. if (Request::instance()->isGet() == false){
  65. $this->error('非法请求');
  66. }
  67. $params = Request::instance()->param();
  68. $where = [];
  69. if (!empty($params['search'])){
  70. $where['工序编码|工序名称|生产工序'] = array('like','%'.$params['search'].'%');
  71. }
  72. $limit = $params['limit'];
  73. if (empty($limit)){
  74. $limit = 30;
  75. }
  76. $pages = $params['page'];
  77. if (empty($pages)){
  78. $pages = 1;
  79. }
  80. $list = Db::name('产品_工艺库')->whereNull('mod_rq')->where($where)->page($pages)->limit($limit)->order('id desc')->select();
  81. $total = Db::name('产品_工艺库')->whereNull('mod_rq')->where($where)->count();
  82. $data['list'] = $list;
  83. $data['total'] = $total;
  84. $this->success('获取工艺库列表',$data);
  85. }
  86. /**
  87. * 修改产品工艺库
  88. */
  89. public function ProcessEdit(){
  90. if (!Request::instance()->isPost()) {
  91. $this->error('非法请求');
  92. }
  93. // 获取前端传参:必须带 id
  94. $params = Request::instance()->param();
  95. // 必传参数校验
  96. if (empty($params['id'])) {
  97. $this->error('请选择要修改的数据');
  98. }
  99. // 不允许修改的字段(如果不需要可以删掉)
  100. unset($params['gy_code']);
  101. unset($params['create_time']);
  102. $params['updatetime'] = date('Y-m-d H:i:s');
  103. // echo "<pre>";
  104. // print_r($params);
  105. // echo "<pre>";die;
  106. // 执行更新
  107. $result = \db('产品_工艺库')
  108. ->where('id', $params['id'])
  109. ->update($params);
  110. if ($result !== false) {
  111. $this->success('修改成功');
  112. } else {
  113. $this->error('修改失败');
  114. }
  115. }
  116. /**
  117. * 删除产品工艺库(软删除,修改mod_rq=1)
  118. * 支持单条 / 多条删除,前端传 id 逗号分隔
  119. */
  120. public function ProcessDelete(){
  121. if (!Request::instance()->isPost()) {
  122. $this->error('非法请求');
  123. }
  124. $params = Request::instance()->param();
  125. // 接收前端传的 id 字符串:1,2,3
  126. $ids = $params['id'] ?? '';
  127. if (empty($ids)) {
  128. $this->error('请选择需要删除的数据');
  129. }
  130. // 转成数组
  131. $idArray = explode(',', $ids);
  132. $result = \db('产品_工艺库')
  133. ->where('id', 'in', $idArray)
  134. ->update(['mod_rq' => date('Y-m-d H:i:s')]);
  135. if ($result !== false) {
  136. $this->success('删除成功');
  137. } else {
  138. $this->error('删除失败');
  139. }
  140. }
  141. }