Process.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use \think\Request;
  5. use \think\Db;
  6. /**
  7. * 工序损耗管理接口
  8. */
  9. class Process extends Api
  10. {
  11. protected $noNeedLogin = ['*'];
  12. protected $noNeedRight = ['*'];
  13. /**
  14. * 首页
  15. *
  16. */
  17. public function index()
  18. {
  19. $this->success('请求成功');
  20. }
  21. /**
  22. * 单个工序损耗接口
  23. * @ApiMethod GET
  24. * @params string code
  25. */
  26. public function getProcessLoss(){
  27. if (Request::instance()->isGet() == false){
  28. $this->error('非法请求');
  29. }
  30. $params = Request::instance()->param();
  31. $code = $params['code'];
  32. if (!isset($code)){
  33. $this->error('参数不能为空');
  34. }
  35. $where['sys_bh'] = $code;
  36. $field = 'rtrim(sys_bh) as sys_bh,rtrim(sys_mc) as sys_mc,sys_rate0,sys_rate1,rtrim(适用机型) as remark';
  37. $data = Db::name('dic_lzsh')->where($where)->field($field)->select();
  38. $this->success('请求成功',$data);
  39. }
  40. /**
  41. * 获取工序损耗列表接口
  42. * @ApiParams GET
  43. */
  44. public function getProcess(){
  45. if (Request::instance()->isGet() == false){
  46. $this->error('非法请求');
  47. }
  48. $field = 'Key_,Parent,rtrim(sys_bh) as sys_bh,rtrim(sys_mc) as sys_mc';
  49. $list = Db::name('dic_lzsh')->field($field)->select();
  50. $data = [];
  51. $i = 0;
  52. foreach ($list as $value){
  53. if ($value['Parent'] == '0_'){
  54. $data[$i] = $value;
  55. //一级菜单
  56. $data[$i]['child'] = Db::name('dic_lzsh')->where('Parent',$value['Key_'])->field($field)->select();
  57. foreach ($data[$i]['child'] as $k=>$v){
  58. $children = Db::name('dic_lzsh')->where('Parent',$v['Key_'])->field($field)->select();
  59. //二级菜单
  60. $data[$i]['child'][$k]['children'] = $children;
  61. if (!empty($children)){
  62. foreach ($children as $key=>$item){
  63. $childrens = Db::name('dic_lzsh')->where('Parent',$item['Key_'])->field($field)->select();
  64. //三级菜单
  65. $data[$i]['child'][$k]['children'][$key]['childrens'] = $childrens;
  66. if (!empty($childrens)){
  67. foreach ($childrens as $k1=>$v1){
  68. $fiveChild = Db::name('dic_lzsh')->where('Parent',$v1['Key_'])->field($field)->select();
  69. $data[$i]['child'][$k]['children'][$key]['childrens'][$k1]['fiveChild'] = $fiveChild;
  70. }
  71. }else{
  72. $data[$i]['child'][$k]['children'][$key]['childrens'] = [];
  73. }
  74. }
  75. }else{
  76. $data[$i]['child'][$k]['children']= [];
  77. }
  78. }
  79. $i++;
  80. }
  81. }
  82. $this->success('请求成功',$data);
  83. }
  84. /**
  85. * 获取工序损耗编码
  86. * @ApiMethod GET
  87. * @params string code
  88. * @params string same_item
  89. * @params string child_item
  90. */
  91. public function getProcessCode(){
  92. if (Request::instance()->isGet() == false){
  93. $this->error('非法请求');
  94. }
  95. $params = Request::instance()->param();
  96. if (!isset($params['code']) || !isset($params['same_item']) || !isset($params['child_item'])){
  97. $this->error('参数错误');
  98. }
  99. $code = $params['code'];
  100. if (empty($code)){//科目编码为空,表示需要增加一级科目
  101. $res = Db::name('dic_lzsh')->where('Parent','0_')->field('rtrim(sys_bh) as sys_bh')->order('UniqId desc')->find();
  102. $num = (int)$res['sys_bh'] + 1;
  103. $new_code = $num > 10 ? '0'.$num : '00'.$num;
  104. $this->success('请求成功',$new_code);
  105. }else{
  106. if (($params['same_item'] == 0 && $params['child_item'] == 0) || ($params['same_item'] == 1 && $params['child_item'] == 1) ){
  107. $this->error('参数错误');
  108. }
  109. $res = Db::name('dic_lzsh')->where('sys_bh',$code)->find();
  110. if ($params['same_item'] == 1){ //表示增加同级科目
  111. $list = Db::name('dic_lzsh')->where('Parent',$res['Parent'])->field('rtrim(sys_bh) as sys_bh')->order('UniqId desc')->find();
  112. $num = (int)$list['sys_bh'] + 1;
  113. $num = substr($num,-3);
  114. $str = substr($code,0,-3);
  115. $new_code = $str . $num;
  116. halt($new_code);
  117. }else{
  118. $list = Db::name('dic_lzsh')->where('Parent',$res['Key_'])->field('rtrim(sys_bh) as sys_bh')->order('UniqId desc')->find();
  119. if (!empty($list)){
  120. $num = (int)$list['sys_bh'] + 1;
  121. $num = substr($num,-3);
  122. $new_code = $code . $num;
  123. }else{
  124. $num = '001';
  125. $new_code = $code . $num;
  126. }
  127. }
  128. $this->success('请求成功',$new_code);
  129. }
  130. }
  131. /**
  132. * 增加左侧科目
  133. * @ApiMethod POST
  134. * @params string code
  135. * @params string name
  136. * @params float sys_rate0
  137. * @params float sys_rate1
  138. * @params string remark
  139. */
  140. public function add(){
  141. if (Request::instance()->isPost() == false){
  142. $this->error('非法请求');
  143. }
  144. $params = Request::instance()->post();
  145. if (empty($params) || !isset($params['code']) || !isset($params['name'])){
  146. $this->error('参数不能为空');
  147. }
  148. $parentCode = $str = substr($params['code'],0,-3);
  149. $list = Db::name('dic_lzsh')->where('sys_bh',$parentCode)->field('Key_')->find();
  150. $data = [];
  151. $data['sys_bh'] = $params['code'];
  152. $data['Parent'] = $list['Key_'];
  153. $data['sys_mc'] = $params['name'];
  154. $data['sys_rate0'] = $params['sys_rate0'];
  155. $data['sys_rate1'] = $params['sys_rate1'];
  156. if (!empty($params['remark'])){
  157. $data['适用机型'] = $params['remark'];
  158. }
  159. $sql = Db::name('dic_lzsh')->fetchSql(true)->insert($data);
  160. $res = Db::query($sql);
  161. if ($res !== false){
  162. $this->success('新增成功');
  163. }else{
  164. $this->error('新增失败');
  165. }
  166. }
  167. /**
  168. * 修改左侧科目
  169. * @params string code
  170. * @params string name
  171. * @params float sys_rate0
  172. * @params float sys_rate1
  173. * @params string remark
  174. */
  175. public function edit(){
  176. if (Request::instance()->isPost() == false){
  177. $this->error('非法请求');
  178. }
  179. $params = Request::instance()->post();
  180. if (empty($params) || !isset($params['code']) || !isset($params['name'])){
  181. $this->error('参数不能为空');
  182. }
  183. $data = [];
  184. $data['sys_mc'] = $params['name'];
  185. $data['sys_rate0'] = $params['sys_rate0'];
  186. $data['sys_rate1'] = $params['sys_rate1'];
  187. if (!empty($params['remark'])){
  188. $data['适用机型'] = $params['remark'];
  189. }
  190. $sql = Db::name('dic_lzsh')->where('sys_bh',$params['code'])->fetchSql(true)->update($data);
  191. $res = Db::query($sql);
  192. if ($res !== false){
  193. $this->success('更新成功');
  194. }else{
  195. $this->error('更新失败');
  196. }
  197. }
  198. /**
  199. * 删除
  200. * @ApiMethod POST
  201. * @params string code
  202. */
  203. public function delete(){
  204. if (Request::instance()->isPost() == false){
  205. $this->error('非法请求');
  206. }
  207. $params = Request::instance()->post();
  208. if (empty($params) || !isset($params['code'])){
  209. $this->error('参数不能为空');
  210. }
  211. $res = Db::name('dic_lzsh')->where('sys_bh',$params['code'])->delete();
  212. if ($res !== false){
  213. $this->success('删除成功');
  214. }else{
  215. $this->error('删除失败');
  216. }
  217. }
  218. }