Bläddra i källkod

Merge branch 'dev1.0' of http://123.207.73.252:3000/lsw/hospital

yys 9 månader sedan
förälder
incheckning
28c0606195
43 ändrade filer med 2516 tillägg och 29 borttagningar
  1. 190 0
      admin-ui/src/views/work/pv1/edit.vue
  2. 270 0
      admin-ui/src/views/work/pv1/index.vue
  3. 148 0
      admin-ui/src/views/work/pv2/edit.vue
  4. 165 0
      admin-ui/src/views/work/pv2/index.vue
  5. 82 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/DgController.java
  6. 83 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/NkController.java
  7. 23 23
      ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/ObrController.java
  8. 66 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/ObxController.java
  9. 90 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/PatientController.java
  10. 117 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/Pv1Controller.java
  11. 53 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Dg.java
  12. 62 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Nk.java
  13. 122 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Obr.java
  14. 60 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Obx.java
  15. 116 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Patient.java
  16. 121 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/PatientCard.java
  17. 110 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Pv1.java
  18. 15 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/DgMapper.java
  19. 13 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/NkMapper.java
  20. 15 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/ObrMapper.java
  21. 15 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/ObxMapper.java
  22. 20 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/PatientMapper.java
  23. 24 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/Pv1Mapper.java
  24. 13 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IDgService.java
  25. 13 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/INkService.java
  26. 13 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IObrService.java
  27. 13 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IObxService.java
  28. 17 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IPatientService.java
  29. 23 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IPv1Service.java
  30. 24 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/DgServiceImpl.java
  31. 24 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/NkServiceImpl.java
  32. 24 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/ObrServiceImpl.java
  33. 24 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/ObxServiceImpl.java
  34. 34 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/PatientServiceImpl.java
  35. 68 0
      ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/Pv1ServiceImpl.java
  36. 8 5
      ruoyi-admin/src/main/resources/application-druid.yml
  37. 1 1
      ruoyi-admin/src/main/resources/application.yml
  38. 22 0
      ruoyi-admin/src/main/resources/mapper/work/DgMapper.xml
  39. 21 0
      ruoyi-admin/src/main/resources/mapper/work/NkMapper.xml
  40. 51 0
      ruoyi-admin/src/main/resources/mapper/work/ObrMapper.xml
  41. 30 0
      ruoyi-admin/src/main/resources/mapper/work/ObxMapper.xml
  42. 50 0
      ruoyi-admin/src/main/resources/mapper/work/PatientMapper.xml
  43. 63 0
      ruoyi-admin/src/main/resources/mapper/work/Pv1Mapper.xml

+ 190 - 0
admin-ui/src/views/work/pv1/edit.vue

@@ -0,0 +1,190 @@
+<style scoped>
+  .splited-form {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+  }
+
+
+  .splited-form .left-col {
+    margin-right: 30px;
+  }
+
+
+</style>
+
+<template>
+  <div class="cmain">
+    <el-form
+      ref="form"
+      label-position="right"
+      :model="form" :rules="rules"
+      label-width="100px"
+      size="medium"
+      style="width: 100%"
+    >
+      <!-- 将表单分为两列 -->
+      <div class="splited-form">
+        <!-- 左边的一列 -->
+        <div class="left-col">
+          <el-form-item label="患者ID" prop="patientId">
+            <el-input v-model="form.patientId" placeholder="请输入患者ID" clearable/>
+          </el-form-item>
+
+          <el-form-item label="就诊卡号" prop="cardId">
+            <el-input v-model="form.cardId" placeholder="请输入就诊卡号" clearable/>
+          </el-form-item>
+
+          <el-form-item label="患者类别" prop="patientCategory">
+            <el-select v-model="form.patientCategory" placeholder="请选择患者类别" clearable>
+              <el-option
+                v-for="dict in dict.type.patient_category"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="患者位置" prop="bed">
+            <el-input v-model="form.bed" placeholder="请输入患者位置" clearable/>
+          </el-form-item>
+          <el-form-item label="主治医师" prop="physician">
+            <el-input v-model="form.physician" placeholder="请输入主治医师" clearable/>
+          </el-form-item>
+          <el-form-item label="主管护士代码" prop="nurseCode">
+            <el-input v-model="form.nurseCode" placeholder="请输入主管护士代码" clearable/>
+          </el-form-item>
+          <el-form-item label="入院次数" prop="hospitalizedNumber">
+            <el-input v-model="form.hospitalizedNumber" placeholder="请输入入院次数" clearable/>
+          </el-form-item>
+          <el-form-item label="收费类别" prop="feeCategory">
+            <el-input v-model="form.feeCategory" type="textarea" placeholder="请输入内容" />
+          </el-form-item>
+          <el-form-item label="出院方式" prop="dischargeMethod">
+            <el-select v-model="form.dischargeMethod" placeholder="请选择出院方式" clearable>
+              <el-option
+                v-for="dict in dict.type.discharge_method"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="患者信息ID" prop="msgId">
+            <el-input v-model="form.msgId" placeholder="请输入患者信息ID" clearable/>
+          </el-form-item>
+        </div>
+
+        <!-- 右边的一列 -->
+        <div class="right-col">
+
+          <el-form-item label="医疗机构代码" prop="medicalCode">
+            <el-input v-model="form.medicalCode" placeholder="请输入医疗机构代码" clearable/>
+          </el-form-item>
+          <el-form-item label=" 在院状态" prop="hospitalStatus">
+            <el-select v-model="form.hospitalStatus" placeholder="请选择 在院状态" clearable>
+              <el-option
+                v-for="dict in dict.type.hospital_status"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="门诊挂号状态">
+            <el-radio-group v-model="form.registrationStatus">
+              <el-radio
+                v-for="dict in dict.type.registration_status"
+                :key="dict.value"
+                :label="dict.value"
+              >{{dict.label}}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="入院时间" prop="admissionTime">
+            <el-input v-model="form.admissionTime" placeholder="请输入入院时间" clearable/>
+          </el-form-item>
+          <el-form-item label="出院时间" prop="dischargeTime">
+            <el-input v-model="form.dischargeTime" placeholder="请输入出院时间" clearable/>
+          </el-form-item>
+          <el-form-item label="创建时间" prop="createTime">
+            <el-date-picker clearable
+                            v-model="form.createTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="请选择创建时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="创建人" prop="createBy">
+            <el-input v-model="form.createBy" placeholder="请输入创建人" clearable/>
+          </el-form-item>
+          <el-form-item label="更新时间" prop="updateTime">
+            <el-date-picker clearable
+                            v-model="form.updateTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="请选择更新时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="更新人" prop="updateBy">
+            <el-input v-model="form.updateBy" placeholder="请输入更新人" clearable/>
+          </el-form-item>
+
+          <el-form-item label="科室" prop="department">
+            <el-input v-model="form.department" placeholder="请输入科室" clearable/>
+          </el-form-item>
+        </div>
+
+
+      </div>
+
+
+
+
+    </el-form>
+    <div class="mfooter">
+      <el-button type="primary" @click="submitForm">确 定</el-button>
+      <el-button @click="$layer.close(layerid)">取 消</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  dicts: ['hospital_status', 'discharge_method', 'patient_category', 'registration_status'],
+  data() {
+    return {
+      form: {},
+      rules: {
+      }
+    };
+  },
+  mounted() {
+    if (this.param.id) {
+      this.ajax({ url: '/work/pv1/detail/' + this.param.id }).then(response => {
+        this.form = response.data;
+      });
+    }
+  },
+  methods: {
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id) {
+            this.ajax({method: 'post',url: '/work/pv1/edit', data: this.form }).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.$layer.close(this.layerid);
+              this.$parent.getList();
+            });
+          } else {
+            this.ajax({method: 'post',url: '/work/pv1/add', data: this.form }).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.$layer.close(this.layerid);
+              this.$parent.getList();
+            });
+          }
+        }
+      });
+    }
+  }
+};
+</script>

+ 270 - 0
admin-ui/src/views/work/pv1/index.vue

