feat: 门诊手术中计费功能
- 数据库:在adm_charge_item表添加SourceBillNo字段 - 后端实体类:更新ChargeItem.java添加SourceBillNo字段 - 前端组件:创建手术计费界面(基于门诊划价界面) - 后端API:扩展PrePrePaymentDto支持手术计费标识 - 后端Service:扩展getChargeItems方法支持手术计费过滤 - 门诊手术安排界面:添加【计费】按钮 注意事项: - 需要手动执行SQL脚本:openhis-server-new/sql/add_source_bill_no_to_adm_charge_item.sql - 术后一站式结算功能待后续开发
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
# Java Spring Boot Patterns
|
||||
|
||||
## Design Patterns
|
||||
|
||||
### Pattern 1: Input Validation
|
||||
|
||||
Always validate input before processing:
|
||||
|
||||
```python
|
||||
def validate_input(data):
|
||||
if data is None:
|
||||
raise ValueError("Data cannot be None")
|
||||
if not isinstance(data, dict):
|
||||
raise TypeError("Data must be a dictionary")
|
||||
return True
|
||||
```
|
||||
|
||||
### Pattern 2: Error Handling
|
||||
|
||||
Use consistent error handling:
|
||||
|
||||
```python
|
||||
try:
|
||||
result = risky_operation()
|
||||
except SpecificError as e:
|
||||
logger.error(f"Operation failed: {e}")
|
||||
handle_error(e)
|
||||
except Exception as e:
|
||||
logger.exception("Unexpected error")
|
||||
raise
|
||||
```
|
||||
|
||||
### Pattern 3: Configuration Loading
|
||||
|
||||
Load and validate configuration:
|
||||
|
||||
```python
|
||||
import yaml
|
||||
|
||||
def load_config(config_path):
|
||||
with open(config_path) as f:
|
||||
config = yaml.safe_load(f)
|
||||
validate_config(config)
|
||||
return config
|
||||
```
|
||||
|
||||
## Anti-Patterns to Avoid
|
||||
|
||||
### ❌ Don't: Swallow Exceptions
|
||||
|
||||
```python
|
||||
# BAD
|
||||
try:
|
||||
do_something()
|
||||
except:
|
||||
pass
|
||||
```
|
||||
|
||||
### ✅ Do: Handle Explicitly
|
||||
|
||||
```python
|
||||
# GOOD
|
||||
try:
|
||||
do_something()
|
||||
except SpecificError as e:
|
||||
logger.warning(f"Expected error: {e}")
|
||||
return default_value
|
||||
```
|
||||
|
||||
## Category-Specific Patterns: General
|
||||
|
||||
### Recommended Approach
|
||||
|
||||
1. Start with the simplest implementation
|
||||
2. Add complexity only when needed
|
||||
3. Test each addition
|
||||
4. Document decisions
|
||||
|
||||
### Common Integration Points
|
||||
|
||||
- Configuration: `assets/config.yaml`
|
||||
- Validation: `scripts/validate.py`
|
||||
- Documentation: `references/GUIDE.md`
|
||||
|
||||
---
|
||||
|
||||
*Pattern library for java-spring-boot skill*
|
||||
Reference in New Issue
Block a user