|
|
@@ -3,6 +3,7 @@
|
|
|
namespace App\Service;
|
|
|
|
|
|
use App\Model\DDEmployee;
|
|
|
+use App\Model\Field;
|
|
|
use App\Model\FieldData;
|
|
|
use App\Model\Inventory;
|
|
|
use App\Model\Record;
|
|
|
@@ -184,7 +185,7 @@ class U8XkyServerService extends Service
|
|
|
}
|
|
|
|
|
|
if(! $is_add){
|
|
|
- $order = Inventory::where('id', $data['id'])->first();
|
|
|
+ $order = Inventory::where('id', $data['id'])->where('del_time',0)->first();
|
|
|
if(empty($order)) return [false, '存货信息不存在或已被删除'];
|
|
|
$order = $order->toArray();
|
|
|
list($status, $msg) = $this->checkState(U8State::type_four, $user, $order['order_number']);
|
|
|
@@ -278,7 +279,7 @@ class U8XkyServerService extends Service
|
|
|
DB::beginTransaction();
|
|
|
$time = time();
|
|
|
|
|
|
- $order = Inventory::where('id', $data['id'])->first();
|
|
|
+ $order = Inventory::where('id', $data['id'])->where('del_time',0)->first();
|
|
|
if(empty($order)) return [false, '存货信息不存在或已被删除'];
|
|
|
$order = $order->toArray();
|
|
|
list($status, $msg) = $this->checkState(U8State::type_five, $user, $order['order_number']);
|
|
|
@@ -403,7 +404,7 @@ class U8XkyServerService extends Service
|
|
|
}
|
|
|
|
|
|
if(! $is_add){
|
|
|
- $order = Vendor::where('id', $data['id'])->first();
|
|
|
+ $order = Vendor::where('id', $data['id'])->where('del_time',0)->first();
|
|
|
if(empty($order)) return [false, '供应商信息不存在或已被删除'];
|
|
|
$order = $order->toArray();
|
|
|
list($status, $msg) = $this->checkState(U8State::type_five, $user, $order['order_number']);
|
|
|
@@ -489,7 +490,7 @@ class U8XkyServerService extends Service
|
|
|
DB::beginTransaction();
|
|
|
$time = time();
|
|
|
|
|
|
- $order = Vendor::where('id', $data['id'])->first();
|
|
|
+ $order = Vendor::where('id', $data['id'])->where('del_time',0)->first();
|
|
|
if(empty($order)) return [false, '供应商信息不存在或已被删除'];
|
|
|
$order = $order->toArray();
|
|
|
list($status, $msg) = $this->checkState(U8State::type_five, $user, $order['order_number']);
|
|
|
@@ -508,7 +509,7 @@ class U8XkyServerService extends Service
|
|
|
return [true, ''];
|
|
|
}
|
|
|
|
|
|
- public function filedCommon($data, $user, $field = []){
|
|
|
+ public function filedCommon1($data, $user, $field = []){
|
|
|
$model = FieldData::select([
|
|
|
'userid',
|
|
|
'type',
|
|
|
@@ -522,6 +523,26 @@ class U8XkyServerService extends Service
|
|
|
return $model;
|
|
|
}
|
|
|
|
|
|
+ public function getField($data, $user){
|
|
|
+ if(empty($data['type'])) return [false, 'type类型不能为空'];
|
|
|
+ $type = $data['type'];
|
|
|
+ $config = config("field.{$type}") ?? [];
|
|
|
+
|
|
|
+ return [true, $config];
|
|
|
+ }
|
|
|
+
|
|
|
+ public function filedCommon($data, $user, $field = []){
|
|
|
+ if(empty($user['qx'])) return [false, '权限不足'];
|
|
|
+ $type = $data['type'] ?? null;
|
|
|
+ $model = Field::where('login_type', $user['login_type'])
|
|
|
+ ->when(! empty($type), function ($query) use($type){
|
|
|
+ return $query->where('type', $type);
|
|
|
+ })
|
|
|
+ ->select('id','userid','type');
|
|
|
+
|
|
|
+ return $model;
|
|
|
+ }
|
|
|
+
|
|
|
public function fieldList($data, $user){
|
|
|
$model = $this->filedCommon($data, $user);
|
|
|
$list = $this->limit($model,'',$data);
|
|
|
@@ -537,7 +558,6 @@ class U8XkyServerService extends Service
|
|
|
->pluck('name', 'userid')
|
|
|
->toArray();
|
|
|
foreach ($data['data'] as $key => $value){
|
|
|
- $data['data'][$key]['crt_time'] = $value['crt_time'] ? date('Y-m-d H:i:s',$value['crt_time']) : '';
|
|
|
$data['data'][$key]['user_title'] = $map[$value['userid']] ?? '';
|
|
|
$data['data'][$key]['type_title'] = FieldData::$name[$value['type']] ?? '';
|
|
|
}
|
|
|
@@ -546,48 +566,120 @@ class U8XkyServerService extends Service
|
|
|
}
|
|
|
|
|
|
public function fieldDetail($data, $user){
|
|
|
- if(! isset($data['type'])) return [false, 'type不能为空'];
|
|
|
- if(! isset($data['userid'])) return [false, '人员id不能为空'];
|
|
|
+ if(empty($user['qx'])) return [false, '权限不足'];
|
|
|
+ if(empty($data['id'])) return [false, 'ID不能为空'];
|
|
|
+ $order = Field::where('id', $data['id'])->first();
|
|
|
+ if(empty($order)) return ['字段设置不存在或已删除'];
|
|
|
+ $order = $order->toArray();
|
|
|
+ $order['field'] = FieldData::where('field_id', $order['id'])
|
|
|
+ ->get()->toArray();
|
|
|
|
|
|
- return [true, FieldData::where('type', $data['type'])
|
|
|
- ->where('login_type', $user['login_type'])
|
|
|
- ->where('userid', $data['userid'])
|
|
|
- ->get()->toArray()];
|
|
|
+ return [true, $order];
|
|
|
}
|
|
|
|
|
|
- public function getField($data, $user){
|
|
|
- if(empty($data['type'])) return [false, 'type类型不能为空'];
|
|
|
- $type = $data['type'];
|
|
|
- $config = config("field.{$type}") ?? [];
|
|
|
+ public function setFieldAdd($data, $user){
|
|
|
+ list($status, $msg) = $this->setFieldRule($data, $user);
|
|
|
+ if(! $status) return [false, $msg];
|
|
|
|
|
|
- return [true, $config];
|
|
|
+ try {
|
|
|
+
|
|
|
+ // 1. 插入主表并获取实例
|
|
|
+ $mainField = Field::create([
|
|
|
+ 'userid' => $data['userid'],
|
|
|
+ 'crt_id' => $user['userid'],
|
|
|
+ 'type' => $data['type'],
|
|
|
+ 'login_type' => $user['login_type']
|
|
|
+ ]);
|
|
|
+
|
|
|
+ // 2. 获取返回的 ID
|
|
|
+ $parentId = $mainField->id;
|
|
|
+
|
|
|
+ // 3. 构造并插入子表数据
|
|
|
+ $insert = [];
|
|
|
+ foreach ($data['field'] as $value){
|
|
|
+ $insert[] = [
|
|
|
+ 'field_id' => $parentId, // 将主表 ID 关联到子表
|
|
|
+ 'userid' => $data['userid'],
|
|
|
+ 'key' => $value['key'],
|
|
|
+ 'title' => $value['title'],
|
|
|
+ 'login_type' => $user['login_type']
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ FieldData::insert($insert);
|
|
|
+ } catch (\Throwable $exception) {
|
|
|
+ return [false, "异常: " . $exception->getMessage()];
|
|
|
+ }
|
|
|
+
|
|
|
+ return [true, ''];
|
|
|
+ }
|
|
|
+
|
|
|
+ public function setFieldEdit($data, $user){
|
|
|
+ list($status, $msg) = $this->setFieldRule($data, $user, false);
|
|
|
+ if(! $status) return [false, $msg];
|
|
|
+
|
|
|
+ try {
|
|
|
+ $insert = [];
|
|
|
+ foreach ($data['field'] as $value){
|
|
|
+ $insert[] = [
|
|
|
+ 'field_id' => $data['id'], // 将主表 ID 关联到子表
|
|
|
+ 'userid' => $data['userid'],
|
|
|
+ 'key' => $value['key'],
|
|
|
+ 'title' => $value['title'],
|
|
|
+ 'login_type' => $user['login_type']
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ FieldData::where('field_id', $data['id'])->delete();
|
|
|
+ FieldData::insert($insert);
|
|
|
+ } catch (\Throwable $exception) {
|
|
|
+ return [false, "异常: " . $exception->getMessage()];
|
|
|
+ }
|
|
|
+
|
|
|
+ return [true, ''];
|
|
|
}
|
|
|
|
|
|
- public function setField($data, $user){
|
|
|
+ public function setFieldRule(&$data, $user, $is_add = true){
|
|
|
+ if(! $is_add && empty($data['id'])) return [false, 'ID不能为空'];
|
|
|
+ $id = $data['id'] ?? 0;
|
|
|
if(empty($user['qx'])) return [false, '权限不足,设置失败'];
|
|
|
if(empty($data['userid'])) return [false, '人员ID不能为空'];
|
|
|
- if(! isset($data['field'])) return [false, '字段列不存在'];
|
|
|
-
|
|
|
- $insert = [];
|
|
|
+ if(empty($data['type'])) return [false, '设置类型不能为空'];
|
|
|
+ if(empty($data['field'])) return [false, '字段列不存在'];
|
|
|
foreach ($data['field'] as $value){
|
|
|
- $insert[] = [
|
|
|
- 'userid' => $data['userid'],
|
|
|
- 'key' => $value['key'],
|
|
|
- 'title' => $value['title'],
|
|
|
- 'login_type' => $user['login_type']
|
|
|
- ];
|
|
|
+ if(empty($value['key'])) return [false, '字段名不能为空'];
|
|
|
+ if(empty($value['title'])) return [false, '字段中文名不能为空'];
|
|
|
+ }
|
|
|
+
|
|
|
+ if(! $is_add){
|
|
|
+ $order = Field::where('id', $id)->first();
|
|
|
+ if(empty($order)) return [false, '字段信息不存在或已被删除'];
|
|
|
+ }else{
|
|
|
+ $bool = Field::where('userid', $data['userid'])->exists();
|
|
|
+ if($bool) return [false, '该人员字段设置已存在,请勿重复新增'];
|
|
|
}
|
|
|
|
|
|
+ return [true, ''];
|
|
|
+ }
|
|
|
+
|
|
|
+ public function fieldDel($data, $user){
|
|
|
+ if(empty($data['id'])) return [false, 'ID不能为空'];
|
|
|
+ if(empty($user['qx'])) return [false, '权限不足'];
|
|
|
+ $order = Field::where('id', $data['id'])->first();
|
|
|
+ if(empty($order)) return ['字段设置不存在或已删除'];
|
|
|
+
|
|
|
try {
|
|
|
+ DB::beginTransaction();
|
|
|
|
|
|
- FieldData::where('userid', $data['userid'])->where('login_type', $user['login_type'])->delete();
|
|
|
+ Field::where('id', $data['id'])->delete();
|
|
|
+ FieldData::where('field_id', $data['id'])->delete();
|
|
|
|
|
|
- if(! empty($insert)) FieldData::insert($insert);
|
|
|
- } catch (\Throwable $exception) {
|
|
|
- return [false, "异常: " . $exception->getMessage()];
|
|
|
+ DB::commit();
|
|
|
+ }catch (\Throwable $exception){
|
|
|
+ DB::rollBack();
|
|
|
+ return [false, $exception->getMessage()];
|
|
|
}
|
|
|
|
|
|
- return [true, ''];
|
|
|
+ return [true, $order];
|
|
|
}
|
|
|
|
|
|
public function ddEmployeeList($data, $user){
|