《养老管理系统——“药房盘点”模块》项目研发阶段性总结
作者: 丁晓娟
本次任务完成时间:2019年1月16日~2019年1月21日
完成模块功能:药房盘点
一、功能实现
药房盘点主要是对药房的药品进行盘点,盘点后可查看盈亏情况的功能模块(可以修改盘点数量)。
-
新增盘点号:点击新增盘点号按钮添加一个盘点号。(如图1)
图1 新增盘点号信息 -
新开盘点:点击新开盘点按钮,选择刚刚新增的盘点号以及所需要盘点的数据,再对相关信息进行填写,最后点击保存。(如图2)
图2 新开盘点信息 -
盘点详情:双击盘点记录表的数据,查看对应盘点号的盘点详细信息,包括药品的一些盈亏状况等。(如图3)
图3 盘点详情 -
针对盘点信息的一些盘盈盘亏数量,我们可以修改它的盈亏情况(正常、盘盈、盘亏)。这里也有对盘点信息的多条件查询,删除,导出一系列操作。
二、相关业务表和关系
三、一些相关代码
盘点号生成,点击新增回填UIL层代码:
//新增盘点号
$("#InsertPDH").click(function () {
var PDH = $("#1").val();
var CZSJ = $("#2").val();
if (PDH != "" && CZSJ!="") {
$.post("InsertPDH?PDH=" + PDH + "&CZSJ=" + CZSJ, function (data) {
if (data == "success") {
layer.alert("新开盘点号成功!", { icon: 0, title: '提示'});
location.reload();
}
})
}
})
//点击新增
$(document).on('click', '#Insert', function () {
//当前日期回填
$.getJSON("/Pharmacy/YFShoppingSQ/Time", function (data) {
$("#checkDate").val(data);
});
document.getElementById("YP").style.display = "block";
document.getElementById("YFYP").style.display = "none";
var check = $("#tabPDJL :checkbox:checked");
var pannuber = document.getElementById("pannuber").value = $("#tabPDJL tr").eq($("#tabPDJL :checkbox").index($("#tabPDJL :checkbox:checked")) + 1).find("td").eq(1).html();
var pannuber = $("#pannuber").val();
$.getJSON("/Pharmacy/YFPD/PDHHT?pannuber=" + pannuber, function (data) {
$("#drugpanID").val(data.drugpanID);
})
})
//获取要盘点的行的数据
function getCheckedRecords() {
//声明一个数组来存放所选中的行
var records = new Array();
//遍历表的每一行
$("#tabYP tr").each(function () {
//判断获取选中当前点击的行
if ($(this).find("td:eq(0)>input[type='checkbox']:checked").length == 1) {
//把选中的行保存到数组中,getRowRecord的作用是获取行中所有的数据
records[records.length] = tabYP.getRowRecord($(this));
}
});
return records;
}
//保存新开盘点
$("#Save").click(function () {
var records = getCheckedRecords();
//声明一个变量来记录盘点成功的数据的条数
var ReturnLength = 0;
if (records.length > 0) {
for (var i = 0; i < records.length; i++) {
var inventoryID = tabYP.getRecordIndexValue(records[i], "inventoryID");
var checkDate = $("#checkDate").val();
var UserID = $("#UserID").val();
var check = $("#tabPDJL :checkbox:checked");
var drugpanID = $("#drugpanID").val();
//判断数据是否为空
if (inventoryID > 0 && checkDate != "" && UserID > 0 && drugpanID > 0) {
//提交
$.getJSON("InsertYFPD?checkDate=" + checkDate + "&UserID=" + UserID + "&inventoryID=" + inventoryID + "&drugpanID=" + drugpanID, function (data) {
if (data == "success") {
layer.alert("保存成功!", { icon: 1, title: '提示' });
setTime();
}
else {
layer.alert("保存失败!", { icon: 0, title: '提示' });
}
})
} else {
layer.alert("请填写完整", { icon: 0, title: '提示', time: 2000 });
}
}
} else {
layer.alert("请选择需要盘点的数据!", { icon: 0, title: '提示' });
}
})
function setTime() {
var timerOut = setTimeout("location.reload();", 5000);
}
四、开发总结
开发MVC项目,对我们来说,可以联合老师所学知识进行扩展,提升我们的自学能力以及活跃思维,一个质的跳跃就来源我们对代码的理解和灵活性运用。
这个项目关系到我们的医院管理系统,刚一接触到项目时,真的不知道该怎么入手,这第一遇到的难题就是要弄清它的业务流程,当时就想,以我的思维逻辑能力,能略知一二就不错了,可能我们无论做何事,都需要一个过程,需要时间、知识的积累吧!
业务流程(挂号—>候诊—>就诊(医生对病人病情开相关处方药)—>缴费(拿处方单交费)—>取药),这是我们去医院的一些基本流程,如果病人病情严重的话可以安排住院,住院首先要交住院费,然后护士会安排床位,护士会根据医生的嘱托进行服务(比如吃什么药,一日几次…),病人也可以提前出院,家属去办出院手续,缴纳完相关费用。这个模块主要是对药房药品数量的盘点,是业务流程之外的一些后台数据操作。
这让我们深刻的了解到一个系统的操作往往是和生活紧密联系的,密不可分!从而也知道一个程序员背后的努力与成功。不仅如此,MVC项目是对所学知识的提升与巩固,数据库、前端和JavaScript知识巧妙结合,又刷新了认知概念。总之,要新增知识,修改纰漏,删除错误!