(3) 若该药品不存在,则新增该药品至数据库表中。
if(previousDrugInfo == null && drugInfo!= null){
drugInfo.setDrugName(enterStorage.getDrugName());
drugInfo.setRemarks(enterStorage.getRemarks());
drugInfoDao.save(drugInfo);//新增药品
}
(4) 生成一个EnterStorageDaoBean对象,将药品Id、订单Id、入库时间(当前日期)、药品有效期设置到药品入库对象中。
enterStorageDao = DaoBeanFactory.getEnterStorageDaoBean();
enterStorage.setDrugId(previousDrugInfo.getDrugId());
enterStorage.setOrderId(orderForm.getOrderId());
DateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
String now = dft.format(new Date());
java.sql.Date dt = java.sql.Date.valueOf(now);
enterStorage.setImportDate(dt);
enterStorage.setEffectiveDate(previousDrugInfo.getEffectiveDate());
(5) 生成一个StorageDaoBean库存对象,更新药品库存。
DaoBeanFactory.getStorageDaoBean().saveOrUpdate(storage)
(6) 保存入库信息。
enterStorageDao.save(enterStorage)
(7) 更新订单状态。
DaoBeanFactory.getOrderFormDaoBean().updateStatus(orderForm.getOrderId(), 1)
(8) 上述5、6、7操作成功后,返回1,入库成功。
result = 1;
(9) 否则返回-1,入库失败。
} else {
result = -1;
}
4.5.2 药品销售模块的实现
该模块对负责向病人销售药品,其主要代码如下所示:
(1) .获取JSP页面输入的病人姓名、性别、出生年月,选择药品名、生产厂家,输入销售数量、开单日期、开单人和备注等信息,放入一个CaseListDao对象。该操作由Struts2框架自动完成。
(2) 生成一个CaseListDaoBean对象,根据药品名称和厂家查询药品。
caseListDao = DaoBeanFactory.getCaseListDaoBean();
DrugInfo drugInfo = DaoBeanFactory.getDrugInfoDaoBean().findByDrugNameAndProducer(caseList.getDrugName(), caseList
.getCaseAddress());
3. 调用StorageDaoBean的reduceCount方法减少相应的库存量、调用CaseListDaoBean的save方法保存处方单、调用SaleDaoBean的save方法保存销售记录,三个操作都成功时返回1,提示销售成功。
if (DaoBeanFactory.getStorageDaoBean().reduceCount( caseList.getDrugName(), caseList.getNumber(),caseList.getCaseAddress())&& caseListDao.save(caseList)
&& DaoBeanFactory.getSaleDaoBean().save(
new Sale(caseList.getCaseId(), caseList.getHealDate(),caseList.getCaseName(), caseList.getCaseSex(),caseList.getCaseBirthday(),caseList.getCaseAddress(),caseList.getDrugName(),drugInfo.getDrugPrice(),caseList.getNumber(),drugInfo.getDrugPrice()*caseList.getNumber(),
caseList.getHealName(), caseList.getRemarks()))) {
result = 1;
4.若某个操作失败,则返回-1,提示销售失败。
} else {
result = -1; }
5.药品销售模块在struts.xml里配置如下。
<!-- 病历单信息 -->
<action name="*CaseList" class="cn.com.medicineMSys.action.CaseListAction"
method="{1}">
<result name="success">sellDrug.jsp</result> JSP+mysql药品销售及管理系统设计与实现+用例图(14):http://www.751com.cn/jisuanji/lunwen_2034.html