<?php
namespace app \index \controller ;
use think\Hook;
use app\index\controller\Acl;
use app\index\model\Unit as Units;
use app\index\controller\Formfield;
class Unit extends Acl {
public function main(){
return $this->fetch();
}
public function unit_list(){
$input=input('post.');
if(isset_full($input,'page') && isset_full($input,'limit')){
$sql=get_sql($input,[
'name'=>'full_name_py_link',
'number'=>'full_like',
'data'=>'full_like'
],'unit') $count = Units::where ($sql)->count() $arr = Units::where($sql)->page($input['page'],$input['limit'])->order('id desc')->select() $resule=[
'code'=>0,
'msg'=>'获取成功',
'count'=>$count,
'data'=>$arr
] }else{
$resule=['state'=>'error','info'=>'传入参数不完整!'];
}
return json($resule);
}
public function set_unit(){
$input=input('post.');
if(isset($input['id'])){
if(empty($input['id'])){
$vali = $this->validate($input,'unit');
if($vali===true){
$input['py']=zh2py($input['name']) $create_info=Units::create(syn_sql($input,'unit'));
Hook::listen('create_unit',$create_info) push_log('新增计量单位信息[ '.$create_info['name'].' ]') $resule=['state'=>'success'];
}else{
$resule=['state'=>'error','info'=>$vali];
}
}else{
$vali = $this->validate($input,'unit.update');
if($vali===true){
$input['py']=zh2py($input['name']) $update_info=Units::update(syn_sql($input,'unit'));
Hook::listen('update_unit',$update_info) push_log('更新计量单位信息[ '.$update_info['name'].' ]') $resule=['state'=>'success'];
}else{
$resule=['state'=>'error','info'=>$vali];
}
}
}else{
$resule=['state'=>'error','info'=>'传入参数不完整!'];
}
return json($resule);
}
public function get_unit(){
$input=input('post.');
if(isset_full($input,'id')){
$resule=Units::where(['id'=>$input['id']])->find();
}else{
$resule=['state'=>'error','info'=>'传入参数不完整!'];
}
return json($resule);
}
public function del_unit(){
$input=input('post.');
if(isset_full($input,'arr') && is_array($input['arr'])){
$exist=more_table_find([
['table'=>'goods','where'=>['unit'=>['in',$input['arr']]]],
]);
if(!$exist){
$info=db('unit')->where(['id'=>['in',$input['arr']]])->select() foreach ($info as $info_vo) {
push_log('删除计量单位信息[ '.$info_vo['name'].' ]') Hook::listen('del_unit',$info_vo['id']) }
Units::where(['id'=>['in',$input['arr']]])->delete();
$resule=['state'=>'success'];
}else{
$resule=['state'=>'error','info'=>'存在数据关联,删除失败!'];
}
}else{
$resule=['state'=>'error','info'=>'传入参数不完整!'];
}
return json($resule);
}
}