| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use \think\Request;
- use \think\Db;
- /**
- * 工序损耗管理接口
- */
- class Process extends Api
- {
- protected $noNeedLogin = ['*'];
- protected $noNeedRight = ['*'];
- /**
- * 首页
- *
- */
- public function index()
- {
- $this->success('请求成功');
- }
- /**
- * 单个工序损耗接口
- * @ApiMethod GET
- * @params string code
- */
- public function getProcessLoss(){
- if (Request::instance()->isGet() == false){
- $this->error('非法请求');
- }
- $params = Request::instance()->param();
- $code = $params['code'];
- if (!isset($code)){
- $this->error('参数不能为空');
- }
- $where['sys_bh'] = $code;
- $field = 'rtrim(sys_bh) as sys_bh,rtrim(sys_mc) as sys_mc,sys_rate0,sys_rate1,rtrim(适用机型) as remark';
- $data = db('dic_lzsh')->where($where)->field($field)->select();
- $this->success('请求成功',$data);
- }
- /**
- * 获取工序损耗列表接口
- * @ApiParams GET
- */
- public function getProcess(){
- if (Request::instance()->isGet() == false){
- $this->error('非法请求');
- }
- $field = 'Key_,Parent,rtrim(sys_bh) as sys_bh,rtrim(sys_mc) as sys_mc';
- $list = db('dic_lzsh')->field($field)->select();
- $data = [];
- $i = 0;
- foreach ($list as $value){
- if ($value['Parent'] == '0_'){
- $data[$i] = $value;
- //一级菜单
- $data[$i]['child'] = db('dic_lzsh')->where('Parent',$value['Key_'])->field($field)->select();
- foreach ($data[$i]['child'] as $k=>$v){
- $children = db('dic_lzsh')->where('Parent',$v['Key_'])->field($field)->select();
- //二级菜单
- $data[$i]['child'][$k]['children'] = $children;
- if (!empty($children)){
- foreach ($children as $key=>$item){
- $childrens = db('dic_lzsh')->where('Parent',$item['Key_'])->field($field)->select();
- //三级菜单
- $data[$i]['child'][$k]['children'][$key]['childrens'] = $childrens;
- if (!empty($childrens)){
- foreach ($childrens as $k1=>$v1){
- $fiveChild = db('dic_lzsh')->where('Parent',$v1['Key_'])->field($field)->select();
- $data[$i]['child'][$k]['children'][$key]['childrens'][$k1]['fiveChild'] = $fiveChild;
- }
- }else{
- $data[$i]['child'][$k]['children'][$key]['childrens'] = [];
- }
- }
- }else{
- $data[$i]['child'][$k]['children']= [];
- }
- }
- $i++;
- }
- }
- $this->success('请求成功',$data);
- }
- /**
- * 获取工序损耗编码
- * @ApiMethod GET
- * @params string code
- * @params string same_item
- * @params string child_item
- */
- public function getProcessCode(){
- if (Request::instance()->isGet() == false){
- $this->error('非法请求');
- }
- $params = Request::instance()->param();
- if (!isset($params['code']) || !isset($params['same_item']) || !isset($params['child_item'])){
- $this->error('参数错误');
- }
- $code = $params['code'];
- if (empty($code)){//科目编码为空,表示需要增加一级科目
- $res = db('dic_lzsh')->where('Parent','0_')->field('rtrim(sys_bh) as sys_bh')->order('UniqId desc')->find();
- $num = (int)$res['sys_bh'] + 1;
- $new_code = $num > 10 ? '0'.$num : '00'.$num;
- $this->success('请求成功',$new_code);
- }else{
- if (($params['same_item'] == 0 && $params['child_item'] == 0) || ($params['same_item'] == 1 && $params['child_item'] == 1) ){
- $this->error('参数错误');
- }
- $res = db('dic_lzsh')->where('sys_bh',$code)->find();
- if ($params['same_item'] == 1){ //表示增加同级科目
- $list = db('dic_lzsh')->where('Parent',$res['Parent'])->field('rtrim(sys_bh) as sys_bh')->order('UniqId desc')->find();
- $num = (int)$list['sys_bh'] + 1;
- $num = substr($num,-3);
- $str = substr($code,0,-3);
- $new_code = $str . $num;
- }else{
- $list = db('dic_lzsh')->where('Parent',$res['Key_'])->field('rtrim(sys_bh) as sys_bh')->order('UniqId desc')->find();
- if (!empty($list)){
- $num = (int)$list['sys_bh'] + 1;
- $num = substr($num,-3);
- $new_code = $code . $num;
- }else{
- $num = '001';
- $new_code = $code . $num;
- }
- }
- $this->success('请求成功',$new_code);
- }
- }
- /**
- * 增加左侧科目
- * @ApiMethod POST
- * @params string code
- * @params string name
- * @params float sys_rate0
- * @params float sys_rate1
- * @params string remark
- */
- public function add(){
- if (Request::instance()->isPost() == false){
- $this->error('非法请求');
- }
- $params = Request::instance()->post();
- if (empty($params) || !isset($params['code']) || !isset($params['name'])){
- $this->error('参数不能为空');
- }
- $parentCode = substr($params['code'],0,-3);
- if (empty($parentCode)){
- $parentCode = $params['code'];
- }
- $list = db('dic_lzsh')->where('sys_bh',$parentCode)->field('Key_')->find();
- $uniqId = db('dic_lzsh')->order('UniqId desc')->value('UniqId');
- $sql = "SELECT MAX(CAST(SUBSTRING(Key_, 1, LENGTH(Key_) - 1) AS UNSIGNED)) AS max_value FROM dic_lzsh";
- $key = Db::query($sql);
- $data = [];
- $data['sys_bh'] = $params['code'];
- $data['Parent'] = empty($list)? '0_':$list['Key_'];
- $data['sys_mc'] = $params['name'];
- $data['sys_rate0'] = $params['sys_rate0'];
- $data['sys_rate1'] = $params['sys_rate1'];
- $data['启用状态'] = 1;
- $data['Key_'] = ($key[0]['max_value']+1).'_';
- $data['UniqId'] = $uniqId+1;
- if (!empty($params['remark'])){
- $data['适用机型'] = $params['remark'];
- }
- $sql = db('dic_lzsh')->fetchSql(true)->insert($data);
- $res = Db::query($sql);
- if ($res !== false){
- $this->success('新增成功');
- }else{
- $this->error('新增失败');
- }
- }
- /**
- * 修改左侧科目
- * @params string code
- * @params string name
- * @params float sys_rate0
- * @params float sys_rate1
- * @params string remark
- */
- public function edit(){
- if (Request::instance()->isPost() == false){
- $this->error('非法请求');
- }
- $params = Request::instance()->post();
- if (empty($params) || !isset($params['code']) || !isset($params['name'])){
- $this->error('参数不能为空');
- }
- $data = [];
- $data['sys_mc'] = $params['name'];
- $data['sys_rate0'] = $params['sys_rate0'];
- $data['sys_rate1'] = $params['sys_rate1'];
- if (!empty($params['remark'])){
- $data['适用机型'] = $params['remark'];
- }
- $sql = db('dic_lzsh')->where('sys_bh',$params['code'])->fetchSql(true)->update($data);
- $res = Db::query($sql);
- if ($res !== false){
- $this->success('更新成功');
- }else{
- $this->error('更新失败');
- }
- }
- /**
- * 删除
- * @ApiMethod POST
- * @params string code
- */
- public function delete(){
- if (Request::instance()->isPost() == false){
- $this->error('非法请求');
- }
- $params = Request::instance()->post();
- if (empty($params) || !isset($params['code'])){
- $this->error('参数不能为空');
- }
- $res = db('dic_lzsh')->where('sys_bh',$params['code'])->delete();
- if ($res !== false){
- $this->success('删除成功');
- }else{
- $this->error('删除失败');
- }
- }
- }
|