@@ -0,0 +1,270 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" @submit.native.prevent label-position="right">
+      <el-row type="flex" justify="space-between" :gutter="20">
+        <el-col span="8">
+          <el-form-item label="患者ID" prop="patientId">
+            <el-input v-model="queryParams.patientId" placeholder="请输入患者ID" @keyup.enter.native="handleQuery" clearable
+                      class="inp"/>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="就诊卡号" prop="cardId">
+            <el-input v-model="queryParams.cardId" placeholder="请输入就诊卡号" @keyup.enter.native="handleQuery" clearable
+                      class="inp"/>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="患者类别" prop="patientCategory">
+            <el-select v-model="queryParams.patientCategory" placeholder="请选择患者类别" clearable class="se">
+              <el-option v-for="dict in dict.type.patient_category" :key="dict.value" :label="dict.label"
+                         :value="dict.value"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row :gutter="20">
+        <el-col span="8">
+          <el-form-item label="患者位置" prop="bed">
+            <el-input v-model="queryParams.bed" placeholder="请输入患者位置" @keyup.enter.native="handleQuery" clearable
+                      class="inp"/>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="主治医师" prop="physician">
+            <el-input v-model="queryParams.physician" placeholder="请输入主治医师" @keyup.enter.native="handleQuery"
+                      clearable class="inp"/>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="主管护士代码" prop="nurseCode">
+            <el-input v-model="queryParams.nurseCode" placeholder="请输入主管护士代码" @keyup.enter.native="handleQuery"
+                      clearable class="inp"/>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row :gutter="20">
+        <el-col span="8">
+          <el-form-item label="入院次数" prop="hospitalizedNumber">
+          <el-input v-model="queryParams.hospitalizedNumber" placeholder="请输入入院次数"
+                    @keyup.enter.native="handleQuery" clearable class="inp"/>
+        </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="出院方式" prop="dischargeMethod">
+            <el-select v-model="queryParams.dischargeMethod" placeholder="请选择出院方式" clearable class="se">
+              <el-option v-for="dict in dict.type.discharge_method" :key="dict.value" :label="dict.label"
+                         :value="dict.value"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="医疗机构代码" prop="medicalCode">
+            <el-input v-model="queryParams.medicalCode" placeholder="请输入医疗机构代码" @keyup.enter.native="handleQuery"
+                      clearable class="inp"/>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+
+      <el-row :gutter="20">
+        <el-col span="8">
+          <el-form-item label=" 在院状态" prop="hospitalStatus">
+            <el-select v-model="queryParams.hospitalStatus" placeholder="请选择 在院状态" clearable class="se">
+              <el-option v-for="dict in dict.type.hospital_status" :key="dict.value" :label="dict.label"
+                         :value="dict.value"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="门诊挂号状态" prop="registrationStatus">
+            <el-select v-model="queryParams.registrationStatus" placeholder="请选择门诊挂号状态" clearable class="se">
+              <el-option v-for="dict in dict.type.registration_status" :key="dict.value" :label="dict.label"
+                         :value="dict.value"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="入院时间" prop="admissionTime">
+            <el-input v-model="queryParams.admissionTime" placeholder="请输入入院时间" @keyup.enter.native="handleQuery"
+                      clearable class="inp"/>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row :gutter="20">
+        <el-col span="8">
+          <el-form-item label="出院时间" prop="dischargeTime">
+            <el-input v-model="queryParams.dischargeTime" placeholder="请输入出院时间" @keyup.enter.native="handleQuery"
+                      clearable class="inp"/>
+          </el-form-item>
+        </el-col>
+
+
+        <el-col span="8">
+          <el-form-item label="患者(信息)ID" prop="msgId">
+            <el-input v-model="queryParams.msgId" placeholder="请输入患者(信息)ID" @keyup.enter.native="handleQuery" clearable
+                      class="inp"/>
+          </el-form-item>
+        </el-col>
+
+
+        <el-col span="8">
+          <el-form-item label="科室" prop="department">
+            <el-input v-model="queryParams.department" placeholder="请输入科室" @keyup.enter.native="handleQuery" clearable
+                      class="inp"/>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row :gutter="20">
+        <el-col span="24" >
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-button type="primary" icon="el-icon-plus" :disabled="ids.length > 0" @click="op('add')"
+                 v-hasPermi="['work:pv1:add']">新增
+      </el-button>
+      <el-button type="success" icon="el-icon-edit" :disabled="ids.length != 1" @click="op('edit',ids)"
+                 v-hasPermi="['work:pv1:edit']">修改
+      </el-button>
+      <el-button type="danger" icon="el-icon-delete" :disabled="ids.length == 0" @click="del"
+                 v-hasPermi="['work:pv1:remove']">删除{{ ids.length > 0 ? '(' + ids.length + ')' : '' }}
+      </el-button>
+    </el-row>
+
+    <el-table :data="response.rows" border @selection-change="selects" height="calc(100vh - 270px)">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="访问ID" align="center" prop="id"/>
+      <el-table-column label="患者ID" align="center" prop="patientId"/>
+      <el-table-column label="就诊卡号" align="center" prop="cardId"/>
+      <el-table-column label="患者类别" align="center" prop="patientCategory">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.patient_category" :value="scope.row.patientCategory"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="患者位置" align="center" prop="bed"/>
+      <el-table-column label="主治医师" align="center" prop="physician"/>
+      <el-table-column label="主管护士代码" align="center" prop="nurseCode"/>
+      <el-table-column label="入院次数" align="center" prop="hospitalizedNumber"/>
+      <el-table-column label="收费类别" align="center" prop="feeCategory"/>
+      <el-table-column label="出院方式" align="center" prop="dischargeMethod">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.discharge_method" :value="scope.row.dischargeMethod"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="医疗机构代码" align="center" prop="medicalCode"/>
+      <el-table-column label=" 在院状态" align="center" prop="hospitalStatus">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.hospital_status" :value="scope.row.hospitalStatus"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="门诊挂号状态" align="center" prop="registrationStatus">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.registration_status" :value="scope.row.registrationStatus"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="入院时间" align="center" prop="admissionTime"/>
+      <el-table-column label="出院时间" align="center" prop="dischargeTime"/>
+      <el-table-column label="患者ID" align="center" prop="msgId"/>
+      <el-table-column label="科室" align="center" prop="department"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+        <template slot-scope="scope">
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="op('edit',scope.row)"
+                     v-hasPermi="['work:pv1:edit']">修改
+          </el-button>
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="del(scope.row)"
+                     v-hasPermi="['work:pv1:remove']">删除
+          </el-button>
+        </template>
+      </el-table-column>
+      <template slot="empty">
+        <el-empty></el-empty>
+      </template>
+    </el-table>
+    <pagination v-if="response.total>0" :total="response.total" :page.sync="queryParams.pageNum"
+                :limit.sync="queryParams.pageSize" @pagination="getList"/>
+  </div>
+</template>
+
+<script>
+import edit from './edit'
+
+export default {
+  name: "Pv1",
+  dicts: ['hospital_status', 'discharge_method', 'patient_category', 'registration_status'],
+  data() {
+    return {
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        patientId: null,
+        cardId: null,
+        patientCategory: null,
+        bed: null,
+        physician: null,
+        nurseCode: null,
+        hospitalizedNumber: null,
+        feeCategory: null,
+        dischargeMethod: null,
+        medicalCode: null,
+        hospitalStatus: null,
+        registrationStatus: null,
+        admissionTime: null,
+        dischargeTime: null,
+        msgId: null,
+        department: null,
+        orderByColumn: 'id', //排序字段
+        isAsc: 'desc' //排序方式
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    getList() {
+      this.ajax({url: '/work/pv1/list', data: this.queryParams}).then(response => {
+        this.response = response;
+      });
+    },
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    selects(rows) {
+      this.ids = rows.map(item => item.id)
+    },
+    op(tag, row) {
+      if (tag == 'add') {
+        this.iframe({obj: edit, param: {}, title: '新增', width: '45%', height: '55%'});
+      }
+      if (tag == 'edit') {
+        const id = row.id || this.ids[0];
+        this.iframe({obj: edit, param: {id: id}, title: '编辑', width: '50%', height: '50%'});
+      }
+    },
+    del(row) {
+      this.$confirm('是否确认删除选中数据?', '警告', {type: 'warning'}).then(() => {
+        this.get({url: '/work/pv1/remove/' + (row.id || this.ids)}).then(response => {
+          this.$modal.msgSuccess('删除成功');
+          this.getList();
+        });
+      });
+    }
+  }
+};
+</script>

+ 148 - 0
admin-ui/src/views/work/pv2/edit.vue

@@ -0,0 +1,148 @@
+<style scoped>
+.splited-form {
+  width: 100%;
+  display: flex;
+  justify-content: space-between;
+}
+
+
+.splited-form .left-col {
+  margin-right: 30px;
+}
+</style>
+
+<template>
+  <div class="cmain">
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px" label-position="left">
+        <div class="splited-form">
+          <div class="left-col">
+            <el-form-item label="患者ID" prop="patientId">
+              <el-input v-model="form.patientId" placeholder="请输入患者ID" clearable/>
+            </el-form-item>
+            <el-form-item label="入区时间" prop="entryTime">
+              <el-date-picker clearable
+                              v-model="form.entryTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="请选择入区时间">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="出区原因" prop="reasonArea">
+              <el-select v-model="form.reasonArea" placeholder="请选择出区原因" clearable>
+                <el-option
+                  v-for="dict in dict.type.reason_area"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="创建人" prop="createBy">
+              <el-input v-model="form.createBy" placeholder="请输入创建人" clearable/>
+            </el-form-item>
+            <el-form-item label="创建时间" prop="createTime">
+              <el-date-picker clearable
+                              v-model="form.createTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="请选择创建时间">
+              </el-date-picker>
+
+            </el-form-item>
+            <el-form-item label="更新时间" prop="updateTime">
+              <el-date-picker clearable
+                              v-model="form.updateTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="请选择更新时间">
+              </el-date-picker>
+            </el-form-item>
+          </div>
+          <div class="right-col">
+            <el-form-item label="危重级别">
+              <el-radio-group v-model="form.level">
+                <el-radio
+                  v-for="dict in dict.type.pv2_level"
+                  :key="dict.value"
+                  :label="dict.value"
+                >{{dict.label}}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="出区时间" prop="exitTime">
+              <el-date-picker clearable
+                              v-model="form.exitTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="请选择出区时间">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="婴儿信息标识">
+              <el-radio-group v-model="form.babyCode">
+                <el-radio
+                  v-for="dict in dict.type.baby_code"
+                  :key="dict.value"
+                  :label="dict.value"
+                >{{dict.label}}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="更新人" prop="updateBy">
+              <el-input v-model="form.updateBy" placeholder="请输入更新人" clearable/>
+            </el-form-item>
+            <el-form-item label="患者ID" prop="msgId">
+              <el-input v-model="form.msgId" type="textarea" placeholder="请输入内容" />
+            </el-form-item>
+          </div>
+        </div>
+
+
+
+
+      </el-form>
+
+    <div class="mfooter">
+      <el-button type="primary" @click="submitForm">确 定</el-button>
+      <el-button @click="$layer.close(layerid)">取 消</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  dicts: ['reason_area', 'baby_code', 'pv2_level'],
+  data() {
+    return {
+      form: {},
+      rules: {
+      }
+    };
+  },
+  mounted() {
+    if (this.param.id) {
+      this.ajax({ url: '/work/pv2/detail/' + this.param.id }).then(response => {
+        this.form = response.data;
+      });
+    }
+  },
+  methods: {
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id) {
+              this.ajax({method: 'post',url: '/work/pv2/edit', data: this.form }).then(response => {
+                  this.$modal.msgSuccess("修改成功");
+                  this.$layer.close(this.layerid);
+                  this.$parent.getList();
+              });
+          } else {
+              this.ajax({method: 'post',url: '/work/pv2/add', data: this.form }).then(response => {
+                  this.$modal.msgSuccess("新增成功");
+                  this.$layer.close(this.layerid);
+                  this.$parent.getList();
+               });
+          }
+        }
+      });
+    }
+  }
+};
+</script>

