更新造价咨询--造价项目台账 项目相关人员
This commit is contained in:
parent
fb7ed56a58
commit
1b20b0eb81
@ -20,6 +20,7 @@ use app\common\lists\ListsExcelInterface;
|
|||||||
use app\common\model\cost_project\CostProject;
|
use app\common\model\cost_project\CostProject;
|
||||||
use app\common\lists\ListsSearchInterface;
|
use app\common\lists\ListsSearchInterface;
|
||||||
use app\common\model\auth\Admin;
|
use app\common\model\auth\Admin;
|
||||||
|
use app\common\model\cost_project\CostProjectPerson;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 造价项目台账列表
|
* 造价项目台账列表
|
||||||
@ -68,9 +69,12 @@ class CostProjectLists extends BaseAdminDataLists implements ListsSearchInterfac
|
|||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
->select()
|
->select()
|
||||||
->each(function($item){
|
->each(function($item){
|
||||||
if($item['person']){
|
$uid=(new CostProjectPerson)->where('cost_project_id',$item['id'])->column('uid');
|
||||||
$arr=explode(',',$item['person']);
|
if($uid){
|
||||||
Admin::whereIn('id',$arr)->column('name');
|
$admin=Admin::whereIn('id',$uid)->column('name');
|
||||||
|
if($admin){
|
||||||
|
$res['person']=implode(',',$admin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
->toArray();
|
->toArray();
|
||||||
@ -81,9 +85,12 @@ class CostProjectLists extends BaseAdminDataLists implements ListsSearchInterfac
|
|||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
->select()
|
->select()
|
||||||
->each(function($item){
|
->each(function($item){
|
||||||
if($item['person']){
|
$uid=(new CostProjectPerson)->where('cost_project_id',$item['id'])->column('uid');
|
||||||
$arr=explode(',',$item['person']);
|
if($uid){
|
||||||
Admin::whereIn('id',$arr)->column('name');
|
$admin=Admin::whereIn('id',$uid)->column('name');
|
||||||
|
if($admin){
|
||||||
|
$res['person']=implode(',',$admin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
->toArray();
|
->toArray();
|
||||||
|
@ -17,6 +17,8 @@ namespace app\adminapi\logic\cost_project;
|
|||||||
|
|
||||||
use app\common\model\cost_project\CostProject;
|
use app\common\model\cost_project\CostProject;
|
||||||
use app\common\logic\BaseLogic;
|
use app\common\logic\BaseLogic;
|
||||||
|
use app\common\model\auth\Admin;
|
||||||
|
use app\common\model\cost_project\CostProjectPerson;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
|
||||||
|
|
||||||
@ -40,7 +42,7 @@ class CostProjectLogic extends BaseLogic
|
|||||||
{
|
{
|
||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
CostProject::create([
|
$data = CostProject::create([
|
||||||
'project_num' => generate_sn(CostProject::class, 'project_num'),
|
'project_num' => generate_sn(CostProject::class, 'project_num'),
|
||||||
'project_name' => $params['project_name'],
|
'project_name' => $params['project_name'],
|
||||||
'contract_id' => $params['contract_id'],
|
'contract_id' => $params['contract_id'],
|
||||||
@ -55,7 +57,6 @@ class CostProjectLogic extends BaseLogic
|
|||||||
'org_id' => $params['org_id'],
|
'org_id' => $params['org_id'],
|
||||||
'depar' => $params['depar'],
|
'depar' => $params['depar'],
|
||||||
'principal' => $params['principal'],
|
'principal' => $params['principal'],
|
||||||
'person' => $params['person_id'],
|
|
||||||
'invest' => $params['invest'],
|
'invest' => $params['invest'],
|
||||||
'budget' => $params['budget'],
|
'budget' => $params['budget'],
|
||||||
'cost' => $params['cost'],
|
'cost' => $params['cost'],
|
||||||
@ -70,7 +71,14 @@ class CostProjectLogic extends BaseLogic
|
|||||||
'remark' => $params['remark'],
|
'remark' => $params['remark'],
|
||||||
'annex' => $params['annex']
|
'annex' => $params['annex']
|
||||||
]);
|
]);
|
||||||
|
if ($params['person_id']) {
|
||||||
|
$arr = [];
|
||||||
|
$person_id = explode(',', $params['person_id']);
|
||||||
|
foreach ($person_id as $k => $v) {
|
||||||
|
$arr[] = ['cost_project_id' => $data->id, $v];
|
||||||
|
}
|
||||||
|
$arr ?? (new CostProjectPerson)->saveAll($arr);
|
||||||
|
}
|
||||||
Db::commit();
|
Db::commit();
|
||||||
return true;
|
return true;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
@ -107,7 +115,6 @@ class CostProjectLogic extends BaseLogic
|
|||||||
'org_id' => $params['org_id'],
|
'org_id' => $params['org_id'],
|
||||||
'depar' => $params['depar'],
|
'depar' => $params['depar'],
|
||||||
'principal' => $params['principal'],
|
'principal' => $params['principal'],
|
||||||
'person' => $params['person_id'],
|
|
||||||
'invest' => $params['invest'],
|
'invest' => $params['invest'],
|
||||||
'budget' => $params['budget'],
|
'budget' => $params['budget'],
|
||||||
'cost' => $params['cost'],
|
'cost' => $params['cost'],
|
||||||
@ -122,7 +129,15 @@ class CostProjectLogic extends BaseLogic
|
|||||||
'remark' => $params['remark'],
|
'remark' => $params['remark'],
|
||||||
'annex' => $params['annex']
|
'annex' => $params['annex']
|
||||||
]);
|
]);
|
||||||
|
if ($params['person_id']) {
|
||||||
|
$arr = [];
|
||||||
|
$person_id = explode(',', $params['person_id']);
|
||||||
|
(new CostProjectPerson)->delete($person_id);
|
||||||
|
foreach ($person_id as $k => $v) {
|
||||||
|
$arr[] = ['cost_project_id' => $data->id, $v];
|
||||||
|
}
|
||||||
|
$arr ?? (new CostProjectPerson)->saveAll($arr);
|
||||||
|
}
|
||||||
Db::commit();
|
Db::commit();
|
||||||
return true;
|
return true;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
@ -155,20 +170,30 @@ class CostProjectLogic extends BaseLogic
|
|||||||
*/
|
*/
|
||||||
public static function detail($params): array
|
public static function detail($params): array
|
||||||
{
|
{
|
||||||
return CostProject::with(['contract'])->findOrEmpty($params['id'])->toArray();
|
$res= CostProject::with(['contract'])->findOrEmpty($params['id'])->toArray();
|
||||||
|
if($res){
|
||||||
|
$uid=(new CostProjectPerson)->where('cost_project_id',$res['id'])->column('uid');
|
||||||
|
if($uid){
|
||||||
|
$admin=Admin::whereIn('id',$uid)->column('name');
|
||||||
|
if($admin){
|
||||||
|
$res['person']=implode(',',$admin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function datas($name)
|
public static function datas($name)
|
||||||
{
|
{
|
||||||
$datas = CostProject::where(function ($query) use ($name) {
|
$datas = CostProject::where(function ($query) use ($name) {
|
||||||
if ($name) {
|
if ($name) {
|
||||||
$query->where('project_name', 'like', '%' . $name . '%');
|
$query->where('project_name', 'like', '%' . $name . '%');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
->field(['id', 'project_num', 'project_name'])
|
->field(['id', 'project_num', 'project_name'])
|
||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
->select()
|
->select()
|
||||||
->toArray();
|
->toArray();
|
||||||
foreach ($datas as &$item) {
|
foreach ($datas as &$item) {
|
||||||
$item['projectinfo'] = 'ID:' . $item['id'] . ' / 名称:' . $item['project_name'];
|
$item['projectinfo'] = 'ID:' . $item['id'] . ' / 名称:' . $item['project_name'];
|
||||||
}
|
}
|
||||||
@ -177,33 +202,47 @@ class CostProjectLogic extends BaseLogic
|
|||||||
|
|
||||||
public static function createProject($data)
|
public static function createProject($data)
|
||||||
{
|
{
|
||||||
return CostProject::create([
|
Db::startTrans();
|
||||||
'project_num' => generate_sn(CostProject::class, 'project_num'),
|
try {
|
||||||
'project_name' => $data['project_name'],
|
$res = CostProject::create([
|
||||||
'contract_id' => $data['contract_id'],
|
'project_num' => generate_sn(CostProject::class, 'project_num'),
|
||||||
'types' => $data['types'],
|
'project_name' => $data['project_name'],
|
||||||
'industry' => $data['industry'],
|
'contract_id' => $data['contract_id'],
|
||||||
'province' => $data['province'],
|
'types' => $data['types'],
|
||||||
'city' => $data['city'],
|
'industry' => $data['industry'],
|
||||||
'address' => $data['address'],
|
'province' => $data['province'],
|
||||||
'starting' => $data['starting'],
|
'city' => $data['city'],
|
||||||
'endtime' => $data['endtime'],
|
'address' => $data['address'],
|
||||||
'jhgq' => $data['jhgq'],
|
'starting' => $data['starting'],
|
||||||
'depar' => $data['depar'],
|
'endtime' => $data['endtime'],
|
||||||
'principal' => $data['principal'],
|
'jhgq' => $data['jhgq'],
|
||||||
'person' => $data['person'],
|
'depar' => $data['depar'],
|
||||||
'invest' => $data['invest'],
|
'principal' => $data['principal'],
|
||||||
'budget' => $data['budget'],
|
'invest' => $data['invest'],
|
||||||
'cost' => $data['cost'],
|
'budget' => $data['budget'],
|
||||||
'approval' => $data['approval'],
|
'cost' => $data['cost'],
|
||||||
'aunit' => $data['aunit'],
|
'approval' => $data['approval'],
|
||||||
'Acontact' => $data['Acontact'],
|
'aunit' => $data['aunit'],
|
||||||
'acontactnum' => $data['acontactnum'],
|
'Acontact' => $data['Acontact'],
|
||||||
'date' => $data['date'],
|
'acontactnum' => $data['acontactnum'],
|
||||||
'generalize' => $data['generalize'],
|
'date' => $data['date'],
|
||||||
'note' => $data['note'],
|
'generalize' => $data['generalize'],
|
||||||
'remark' => $data['remark'],
|
'note' => $data['note'],
|
||||||
'annex' => $data['annex']
|
'remark' => $data['remark'],
|
||||||
]);
|
'annex' => $data['annex']
|
||||||
|
]);
|
||||||
|
if ($data['person_id']) {
|
||||||
|
$arr = [];
|
||||||
|
$person_id = explode(',', $data['person_id']);
|
||||||
|
(new CostProjectPerson)->delete($person_id);
|
||||||
|
foreach ($person_id as $k => $v) {
|
||||||
|
$arr[] = ['cost_project_id' => $data->id, $v];
|
||||||
|
}
|
||||||
|
$arr ?? (new CostProjectPerson)->saveAll($arr);
|
||||||
|
}
|
||||||
|
return $res;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user