绑定卡号失败问题处理流程
项目使用SpringBoot框架,减少了很多配置。
由于前置机数量太多,而且ip地址都不同,使用Hibernate或SpringMVC框架的话无法配置确定的数据源,因此使用jdbc方式连接数据库。
步骤:
1、定义dao层接口
2、定义Service接口
3、定义Controller层
4、使用jdbc方式连接数据库。
5、制作静态页面
6、实现后台逻辑。
1、定义dao层接口
public interface IverifyDao {
/* *
* @Method:checkCenterData
* @Description: TODO 检查中心端数据库是否存在患者信息,返回true存在,false不存在。
*/
public boolean checkCenterData(String kh, String klx);
/* *
* @Method:checkQzjData
* @Description: TODO 根据医疗机构代码,检查前置机数据库是否存在患者信息,返回true存在,返回false不存在。
*/
public boolean checkQzjData(String kh, String klx, String yljgdm);
/* *
* @Method:addData
* @Description: TODO 将从前置机取到的数据重新拉到中心端数据库,返回true拉取数据成功,返回false失败。
*/
public boolean checkQzjData(String kh, String klx);
}
2、定义Service接口
pring kh, String klx, String name);
/* *
* @Method:checkCenterData
* @Description: TODO 检查中心端数据库是否存在患者信息,返回true存在,false不存在。
*/
public Map<String, Object> checkCenterData(String kublic interface IverifyService {
/* *
* @Method:verifyCard
* @Description: TODO 调用中心卡验证接口,验证患者卡号
*/
public Map<String, Object> verifyCard(Sth, String klx);
/* *
* @Method:checkQzjData
* @Description: TODO 根据医疗机构代码,检查前置机数据库是否存在患者信息,返回true存在,返回false不存在。
*/
public Map<String, Object> checkQzjData(String kh, String klx, String yljgdm);
/* *
* @Method:addData
* @Description: TODO 从前置机取到数据并且重新拉到中心端数据库。
*/
public Map<String, Object> addData(String kh, String klx);
}
3、定义Controller层
@Controller
@RequestMapping(value = "verify")
public class VerifyController {
@Autowired
private IverifyService verifyService;
/* *
* @Method:index
* @Description: TODO 跳转卡验证首页
*/
@RequestMapping(value = "index")
public String index(){
return "verify";
}
/* *
* @Method:verifyCards
* @Description: TODO 调用中心端webservice验证患者卡号信息
*/
@RequestMapping(value = "verifyCard", method = RequestMethod.POST)
@ResponseBody
public Map<String,Object> verifyCards(Model model) {
return null;
}
/* *
* @Method:checkCenterData
* @Description: TODO 检查中心数据
*/
@RequestMapping(value = "checkCenterData" , method = RequestMethod.POST)
@ResponseBody
public Map<String,Object> checkCenterData(Model model) {
return null;
}
/* *
* @Method:checkQzjData
* @Description: TODO 检查前置机数据
*/
@RequestMapping(value = "checkQzjData" , method = RequestMethod.POST)
@ResponseBody
public Map<String,Object> checkQzjData(Model model) {
return null;
}
/* *
* @Method:addData
* @Description: TODO 重传数据
*/
@RequestMapping(value = "addData" , method = RequestMethod.POST)
@ResponseBody
public Map<String,Object> addData(Model model) {
return null;
}
}
4、由于前置机数量太多,而且ip地址都不同,使用Hibernate或SpringMVC框架的话无法配置确定的数据源,因此使用jdbc方式连接数据库。
public class DBUtil {
private static final String driverName = "net.sourceforge.jtds.jdbc.Driver";
static {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection(String url, String username, String password) {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void closeConnection(ResultSet rs, Statement stmt, Connection conn) {
if (null != rs) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (null != stmt) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (null != conn) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}