+ 165 - 0
admin-ui/src/views/work/pv2/index.vue

@@ -0,0 +1,165 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" @submit.native.prevent>
+      <el-row>
+        <el-col span="8">
+          <el-form-item label="患者ID" prop="patientId">
+            <el-input v-model="queryParams.patientId" placeholder="请输入患者ID"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="危重级别" prop="level">
+            <el-select v-model="queryParams.level" placeholder="请选择危重级别" clearable class="se">
+              <el-option v-for="dict in dict.type.pv2_level" :key="dict.value" :label="dict.label" :value="dict.value"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="入区时间" prop="entryTime">
+          <el-date-picker clearable v-model="queryParams.entryTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择入区时间"></el-date-picker>
+        </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col span="8">
+          <el-form-item label="出区时间" prop="exitTime">
+            <el-date-picker clearable v-model="queryParams.exitTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择出区时间"></el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="出区原因" prop="reasonArea">
+            <el-select v-model="queryParams.reasonArea" placeholder="请选择出区原因" clearable class="se">
+              <el-option v-for="dict in dict.type.reason_area" :key="dict.value" :label="dict.label" :value="dict.value"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col span="8">
+          <el-form-item label="婴儿信息标识" prop="babyCode">
+            <el-select v-model="queryParams.babyCode" placeholder="请选择婴儿信息标识" clearable class="se">
+              <el-option v-for="dict in dict.type.baby_code" :key="dict.value" :label="dict.label" :value="dict.value"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+
+
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+        <el-button type="primary" icon="el-icon-plus" :disabled="ids.length > 0" @click="op('add')" v-hasPermi="['work:pv2:add']">新增</el-button>
+        <el-button type="success" icon="el-icon-edit" :disabled="ids.length != 1" @click="op('edit',ids)" v-hasPermi="['work:pv2:edit']">修改</el-button>
+        <el-button type="danger" icon="el-icon-delete" :disabled="ids.length == 0" @click="del" v-hasPermi="['work:pv2:remove']">删除{{ids.length>0?'('+ids.length+')':''}}</el-button>
+    </el-row>
+
+    <el-table :data="response.rows" border @selection-change="selects" height="calc(100vh - 270px)">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键ID" align="center" prop="id" />
+      <el-table-column label="患者ID" align="center" prop="patientId" />
+      <el-table-column label="危重级别" align="center" prop="level">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.pv2_level" :value="scope.row.level"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="入区时间" align="center" prop="entryTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.entryTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="出区时间" align="center" prop="exitTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.exitTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="出区原因" align="center" prop="reasonArea">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.reason_area" :value="scope.row.reasonArea"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="婴儿信息标识" align="center" prop="babyCode">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.baby_code" :value="scope.row.babyCode"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="患者ID" align="center" prop="msgId" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="op('edit',scope.row)" v-hasPermi="['work:pv2:edit']">修改</el-button>
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="del(scope.row)" v-hasPermi="['work:pv2:remove']">删除</el-button>
+        </template>
+      </el-table-column>
+      <template slot="empty">
+          <el-empty></el-empty>
+      </template>
+    </el-table>
+    <pagination v-if="response.total>0" :total="response.total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
+  </div>
+</template>
+
+<script>
+import edit from './edit'
+export default {
+  name: "Pv2",
+  dicts: ['reason_area', 'baby_code', 'pv2_level'],
+  data() {
+    return {
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+                      patientId: null,
+                      level: null,
+                      entryTime: null,
+                      exitTime: null,
+                      reasonArea: null,
+                      babyCode: null,
+                      msgId: null,
+                orderByColumn:'id', //排序字段
+                isAsc: 'desc' //排序方式
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    getList() {
+      this.ajax({ url: '/work/pv2/list', data: this.queryParams }).then(response => {
+            this.response = response;
+      });
+    },
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    selects(rows) {
+      this.ids = rows.map(item => item.id)
+    },
+    op(tag, row) {
+          if (tag == 'add') {
+            this.iframe({ obj: edit, param: {}, title:'新增',width: '45%', height: '55%'});
+          }
+          if (tag == 'edit') {
+              const id = row.id || this.ids[0];
+              this.iframe({ obj: edit, param: {id: id}, title:'编辑',width: '50%', height: '50%'});
+          }
+    },
+    del(row) {
+        this.$confirm('是否确认删除选中数据?', '警告', { type: 'warning' }).then(() => {
+        this.get({ url: '/work/pv2/remove/' + (row.id || this.ids) }).then(response => {
+                this.$modal.msgSuccess('删除成功');
+                this.getList();
+            });
+        });
+    }
+  }
+};
+</script>

+ 82 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/DgController.java

@@ -0,0 +1,82 @@
+package com.ruoyi.web.work.controller;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.ruoyi.common.annotation.Anonymous;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.web.work.domain.Dg;
+import com.ruoyi.web.work.service.IDgService;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 诊断
+ * @author lsw
+ * @date 2024-07-19
+ */
+@Api(tags = "诊断管理")
+@Anonymous
+@RestController
+@RequestMapping("/work/dg")
+public class DgController extends BaseController {
+    @Autowired
+    private IDgService dgService;
+
+    @ApiOperation(value = "获取诊断列表")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:dg:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Dg dg){
+        startPage();
+        List<Dg> list = dgService.selectList(dg);
+        return getDataTable(list);
+    }
+
+    @ApiOperation(value = "根据id查询")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:dg:query')")
+    @GetMapping(value = "/detail/{id}")
+    public AjaxResult detail(@PathVariable("id") Long id){
+        return AjaxResult.success(dgService.getById(id));
+    }
+
+    @ApiOperation(value = "添加诊断信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:dg:add')")
+    @Log(title = "诊断", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody Dg dg){
+        return toAjax(dgService.save(dg));
+    }
+
+    @ApiOperation(value = "修改诊断信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:dg:edit')")
+    @Log(title = "诊断", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody Dg dg){
+        return toAjax(dgService.updateById(dg));
+    }
+
+    @ApiOperation(value = "删除诊断信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:dg:remove')")
+    @Log(title = "诊断", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids){
+        return toAjax(dgService.removeByIds(Arrays.asList(ids)));
+    }
+}

+ 83 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/NkController.java

@@ -0,0 +1,83 @@
+package com.ruoyi.web.work.controller;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.ruoyi.common.annotation.Anonymous;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.OpenAPIDefinition;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.web.work.domain.Nk;
+import com.ruoyi.web.work.service.INkService;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 亲属关系
+ * @author lsw
+ * @date 2024-07-19
+ */
+@Api(tags = "亲属关系管理")
+@Anonymous
+@RestController
+@RequestMapping("/work/nk")
+public class NkController extends BaseController {
+    @Autowired
+    private INkService nkService;
+
+    @ApiOperation(value = "获取亲属信息列表")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:nk:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Nk nk){
+        startPage();
+        List<Nk> list = nkService.selectList(nk);
+        return getDataTable(list);
+    }
+
+    @ApiOperation(value = "根据id查询亲属信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:nk:query')")
+    @GetMapping(value = "/detail/{id}")
+    public AjaxResult detail(@PathVariable("id") Long id){
+        return AjaxResult.success(nkService.getById(id));
+    }
+
+    @ApiOperation(value = "添加亲属信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:nk:add')")
+    @Log(title = "亲属关系", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody Nk nk){
+        return toAjax(nkService.save(nk));
+    }
+
+    @ApiOperation(value = "修改亲属信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:nk:edit')")
+    @Log(title = "亲属关系", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody Nk nk){
+        return toAjax(nkService.updateById(nk));
+    }
+
+    @ApiOperation(value = "删除亲属信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:nk:remove')")
+    @Log(title = "亲属关系", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids){
+        return toAjax(nkService.removeByIds(Arrays.asList(ids)));
+    }
+}

+ 23 - 23
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/UserController.java → ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/ObrController.java

@@ -14,53 +14,53 @@ import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.web.work.domain.User;
-import com.ruoyi.web.work.service.IUserService;
+import com.ruoyi.web.work.domain.Obr;
+import com.ruoyi.web.work.service.IObrService;
 import com.ruoyi.common.core.page.TableDataInfo;
 
 /**
- * 小程序用户
+ * obr
  * @author lsw
- * @date 2024-07-16
+ * @date 2024-07-23
  */
 @RestController
