ProcessLib.php 4.9 KB

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