Process.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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('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('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('dic_lzsh')->where('Parent',$value['Key_'])->field($field)->select();
  57. foreach ($data[$i]['child'] as $k=>$v){
  58. $children = db('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('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('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('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('dic_lzsh')->where('sys_bh',$code)->find();
  110. if ($params['same_item'] == 1){ //表示增加同级科目
  111. $list = db('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. }else{
  117. $list = db('dic_lzsh')->where('Parent',$res['Key_'])->field('rtrim(sys_bh) as sys_bh')->order('UniqId desc')->find();
  118. if (!empty($list)){
  119. $num = (int)$list['sys_bh'] + 1;
  120. $num = substr($num,-3);
  121. $new_code = $code . $num;
  122. }else{
  123. $num = '001';
  124. $new_code = $code . $num;
  125. }
  126. }
  127. $this->success('请求成功',$new_code);
  128. }
  129. }
  130. /**
  131. * 增加左侧科目
  132. * @ApiMethod POST
  133. * @params string code
  134. * @params string name
  135. * @params float sys_rate0
  136. * @params float sys_rate1
  137. * @params string remark
  138. */
  139. public function add(){
  140. if (Request::instance()->isPost() == false){
  141. $this->error('非法请求');
  142. }
  143. $params = Request::instance()->post();
  144. if (empty($params) || !isset($params['code']) || !isset($params['name'])){
  145. $this->error('参数不能为空');
  146. }
  147. $parentCode = substr($params['code'],0,-3);
  148. if (empty($parentCode)){
  149. $parentCode = $params['code'];
  150. }
  151. $list = db('dic_lzsh')->where('sys_bh',$parentCode)->field('Key_')->find();
  152. $data = [];
  153. $data['sys_bh'] = $params['code'];
  154. $data['Parent'] = empty($list)? '0_':$list['Key_'];
  155. $data['sys_mc'] = $params['name'];
  156. $data['sys_rate0'] = $params['sys_rate0'];
  157. $data['sys_rate1'] = $params['sys_rate1'];
  158. if (!empty($params['remark'])){
  159. $data['适用机型'] = $params['remark'];
  160. }
  161. $sql = db('dic_lzsh')->fetchSql(true)->insert($data);
  162. $res = Db::query($sql);
  163. if ($res !== false){
  164. $this->success('新增成功');
  165. }else{
  166. $this->error('新增失败');
  167. }
  168. }
  169. /**
  170. * 修改左侧科目
  171. * @params string code
  172. * @params string name
  173. * @params float sys_rate0
  174. * @params float sys_rate1
  175. * @params string remark
  176. */
  177. public function edit(){
  178. if (Request::instance()->isPost() == false){
  179. $this->error('非法请求');
  180. }
  181. $params = Request::instance()->post();
  182. if (empty($params) || !isset($params['code']) || !isset($params['name'])){
  183. $this->error('参数不能为空');
  184. }
  185. $data = [];
  186. $data['sys_mc'] = $params['name'];
  187. $data['sys_rate0'] = $params['sys_rate0'];
  188. $data['sys_rate1'] = $params['sys_rate1'];
  189. if (!empty($params['remark'])){
  190. $data['适用机型'] = $params['remark'];
  191. }
  192. $sql = db('dic_lzsh')->where('sys_bh',$params['code'])->fetchSql(true)->update($data);
  193. $res = Db::query($sql);
  194. if ($res !== false){
  195. $this->success('更新成功');
  196. }else{
  197. $this->error('更新失败');
  198. }
  199. }
  200. /**
  201. * 删除
  202. * @ApiMethod POST
  203. * @params string code
  204. */
  205. public function delete(){
  206. if (Request::instance()->isPost() == false){
  207. $this->error('非法请求');
  208. }
  209. $params = Request::instance()->post();
  210. if (empty($params) || !isset($params['code'])){
  211. $this->error('参数不能为空');
  212. }
  213. $res = db('dic_lzsh')->where('sys_bh',$params['code'])->delete();
  214. if ($res !== false){
  215. $this->success('删除成功');
  216. }else{
  217. $this->error('删除失败');
  218. }
  219. }
  220. }