鼠笼管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

118 lines
6.1 KiB

<?php
class SquirrelModel extends Orm_Base{
public $table = 'squirrel';
public $field = array(
'id' => array('type' => "int(11)",'comment' => ''),
'number' => array('type' => "varchar(45)",'comment' => '笼位编号'),
'sex' => array('type' => "varchar(45)",'comment' => '性别'),
'birthday' => array('type' => "int(11)",'comment' => '小鼠生日'),
'father' => array('type' => "varchar(255)",'comment' => '小鼠父亲'),
'mother' => array('type' => "varchar(255)",'comment' => '小鼠母亲'),
'strains_id' => array('type' => "varchar(255)",'comment' => '小鼠品系'),
'gene' => array('type' => "varchar(255)",'comment' => '小鼠基因'),
'hair_color' => array('type' => "varchar(255)",'comment' => '小鼠毛色'),
'remark' => array('type' => "int(11)",'comment' => '备注'),
'is_kill' => array('type' => "varchar(255)",'comment' => '是否杀死'),
'is_delete' => array('type' => "varchar(255)",'comment' => '是否删除'),
'cage' => array('type' => "varchar(255)",'comment' => '笼位id'),
'type' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'created' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'c_user_id' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'weaning_time' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'nursing_time' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'grow_time' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'infertility_time' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'dose_time' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'jianwei_time' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'test_time' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'kill_time' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'del_time' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'jianwei_show' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'test_show' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'kill_show' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
'del_show' => array('type' => "varchar(255)",'comment' => '是否为新生小鼠'),
);
public $pk = 'id';
public function getModelList($params){
$cageModel = new CageModel();
$NewSquirrel = new NewSquirrelModel();
//获取仓鼠信息
$data['slist']=$this->field('id,number,sex,birthday,father,mother,strains_id as strains,gene,hair_color,cage,remark')->where("is_delete=0 and is_kill=0 {$params['where']}")->fList();
foreach($data['slist'] as $key => &$val){
$val['sex'] = $val['sex']==1?'公':'母';
//获取笼位号
$val['cage'] =$cageModel->getOneInfo($val['cage'])['number'];
$val['icon'] = $this->getIcon($val['id'])['icon'];
}
//获取繁殖笼幼崽信息
$data['youzailishi'] = !empty($NewSquirrel->getModelList($params))?$NewSquirrel->getModelList($params):[];
return $data;
}
public function isFull($cage,$uid){
$params['user_id'] = $uid;
$CageSetModel = new CageSetModel();
$time = date('Y-m-d',time());
//获取鼠笼配置
$cageSet = $CageSetModel->getsetinfo($params);
//查询当前是否有幼崽
$small = $this->field('count(*) num')->where("cage={$cage} and is_delete=0 and is_kill=0 and nursing_time>'{$time}'")->fRow();
//查询当前鼠笼是否有成年鼠
$big = $this->field('count(*) num')->where("cage={$cage} and is_delete=0 and is_kill=0 and nursing_time<'{$time}'")->fRow();
$data = true;
if($small['num']>0&&$big['num']>0){
if($cageSet['big_small_num']<=$big['num']) $data = false;
}
if($small['num']>0&&$big['num']==0){
if($cageSet['small_num_max']<=$big['num']) $data = false;
}
if($small['num']==0&&$big['num']>0){
if($cageSet['big_num_max']<=$big['num']) $data = false;
}else{
$data = true;
}
return $data;
}
public function getOneInfo($squirrel){
return $this->field('id,number,sex,birthday,father,mother,strains_id as strains,gene,hair_color,cage,remark')->where("id={$squirrel}")->fRow();
}
public function partent($cage){
$time = date('Y-m-d',time());
$exec=$this->field('id,number,sex')->where("is_delete=0 and is_kill=0 and grow_time<'{$time}'");
if(!empty($cage)){
$CageModel = new CageModel();
$cageinfo = $CageModel->field("type")->where("id={$cage}")->fRow();
if($cageinfo['type']==2) $exec->where("cage={$cage}");
}
$data = $exec->fList();
$data[] = ['id'=>0,number=>"暂无",'sex'=>2];
$data[] = ['id'=>0,number=>"暂无",'sex'=>1];
return $data;
}
public function getIcon($squirrel){
$date = strtotime(date('Y-m-d',time()));
$info = $this->field('nursing_time')->where("id={$squirrel}")->fRow();
if(empty($info)){
$data['icon'] = Yaf_Registry::get("config")->cangshu->url->small;
}else{
if(strtotime($info['nursing_time'])<$date){
$data['icon'] = Yaf_Registry::get("config")->web->url->img.Yaf_Registry::get("config")->cangshu->url->big;
}else{
$data['icon'] = Yaf_Registry::get("config")->web->url->img.Yaf_Registry::get("config")->cangshu->url->small;
}
}
return $data;
}
public function operate($params){
foreach($params as $key => $val){
if(empty($val)){
unset($params[$key]);
}
}
if(!$this->update($params)) return false;
return true;
}
}