<?php
/**
 * 合同管理系统接口文档
 */
class Contract {

    //获取合同实质性条款
    public function get_contract_terms($cid){
        $contract = M('contract')->where('cid='.$cid)->find();
        if($contract['type'] == 1){
            $sql = "select * from oa_contract_form where cid=".$cid;
            $contract_terms = M()->query($sql);
            $arr = array();
            foreach($contract_terms as $k=>$v){
                $arr[] = $v['field_name'].':'.$v['field_value'];
            }
            return $arr;
        }
        return false;
    }


    //模糊搜索合同
    public function search_contract($keyword){
        $sql = "select c.cid,c.contract_number,c.title,c.type,c.file_path,c.status from oa_contract as c
                LEFT JOIN oa_contract_form as cf on cf.cid=c.cid
                where c.status != '3' and (c.title like '%{$keyword}%' or cf.field_value like '%{$keyword}%')";
        return M()->query($sql);
    }

    //获取合同列表
    public function contract_list($limit,$where){
        $sql = "select c.*,u.realname as uploader_name from oa_contract as c 
                LEFT JOIN oa_user as u on u.uid=c.uploader
                where c.status != 3 ";
        $sql_count = "select count(*) as count from oa_contract as c 
                LEFT JOIN oa_user as u on u.uid=c.uploader
                where c.status != 3 ";
        if($where['type']){
            $sql .= " and c.type=".$where['type'];
            $sql_count .= " and c.type=".$where['type'];
        }
        if($where['title']){
            $sql .= " and c.title='{$where['title']}'";
            $sql_count .= " and c.title='{$where['title']}'";
        }
        if($where['contract_number']){
            $sql .= " and c.contract_number='{$where['contract_number']}'";
            $sql_count .= " and c.contract_number='{$where['contract_number']}'";
        }
        if($where['start_time'] && $where['end_time']){
            $sql .= " and c.create_time between '{$where['start_time']}' and '{$where['end_time']}'";
            $sql_count .= " and c.create_time between '{$where['start_time']}' and '{$where['end_time']}'";
        }
        $sql .= " order by c.create_time desc limit ".$limit;
        $contract_list = M()->query($sql);
        $count = M()->query($sql_count);
        return array('contract_list'=>$contract_list,'count'=>$count[0]['count']);
    }

    //获取合同实质性条款列表
    public function contract_form_list($cid){
        $sql = "select * from oa_contract_form where cid=".$cid;
        return M()->query($sql);
    }

    //根据合同id获取合同信息
    public function get_contract_by_cid($cid){
        return M('contract')->where('cid='.$cid)->find();
    }

    //根据合同id获取合同实质性条款
    public function get_contract_form_by_cid($cid){
        return M('contract_form')->where('cid='.$cid)->find();
    }

    //添加合同
    public function insert_contract($data){
        return M('contract')->add($data);
    }

    //添加合同实质性条款
    public function insert_contract_form($data){
        return M('contract_form')->addAll($data);
    }

    //更新合同
    public function update_contract($cid,$data){
        return M('contract')->where('cid='.$cid)->save($data);
    }

    //更新合同实质性条款
    public function update_contract_form($cid,$data){
        $form_data = M('contract_form')->where('cid='.$cid)->select();
        foreach($form_data as $k=>$v){
            M('contract_form')->where('id='.$v['id'])->save($data[$k]);
        }
        return true;
    }

    //根据实质性条款id获取实质性条款信息
    public function get_form_by_id($id){
        return M('contract_form')->where('id='.$id)->find();
    }

    //更新实质性条款
    public function update_form($id,$data){
        return M('contract_form')->where('id='.$id)->save($data);
    }

    //添加实质性条款
    public function insert_form($data){
        return M('contract_form')->add($data);
    }

    //删除实质性条款
    public function delete_form($id){
        return M('contract_form')->where('id='.$id)->delete();
    }

    //删除合同
    public function delete_contract($cid){
        return M('contract')->where('cid='.$cid)->delete();
    }

    //获取合同类型
    public function get_contract_type(){
        return M('contract_type')->select();
    }
}

原文地址: https://www.cveoy.top/t/topic/lfZH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录