Browse Source

健康档案

gorden 3 months ago
parent
commit
9f3c8888be

+ 23 - 50
app/admin/controller/member/WellnessRecordController.php

@@ -70,8 +70,8 @@ class WellnessRecordController extends Curd
         } catch (BusinessException $customException) {
             return json_fail($customException->getMessage());
         } catch (\Exception $e) {
-            dump($e->getMessage());
-            return json_fail('数据写入失败11');
+            dump($e->getMessage(),$e->getFile(),$e->getLine());
+            return json_fail('数据写入失败');
         }
         return json_success('success');
     }
@@ -156,7 +156,7 @@ class WellnessRecordController extends Curd
                 'wellness_record_extend_json' => $item->wellness_record_extend_json,
                 'wellness_record_addtimes' => $item->wellness_record_addtimes,
                 'wellness_record_file_json' => json_decode($item->wellness_record_file_json),
-                'wellness_record_json' => json_decode($item->wellness_record_json,true),
+                'wellness_record_json' => json_decode($item->wellness_record_json, true),
             ];
             if (!empty($itemNew['wellness_record_json'])) {
                 foreach ($itemNew['wellness_record_json'] as $key => $item) {
@@ -268,15 +268,15 @@ class WellnessRecordController extends Curd
             ->first();
         if ($archives) {
             if (!empty($archives->wellness_record_json)) {
-                $recordJson = json_decode($archives->wellness_record_json);
-                $fields = SysField::pluck('field_name', 'field_form_key');
-                $newJson = [];
-                foreach ($recordJson as $key => $item) {
-                    if (isset($fields[$key])) {
-                        $newJson[$fields[$key]] = is_array($item) ? implode(',', $item) : $item;
-                    }
-                }
-                $archives->wellness_record_json = $newJson;
+//                $recordJson = json_decode($archives->wellness_record_json);
+////                $fields = SysField::pluck('field_name', 'field_form_key');
+//                $newJson = [];
+//                foreach ($recordJson as $key => $item) {
+//                    if (isset($fields[$key])) {
+//                        $newJson[$fields[$key]] = is_array($item) ? implode(',', $item) : $item;
+//                    }
+//                }
+                $archives->wellness_record_json = json_decode($archives->wellness_record_json);;
             }
             if (!empty($archives->wellness_record_file_json)) {
                 $archives->wellness_record_file_json = json_decode($archives->wellness_record_file_json, true);
@@ -291,42 +291,6 @@ class WellnessRecordController extends Curd
                 $archives->wellness_record_file_json = $recordFileJson;
             }
         }
-//            ->orderBy('wellness_record_addtimes', 'desc');
-//        $paginator = $query->paginate(20);
-//        $total = $paginator->total();
-//        $items = $paginator->items();
-//        $itemsNew = [];
-//        foreach ($items as $item) {
-//            $itemNew = [
-//                'wellness_record_id' => $item->wellness_record_id,
-//                'join_wellness_record_member_id' => $item->join_wellness_record_member_id,
-//                'wellness_record_status' => $item->wellness_record_status,
-//                'wellness_record_name' => $item->wellness_record_name,
-//                'wellness_record_datetime' => $item->wellness_record_datetime,
-//                'wellness_record_json' => $item->wellness_record_json,
-//                'wellness_record_content' => $item->wellness_record_content,
-//                'wellness_record_remark' => $item->wellness_record_remark,
-//                'wellness_record_extend_json' => $item->wellness_record_extend_json,
-//                'wellness_record_addtimes' => $item->wellness_record_addtimes,
-//            ];
-//            if (!empty($item->wellness_record_file_json)) {
-//                $item->wellness_record_file_json = json_decode($item->wellness_record_file_json, true);
-//                foreach ($item->wellness_record_file_json as $value) {
-//                    $itemNew['wellness_record_file_json'][] = [
-//                        'url' => isset($value['url']) ? getenv('STORAGE_DOMAIN') . $value['url'] : '',
-//                        'name' => isset($value['name']) ? $value['name'] : ''
-//                    ];
-//                }
-//            }
-//
-//            $itemsNew[] = $itemNew;
-//        }
-//
-//        $data = [
-//            'total' => $total,
-//            'rows' => $itemsNew
-//        ];
-//        return json(['code' => 200, 'msg' => 'success', 'data' => $data]);
 
         return json_success('', $archives);
     }
@@ -529,7 +493,12 @@ class WellnessRecordController extends Curd
     protected function insertInput(Request $request): array
     {
         $data = $this->inputFilter($request->post());
-        $data['wellness_record_datetime'] = date('Y-m-d H:i:s', strtotime($data['wellness_record_datetime']));
+        if (empty($data['wellness_record_datetime'])){
+            $data['wellness_record_datetime'] = date('Y-m-d H:i:s');
+        }else{
+            $data['wellness_record_datetime'] = date('Y-m-d H:i:s', strtotime($data['wellness_record_datetime']));
+        }
+
         if (!empty($data['wellness_record_file_json'])) {
             $data['wellness_record_file_json'] = json_decode($data['wellness_record_file_json'], true);
             $wellnessRecordFileJson = [];
@@ -570,7 +539,11 @@ class WellnessRecordController extends Curd
             throw new BusinessException('记录不存在', 2);
         }
         $data = $this->inputFilter($request->post());
-        $data['wellness_record_datetime'] = date('Y-m-d H:i:s', strtotime($data['wellness_record_datetime']));
+        if (empty($data['wellness_record_datetime'])){
+            $data['wellness_record_datetime'] = date('Y-m-d H:i:s');
+        }else{
+            $data['wellness_record_datetime'] = date('Y-m-d H:i:s', strtotime($data['wellness_record_datetime']));
+        }
         if (!empty($data['wellness_record_file_json'])) {
             $data['wellness_record_file_json'] = json_decode($data['wellness_record_file_json'], true);
             $wellnessRecordFileJson = [];

+ 11 - 3
app/admin/controller/sys_manage/QuestionController.php

@@ -108,11 +108,18 @@ class QuestionController extends Curd
         return $items;
     }
 
+    /**
+     * @Desc 问卷列表
+     * @Author Gorden
+     * @Date 2024/12/4 8:53
+     *
+     * @return Response
+     */
     public function selectList()
     {
         $questions = Content::where('content_category', 'WELLNESSQUESTION')
             ->select('content_title', 'content_config_json')
-            ->orderBy('content_sort', 'asc')
+            ->orderBy('content_sort')
             ->get()
             ->toArray();
         foreach ($questions as &$question) {
@@ -120,16 +127,17 @@ class QuestionController extends Curd
                 $contentConfigJson = json_decode($question['content_config_json'], true);
                 foreach ($contentConfigJson as $item) {
                     $fields = SysField::whereIn('field_id', $item['field'])
-                        ->select('field_id', 'field_form_key', 'field_form_type', 'field_refer_json')
+                        ->select('field_id','field_name', 'field_form_key', 'field_form_type', 'field_refer_json')
                         ->orderByDesc('field_sort')
                         ->get()
                         ->toArray();
                     $fieldData = [];
                     foreach ($fields as $field) {
                         if (!empty($field['field_refer_json'])) {
-                            $fieldData = [
+                            $fieldData[] = [
                                 'form_type' => $field['field_form_type'],
                                 'form_key' => $field['field_form_key'],
+                                'field_name'=> $field['field_name'],
                                 'field' => json_decode($field['field_refer_json'], true)
                             ];
                         }

+ 6 - 4
app/admin/service/sys_manage/FieldService.php

@@ -7,6 +7,7 @@ use app\model\SysField;
 use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Support\Facades\Schema;
 use support\Db;
+use support\Log;
 use support\Request;
 
 class FieldService
@@ -90,16 +91,16 @@ class FieldService
                 'field_status' => $params['field_status'],
                 'field_category' => $params['field_category'],
                 'field_name' => $params['field_name'],
-                'field_table' => $params['field_table'],
+                'field_table' => $params['field_table'] ?? '',
                 'field_column_key' => $params['field_column_key'] ?? '',
                 'field_column_datatype' => $params['field_column_datatype'] ?? '',
                 'field_column_default' => $params['field_column_default'] ?? '',
                 'field_form_key' => $params['field_form_key'] ?? '',
                 'field_form_type' => $params['field_form_type'] ?? '',
                 'field_form_default' => $params['field_form_default'] ?? '',
-                'field_refer_json' => !empty($params['field_refer_json']) ? json_encode($params['field_refer_json']) : [],
+                'field_refer_json' => !empty($params['field_refer_json']) ? json_encode($params['field_refer_json']) : '[]',
                 'field_remark' => $params['field_remark'] ?? '',
-                'field_extend_json' => !empty($params['field_extend_json']) ? $params['field_extend_json'] : [],
+                'field_extend_json' => !empty($params['field_extend_json']) ? $params['field_extend_json'] : '[]',
                 'field_addtimes' => time()
             ];
             // 入库
@@ -128,6 +129,7 @@ class FieldService
             Db::commit();
         } catch (\Exception $e) {
             Db::rollBack();
+            Log::error("创建字段失败", ['msg' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine()]);
             return json_fail('创建字段失败');
         }
 
@@ -289,7 +291,7 @@ class FieldService
     public static function checkFieldExist($table, $field)
     {
         if (empty($table)) {
-            return true;
+            return false;
         }
         return SysField::where('field_table', $table)
             ->where('field_column_key', $field)

+ 2 - 2
app/admin/validate/member/WellnessRecordValidate.php

@@ -10,8 +10,8 @@ class WellnessRecordValidate extends Validate
         'wellness_record_id' => 'require|integer',
         'join_wellness_record_member_id' => 'require',
         'wellness_record_status|状态' => 'max:32',
-        'wellness_record_category|分类' => 'in:Archives,Examine,病例,Advice,Visiting,来访,其他',
-        'wellness_record_name|名称' => 'require',
+//        'wellness_record_category|分类' => 'in:Archives,Examine,病例,Advice,Visiting,来访,其他',
+//        'wellness_record_name|名称' => 'require',
 //        'wellness_record_datetime' => 'max:20',
         'wellness_record_file_json|文件' => 'isJson',
         'wellness_record_json' => 'isJson',