|
@@ -6,6 +6,7 @@ use App\Model\Device;
|
|
|
use App\Model\Employee;
|
|
use App\Model\Employee;
|
|
|
use App\Model\Item;
|
|
use App\Model\Item;
|
|
|
use App\Model\ItemDetails;
|
|
use App\Model\ItemDetails;
|
|
|
|
|
+use App\Model\ItemEmployee;
|
|
|
use App\Model\ItemNode;
|
|
use App\Model\ItemNode;
|
|
|
use App\Model\ItemNodeDetails;
|
|
use App\Model\ItemNodeDetails;
|
|
|
use App\Model\Tag;
|
|
use App\Model\Tag;
|
|
@@ -22,6 +23,7 @@ class ItemService extends Service
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
|
|
|
|
|
$model = Item::where('id', $data['id'])->first();
|
|
$model = Item::where('id', $data['id'])->first();
|
|
|
|
|
+ $old_employee_id = $model->charge_id;
|
|
|
$tableName = $model->getTable();
|
|
$tableName = $model->getTable();
|
|
|
$model->code = $data['code'] ?? '';
|
|
$model->code = $data['code'] ?? '';
|
|
|
$model->title = $data['title'] ?? '';
|
|
$model->title = $data['title'] ?? '';
|
|
@@ -44,6 +46,10 @@ class ItemService extends Service
|
|
|
$model->save();
|
|
$model->save();
|
|
|
|
|
|
|
|
$time = time();
|
|
$time = time();
|
|
|
|
|
+
|
|
|
|
|
+ // 人员项目表
|
|
|
|
|
+ $this->saveEmployee($data['id'], $time, $data, $user, $old_employee_id);
|
|
|
|
|
+
|
|
|
ItemDetails::where('del_time',0)
|
|
ItemDetails::where('del_time',0)
|
|
|
->where('item_id', $model->id)
|
|
->where('item_id', $model->id)
|
|
|
->update(['del_time' => $time]);
|
|
->update(['del_time' => $time]);
|
|
@@ -90,7 +96,11 @@ class ItemService extends Service
|
|
|
$model->top_depart_id = $data['top_depart_id'];
|
|
$model->top_depart_id = $data['top_depart_id'];
|
|
|
$model->save();
|
|
$model->save();
|
|
|
|
|
|
|
|
- $this->saveDetail($model->id, time(), $data);
|
|
|
|
|
|
|
+ $time = time();
|
|
|
|
|
+ $this->saveDetail($model->id, $time, $data);
|
|
|
|
|
+
|
|
|
|
|
+ // 人员项目表
|
|
|
|
|
+ $this->saveEmployee($model->id, $time, $data, $user);
|
|
|
|
|
|
|
|
list($status, $msg) = CustomFieldSettingService::syncCustomFieldData($model->id, $tableName, $data, $user);
|
|
list($status, $msg) = CustomFieldSettingService::syncCustomFieldData($model->id, $tableName, $data, $user);
|
|
|
if (!$status) {
|
|
if (!$status) {
|
|
@@ -137,6 +147,22 @@ class ItemService extends Service
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private function saveEmployee($id, $time, $data, $user, $old_employee_id = 0){
|
|
|
|
|
+ if($old_employee_id != $data['charge_id']){
|
|
|
|
|
+ ItemEmployee::where('del_time',0)
|
|
|
|
|
+ ->where('item_id', $id)
|
|
|
|
|
+ ->where('data_id', $old_employee_id)
|
|
|
|
|
+ ->update(['del_time' => $time]);
|
|
|
|
|
+
|
|
|
|
|
+ ItemEmployee::insert([
|
|
|
|
|
+ 'item_id' => $id,
|
|
|
|
|
+ 'data_id' => $data['charge_id'],
|
|
|
|
|
+ 'top_depart_id' => $user['top_depart_id'],
|
|
|
|
|
+ 'crt_time' => $time
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private function getDetail($id){
|
|
private function getDetail($id){
|
|
|
$data = ItemDetails::where('del_time',0)
|
|
$data = ItemDetails::where('del_time',0)
|
|
|
->where('item_id', $id)
|
|
->where('item_id', $id)
|
|
@@ -246,7 +272,27 @@ class ItemService extends Service
|
|
|
|
|
|
|
|
$model = Item::TopClear($user,$data);
|
|
$model = Item::TopClear($user,$data);
|
|
|
$model = $model->where('del_time',0)
|
|
$model = $model->where('del_time',0)
|
|
|
-// ->withCustomData($user)
|
|
|
|
|
|
|
+ ->select($field)
|
|
|
|
|
+ ->orderby('id', 'desc');
|
|
|
|
|
+
|
|
|
|
|
+ if(! empty($data['title'])) $model->where('title', 'LIKE', '%'.$data['title'].'%');
|
|
|
|
|
+ if(! empty($data['code'])) $model->where('code', 'LIKE', '%'.$data['code'].'%');
|
|
|
|
|
+ if(! empty($data['id'])) $model->whereIn('id', $data['id']);
|
|
|
|
|
+ if(! empty($data['state'])) $model->where('state', $data['state']);
|
|
|
|
|
+ if(! empty($data['crt_time'][0]) && ! empty($data['crt_time'][1])) {
|
|
|
|
|
+ $return = $this->changeDateToTimeStampAboutRange($data['crt_time']);
|
|
|
|
|
+ $model->where('crt_time','>=',$return[0]);
|
|
|
|
|
+ $model->where('crt_time','<=',$return[1]);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return $model;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function itemCommon2($data,$user, $field = []){
|
|
|
|
|
+ if(empty($field)) $field = Item::$field;
|
|
|
|
|
+
|
|
|
|
|
+ $model = Item::TopClear($user,$data);
|
|
|
|
|
+ $model = $model->where('del_time',0)
|
|
|
->select($field)
|
|
->select($field)
|
|
|
->orderby('id', 'desc');
|
|
->orderby('id', 'desc');
|
|
|
|
|
|
|
@@ -264,7 +310,15 @@ class ItemService extends Service
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function itemList($data,$user){
|
|
public function itemList($data,$user){
|
|
|
- $model = $this->itemCommon($data, $user);
|
|
|
|
|
|
|
+ $select_tree_type = $user['select_tree_type'];
|
|
|
|
|
+ if(empty($select_tree_type)){
|
|
|
|
|
+ //工时
|
|
|
|
|
+ $model = $this->itemCommon($data, $user);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ //项目管理
|
|
|
|
|
+ $model = $this->itemCommon2($data, $user);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
$list = $this->limit($model,'',$data);
|
|
$list = $this->limit($model,'',$data);
|
|
|
$list = $this->fillData($list);
|
|
$list = $this->fillData($list);
|
|
|
|
|
|