-@RequestMapping("/work/user")
-public class UserController extends BaseController {
+@RequestMapping("/work/obr")
+public class ObrController extends BaseController {
     @Autowired
-    private IUserService userService;
+    private IObrService obrService;
 
-    @PreAuthorize("@ss.hasPermi('work:user:list')")
+    @PreAuthorize("@ss.hasPermi('work:obr:list')")
     @GetMapping("/list")
-    public TableDataInfo list(User user){
+    public TableDataInfo list(Obr obr){
         startPage();
-        List<User> list = userService.selectList(user);
+        List<Obr> list = obrService.selectList(obr);
         return getDataTable(list);
     }
 
-    @PreAuthorize("@ss.hasPermi('work:user:query')")
+    @PreAuthorize("@ss.hasPermi('work:obr:query')")
     @GetMapping(value = "/detail/{id}")
     public AjaxResult detail(@PathVariable("id") Long id){
-        return AjaxResult.success(userService.getById(id));
+        return AjaxResult.success(obrService.getById(id));
     }
 
-    @PreAuthorize("@ss.hasPermi('work:user:add')")
-    @Log(title = "小程序用户", businessType = BusinessType.INSERT)
+    @PreAuthorize("@ss.hasPermi('work:obr:add')")
+    @Log(title = "obr", businessType = BusinessType.INSERT)
     @PostMapping("/add")
-    public AjaxResult add(@RequestBody User user){
-        return toAjax(userService.save(user));
+    public AjaxResult add(@RequestBody Obr obr){
+        return toAjax(obrService.save(obr));
     }
 
-    @PreAuthorize("@ss.hasPermi('work:user:edit')")
-    @Log(title = "小程序用户", businessType = BusinessType.UPDATE)
+    @PreAuthorize("@ss.hasPermi('work:obr:edit')")
+    @Log(title = "obr", businessType = BusinessType.UPDATE)
     @PostMapping("/edit")
-    public AjaxResult edit(@RequestBody User user){
-        return toAjax(userService.updateById(user));
+    public AjaxResult edit(@RequestBody Obr obr){
+        return toAjax(obrService.updateById(obr));
     }
 
-    @PreAuthorize("@ss.hasPermi('work:user:remove')")
-    @Log(title = "小程序用户", businessType = BusinessType.DELETE)
+    @PreAuthorize("@ss.hasPermi('work:obr:remove')")
+    @Log(title = "obr", businessType = BusinessType.DELETE)
     @GetMapping("/remove/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids){
-        return toAjax(userService.removeByIds(Arrays.asList(ids)));
+        return toAjax(obrService.removeByIds(Arrays.asList(ids)));
     }
 }

+ 66 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/ObxController.java

@@ -0,0 +1,66 @@
+package com.ruoyi.web.work.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.web.work.domain.Obx;
+import com.ruoyi.web.work.service.IObxService;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * obx
+ * @author lsw
+ * @date 2024-07-23
+ */
+@RestController
+@RequestMapping("/work/obx")
+public class ObxController extends BaseController {
+    @Autowired
+    private IObxService obxService;
+
+    @PreAuthorize("@ss.hasPermi('work:obx:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Obx obx){
+        startPage();
+        List<Obx> list = obxService.selectList(obx);
+        return getDataTable(list);
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:obx:query')")
+    @GetMapping(value = "/detail/{id}")
+    public AjaxResult detail(@PathVariable("id") Long id){
+        return AjaxResult.success(obxService.getById(id));
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:obx:add')")
+    @Log(title = "obx", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody Obx obx){
+        return toAjax(obxService.save(obx));
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:obx:edit')")
+    @Log(title = "obx", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody Obx obx){
+        return toAjax(obxService.updateById(obx));
+    }
+
+    @PreAuthorize("@ss.hasPermi('work:obx:remove')")
+    @Log(title = "obx", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids){
+        return toAjax(obxService.removeByIds(Arrays.asList(ids)));
+    }
+}

+ 90 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/PatientController.java

@@ -0,0 +1,90 @@
+package com.ruoyi.web.work.controller;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.web.work.domain.PatientCard;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.web.work.domain.Patient;
+import com.ruoyi.web.work.service.IPatientService;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 患者
+ * @author lsw
+ * @date 2024-07-19
+ */
+@Api(tags = "患者信息管理")
+@Anonymous
+@RestController
+@RequestMapping("/work/patient")
+public class PatientController extends BaseController {
+
+    @Autowired
+    private IPatientService patientService;
+
+    @ApiOperation(value = "查询科室中所有患者信息列表")
+    @Anonymous
+    @GetMapping("/department")
+    public TableDataInfo getPatientByDepartment(@RequestParam("department")String department) {
+        startPage();
+        startPage();
+        List<PatientCard> list=patientService.getPatientByDepartment(department);
+        return getDataTable(list);
+    }
+
+
+    @ApiOperation(value = "获取患者信息列表")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:patient:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Patient patient){
+        startPage();
+        List<Patient> list = patientService.selectList(patient);
+        return getDataTable(list);
+    }
+
+    @ApiOperation(value = "根据id查询患者个人信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:patient:query')")
+    @GetMapping(value = "/detail/{id}")
+    public AjaxResult detail(@PathVariable("id") Long id){
+        return AjaxResult.success(patientService.getById(id));
+    }
+
+    @ApiOperation(value = "添加患者信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:patient:add')")
+    @Log(title = "患者", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody Patient patient){
+        return toAjax(patientService.save(patient));
+    }
+
+    @ApiOperation(value = "修改患者信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:patient:edit')")
+    @Log(title = "患者", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody Patient patient){
+        return toAjax(patientService.updateById(patient));
+    }
+
+    @ApiOperation(value = "删除患者信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:patient:remove')")
+    @Log(title = "患者", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids){
+        return toAjax(patientService.removeByIds(Arrays.asList(ids)));
+    }
+}

+ 117 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/Pv1Controller.java

@@ -0,0 +1,117 @@
+package com.ruoyi.web.work.controller;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.web.work.domain.Patient;
+import com.ruoyi.web.work.domain.PatientCard;
+import com.ruoyi.web.work.domain.Pv1;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.web.work.service.IPv1Service;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 住院信息
+ * @author lsw
+ * @date 2024-07-19
+ */
+@Api(tags = "住院信息管理")
+@Anonymous
+@RestController
+@RequestMapping("/work/pv1")
+public class Pv1Controller extends BaseController {
+
+    @Autowired
+    private IPv1Service pv1Service;
+
+    @ApiOperation(value = "获取所有科室")
+    @Anonymous
+    @GetMapping("/department")
+    public TableDataInfo getAllDepartment() {
+        startPage();
+        List<PatientCard> list=pv1Service.getAllDepartment();
+        return getDataTable(list);
+    }
+
+
+
+    @ApiOperation(value = "根据姓名、科室、病种查询就诊信息列表")
+    @Anonymous
+    @GetMapping("/patientCard")
+    public TableDataInfo getPatientCardByNameOrRoomOrEntity(@RequestParam(value = "patientName",required = false) String patientName,
+                                                            @RequestParam(value = "departmentName",required = false) String departmentName,
+                                                            @RequestParam(value = "entity",required = false) String entity) {
+        startPage();
+        List<PatientCard> list=pv1Service.getPatientCardByNameOrRoomOrEntity(patientName,departmentName,entity);
+        return getDataTable(list);
+    }
+
+    @ApiOperation(value = "根据患者ID查询所有信息列表")
+    @Anonymous
+    @GetMapping("/patient")
+    public Map getPatientCardPatientId(@RequestParam("patientId")Integer id) {
+        startPage();
+        Map<String,Object> map=pv1Service.getPatientCardPatientId(id);
+        Map<String,Object> result=new HashMap<>();
+        result.put("code",200);
+        result.put("msg","success");
+        result.put("data",map);
+        return result;
+    }
+
+
+    @ApiOperation(value = "获取住院信息列表")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:pv1:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Pv1 pv1){
+        startPage();
+        List<Pv1> list = pv1Service.selectList(pv1);
+        return getDataTable(list);
+    }
+
+    @ApiOperation(value = "根据id查询住院信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:pv1:query')")
+    @GetMapping(value = "/detail/{id}")
+    public AjaxResult detail(@PathVariable("id") Long id){
+        return AjaxResult.success(pv1Service.getById(id));
+    }
+
+    @ApiOperation(value = "添加住院信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:pv1:add')")
+    @Log(title = "住院信息", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody Pv1 pv1){
+        return toAjax(pv1Service.save(pv1));
+    }
+
+    @ApiOperation(value = "修改住院信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:pv1:edit')")
+    @Log(title = "住院信息", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody Pv1 pv1){
+        return toAjax(pv1Service.updateById(pv1));
+    }
+
+    @ApiOperation(value = "删除住院信息")
+    @Anonymous
+    //@PreAuthorize("@ss.hasPermi('work:pv1:remove')")
+    @Log(title = "住院信息", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids){
+        return toAjax(pv1Service.removeByIds(Arrays.asList(ids)));
+    }
+}

+ 53 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Dg.java

@@ -0,0 +1,53 @@
+package com.ruoyi.web.work.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.experimental.Accessors;
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+@Data
+@TableName(value = "tb_dg")
+@Accessors(chain = true)
+public class Dg{
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty(value = "患者ID")
+    private String patientId;
+
+    @ApiModelProperty(value = "诊断代码")
+    private String diagnosticCode;
+
+    @ApiModelProperty(value = "诊断时间")
+    private String diagnosisTime;
+
+    @ApiModelProperty(value = "诊断类型代码: 0-主要诊断 1-第一辅诊 2-第二辅诊")
+    private String diagnosticType;
+
+    @ApiModelProperty(value = "诊断类别代码: 0-门诊诊断 1-入院诊断 2-出院诊断 3-中医入院诊断 4-中医出院诊断 5-修正诊断 6-最终诊断 7-初步诊断 8 目前诊断 9-术前诊断 10-术后诊断 11-产后诊断 99-其他诊断")
+    private String diagnosticCategoryCode;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+
+}

+ 62 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Nk.java

@@ -0,0 +1,62 @@
+package com.ruoyi.web.work.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.experimental.Accessors;
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+@Data
+@TableName(value = "tb_nk")
+@Accessors(chain = true)
+public class Nk{
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty(value = "近亲姓名")
+    private String name;
+
+    @ApiModelProperty(value = "患者id")
+    private Long patientId;
+
+    @ApiModelProperty(value = "NK1 序号,自增长")
+    private Long nkNumber;
+
+    @ApiModelProperty(value = "近亲关系 SEL 自己 SPO 配偶 CHD 孩子 MTH 母亲 FTH 父亲 SIB 同胞 BRO 兄弟 SIS 姐妹 FND 朋友 EMR 雇主 OTH 其他")
+    private String kinship;
+
+    @ApiModelProperty(value = "近亲地址")
+    private String address;
+
+    @ApiModelProperty(value = "联系电话")
+    private String phone;
+
+    @ApiModelProperty(value = "工作名称")
+    private String workName;
+
+    @ApiModelProperty(value = "工作类别")
+    private String workCode;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+
+}

+ 122 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Obr.java

@@ -0,0 +1,122 @@
+package com.ruoyi.web.work.domain;
+
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.experimental.Accessors;
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+@Data
+@TableName(value = "tb_obr")
+@Accessors(chain = true)
+public class Obr{
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty(value = "就诊卡号")
+    private String cardId;
+
+    @ApiModelProperty(value = "医嘱操作码")
+    private String orderCode;
+
+    @ApiModelProperty(value = "申请单序号")
+    private String applicationNo;
+
+    @ApiModelProperty(value = "医嘱明细序号")
+    private String medOrderCode;
+
+    @ApiModelProperty(value = "报告单号")
+    private String reportNo;
+
+    @ApiModelProperty(value = "医技号")
+    private String medOrderNo;
+
+    @ApiModelProperty(value = "医技项目信息")
+    private String medTechProInfo;
+
+    @ApiModelProperty(value = "医技项目名称")
+    private String medTechProName;
+
+    @ApiModelProperty(value = "报告单类别名称")
+    private String reportClass;
+
+    @ApiModelProperty(value = "医嘱申请时间")
+    private String medOrderAppTime;
+
+    @ApiModelProperty(value = "检验或检查开始时间")
+    private String chkStartTime;
+
+    @ApiModelProperty(value = "危机报告标志")
+    private String reportStatus;
+
+    @ApiModelProperty(value = "检查部位或样本名称")
+    private String examinePart;
+
+    @ApiModelProperty(value = "申请医生代码")
+    private String appEmployeeId;
+
+    @ApiModelProperty(value = "申请医生姓名")
+    private String appEmployeeName;
+
+    @ApiModelProperty(value = "申请科室代码")
+    private String appDeptCode;
+
+    @ApiModelProperty(value = "申请科室名称")
+    private String appDeptName;
+
+    @ApiModelProperty(value = "执行科室代码")
+    private String executeDeptCode;
+
+    @ApiModelProperty(value = "执行科室名称")
+    private String executeDeptName;
+
+    @ApiModelProperty(value = "发布时间")
+    private String releaseTime;
+
+    @ApiModelProperty(value = "报告单类别编码")
+    private String repTypeCode;
+
+    @ApiModelProperty(value = "结果标志")
+    private String resultFlag;
+
+    @ApiModelProperty(value = "报告类型")
+    private String repType;
+
+    @ApiModelProperty(value = "报告审核Id")
+    private String checkEmployeeId;
+
+    @ApiModelProperty(value = "报告审核者")
+    private String checkEmployeeName;
+
+    @ApiModelProperty(value = "审核日期")
+    private String checkTime;
+
+    @ApiModelProperty(value = "报告发布者id")
+    private String publisherEmployeeId;
+
+    @ApiModelProperty(value = "报告发布者")
+    private String publisherEmployeeName;
+
+    @ApiModelProperty(value = "发布时间")
+    private String publisherTime;
+
+    @ApiModelProperty(value = "报告录入人ID")
+    private String reportEntryId;
+
+    @ApiModelProperty(value = "报告录入人名称")
+    private String reportEntryName;
+
+    @ApiModelProperty(value = "报告单日期")
+    private String enterTime;
+
+    @ApiModelProperty(value = "预约单号")
+    private String bookingNo;
+
+    @ApiModelProperty(value = "患者ID")
+    private Long patientId;
+
+
+}

+ 60 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Obx.java

@@ -0,0 +1,60 @@
+package com.ruoyi.web.work.domain;
+
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.experimental.Accessors;
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+@Data
+@TableName(value = "tb_obx")
+@Accessors(chain = true)
+public class Obx{
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty(value = "obrid")
+    private Long obrId;
+
+    @ApiModelProperty(value = "序号")
+    private String serialNo;
+
+    @ApiModelProperty(value = "数据类型")
+    private String dataType;
+
+    @ApiModelProperty(value = "医技观察项目")
+    private String mecTechObsProject;
+
+    @ApiModelProperty(value = "观察子项")
+    private String obsProjectDetail;
+
+    @ApiModelProperty(value = "项目结果信息")
+    private String projectInfo;
+
+    @ApiModelProperty(value = "项目单位 单位代码")
+    private String unitCode;
+
+    @ApiModelProperty(value = "项目单位 单位名称")
+    private String unitName;
+
+    @ApiModelProperty(value = "结果参考值")
+    private String result;
+
+    @ApiModelProperty(value = "高低标志")
+    private String sign;
+
+    @ApiModelProperty(value = "微生物观察分类")
+    private String obsClassification;
+
+    @ApiModelProperty(value = "检验方法")
+    private String testMethod;
+
+    @ApiModelProperty(value = "患者ID")
+    private Long patientId;
+
+
+
+}

+ 116 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Patient.java

@@ -0,0 +1,116 @@
+package com.ruoyi.web.work.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.experimental.Accessors;
+/**
+ * @author lmx
+ * @date 2024-07-22
+ */
+@Data
+@TableName(value = "tb_patient")
+@Accessors(chain = true)
+public class Patient{
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty(value = "卫宁患者ID")
+    private String patId;
+
+    @ApiModelProperty(value = "患者标识符")
+    private String patientCode;
+
+    @ApiModelProperty(value = "患者姓名")
+    private String name;
+
+    @ApiModelProperty(value = "出生时间")
+    private String birthDate;
+
+    @ApiModelProperty(value = "性别")
+    private String sex;
+
+    @ApiModelProperty(value = "患者地址")
+    private String address;
+
+    @ApiModelProperty(value = "电话")
+    private String phone;
+
+    @ApiModelProperty(value = "工作电话")
+    private String workPhone;
+
+    @ApiModelProperty(value = "婚姻状况")
+    private String marital;
+
+    @ApiModelProperty(value = "民族")
+    private String nation;
+
+    @ApiModelProperty(value = "职业")
+    private String career;
+
+    @ApiModelProperty(value = "国籍")
+    private String nationality;
+
+    @ApiModelProperty(value = "事件触发时间")
+    private String eventTime;
+
+    @ApiModelProperty(value = "住院业务类型:(1入院登记 2入区登记 3转区接收(出A区后入B区) 4转科转床接收(同科室换床) 5出区 6出区召回 7出院 8取消出院 9新生儿登记 10修改病人信息 门诊业务类型: 1患者建卡 2修改病人信息 3门诊挂号 4取消挂号 5就诊结束)")
+    private String eventType;
+
+    @ApiModelProperty(value = "病历号")
+    private String blh;
+
+    @ApiModelProperty(value = "病人卡号")
+    private String brkh;
+
+    @ApiModelProperty(value = "身份证号")
+    private String sfzh;
+
+    @ApiModelProperty(value = "婴儿序号")
+    private String yexh;
+
+    @ApiModelProperty(value = "卡标志")
+    private String cardSign;
+
+    @ApiModelProperty(value = "卡类别")
+    private String cardClass;
+
+    @ApiModelProperty(value = "卡号记录状况")
+    private String cardRecord;
+
+    @ApiModelProperty(value = "卡号类型")
+    private String cardType;
+
+    @ApiModelProperty(value = "就诊卡号")
+    private String cardNumber;
+
+    @ApiModelProperty(value = "创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新人")
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateBy;
+
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    @ApiModelProperty(value = "消息体主表ID")
+    private String msgType;
+
+
+}

+ 121 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/PatientCard.java

@@ -0,0 +1,121 @@
+package com.ruoyi.web.work.domain;
+
+import lombok.Data;
+
+@Data
+public class PatientCard {
+
+    //科室
+    private String department;
+
+    //主治医生姓名
+    private String physician;
+
+    //患者姓名
+    private String name;
+
+    //出院方式
+    private String dischargeMethod;
+
+    //出院时间
+    private String dischargeTime;
+    //
+    ////患者ID
+    private Integer patientId;
+    //
+    ////病历号
+    //private String blh;
+    //
+    ////身份证号
+    //private String sfzh;
+    //
+    ////婴儿序号
+    //private String yexh;
+    //
+    ////出生时间
+    //private String birthDate;
+    //
+    //
+    ////性别
+    //private String sex;
+    //
+    ////患者地址
+    //private String address;
+    //
+    //
+    ////电话号码
+    //private String phone;
+    //
+    //
+    ////工作电话
+    //private String workPhone;
+    //
+    ////婚姻状况
+    //private String marital;
+    //
+    ////民族
+    //private String nation;
+    //
+    ////职业
+    //private String career;
+    //
+    ////国籍
+    //private String nationality;
+    //
+    ////患者类别
+    //private String patientCategory;
+    //
+    ////患者位置
+    //public String bed;
+    //
+    ////在院状态
+    //private String hospitalStatus;
+    //
+    ////入院次数
+    //private String hospitalizedNumber;
+    //
+    ////主管护士
+    //private String nurse_code;
+    //
+    ////就诊号码
+    //private String cardId;
+    //
+    ////在区状态
+    //
+    //
+    ////入院时间
+    //private String admissionTime;
+    //
+    ////危重级别
+    //private String level;
+    //
+    ////入区时间
+    //private String entryTime;
+    //
+    ////出区时间
+    //private String exitTime;
+    //
+    ////出区原因
+    //private String reasonArea;
+    //
+    //////近亲姓名
+    ////private String nkName;
+    //
+    ////近亲关系
+    //private String kinship;
+    //
+    ////近亲地址
+    //private String nkAddress;
+    //
+    ////联系电话
+    //private String nkPhone;
+    //
+    ////工作名称
+    //private String workName;
+    //
+    ////工作类别
+    //private String workCode;
+
+
+}
+

+ 110 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Pv1.java

@@ -0,0 +1,110 @@
+package com.ruoyi.web.work.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.experimental.Accessors;
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+@Data
+@TableName(value = "tb_pv1")
+@Accessors(chain = true)
+public class Pv1{
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty(value = "患者ID")
+    private Long patientId;
+
+    @ApiModelProperty(value = "就诊卡号")
+    private Long cardId;
+
+    @ApiModelProperty(value = "患者类别")
+    private String patientCategory;
+
+    @ApiModelProperty(value = "患者位置")
+    private String bed;
+
+    @ApiModelProperty(value = "科室")
+    private String department;
+
+    @ApiModelProperty(value = "主治医师代码")
+    private String doctorCode;
+
+    @ApiModelProperty(value = "主治医师")
+    private String physician;
+
+    @ApiModelProperty(value = "主管护士代码")
+    private String nurseCode;
+
+    @ApiModelProperty(value = "入院次数")
+    private String hospitalizedNumber;
+
+    @ApiModelProperty(value = "收费类别")
+    private String feeCategory;
+
+    @ApiModelProperty(value = "出院方式 1-治愈 2-好转 3 -稳定 4-恶化 5-死亡 9 -其他")
+    private String dischargeMethod;
+
+    @ApiModelProperty(value = "医疗机构代码")
+    private String medicalCode;
+
+    @ApiModelProperty(value = " 在院状态 0 入院登记 1 病区分床 2 病人出区 3 病人出院 4 取消结算 5 进入 ICU 6 进入产房 7 转科状态 8 数据转出 9 入院作")
+    private String hospitalStatus;
+
+    @ApiModelProperty(value = "门诊挂号状态: 0-有效 1-无效")
+    private String registrationStatus;
+
+    @ApiModelProperty(value = "入院时间")
+    private String admissionTime;
+
+    @ApiModelProperty(value = "出院时间")
+    private String dischargeTime;
+
+    @ApiModelProperty(value = "危重级别:0-一般病人1-危重病人")
+    private String level;
+
+    @ApiModelProperty(value = "出区原因")
+    private String reasonArea;
+
+    @ApiModelProperty(value = "婴儿信息标识:Y-是 N-否")
+    private String babyCode;
+
+    @ApiModelProperty(value = "入区时间")
+    private String entryTime;
+
+    @ApiModelProperty(value = "出区时间")
+    private String exitTime;
+
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateBy;
+
+    @ApiModelProperty(value = "患者信息ID")
+    private Long msgId;
+
+    @ApiModelProperty(value = "病区代码")
+    private String wardCode;
+
+    @ApiModelProperty(value = "病区代名称")
+    private String wardName;
+
+
+}

+ 15 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/DgMapper.java

@@ -0,0 +1,15 @@
+package com.ruoyi.web.work.mapper;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Dg;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+public interface DgMapper extends BaseMapper<Dg> {
+    List<Dg> selectList(Dg dg);
+
+    List<Dg> getDgByPatientId(Integer id);
+}

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/NkMapper.java

@@ -0,0 +1,13 @@
+package com.ruoyi.web.work.mapper;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Nk;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+public interface NkMapper extends BaseMapper<Nk> {
+    List<Nk> selectList(Nk nk);
+}

+ 15 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/ObrMapper.java

@@ -0,0 +1,15 @@
+package com.ruoyi.web.work.mapper;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Obr;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+public interface ObrMapper extends BaseMapper<Obr> {
+    List<Obr> selectList(Obr obr);
+
+    List<Obr> getObrByPatientId(Integer id);
+}

+ 15 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/ObxMapper.java

@@ -0,0 +1,15 @@
+package com.ruoyi.web.work.mapper;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Obx;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+public interface ObxMapper extends BaseMapper<Obx> {
+    List<Obx> selectList(Obx obx);
+
+    List<Obx> getObxByPatientId(Integer id);
+}

+ 20 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/PatientMapper.java

@@ -0,0 +1,20 @@
+package com.ruoyi.web.work.mapper;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Patient;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.web.work.domain.PatientCard;
+
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+public interface PatientMapper extends BaseMapper<Patient> {
+    List<Patient> selectList(Patient patient);
+
+    List<PatientCard> getPatientCardByNameOrRoomOrEntity(String patientName, String departmentName, String entity);
+
+    List<Patient> getPatientByPatientId(Integer id);
+
+    List<PatientCard> getPatientByDepartment(String department);
+}

+ 24 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/mapper/Pv1Mapper.java

@@ -0,0 +1,24 @@
+package com.ruoyi.web.work.mapper;
+
+import java.util.List;
+
+import com.ruoyi.web.work.domain.Dg;
+import com.ruoyi.web.work.domain.Patient;
+import com.ruoyi.web.work.domain.PatientCard;
+import com.ruoyi.web.work.domain.Pv1;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+public interface Pv1Mapper extends BaseMapper<Pv1> {
+    List<Pv1> selectList(Pv1 pv1);
+
+    List<PatientCard> getPatientCardByNameOrRoomOrEntity(@Param("patientName") String patientName,@Param("departmentName") String departmentName,@Param("entity") String entity);
+
+    List<Pv1> getPv1ByPatientId(Integer id);
+
+    List<PatientCard> getAllDepartment();
+}

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IDgService.java

@@ -0,0 +1,13 @@
+package com.ruoyi.web.work.service;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Dg;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+public interface IDgService extends IService<Dg>{
+    List<Dg> selectList(Dg dg);
+}

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/INkService.java

@@ -0,0 +1,13 @@
+package com.ruoyi.web.work.service;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Nk;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+public interface INkService extends IService<Nk>{
+    List<Nk> selectList(Nk nk);
+}

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IObrService.java

@@ -0,0 +1,13 @@
+package com.ruoyi.web.work.service;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Obr;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+public interface IObrService extends IService<Obr>{
+    List<Obr> selectList(Obr obr);
+}

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IObxService.java

@@ -0,0 +1,13 @@
+package com.ruoyi.web.work.service;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Obx;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+public interface IObxService extends IService<Obx>{
+    List<Obx> selectList(Obx obx);
+}

+ 17 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IPatientService.java

@@ -0,0 +1,17 @@
+package com.ruoyi.web.work.service;
+
+import java.util.List;
+import com.ruoyi.web.work.domain.Patient;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.web.work.domain.PatientCard;
+
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+public interface IPatientService extends IService<Patient>{
+    List<Patient> selectList(Patient patient);
+
+    List<PatientCard> getPatientByDepartment(String department);
+
+}

+ 23 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IPv1Service.java

@@ -0,0 +1,23 @@
+package com.ruoyi.web.work.service;
+
+import java.util.List;
+import java.util.Map;
+
+import com.ruoyi.web.work.domain.PatientCard;
+import com.ruoyi.web.work.domain.Pv1;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+public interface IPv1Service extends IService<Pv1>{
+    List<Pv1> selectList(Pv1 pv1);
+
+    List<PatientCard> getPatientCardByNameOrRoomOrEntity(String patientName, String departmentName, String entity);
+
+    Map<String, Object> getPatientCardPatientId(Integer id);
+
+
+    List<PatientCard> getAllDepartment();
+}

+ 24 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/DgServiceImpl.java

@@ -0,0 +1,24 @@
+package com.ruoyi.web.work.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.web.work.mapper.DgMapper;
+import com.ruoyi.web.work.domain.Dg;
+import com.ruoyi.web.work.service.IDgService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+@Service
+public class DgServiceImpl extends ServiceImpl<DgMapper, Dg> implements IDgService {
+    @Autowired
+    private DgMapper dgMapper;
+
+    @Override
+    public List<Dg> selectList(Dg dg) {
+        return dgMapper.selectList(dg);
+    }
+}

+ 24 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/NkServiceImpl.java

@@ -0,0 +1,24 @@
+package com.ruoyi.web.work.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.web.work.mapper.NkMapper;
+import com.ruoyi.web.work.domain.Nk;
+import com.ruoyi.web.work.service.INkService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+@Service
+public class NkServiceImpl extends ServiceImpl<NkMapper, Nk> implements INkService {
+    @Autowired
+    private NkMapper nkMapper;
+
+    @Override
+    public List<Nk> selectList(Nk nk) {
+        return nkMapper.selectList(nk);
+    }
+}

+ 24 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/ObrServiceImpl.java

@@ -0,0 +1,24 @@
+package com.ruoyi.web.work.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.web.work.mapper.ObrMapper;
+import com.ruoyi.web.work.domain.Obr;
+import com.ruoyi.web.work.service.IObrService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+@Service
+public class ObrServiceImpl extends ServiceImpl<ObrMapper, Obr> implements IObrService {
+    @Autowired
+    private ObrMapper obrMapper;
+
+    @Override
+    public List<Obr> selectList(Obr obr) {
+        return obrMapper.selectList(obr);
+    }
+}

+ 24 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/ObxServiceImpl.java

@@ -0,0 +1,24 @@
+package com.ruoyi.web.work.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.web.work.mapper.ObxMapper;
+import com.ruoyi.web.work.domain.Obx;
+import com.ruoyi.web.work.service.IObxService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+@Service
+public class ObxServiceImpl extends ServiceImpl<ObxMapper, Obx> implements IObxService {
+    @Autowired
+    private ObxMapper obxMapper;
+
+    @Override
+    public List<Obx> selectList(Obx obx) {
+        return obxMapper.selectList(obx);
+    }
+}

+ 34 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/PatientServiceImpl.java

@@ -0,0 +1,34 @@
+package com.ruoyi.web.work.service.impl;
+
+import java.util.Collections;
+import java.util.List;
+
+import com.ruoyi.web.work.domain.PatientCard;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.web.work.mapper.PatientMapper;
+import com.ruoyi.web.work.domain.Patient;
+import com.ruoyi.web.work.service.IPatientService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @author lsw
+ * @date 2024-07-19
+ */
+@Service
+public class PatientServiceImpl extends ServiceImpl<PatientMapper, Patient> implements IPatientService {
+    @Autowired
+    private PatientMapper patientMapper;
+
+    @Override
+    public List<Patient> selectList(Patient patient) {
+        return patientMapper.selectList(patient);
+    }
+
+    @Override
+    public List<PatientCard> getPatientByDepartment(String department) {
+        return patientMapper.getPatientByDepartment(department);
+    }
+
+
+}

+ 68 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/Pv1ServiceImpl.java

@@ -0,0 +1,68 @@
+package com.ruoyi.web.work.service.impl;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.ruoyi.web.work.domain.*;
+import com.ruoyi.web.work.mapper.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.web.work.service.IPv1Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @author lsw
+ * @date 2024-07-23
+ */
+@Service
+public class Pv1ServiceImpl extends ServiceImpl<Pv1Mapper, Pv1> implements IPv1Service {
+    @Autowired
+    private Pv1Mapper pv1Mapper;
+
+    @Autowired
+    private DgMapper dgMapper;
+
+    @Autowired
+    private PatientMapper patientMapper;
+
+    @Autowired
+    private ObxMapper obxMapper;
+
+    @Autowired
+    private ObrMapper obrMapper;
+
+    @Override
+    public List<Pv1> selectList(Pv1 pv1) {
+        return pv1Mapper.selectList(pv1);
+    }
+
+    @Override
+    public List<PatientCard> getPatientCardByNameOrRoomOrEntity(String patientName, String departmentName, String entity) {
+          return pv1Mapper.getPatientCardByNameOrRoomOrEntity(patientName,departmentName,entity);
+    }
+
+    @Override
+    public Map<String, Object> getPatientCardPatientId(Integer id) {
+        List<Pv1> pv1 = pv1Mapper.getPv1ByPatientId(id);
+        List<Dg> dg=dgMapper.getDgByPatientId(id);
+        List<Patient> patient=patientMapper.getPatientByPatientId(id);
+        List<Obx> obx=obxMapper.getObxByPatientId(id);
+        List<Obr> obr=obrMapper.getObrByPatientId(id);
+        Map<String, Object> map=new HashMap<>();
+        map.put("patient",patient);
+        map.put("dg",dg);
+        map.put("obx",obx);
+        map.put("obr",obr);
+        map.put("pv1",pv1);
+        return map;
+    }
+
+    @Override
+    public List<PatientCard> getAllDepartment() {
+        return pv1Mapper.getAllDepartment();
+    }
+
+
+}

+ 8 - 5
ruoyi-admin/src/main/resources/application-druid.yml

@@ -9,13 +9,16 @@ spring:
                 url: jdbc:mysql://123.60.57.26:3306/hospital?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
                 password: gogo-2636616
+#                url: jdbc:mysql://123.60.57.26:3306/hospital?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+#                username: root
+#                password: gogo-2636616
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭
                 enabled: false
-                url: 
-                username: 
-                password: 
+                url:
+                username:
+                password:
             # 初始连接数
             initialSize: 5
             # 最小连接池数量
@@ -35,7 +38,7 @@ spring:
             testWhileIdle: true
             testOnBorrow: false
             testOnReturn: false
-            webStatFilter: 
+            webStatFilter:
                 enabled: true
             statViewServlet:
                 enabled: true
@@ -54,4 +57,4 @@ spring:
                     merge-sql: true
                 wall:
                     config:
-                        multi-statement-allow: true
+                        multi-statement-allow: true

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -146,7 +146,7 @@ swagger:
   # 是否开启swagger
   enabled: true
   # 请求前缀
-  pathMapping: /dev-api
+  pathMapping:
 
 # 防止XSS攻击
 xss:

+ 22 - 0
ruoyi-admin/src/main/resources/mapper/work/DgMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.web.work.mapper.DgMapper">
+
+    <select id="selectList" resultType="com.ruoyi.web.work.domain.Dg">
+        select * from tb_dg
+        <where>
+            <if test="patientId != null  and patientId != ''"> and patient_id = #{patientId}</if>
+            <if test="diagnosticCode != null  and diagnosticCode != ''"> and diagnostic_code = #{diagnosticCode}</if>
+            <if test="diagnosisTime != null  and diagnosisTime != ''"> and diagnosis_time = #{diagnosisTime}</if>
+            <if test="diagnosticType != null  and diagnosticType != ''"> and diagnostic_type = #{diagnosticType}</if>
+            <if test="diagnosticCategoryCode != null  and diagnosticCategoryCode != ''"> and diagnostic_category_code = #{diagnosticCategoryCode}</if>
+        </where>
+    </select>
+
+    <select id="getDgByPatientId" resultType="com.ruoyi.web.work.domain.Dg">
+        select * from tb_dg where patient_id=#{id}
+    </select>
+
+</mapper>

+ 21 - 0
ruoyi-admin/src/main/resources/mapper/work/NkMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.web.work.mapper.NkMapper">
+    
+    <select id="selectList" resultType="com.ruoyi.web.work.domain.Nk">
+        select * from tb_nk
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="patientId != null "> and patient_id = #{patientId}</if>
+            <if test="nkNumber != null "> and nk_number = #{nkNumber}</if>
+            <if test="kinship != null  and kinship != ''"> and kinship = #{kinship}</if>
+            <if test="address != null  and address != ''"> and address = #{address}</if>
+            <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
+            <if test="workName != null  and workName != ''"> and work_name like concat('%', #{workName}, '%')</if>
+            <if test="workCode != null  and workCode != ''"> and work_code = #{workCode}</if>
+        </where>
+    </select>
+
+</mapper>

+ 51 - 0
ruoyi-admin/src/main/resources/mapper/work/ObrMapper.xml

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.web.work.mapper.ObrMapper">
+
+    <select id="selectList" resultType="com.ruoyi.web.work.domain.Obr">
+        select * from tb_obr
+        <where>
+            <if test="cardId != null  and cardId != ''"> and card_id = #{cardId}</if>
+            <if test="orderCode != null  and orderCode != ''"> and order_code = #{orderCode}</if>
+            <if test="applicationNo != null  and applicationNo != ''"> and application_no = #{applicationNo}</if>
+            <if test="medOrderCode != null  and medOrderCode != ''"> and med_order_code = #{medOrderCode}</if>
+            <if test="reportNo != null  and reportNo != ''"> and report_no = #{reportNo}</if>
+            <if test="medOrderNo != null  and medOrderNo != ''"> and med_order_no = #{medOrderNo}</if>
+            <if test="medTechProInfo != null  and medTechProInfo != ''"> and med_tech_pro_info = #{medTechProInfo}</if>
+            <if test="medTechProName != null  and medTechProName != ''"> and med_tech_pro_name like concat('%', #{medTechProName}, '%')</if>
+            <if test="reportClass != null  and reportClass != ''"> and report_class = #{reportClass}</if>
+            <if test="medOrderAppTime != null  and medOrderAppTime != ''"> and med_order_app_time = #{medOrderAppTime}</if>
+            <if test="chkStartTime != null  and chkStartTime != ''"> and chk_start_time = #{chkStartTime}</if>
+            <if test="reportStatus != null  and reportStatus != ''"> and report_status = #{reportStatus}</if>
+            <if test="examinePart != null  and examinePart != ''"> and examine_part = #{examinePart}</if>
+            <if test="appEmployeeId != null  and appEmployeeId != ''"> and app_employee_id = #{appEmployeeId}</if>
+            <if test="appEmployeeName != null  and appEmployeeName != ''"> and app_employee_name like concat('%', #{appEmployeeName}, '%')</if>
+            <if test="appDeptCode != null  and appDeptCode != ''"> and app_dept_code = #{appDeptCode}</if>
+            <if test="appDeptName != null  and appDeptName != ''"> and app_dept_name like concat('%', #{appDeptName}, '%')</if>
+            <if test="executeDeptCode != null  and executeDeptCode != ''"> and execute_dept_code = #{executeDeptCode}</if>
+            <if test="executeDeptName != null  and executeDeptName != ''"> and execute_dept_name like concat('%', #{executeDeptName}, '%')</if>
+            <if test="releaseTime != null  and releaseTime != ''"> and release_time = #{releaseTime}</if>
+            <if test="repTypeCode != null  and repTypeCode != ''"> and rep_type_code = #{repTypeCode}</if>
+            <if test="resultFlag != null  and resultFlag != ''"> and result_flag = #{resultFlag}</if>
+            <if test="repType != null  and repType != ''"> and rep_type = #{repType}</if>
+            <if test="checkEmployeeId != null  and checkEmployeeId != ''"> and check_employee_id = #{checkEmployeeId}</if>
+            <if test="checkEmployeeName != null  and checkEmployeeName != ''"> and check_employee_name like concat('%', #{checkEmployeeName}, '%')</if>
+            <if test="checkTime != null  and checkTime != ''"> and check_time = #{checkTime}</if>
+            <if test="publisherEmployeeId != null  and publisherEmployeeId != ''"> and publisher_employee_id = #{publisherEmployeeId}</if>
+            <if test="publisherEmployeeName != null  and publisherEmployeeName != ''"> and publisher_employee_name like concat('%', #{publisherEmployeeName}, '%')</if>
+            <if test="publisherTime != null  and publisherTime != ''"> and publisher_time = #{publisherTime}</if>
+            <if test="reportEntryId != null  and reportEntryId != ''"> and report_entry_id = #{reportEntryId}</if>
+            <if test="reportEntryName != null  and reportEntryName != ''"> and report_entry_name like concat('%', #{reportEntryName}, '%')</if>
+            <if test="enterTime != null  and enterTime != ''"> and enter_time = #{enterTime}</if>
+            <if test="bookingNo != null  and bookingNo != ''"> and booking_no = #{bookingNo}</if>
+            <if test="patientId != null "> and patient_id = #{patientId}</if>
+        </where>
+    </select>
+
+    <select id="getObrByPatientId" resultType="com.ruoyi.web.work.domain.Obr">
+        select * from tb_obr where patient_id=#{id}
+    </select>
+
+</mapper>

+ 30 - 0
ruoyi-admin/src/main/resources/mapper/work/ObxMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.web.work.mapper.ObxMapper">
+
+    <select id="selectList" resultType="com.ruoyi.web.work.domain.Obx">
+        select * from tb_obx
+        <where>
+            <if test="obrId != null "> and obr_id = #{obrId}</if>
+            <if test="serialNo != null  and serialNo != ''"> and serial_no = #{serialNo}</if>
+            <if test="dataType != null  and dataType != ''"> and data_type = #{dataType}</if>
+            <if test="mecTechObsProject != null  and mecTechObsProject != ''"> and mec_tech_obs_project = #{mecTechObsProject}</if>
+            <if test="obsProjectDetail != null  and obsProjectDetail != ''"> and obs_project_detail = #{obsProjectDetail}</if>
+            <if test="projectInfo != null  and projectInfo != ''"> and project_info = #{projectInfo}</if>
+            <if test="unitCode != null  and unitCode != ''"> and unit_code = #{unitCode}</if>
+            <if test="unitName != null  and unitName != ''"> and unit_name like concat('%', #{unitName}, '%')</if>
+            <if test="result != null  and result != ''"> and result = #{result}</if>
+            <if test="sign != null  and sign != ''"> and sign = #{sign}</if>
+            <if test="obsClassification != null  and obsClassification != ''"> and obs_classification = #{obsClassification}</if>
+            <if test="testMethod != null  and testMethod != ''"> and test_method = #{testMethod}</if>
+            <if test="patientId != null "> and patient_id = #{patientId}</if>
+        </where>
+    </select>
+
+    <select id="getObxByPatientId" resultType="com.ruoyi.web.work.domain.Obx">
+        select * from tb_obx where patient_id=#{id}
+    </select>
+
+</mapper>

+ 50 - 0
ruoyi-admin/src/main/resources/mapper/work/PatientMapper.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.web.work.mapper.PatientMapper">
+
+    <select id="selectList" resultType="com.ruoyi.web.work.domain.Patient">
+        select * from tb_patient
+        <where>
+            <if test="patId != null  and patId != ''"> and pat_id = #{patId}</if>
+            <if test="patientCode != null  and patientCode != ''"> and patient_code = #{patientCode}</if>
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="birthDate != null  and birthDate != ''"> and birth_date = #{birthDate}</if>
+            <if test="sex != null  and sex != ''"> and sex = #{sex}</if>
+            <if test="address != null  and address != ''"> and address = #{address}</if>
+            <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
+            <if test="workPhone != null  and workPhone != ''"> and work_phone = #{workPhone}</if>
+            <if test="marital != null  and marital != ''"> and marital = #{marital}</if>
+            <if test="nation != null  and nation != ''"> and nation = #{nation}</if>
+            <if test="career != null  and career != ''"> and career = #{career}</if>
+            <if test="nationality != null  and nationality != ''"> and nationality = #{nationality}</if>
+            <if test="eventTime != null  and eventTime != ''"> and event_time = #{eventTime}</if>
+            <if test="eventType != null  and eventType != ''"> and event_type = #{eventType}</if>
+            <if test="blh != null  and blh != ''"> and blh = #{blh}</if>
+            <if test="brkh != null  and brkh != ''"> and brkh = #{brkh}</if>
+            <if test="sfzh != null  and sfzh != ''"> and sfzh = #{sfzh}</if>
+            <if test="yexh != null  and yexh != ''"> and yexh = #{yexh}</if>
+            <if test="cardSign != null  and cardSign != ''"> and card_sign = #{cardSign}</if>
+            <if test="cardClass != null  and cardClass != ''"> and card_class = #{cardClass}</if>
+            <if test="cardRecord != null  and cardRecord != ''"> and card_record = #{cardRecord}</if>
+            <if test="cardType != null  and cardType != ''"> and card_type = #{cardType}</if>
+            <if test="cardNumber != null  and cardNumber != ''"> and card_number = #{cardNumber}</if>
+            <if test="msgType != null  and msgId != ''"> and msg_Type = #{msgType}</if>
+        </where>
+    </select>
+
+    <select id="getPatientCardByNameOrRoomOrEntity" resultType="com.ruoyi.web.work.domain.PatientCard">
+
+    </select>
+
+    <select id="getPatientByPatientId" resultType="com.ruoyi.web.work.domain.Patient">
+        select * from tb_patient where id=#{id}
+    </select>
+
+    <select id="getPatientByDepartment" resultType="com.ruoyi.web.work.domain.PatientCard">
+        select * from tb_patient
+        where id in (select patient_id from tb_pv1 where department=#{department})
+    </select>
+
+</mapper>

+ 63 - 0
ruoyi-admin/src/main/resources/mapper/work/Pv1Mapper.xml

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.web.work.mapper.Pv1Mapper">
+
+    <select id="selectList" resultType="com.ruoyi.web.work.domain.Pv1">
+        select * from tb_pv1
+        <where>
+            <if test="patientId != null "> and patient_id = #{patientId}</if>
+            <if test="cardId != null "> and card_id = #{cardId}</if>
+            <if test="patientCategory != null  and patientCategory != ''"> and patient_category = #{patientCategory}</if>
+            <if test="bed != null  and bed != ''"> and bed = #{bed}</if>
+            <if test="physician != null  and physician != ''"> and physician = #{physician}</if>
+            <if test="nurseCode != null  and nurseCode != ''"> and nurse_code = #{nurseCode}</if>
+            <if test="hospitalizedNumber != null  and hospitalizedNumber != ''"> and hospitalized_number = #{hospitalizedNumber}</if>
+            <if test="feeCategory != null  and feeCategory != ''"> and fee_category = #{feeCategory}</if>
+            <if test="dischargeMethod != null  and dischargeMethod != ''"> and discharge_method = #{dischargeMethod}</if>
+            <if test="medicalCode != null  and medicalCode != ''"> and medical_code = #{medicalCode}</if>
+            <if test="hospitalStatus != null  and hospitalStatus != ''"> and hospital_status = #{hospitalStatus}</if>
+            <if test="registrationStatus != null  and registrationStatus != ''"> and registration_status = #{registrationStatus}</if>
+            <if test="admissionTime != null  and admissionTime != ''"> and admission_time = #{admissionTime}</if>
+            <if test="dischargeTime != null  and dischargeTime != ''"> and discharge_time = #{dischargeTime}</if>
+            <if test="msgId != null "> and msg_id = #{msgId}</if>
+            <if test="department != null  and department != ''"> and department = #{department}</if>
+            <if test="wardCode != null  and wardCode != ''"> and ward_code = #{wardCode}</if>
+            <if test="wardName != null  and wardName != ''"> and ward_name = #{wardName}</if>
+        </where>
+    </select>
+
+
+    <select id="getPatientCardByNameOrRoomOrEntity" resultType="com.ruoyi.web.work.domain.PatientCard">
+        SELECT
+            tb_pv1.department,
+            tb_pv1.physician,
+            tb_patient.`name`,
+            tb_pv1.discharge_method,
+            tb_pv1.discharge_time,
+            tb_pv1.patient_id
+        FROM
+            tb_pv1
+                JOIN
+            tb_patient ON tb_pv1.patient_id = tb_patient.id
+        <where>
+            <if test="patientName!='' and patientName!=null">
+                tb_patient.`name` like concat('%', #{patientName}, '%')
+            </if>
+            <if test="departmentName!='' and departmentName!= null">
+                AND tb_pv1.department like concat('%', #{departmentName}, '%')
+            </if>
+        </where>
+    </select>
+
+    <select id="getPv1ByPatientId" resultType="com.ruoyi.web.work.domain.Pv1">
+        select * from tb_pv1 where patient_id=#{id}
+    </select>
+
+    <select id="getAllDepartment" resultType="com.ruoyi.web.work.domain.PatientCard">
+        select department from tb_pv1
+    </select>
+
+
+</mapper>