success('请求成功'); } /** * 获取单个计件定额 * * @ApiMethod POST * @params string code */ public function getOnePieceWork(){ 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,rtrim(适用工序) as sygx,rtrim(适用机型) as syjx, 日定额 as daily_quota,千件工价 as thousand_piece ,补产标准 as production_standard,机长比例 as fir_proportion,副机比例 as sec_proportion, 调墨比例 as ink_proportion,二手比例 as second_hand_proportion,飞达比例 as feeder_proportion,辅助比例 as auxiliary_proportion,放卷比例 as unwinder_proportion, 分切1比例 as cutting_one_proportion,分切2比例 as cutting_two_proportion,检验比例 as inspect_proportion'; $data = Db::name('dic_lzde')->where($where)->field($field)->select(); $this->success('请求成功',$data); } /** * 获取计件定额列表 * * @ApiMethod GET * */ public function getPieceWork(){ if (Request::instance()->isGet() == false){ $this->error('非法请求'); } $field = 'Key_,Parent,rtrim(sys_bh) as sys_bh, rtrim(sys_mc) as sys_mc,rtrim(适用工序) as gx,rtrim(适用机型) as jx'; $list = Db::name('dic_lzde')->field($field)->order('sys_bh')->select(); $data = []; $machineData = []; $handData = []; foreach ($list as $key=>$value){ if (substr($value['sys_bh'],0,3) == '020' && $value['Parent'] == '1_'){//机器作业计件定额 $machineData[$key] = $value; } if (substr($value['sys_bh'],0,3) == '030' && $value['Parent'] == '196_'){//人工作业计件定额 $handData[$key] = $value; } } //对机器作业计件定额的数组进行处理 $machineData = array_values($machineData); foreach ($machineData as $k=>$v){ $child = Db::name('dic_lzde')->where('Parent',$v['Key_'])->field($field)->select(); if (!empty($child)){ $machineData[$k]['child'] = $child; foreach ($child as $i=>$j){ if ($v['sys_mc'] == '检验车间'){ //找出检验车间机器下面的数据 $children = Db::name('dic_lzde')->where('Parent',$j['Key_'])->field($field)->select(); $machineData[$k]['child'][$i]['children'] = $children; } else{ $machineData[$k]['child'][$i]['children'] = []; } } } } $data['machineData'] = $machineData; //对手工作业计件定额的数组进行处理 $handData = array_values($handData); foreach ($handData as $k=>$v){ $child = Db::name('dic_lzde')->where('Parent',$v['Key_'])->field($field)->select(); if (!empty($child)){ $handData[$k]['child'] = $child; foreach ($child as $i=>$j){ $children = Db::name('dic_lzde')->where('Parent',$j['Key_'])->field($field)->select(); if (!empty($children)){ $handData[$k]['child'][$i]['children'] = $children; } else{ $handData[$k]['child'][$i]['children'] = []; } } }else{ $handData[$k]['child'] = []; } } $data['handData'] = $handData; $this->success('请求成功',$data); } }