我们之前把采购单都审核了,这篇文章说的就是审核之后提交。

其实就是改变(update)采购单的审核状态。

需求:

用户要先查看采购单的内容。

查看采购单页面:页面布局同采购单修改页面。

选择审核结果、填写 审核意见进行提交 。

约束条件:

采购单状态为审核中方可提交审核。

审核结果(审核通过、审核不通过)必须选择。

审核意见是否必填根据用户需求来定,本系统采用不必填 。

数据库操作:

更新采购单状态为审核通过或审核不通过.

DAo层:

使用逆向工程生成的Mapper:

yycgdMapper.updateByPrimaryKeySelective(yycgd_update);

Service层:

@Override
public void saveYycgdCheckStatus(String yycgdid, YycgdCustom yycgdCustom) throws Exception { //对采购单做校验
Yycgd yycgd=this.findYycgdById(yycgdid);
//如果根本就没有这个采购单的话:
if(yycgd==null)
{ ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 514, null)); }
String zt=yycgd.getZt();//得到采购单的状态
if(!zt.equals("2"))//如果采购单的采购状态不是在审核中这个状态的话
{ ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 514, null));
}
//审核的结果必须要选择,不然不能提交
if(yycgdCustom==null||yycgdCustom.getZt()==null||(!yycgdCustom.getZt().equals("3")&&yycgdCustom.getZt().equals("4")))
{ ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 514, null)); }
String bussinessyear=yycgdid.substring(0,4);
Yycgd yycgd_updata=new Yycgd();
yycgd_updata.setId(yycgdid); //更新状态
yycgd_updata.setZt(yycgdCustom.getZt());
//更新审核时间
yycgd_updata.setShtime(new Date());
yycgd_updata.setBusinessyear(bussinessyear);
yycgdMapper.updateByPrimaryKeySelective(yycgd_updata);//更新 }

Action层;

// 采购单审核提交
@RequestMapping("/checkcgdsubmit")
public @ResponseBody
SubmitResultInfo checkcgdsubmit(YycgdQueryVo yycgdQueryVo, int[] indexs // 页面选择序号
) throws Exception { // 页面提交的业务数据(多个),要处理的业务数据,页面中传入的参数
List<YycgdCustom> list = yycgdQueryVo.getYycgdCustoms(); // 处理数据的总数
int count = indexs.length;
// 处理成功的数量
int count_success = 0;
// 处理失败的数量
int count_error = 0; // 处理失败的原因
List<ResultInfo> msgs_error = new ArrayList<ResultInfo>(); for (int i = 0; i < count; i++) { ResultInfo resultInfo = null; // 根据选中行的序号获取要处理的业务数据(单个)
YycgdCustom yycgdCustom = list.get(indexs[i]);
// 采购单id
String yycgdid = yycgdCustom.getId(); try {
yycdgService.saveYycgdCheckStatus(yycgdid, yycgdCustom);
} catch (Exception e) {
e.printStackTrace(); // 进行异常解析
if (e instanceof ExceptionResultInfo) {
resultInfo = ((ExceptionResultInfo) e).getResultInfo();
} else {
// 构造未知错误异常
resultInfo = ResultUtil.createFail(Config.MESSAGE, 900,
null);
} }
if (resultInfo == null) {
// 说明成功
count_success++;
} else {
count_error++;
// 记录失败原因
msgs_error.add(resultInfo);
} } // 提示用户成功数量、失败数量、失败原因
// 改成返回详细信息
return ResultUtil.createSubmitResult(
ResultUtil.createSuccess(Config.MESSAGE, 907, new Object[] {
count_success, count_error }), msgs_error);
} // 采购单受理页面
@RequestMapping("/disposeyycgd")
public String disposeyycgd(Model model) throws Exception { // 当前年份
model.addAttribute("year", MyUtil.get_YYYY(MyUtil.getDate())); return "/business/cgd/disposeyycgd";
}

页面:

{"icon" : "icon-log","menuid" : "1_1","menuname" : "采购单审核","url" : "/yycgproject/cgd/checkyycgdlist.action"
                 },

调试通过!!!

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

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

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

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

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

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

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

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

    我们之前做的就是采购单的编辑,在采购单里面添加了药品,然后我们这篇文章要做的就是说提交这个采购单. 当我们创建完成采购单,确定采购单不再修改,需要提交采购单,由监管单位进行审核. 我们在提交这个采购单 ...

  5. 043医疗项目-模块四:采购单模块—采购单明细查询(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. 【代码笔记】iOS-点击搜索跳转到另外一个页面

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  2. View Focus的处理过程及ViewGroup的mFocused字段分析

    通过上篇的介绍,我们知道在对KeyEvent的处理中有非常重要的一环,那就是KeyEvent在focus view的path上自上而下的分发, 换句话说只有focus的view才有资格参与KeyEve ...

  3. iOS之 C++与oc混编

    声明:本文只是随笔,自己做个笔记方便以后查阅如要转载,注明出处.谢谢! 2016年第一篇随笔!!! 由于最近要搞一个项目用到c++的一些api所以要混编,于是就记录下这个过程中的一些细节上的东西! O ...

  4. 使用getopts处理shell中的输入参数

    在编写shell脚本中,经常要处理一些输入参数,在使用过程中发现getopts更加方便,能够很好的处理用户输入的参数和参数值.   getopts用于处理用户输入参数,举例说明使用方法: while ...

  5. 玩了一天的Git

    今天的逗比事 Git从学习到使用,也有2个月时间了,一开始也就看看廖雪峰老师的Git教程,跟着做了一遍,感觉非常受用. 遇到一些忘掉的命令,再回去查查也基本都没问题. 但是今天缺遇到了逗比事,回过头来 ...

  6. 基于Tomcat + JNDI + ActiveMQ实现JMS的点对点消息传送

    前言 写了一个简单的JMS例子,之所以使用JNDI 是出于通用性考虑,该例子使用JMS规范提供的通用接口,没有使用具体JMS提供者的接口,这样可以保证我们编写的程序适用于任何一种JMS实现(Activ ...

  7. 如何删除或重置spfile中的参数

    在ORACLE中,修改spfile中的参数一般非常容易,那么如何删除spfile中的参数呢? 下面我们用一个案例来介绍一下,如何删除spfile中的参数,一种方法就是创建对应的pfile,删除对应的参 ...

  8. JVM知识点

    先发个链接到两位大牛的主页 http://rednaxelafx.iteye.com/               http://icyfenix.iteye.com/ 目录 1)概述 2)编译 3) ...

  9. Android搭建junit测环境

    在AndroidManifest.xml文件中增加两个东西,分别是: 1.uses-library ,位于application里面. 2.instrumentation,与application同级 ...

  10. Filestream 使用简单步骤

    为了减少大文件在数据库的存储对数据库的读写效率造成的压力,多了FileStream这一个功能,下面介绍一下如何快速使用FileStream. 1.开启SqlServer实例对FileStream 的开 ...