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

其实就是改变(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. 16、总经理要阅读的书籍 - IT软件人员书籍系列文章

    总经理是公司的一个领导角色.他主要负责公司级别的比如规划,战略等等内容.有些公司的总经理,比如软件公司的总经理,往往是一个大的业务员,将更多的大型的软件项目投取过来,让公司能够有钱赚,让公司员工能够跟 ...

  2. .net开发windows服务小结

        今天学习了在.net下创建一个windows服务,总结一下学习心得.     开发环境:visual studio 2012   一.编写程序 (1)创建一个空解决方法 (2)添加一个控制台应 ...

  3. jenkins打包成功,部署失败

    环境一直正常,更新了tomcat版本后自动部署报错 ERROR: Publisher hudson.plugins.deploy.DeployPublisher aborted due to exce ...

  4. mysql源码解读之配置文件

    要研究mysql,最好的资源莫过于源码了,所以本人打算通过调试源码的方式来深入理解mysql的点点滴滴.搭建mysql调试环境很简单,从官方下载mysql源码,利用cmake工具生成工程即可.为了方便 ...

  5. 十五天精通WCF——第十四天 一起聊聊FaultException

     我们在玩web编程的时候,可能你会不经意的见到一些http500的错误,我想你应该不会陌生的,原因你应该也知道,服务器异常嘛, 这时候clr会把这个未处理的异常抛给iis并且包装成http500的错 ...

  6. java中的list,set,数组之间的转换

    使用该工具类import org.apache.commons.collections.CollectionUtils; 在Apache Jakarta Commons Collections中 St ...

  7. 【SQL篇章--CREATE TABLE】

    [SQL篇章][SQL语句梳理 :--基于MySQL5.6][已梳理:CREATE TABLE][会坚持完善] SQL : 1. Data Definition Statements: 1.3 CRE ...

  8. 【转】RHadoop实践系列之一:Hadoop环境搭建

    RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...

  9. 查询数据过多页面反应慢引入缓存解决方案(Redis、H2)

      问题:原系统查询接口不支持分页也不可能加入分页支持,导致Ajax查询数据过多,返回数据达到2W多条记录时响应已经极慢,查询功能不要求数据实时性,页面反应速度极慢.体验不好:经排查是由于数据量过大导 ...

  10. IE6-11使用location.href提交时的链接复制到firefox或chrome时出现乱码

    这是在开发国际机票查询页时碰到的一个问题,测试工程师在IE里执行查询操作,然后把查询的url赋值到firefox的地址栏,firefox打开后就变成乱码了. 1. IE浏览器,选择出发地,出发日期等后 ...