|
|
@@ -9,6 +9,7 @@ use App\Model\ItemDetails;
|
|
|
use App\Model\ItemEmployee;
|
|
|
use App\Model\ItemNode;
|
|
|
use App\Model\ItemNodeDetails;
|
|
|
+use App\Model\ItemNodeEmployee;
|
|
|
use App\Model\Tag;
|
|
|
use App\Model\SysMenu;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
@@ -152,7 +153,7 @@ class ItemService extends Service
|
|
|
ItemEmployee::where('del_time',0)
|
|
|
->where('item_id', $id)
|
|
|
->where('data_id', $old_employee_id)
|
|
|
- ->update(['del_time' => $time]);
|
|
|
+ ->delete();
|
|
|
|
|
|
ItemEmployee::insert([
|
|
|
'item_id' => $id,
|
|
|
@@ -288,10 +289,10 @@ class ItemService extends Service
|
|
|
return $model;
|
|
|
}
|
|
|
|
|
|
- public function itemCommon2($data,$user, $field = []){
|
|
|
+ public function itemCommon1($data,$user, $field = []){
|
|
|
if(empty($field)) $field = Item::$field;
|
|
|
|
|
|
- $model = Item::TopClear($user,$data);
|
|
|
+ $model = Item::TopAndEmployeeClear($user,$data);
|
|
|
$model = $model->where('del_time',0)
|
|
|
->select($field)
|
|
|
->orderby('id', 'desc');
|
|
|
@@ -316,7 +317,7 @@ class ItemService extends Service
|
|
|
$model = $this->itemCommon($data, $user);
|
|
|
}else{
|
|
|
//项目管理
|
|
|
- $model = $this->itemCommon2($data, $user);
|
|
|
+ $model = $this->itemCommon1($data, $user);
|
|
|
}
|
|
|
|
|
|
$list = $this->limit($model,'',$data);
|
|
|
@@ -509,6 +510,7 @@ class ItemService extends Service
|
|
|
DB::beginTransaction();
|
|
|
|
|
|
$model = ItemNode::where('id', $data['id'])->first();
|
|
|
+ $old_employee_id = $model->charge_id;
|
|
|
$tableName = $model->getTable();
|
|
|
$model->title = $data['title'] ?? '';
|
|
|
$model->mark = $data['mark'] ?? "";
|
|
|
@@ -528,8 +530,12 @@ class ItemService extends Service
|
|
|
ItemNodeDetails::where('del_time',0)
|
|
|
->where('item_node_id', $model->id)
|
|
|
->update(['del_time' => $time]);
|
|
|
+
|
|
|
$this->saveNodeDetail($model->id, $time, $data);
|
|
|
|
|
|
+ // 人员项目节点表
|
|
|
+ $this->saveNodeEmployee($model->id, $time, $data, $user, $old_employee_id);
|
|
|
+
|
|
|
list($status, $msg) = CustomFieldSettingService::syncCustomFieldData($model->id, $tableName, $data, $user);
|
|
|
if (! $status) {
|
|
|
DB::rollBack();
|
|
|
@@ -576,7 +582,11 @@ class ItemService extends Service
|
|
|
$model->top_depart_id = $data['top_depart_id'];
|
|
|
$model->save();
|
|
|
|
|
|
- $this->saveNodeDetail($model->id, time(), $data);
|
|
|
+ $time = time();
|
|
|
+ $this->saveNodeDetail($model->id, $time, $data);
|
|
|
+
|
|
|
+ // 人员项目节点表
|
|
|
+ $this->saveNodeEmployee($model->id, $time, $data, $user);
|
|
|
|
|
|
list($status, $msg) = CustomFieldSettingService::syncCustomFieldData($model->id, $tableName, $data, $user);
|
|
|
if (!$status) {
|
|
|
@@ -593,6 +603,23 @@ class ItemService extends Service
|
|
|
return [true, ''];
|
|
|
}
|
|
|
|
|
|
+ private function saveNodeEmployee($id, $time, $data, $user, $old_employee_id = 0){
|
|
|
+ if($old_employee_id != $data['charge_id']){
|
|
|
+ ItemNodeEmployee::where('del_time',0)
|
|
|
+ ->where('item_node_id', $id)
|
|
|
+ ->where('data_id', $old_employee_id)
|
|
|
+ ->delete();
|
|
|
+
|
|
|
+ ItemNodeEmployee::insert([
|
|
|
+ 'item_node_id' => $id,
|
|
|
+ 'item_id' => $data['item_id'],
|
|
|
+ 'data_id' => $data['charge_id'],
|
|
|
+ 'top_depart_id' => $user['top_depart_id'],
|
|
|
+ 'crt_time' => $time
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private function saveNodeDetail($id, $time, $data){
|
|
|
if(! empty($data['man_list'])){
|
|
|
$unit = [];
|
|
|
@@ -730,7 +757,7 @@ class ItemService extends Service
|
|
|
public function itemNodeCommon($data,$user, $field = []){
|
|
|
if(empty($field)) $field = ItemNode::$field;
|
|
|
|
|
|
- $model = ItemNode::TopClear($user,$data);
|
|
|
+ $model = ItemNode::TopAndEmployeeClear($user,$data);
|
|
|
$model = $model->where('del_time',0)
|
|
|
->select($field)
|
|
|
->orderby('id', 'desc');
|