我们之前做的就是采购单的编辑,在采购单里面添加了药品,然后我们这篇文章要做的就是说提交这个采购单。

当我们创建完成采购单,确定采购单不再修改,需要提交采购单,由监管单位进行审核。

我们在提交这个采购单的时候要做一些检验,确保这个采购单是可以被提交的:

1:采购单必须包括采购药品明细方可提交

2:采购单的采购药品明细信息必须完整(采购量、采购金额必须指定)

3:采购单状态为未提交或审核不通过时方可提交

上面的三条都是在Service层里面做的。

当通过上面的验证之后,我们在数据库中做的工作就是更新采购单表中采购单状态为2:已提交未审核。

DAO层:

根据采购单的id更新采购单表中采购单状态为2

根据采购单id查询出采购药品明细

Service层:

接口功能:采购单提交

接口参数:采购单id

接口实现:

校验:

采购单状态为未提交或审核不通过时方可提交

方法:获取采购单的状态,判断是否是未提交或审核不通过,如果不是则不允许提交

采购单必须包括采购药品明细方可提交

方法:根据采购单id查询出采购药品明细,如果明细为空不允许提交

采购单的采购药品明细信息必须完整(采购量、采购金额必须指定)

方法:根据采购单id查询出采购药品明细,判断明细内容采购量、采购金额是否空

数据库操作:

根据采购单id更新采购单表中采购单状态为2:已提交未审核

我们来看一下Service代码:

@Override
public void saveYycgdSubmitstatus(String yycgdid) throws Exception {
Yycgd yycgd=this.findYycgdById(yycgdid);//通过采购单的id去查找采购单。
if(yycgd==null)//如果没有取到值得话,抛异常
{
ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 502, null)); }
String zt=yycgd.getZt();
if(!zt.equals("1")&&!zt.equals("4"))//采购单只允许在未提交或审核不通过的情况下时方可提交
{
// 没有添加采购药品不允许提交
ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 502, null));
} List<YycgdmxCustom> yycgdmxList=this.findYycgdmxList(yycgdid, null);
if(yycgdmxList==null||yycgdmxList.size()<0)
{ ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 504, null)); } // 采购单的采购药品明细信息必须完整(采购量、采购金额必须指定)
for (YycgdmxCustom yycgdmxCustom : yycgdmxList) {
Integer cgl = yycgdmxCustom.getCgl();// 采购量
Float cgje = yycgdmxCustom.getCgje();// 采购金额
if (cgl == null || cgje == null) {
ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE,
505, null));
}
}
String businessyear = yycgdid.substring(0, 4);
// 更新采购单状态及提交时间
Yycgd yycgd_update = new Yycgd();
yycgd_update.setId(yycgdid);
// 更新状态
yycgd_update.setZt("2");// 已提交 未审核
// 更新时间
yycgd_update.setTjtime(MyUtil.getNowDate()); yycgd_update.setBusinessyear(businessyear);
yycgdMapper.updateByPrimaryKeySelective(yycgd_update); }

我们再看一下Action代码:

/**
*
* <p>
* Title: submitYycgd
* </p>
* <p>
* Description:提交采购单
* </p>
*
* @param yycgdid
* 采购单id
* @return
* @throws Exception
*/
@RequestMapping("/submitYycgd")
public @ResponseBody
SubmitResultInfo submitYycgd(String id) throws Exception { yycdgService.saveYycgdSubmitstatus(id); return ResultUtil.createSubmitResult(ResultUtil.createSuccess(
Config.MESSAGE, 906, null)); }

最后我们看下页面代码:

//采购单提交
function yycgdsubmit(){
_confirm('提交后采购单将不允许修改,是否继续?',null,
function(){
$("#yycgdsaveForm").attr("action","${baseurl}cgd/submitYycgd.action");
jquerySubByFId('yycgdsaveForm', yycgdsubmit_callback, null);
}
); }

调试:

第一步:

点击上面的采购药品添加:

填写好采购量之后:

点击“保存采购药品信息”。

最后:

点击提交按钮。

自动计算出采购金额。
我们再去查数据库里面采购单明细表里面就有采购单金额数据了。之前是没有的。

到这里就调试完了。

接下来的步骤就是采购单提交之后我们要采购单审核啊,下面的文章就是采购单审核。

