Files
annnj-company 130c1026c4 first commit
2026-04-17 18:29:53 +08:00

178 lines
5.8 KiB
PHP

<?php
namespace app\admin\controller;
use app\model\ProjectTeam;
class Project extends Base
{
private $typearr=array(1=>'加急项目',2=>"拓展项目",3=>"特殊项目");
/**
* 获取住宅项目组列表
* @author cavan
*/
public function ProjectList()
{
$ProjectTeam = new ProjectTeam();
$list = $ProjectTeam->where("status",1)
->field('*')
->select()
->toArray();
if(!empty($list)){
foreach ($list as $k => $v){
$list[$k]['type_name'] = $this->typearr[$v['type']];
}
}
return $this->buildSuccess($list);
}
/**
* 获取项目组详情
* @author cavan
*
*/
public function ProjectDetails(){
$id = $this->request->post('id', '', 'trim');
if(!$id){
return $this->buildFailed("缺少参数id");
}
$ProjectTeam = new ProjectTeam();
$list = $ProjectTeam->where("id",$id)
->where("status",1)
->field("*")
->find();
if(!empty($list)) {
$list['type_name'] = $this->typearr[$list['type']];
$list['uid_arr'] = array_filter(explode(",",$list['uid_str']));
$list['username_arr'] = array_filter(explode(",",$list['username_str']));
}else{
return $this->buildFailed("未查的数据");
}
return $this->buildSuccess($list);
}
/**
* 编辑项目组信息保存
* @author cavan
*
* @parameter id 表id
* @parameter name 项目组名称
* @parameter uid_str 项目组成员id字符串
* @parameter username_str 项目组成员名称字符串
*/
public function ProjectEdit(){
$id = $this->request->post('id', '', 'trim');
$name = $this->request->post('name', '', 'trim');
$uid_str = $this->request->post('uid_str', '', 'trim');
$username_str = $this->request->post('username_str', '', 'trim');
if(!$id){
return $this->buildFailed("缺少参数id");
}
if(!$name){
return $this->buildFailed("缺少参数项目组名称");
}
$update_date['name'] = $name;
$update_date['uid_str'] = $uid_str;
$update_date['username_str'] = $username_str;
$update_date['update_time'] = time();
$ProjectTeam = new ProjectTeam();
$ProjectTeam->where("id",$id)->update($update_date);
return $this->buildSuccess("编辑成功");
}
/**
* 新增项目组信息保存
* @author cavan
*
* @parameter type 项目组类型
* @parameter name 项目组名称
* @parameter uid_str 项目组成员id字符串
* @parameter username_str 项目组成员名称字符串
*/
public function ProjectAdd(){
$type = $this->request->post('type', '', 'trim');
$name = $this->request->post('name', '', 'trim');
$uid_str = $this->request->post('uid_str', '', 'trim');
$username_str = $this->request->post('username_str', '', 'trim');
if(!$type){
return $this->buildFailed("缺少参数项目组分类");
}
if(!$name){
return $this->buildFailed("缺少参数项目组名称");
}
$insert_date['type'] = $type;
$insert_date['name'] = $name;
$insert_date['uid_str'] = $uid_str;
$insert_date['username_str'] = $username_str;
$insert_date['status'] = 1;
$insert_date['create_time'] = time();
$ProjectTeam = new ProjectTeam();
$id = $ProjectTeam->insertGetId($insert_date);
if($id){
//删除除新增项目组之外同类的项目组
$return = $ProjectTeam->where("type",$type)->where("id","<>",$id)->update(["status"=>2,"update_time"=>time()]);
if($return){
return $this->buildSuccess("新增成功");
}else{
$ProjectTeam->where("id",$id)->delete();
return $this->buildFailed("新增失败");
}
}else{
return $this->buildFailed("新增失败");
}
}
/**
* 验证新增的项目组分类是否存在正常项目组
* @author cavan
*
* @parameter type 项目组类型
*
*/
public function Verification(){
$type = $this->request->post('type', '', 'trim');
if(!$type){
return $this->buildFailed("缺少参数项目组分类");
}
$ProjectTeam = new ProjectTeam();
$id = $ProjectTeam->where(["status"=>1,"type"=>$type])->value("id");
if($id){
return $this->buildFailed("已存在同类进行中的项目组,继续新增将删除正在进行中的项目组");
}else{
return $this->buildSuccess("不存在进行中的项目组");
}
}
/**
* 新增项目组信息保存
* @author cavan
*
* @parameter type 项目组类型
* @parameter name 项目组名称
* @parameter uid_str 项目组成员id字符串
* @parameter username_str 项目组成员名称字符串
*/
public function ProjectDel(){
$id = $this->request->post('id', '', 'trim');
if(!$id){
return $this->buildFailed("缺少参数id");
}
$ProjectTeam = new ProjectTeam();
//删除除新增项目组之外同类的项目组
$return = $ProjectTeam->where("id",$id)->update(["status"=>2,"update_time"=>time()]);
if($return){
return $this->buildSuccess("删除成功");
}else{
return $this->buildFailed("新增失败");
}
}
}