Process.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  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. }else{
  117. $list = Db::name('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 = $str = substr($params['code'],0,-3);
  148. $list = Db::name('dic_lzsh')->where('sys_bh',$parentCode)->field('Key_')->find();
  149. $data = [];
  150. $data['sys_bh'] = $params['code'];
  151. $data['Parent'] = $list['Key_'];
  152. $data['sys_mc'] = $params['name'];
  153. $data['sys_rate0'] = $params['sys_rate0'];
  154. $data['sys_rate1'] = $params['sys_rate1'];
  155. if (!empty($params['remark'])){
  156. $data['适用机型'] = $params['remark'];
  157. }
  158. $sql = Db::name('dic_lzsh')->fetchSql(true)->insert($data);
  159. $res = Db::query($sql);
  160. if ($res !== false){
  161. $this->success('新增成功');
  162. }else{
  163. $this->error('新增失败');
  164. }
  165. }
  166. /**
  167. * 修改左侧科目
  168. * @params string code
  169. * @params string name
  170. * @params float sys_rate0
  171. * @params float sys_rate1
  172. * @params string remark
  173. */
  174. public function edit(){
  175. if (Request::instance()->isPost() == false){
  176. $this->error('非法请求');
  177. }
  178. $params = Request::instance()->post();
  179. if (empty($params) || !isset($params['code']) || !isset($params['name'])){
  180. $this->error('参数不能为空');
  181. }
  182. $data = [];
  183. $data['sys_mc'] = $params['name'];
  184. $data['sys_rate0'] = $params['sys_rate0'];
  185. $data['sys_rate1'] = $params['sys_rate1'];
  186. if (!empty($params['remark'])){
  187. $data['适用机型'] = $params['remark'];
  188. }
  189. $sql = Db::name('dic_lzsh')->where('sys_bh',$params['code'])->fetchSql(true)->update($data);
  190. $res = Db::query($sql);
  191. if ($res !== false){
  192. $this->success('更新成功');
  193. }else{
  194. $this->error('更新失败');
  195. }
  196. }
  197. /**
  198. * 删除
  199. * @ApiMethod POST
  200. * @params string code
  201. */
  202. public function delete(){
  203. if (Request::instance()->isPost() == false){
  204. $this->error('非法请求');
  205. }
  206. $params = Request::instance()->post();
  207. if (empty($params) || !isset($params['code'])){
  208. $this->error('参数不能为空');
  209. }
  210. $res = Db::name('dic_lzsh')->where('sys_bh',$params['code'])->delete();
  211. if ($res !== false){
  212. $this->success('删除成功');
  213. }else{
  214. $this->error('删除失败');
  215. }
  216. }
  217. }