045医疗项目-模块四:采购单模块—采购单提交(Dao,Service,Action三层)的更多相关文章

  1. 043医疗项目-模块四:采购单模块—采购单明细查询(Dao,Service,Action三层)

    前一篇文章我们做的是在医院的角度上添加在采购单里面添加药品.这一篇文章是查看我们添加的采购单信息. 我们先看一下要实现的效果:当: 按下确认添加时,会在这里 显示出刚才添加的数据. 好,我们就来做这个 ...

  2. 044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)

    我们上上一篇文章(042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中)做的工作是把数据插入到了数据库,我们这篇文章做的是042医疗项目-模块四:采购单模块-采购单明细添加 ...

  3. 048医疗项目-模块四:采购单模块—采购单受理(Dao,Service,Action三层)

    需求: 我们之前把采购单交给监督单位审核了,审通过的采购单就要受理.供货商决定采购单发不发货. 说明: 我们要查的就是登录的供货商的要提供的采购药品,我们查看的是采购单详细表,至于查询条件我们用的是就 ...

  4. 047医疗项目-模块四:采购单模块—采购单审核提交(Dao,Service,Action三层)

    我们之前把采购单都审核了,这篇文章说的就是审核之后提交. 其实就是改变(update)采购单的审核状态. 需求: 用户要先查看采购单的内容. 查看采购单页面:页面布局同采购单修改页面. 选择审核结果. ...

  5. 046医疗项目-模块四:采购单模块—采购单审核(Dao,Service,Action三层)

    当医院把采购单提交之后,由监管单位进行采购单审核,由卫生院及卫生局进行审核.卫生局可以审核所有医院创建的采购单,卫生院只审核本辖区医院创建的采购单. 操作流程: 点击"采购单审核" ...

  6. 010医疗项目-模块一:用户添加的实现(Dao,Service,Action,增加页面调试,提交页面调试)

    要实现的效果:

  7. 模块四-shutil模块

    shutil模块 高级的文件处理模块 主要是文件的处理,移动,压缩和解压缩 shutil模块的使用方法: shutil.copyfile()#拷贝文件 shutil.copy()#拷贝文件和权限 sh ...

  8. 常见模块(四) os模块

    注: os模块是实现python程序对操作系统(operation system)的操作 1.对文件或者目录进行删除或者创建的相关操作 # os.rename("b"," ...

  9. 010商城项目:商品类目的选择——Dao,Service.Action层的分析

    我们现在开始写商品类选择这个功能: 先看效果: 当我们点击"新增商品"---->"选择目录"然后从数据库中查出来数据并显示了. 我们分析数据库的那张表: ...

随机推荐

  1. VisualSVN Server的配置和使用方法 图文

    转载 http://www.jb51.net/article/17365.htm VisualSVN Server是免费的,而VisualSVN是收费的.VisualSVN是SVN的客户端,和Visu ...

  2. json官方学习档案

    项目经常用json开发,但说实话,对json了解的一直不深入.今天看了下json的官方资料,明了很多. json官方网址:http://www.json.org/json-zh.html JSON(J ...

  3. nginx 配置优化的几个参数(转)

    nginx配置文件里面需要注意的一些参数 worker_processes 8  nginx要开启的进程数 一般等于cpu的总核数 其实一般情况下开4个或8个就可 我开2个 以了 多了没有太多用每个n ...

  4. 如何在linux设置回收站

    修改用户的环境变量 vi ~/.bashrc 注释第5行的别名 #alias rm='rm -i' 最后一行添加如下内容 mkdir -p ~/.trash alias rm=trash alias ...

  5. RFID应用范围

    RFID应用范围 (1)物流: 物流过程中的货物追踪,信息自动采集,仓储应用,港口应用,邮政,快递 (2)零售: 商品的销售数据实时统计,补货,防盗 (3)制造业: 生产数据的实时监控,质量追踪,自动 ...

  6. ORACLE SQL Developer日期显示格式设置

    ORACLE的SQL Developer工具默认的日期格式DD-MON-RR,在SQL查询中往往你看不到时间信息,此时你必须修改日期格式.具体如下所示 工具->首选项->数据库->N ...

  7. sysbench测试工具

    sysbench简介 Sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.它主要包括以下几种方式的测试:cpu性能,磁盘io性能,线程调度性 ...

  8. oracle DB_LINK

    1.先创建远程数据库服务名(注意,如果服务器既有oracle服务端又有客户端,需要在服务端的tnsnames.ora中配置服务名,否则会报如下错误): SQL> select count(*) ...

  9. Linux命令行上传文件到百度网盘

    利用bpcs_uploader你可以自动将VPS主机上的文件上传到百度网盘中,同时也可以从百度网盘中下载文件到VPS主机上,让你的文件安全地"住"在百度云中.[font=Tahom ...

  10. mongo日志切割脚本

    两种mongo日志切割脚本 vim /etc/logrotate.d/mongodb /home/mongodb/mongolog/mongod.log { daily rotate 7 compre ...