updated
This commit is contained in:
parent
11b344cd53
commit
d2ed16edfc
@ -42,7 +42,7 @@ class CostProjectLogic extends BaseLogic
|
||||
{
|
||||
Db::startTrans();
|
||||
try {
|
||||
$data = CostProject::create([
|
||||
CostProject::create([
|
||||
'project_num' => generate_sn(CostProject::class, 'project_num'),
|
||||
'project_name' => $params['project_name'],
|
||||
'contract_id' => $params['contract_id'],
|
||||
@ -51,12 +51,13 @@ class CostProjectLogic extends BaseLogic
|
||||
'province' => $params['province'],
|
||||
'city' => $params['city'],
|
||||
'address' => $params['address'],
|
||||
'starting' => $params['starting'],
|
||||
'endtime' => $params['endtime'],
|
||||
'starting' => !empty($params['starting']) ? strtotime($params['starting']) : 0,
|
||||
'endtime' => !empty($params['endtime']) ? strtotime($params['endtime']) : 0,
|
||||
'jhgq' => $params['jhgq'],
|
||||
'org_id' => $params['org_id'],
|
||||
'depar' => $params['depar'],
|
||||
'principal' => $params['principal'],
|
||||
'person' => $params['person'] ? json_encode($params['person']) : null,
|
||||
'invest' => $params['invest'],
|
||||
'budget' => $params['budget'],
|
||||
'cost' => $params['cost'],
|
||||
@ -65,20 +66,12 @@ class CostProjectLogic extends BaseLogic
|
||||
'js_unit' => $params['js_unit'],
|
||||
'Acontact' => $params['Acontact'],
|
||||
'acontactnum' => $params['acontactnum'],
|
||||
'date' => $params['date'],
|
||||
'date' => !empty($params['date']) ? strtotime($params['date']) : 0,
|
||||
'generalize' => $params['generalize'],
|
||||
'note' => $params['note'],
|
||||
'remark' => $params['remark'],
|
||||
'annex' => $params['annex'] ? json_encode($params['annex']) : null,
|
||||
]);
|
||||
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();
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
@ -101,43 +94,35 @@ class CostProjectLogic extends BaseLogic
|
||||
Db::startTrans();
|
||||
try {
|
||||
CostProject::where('id', $params['id'])->update([
|
||||
'project_num' => $params['project_num'],
|
||||
'project_name' => $params['project_name'],
|
||||
'contract_id' => $params['contract_id'],
|
||||
'types' => $params['types'],
|
||||
'industry' => $params['industry'],
|
||||
'province' => $params['province'],
|
||||
'city' => $params['city'],
|
||||
'address' => $params['address'],
|
||||
'starting' => $params['starting'],
|
||||
'endtime' => $params['endtime'],
|
||||
'jhgq' => $params['jhgq'],
|
||||
'org_id' => $params['org_id'],
|
||||
'depar' => $params['depar'],
|
||||
'principal' => $params['principal'],
|
||||
'invest' => $params['invest'],
|
||||
'budget' => $params['budget'],
|
||||
'cost' => $params['cost'],
|
||||
'approval' => $params['approval'],
|
||||
'aunit' => $params['aunit'],
|
||||
'js_unit' => $params['js_unit'],
|
||||
'Acontact' => $params['Acontact'],
|
||||
'acontactnum' => $params['acontactnum'],
|
||||
'date' => $params['date'],
|
||||
'generalize' => $params['generalize'],
|
||||
'note' => $params['note'],
|
||||
'remark' => $params['remark'],
|
||||
'project_num' => generate_sn(CostProject::class, 'project_num'),
|
||||
'project_name' => $params['project_name'],
|
||||
'contract_id' => $params['contract_id'],
|
||||
'types' => $params['types'],
|
||||
'industry' => $params['industry'],
|
||||
'province' => $params['province'],
|
||||
'city' => $params['city'],
|
||||
'address' => $params['address'],
|
||||
'starting' => !empty($params['starting']) ? strtotime($params['starting']) : 0,
|
||||
'endtime' => !empty($params['endtime']) ? strtotime($params['endtime']) : 0,
|
||||
'jhgq' => $params['jhgq'],
|
||||
'org_id' => $params['org_id'],
|
||||
'depar' => $params['depar'],
|
||||
'principal' => $params['principal'],
|
||||
'person' => $params['person'] ? json_encode($params['person']) : null,
|
||||
'invest' => $params['invest'],
|
||||
'budget' => $params['budget'],
|
||||
'cost' => $params['cost'],
|
||||
'approval' => $params['approval'],
|
||||
'aunit' => $params['aunit'],
|
||||
'js_unit' => $params['js_unit'],
|
||||
'Acontact' => $params['Acontact'],
|
||||
'acontactnum' => $params['acontactnum'],
|
||||
'date' => !empty($params['date']) ? strtotime($params['date']) : 0,
|
||||
'generalize' => $params['generalize'],
|
||||
'note' => $params['note'],
|
||||
'remark' => $params['remark'],
|
||||
'annex' => $params['annex'] ? json_encode($params['annex']) : null,
|
||||
]);
|
||||
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();
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
@ -170,17 +155,9 @@ class CostProjectLogic extends BaseLogic
|
||||
*/
|
||||
public static function detail($params): array
|
||||
{
|
||||
$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;
|
||||
$res= CostProject::with(['contract'])->findOrEmpty($params['id']);
|
||||
$res['person_text'] = $res->person_text;
|
||||
return $res->toArray();
|
||||
}
|
||||
|
||||
public static function datas($name)
|
||||
|
@ -36,10 +36,11 @@ class CostProjectValidate extends BaseValidate
|
||||
'contract_id' => 'require',
|
||||
'types' => 'checkTypes',
|
||||
'industry' => 'checkIndustry',
|
||||
'starting' => 'require',
|
||||
'endtime' => 'require',
|
||||
'starting' => 'require|dateFormat:Y-m-d',
|
||||
'endtime' => 'require|dateFormat:Y-m-d',
|
||||
'jhgq' => 'require',
|
||||
'principal' => 'require',
|
||||
'person' => 'checkPerson',
|
||||
'invest' => 'require',
|
||||
'aunit' => 'require',
|
||||
'annex' => 'checkAnnex'
|
||||
@ -110,5 +111,13 @@ class CostProjectValidate extends BaseValidate
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
public function checkPerson($value): bool|string
|
||||
{
|
||||
if(!empty($value) && $value != '' && !is_array($value)){
|
||||
return '项目相关人员格式错误';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
@ -15,6 +15,7 @@
|
||||
namespace app\common\model\cost_project;
|
||||
|
||||
|
||||
use app\common\model\auth\Admin;
|
||||
use app\common\model\BaseModel;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
@ -39,4 +40,26 @@ class CostProject extends BaseModel
|
||||
{
|
||||
return $this->hasOne(CostProjectContract::class, 'id','contract_id');
|
||||
}
|
||||
|
||||
public function getPersonAttr($value){
|
||||
return !empty($value) ? json_decode($value,true) : '';
|
||||
}
|
||||
|
||||
public function getStartingAttr($value){
|
||||
return !empty($value) ? date('Y-m-d',$value) : '';
|
||||
}
|
||||
|
||||
public function getEndtimeAttr($value){
|
||||
return !empty($value) ? date('Y-m-d',$value) : '';
|
||||
}
|
||||
|
||||
public function getDateAttr($value){
|
||||
return !empty($value) ? date('Y-m-d',$value) : '';
|
||||
}
|
||||
|
||||
public function getPersonTextAttr($value,$data): string
|
||||
{
|
||||
$person = Admin::where('id','in',json_decode($data['person'],true))->column('name');
|
||||
return !empty($person) ? implode(',',$person) : '';
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user