前言:医院收费的模块很多,比如:医药费,体检项目,治疗费用 这时我想把一次费用交完,而不用跑更多的地方缴费,只需一个挂号单就可以查询出相对应的数据,所以需要数据合并
看效果如图:
合并数据对设计表也有要求: 数据类型相同,必须有中间表
如图:
控制代码:
public ActionResult ChaXun(BsgridPage BsgridPage,int ID,int CheckItemID) {
List<ShouFeiCha> ddd = new List<ShouFeiCha>();
var list = (from tbOrdonnanceTable in MyModels.PW_OrdonnanceTable
join tbOrdonnanceDetailTable in MyModels.PW_OrdonnanceDetailTable on tbOrdonnanceTable.OrdonnanceID equals tbOrdonnanceDetailTable.OrdonnanceID
join tbPatientTable in MyModels.BT_PatientTable on tbOrdonnanceTable.PatientID equals tbPatientTable.PatientID
join tbCheckItem in MyModels.R_CheckItem on tbOrdonnanceDetailTable.CheckItemID equals tbCheckItem.CheckItemID
join tbItemTable in MyModels.BT_ItemTable on tbCheckItem.ItemID equals tbItemTable.ItemID
where tbOrdonnanceTable.OrdonnanceID == ID && tbOrdonnanceDetailTable.CheckItemID == CheckItemID
select new ShouFeiCha
{
ID=tbOrdonnanceTable.OrdonnanceID,
BianMa = tbItemTable.ItemCoding,//编号
XiangMu = tbItemTable.ItemName,//项目
JinE = tbItemTable.ProjectPrice,//金额
CheckItemID=tbOrdonnanceDetailTable.CheckItemID,
ItemID= tbCheckItem.ItemID,
}).ToList();
var list1 = (from tbOrdonnanceTable in MyModels.PW_OrdonnanceTable
join tbOrdonnanceDetailTable in MyModels.PW_OrdonnanceDetailTable on tbOrdonnanceTable.OrdonnanceID equals tbOrdonnanceDetailTable.OrdonnanceID
join tbPatientTable in MyModels.BT_PatientTable on tbOrdonnanceTable.PatientID equals tbPatientTable.PatientID
join tbCheckItem in MyModels.R_CheckItem on tbOrdonnanceDetailTable.CheckItemID equals tbCheckItem.CheckItemID
join tbAssayItemsTable in MyModels.BT_AssayItemsTable on tbCheckItem.AssayItemsID equals tbAssayItemsTable.AssayItemsID
where tbOrdonnanceDetailTable.OrdonnanceID==ID && tbOrdonnanceDetailTable.CheckItemID == CheckItemID
select new ShouFeiCha
{
ID = tbOrdonnanceTable.OrdonnanceID,
BianMa = tbAssayItemsTable.AssayItemsNumber,//编号
XiangMu = tbAssayItemsTable.AssayItemsName,//项目
JinE = tbAssayItemsTable.AssayItemsPrice,//金额
AssayItemsID= tbCheckItem.AssayItemsID,
}).ToList();
ddd.AddRange(list);
ddd.AddRange(list1);
int count = ddd.Count;
//分页
List<ShouFeiCha> listStudent = ddd.Skip(BsgridPage.GetStartIndex())
.Take(BsgridPage.pageSize).ToList();
//调用分页封装类(扩展表),
//传数据到view
//调用分页封装类(扩展表),
Bsgrid<ShouFeiCha> bsgrid = new Bsgrid<ShouFeiCha>
{
success = true,
totalRows = count,
curPage = BsgridPage.curPage,
data = listStudent
};
return Json(bsgrid, JsonRequestBehavior.AllowGet);
}
页面代码:
<table id="tijian">
<thead>
<tr>
<th w_index="ID" style="text-align:center">编号</th>
<th w_index="XiangMu" style="text-align:center">项</th>
<th w_index="JinE" style="text-align:center">价格</th>
</tr>
</thead>
</table>
Js 代码:
var tijian;
//表格綁定
$(function () {
createSelect("OrdonnanceID", "PW_OrdonnanceTable");
tijian = $.fn.bsgrid.init('tijian', {
url: '/RegistrationManagement/ChargeManagement/ChaXun',
autoLoad: false,
stripeRows: false,//隔行变色
rowHoverColor: false,//划过行变色
displayBlankRows: false,//是否显示空白行,默认值false
pageSizeSelect: false,//是否选择分页页数下拉框
pagingLittleToolbar: true,//精简的图标按钮分页工具条
});
});
表格绑定用到:jQuery.bsgrid
jQuery.bsgrid链接:http://thebestofyouth.com/bsgrid