package com.ruoyi.system.service.impl;
|
|
import com.ruoyi.system.domain.vo.TaskCreateVO;
|
import com.ruoyi.system.service.ILegacyTransferSyncService;
|
import org.junit.jupiter.api.Test;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
@SpringBootTest
|
public class LegacyTransferSyncServiceImplTest {
|
|
@Autowired
|
private ILegacyTransferSyncService legacyTransferSyncService;
|
|
@Test
|
public void testBuildCreateTaskVo() {
|
// 准备测试数据
|
String serviceOrdID = "12345";
|
String dispatchOrdID = "67890";
|
|
Map<String, Object> order = new HashMap<>();
|
order.put("ServiceOrdID", serviceOrdID);
|
order.put("DispatchOrdID", dispatchOrdID);
|
order.put("ServiceOrdPtName", "张三");
|
order.put("ServiceOrdCoPhone", "13800138000");
|
order.put("ServiceOrdPtIDCard", "110101199001011234");
|
order.put("ServiceOrdPtCondition", "病情稳定");
|
order.put("ServiceOrdCoName", "李四");
|
order.put("ServiceOrdPtOutHospID", 1001L);
|
order.put("ServiceOrdPtServicesID", "2001");
|
order.put("ServiceOrdPtInHospID", 1002L);
|
order.put("ServiceOrdPtInServicesID", "2002");
|
order.put("ServiceOrdTraStreet", "北京市朝阳区某某街道123号");
|
order.put("ServiceOrdTraEnd", "北京市海淀区某某医院");
|
order.put("ServiceOrdTraTxnPrice", "500.00");
|
order.put("ServiceOrdClass", "A001");
|
order.put("ServiceOrdType", "T001");
|
order.put("DispatchOrdStartDate", "2025-11-20 09:00:00");
|
order.put("DispatchOrd_NS_Time", "2025-11-19 14:30:00");
|
|
// 调用方法
|
TaskCreateVO taskCreateVO = legacyTransferSyncService.buildCreateTaskVo(serviceOrdID, dispatchOrdID, order);
|
|
// 验证结果
|
assertNotNull(taskCreateVO);
|
assertEquals("EMERGENCY_TRANSFER", taskCreateVO.getTaskType());
|
assertEquals("从旧系统同步的转运单", taskCreateVO.getTaskDescription());
|
|
// 验证患者信息
|
assertNotNull(taskCreateVO.getPatient());
|
assertEquals("张三", taskCreateVO.getPatient().getName());
|
assertEquals("13800138000", taskCreateVO.getPatient().getPhone());
|
assertEquals("110101199001011234", taskCreateVO.getPatient().getIdCard());
|
assertEquals("病情稳定", taskCreateVO.getPatient().getCondition());
|
assertEquals("李四", taskCreateVO.getPatient().getContact());
|
|
// 验证转出医院信息
|
assertNotNull(taskCreateVO.getHospitalOut());
|
assertEquals(Long.valueOf(1001), taskCreateVO.getHospitalOut().getId());
|
assertEquals("2001", taskCreateVO.getHospitalOut().getDepartmentId());
|
|
// 验证转入医院信息
|
assertNotNull(taskCreateVO.getHospitalIn());
|
assertEquals(Long.valueOf(1002), taskCreateVO.getHospitalIn().getId());
|
assertEquals("2002", taskCreateVO.getHospitalIn().getDepartmentId());
|
|
// 验证地址信息
|
assertEquals("北京市朝阳区某某街道123号", taskCreateVO.getDepartureAddress());
|
assertEquals("北京市海淀区某某医院", taskCreateVO.getDestinationAddress());
|
|
// 验证价格信息
|
assertEquals("500.00", taskCreateVO.getPrice().toString());
|
|
// 验证单据类型和任务类型
|
assertEquals("A001", taskCreateVO.getDocumentTypeId());
|
assertEquals("T001", taskCreateVO.getTaskTypeId());
|
|
// 验证备注信息
|
assertTrue(taskCreateVO.getRemark().contains("服务单ID: " + serviceOrdID));
|
assertTrue(taskCreateVO.getRemark().contains("调度单ID: " + dispatchOrdID));
|
}
|
|
@Test
|
public void testIsTransferOrderSyncedWithInvalidParams() {
|
// 测试服务单ID为空的情况
|
boolean result1 = legacyTransferSyncService.isTransferOrderSynced(null, "12345");
|
assertFalse(result1);
|
|
// 测试服务单ID为空字符串的情况
|
boolean result2 = legacyTransferSyncService.isTransferOrderSynced("", "12345");
|
assertFalse(result2);
|
|
// 测试服务单ID为非数字字符串的情况
|
boolean result3 = legacyTransferSyncService.isTransferOrderSynced("abc", "12345");
|
assertFalse(result3);
|
}
|
|
@Test
|
public void testSyncSingleTransferOrderWithInvalidParams() {
|
// 测试服务单ID为空的情况
|
boolean result1 = legacyTransferSyncService.syncSingleTransferOrder(null, "12345");
|
assertFalse(result1);
|
|
// 测试服务单ID为空字符串的情况
|
boolean result2 = legacyTransferSyncService.syncSingleTransferOrder("", "12345");
|
assertFalse(result2);
|
}
|
}
|