包含用例图、类图、实体图、序列图、活动图、功能结构图、界面设计图 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
43 lines
10 KiB
Plaintext
43 lines
10 KiB
Plaintext
<mxfile host="app.diagrams.net" modified="2026-02-26T21:12:00.000Z" agent="OpenCode" version="24.7.17" type="device">
|
|
<diagram id="class-diagram" name="图4.4 系统类图">
|
|
<mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2600" pageHeight="1600" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
|
|
<mxCell id="10" value="系统类图(核心实体类)" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="1160" y="20" width="260" height="56" as="geometry" /></mxCell>
|
|
|
|
<mxCell id="100" value="<b>用户类</b><hr/>+ id: Long<br/>+ username: String<br/>+ phone: String<br/>+ email: String<br/>+ password: String<br/>+ role: String<br/>+ status: Integer<br/>+ avatar: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="80" y="140" width="250" height="280" as="geometry" /></mxCell>
|
|
<mxCell id="101" value="<b>医生类</b><hr/>+ id: Long<br/>+ name: String<br/>+ department: String<br/>+ title: String<br/>+ phone: String<br/>+ email: String<br/>+ status: Integer<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="380" y="140" width="250" height="260" as="geometry" /></mxCell>
|
|
<mxCell id="102" value="<b>宠物类</b><hr/>+ id: Long<br/>+ ownerId: Long<br/>+ name: String<br/>+ species: String<br/>+ breed: String<br/>+ gender: String<br/>+ birthday: Date<br/>+ weight: Decimal<br/>+ remark: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="80" y="520" width="260" height="300" as="geometry" /></mxCell>
|
|
<mxCell id="103" value="<b>预约类</b><hr/>+ id: Long<br/>+ customerId: Long<br/>+ petId: Long<br/>+ doctorId: Long<br/>+ department: String<br/>+ appointmentDate: Date<br/>+ timeSlot: String<br/>+ status: String<br/>+ remark: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="390" y="520" width="270" height="300" as="geometry" /></mxCell>
|
|
<mxCell id="104" value="<b>就诊类</b><hr/>+ id: Long<br/>+ appointmentId: Long<br/>+ customerId: Long<br/>+ petId: Long<br/>+ doctorId: Long<br/>+ symptoms: String<br/>+ diagnosis: String<br/>+ treatmentPlan: String<br/>+ status: String<br/>+ paymentStatus: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="710" y="520" width="280" height="320" as="geometry" /></mxCell>
|
|
<mxCell id="105" value="<b>病历类</b><hr/>+ id: Long<br/>+ visitId: Long<br/>+ doctorId: Long<br/>+ content: Text<br/>+ recordType: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1030" y="520" width="250" height="230" as="geometry" /></mxCell>
|
|
<mxCell id="106" value="<b>处方类</b><hr/>+ id: Long<br/>+ visitId: Long<br/>+ doctorId: Long<br/>+ customerId: Long<br/>+ totalAmount: Decimal<br/>+ status: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1320" y="520" width="260" height="250" as="geometry" /></mxCell>
|
|
<mxCell id="107" value="<b>处方明细类</b><hr/>+ id: Long<br/>+ prescriptionId: Long<br/>+ drugId: Long<br/>+ quantity: Integer<br/>+ dosage: String<br/>+ frequency: String<br/>+ duration: String<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1620" y="520" width="280" height="270" as="geometry" /></mxCell>
|
|
<mxCell id="108" value="<b>药品类</b><hr/>+ id: Long<br/>+ name: String<br/>+ category: String<br/>+ specification: String<br/>+ unitPrice: Decimal<br/>+ stockQuantity: Integer<br/>+ alertThreshold: Integer<br/>+ status: Integer<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1940" y="520" width="280" height="290" as="geometry" /></mxCell>
|
|
<mxCell id="109" value="<b>订单类</b><hr/>+ id: Long<br/>+ visitId: Long<br/>+ customerId: Long<br/>+ amount: Decimal<br/>+ status: String<br/>+ paymentMethod: String<br/>+ paymentTime: DateTime<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="710" y="930" width="280" height="270" as="geometry" /></mxCell>
|
|
<mxCell id="110" value="<b>入库类</b><hr/>+ id: Long<br/>+ drugId: Long<br/>+ quantity: Integer<br/>+ unitPrice: Decimal<br/>+ supplier: String<br/>+ operatorId: Long<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1940" y="930" width="270" height="250" as="geometry" /></mxCell>
|
|
<mxCell id="111" value="<b>出库类</b><hr/>+ id: Long<br/>+ drugId: Long<br/>+ quantity: Integer<br/>+ purpose: String<br/>+ operatorId: Long<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="2240" y="930" width="260" height="230" as="geometry" /></mxCell>
|
|
<mxCell id="112" value="<b>公告类</b><hr/>+ id: Long<br/>+ title: String<br/>+ content: Text<br/>+ publishTime: DateTime<br/>+ status: Integer<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1030" y="140" width="250" height="230" as="geometry" /></mxCell>
|
|
<mxCell id="113" value="<b>报告类</b><hr/>+ id: Long<br/>+ visitId: Long<br/>+ customerId: Long<br/>+ petId: Long<br/>+ reportType: String<br/>+ content: Text<br/>+ createTime: DateTime<br/>+ updateTime: DateTime<br/>+ deleted: Integer" style="shape=umlClass;whiteSpace=wrap;html=1;" vertex="1" parent="1"><mxGeometry x="1320" y="140" width="260" height="250" as="geometry" /></mxCell>
|
|
|
|
<mxCell id="200" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="102"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="201" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="202" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="101" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="203" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="102" target="103"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="204" value="1:1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="103" target="104"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="205" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="105"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="206" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="106"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="207" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="106" target="107"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="208" value="N:1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="107" target="108"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="209" value="1:1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="109"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="210" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="108" target="110"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="211" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="108" target="111"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="212" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="104" target="113"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
<mxCell id="213" value="1:N" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=none;" edge="1" parent="1" source="100" target="112"><mxGeometry relative="1" as="geometry" /></mxCell>
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|