047医疗项目-模块四:采购单模块—采购单审核提交(Dao,Service,Action三层)
我们之前把采购单都审核了,这篇文章说的就是审核之后提交。
其实就是改变(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三层)的更多相关文章
- 046医疗项目-模块四:采购单模块—采购单审核(Dao,Service,Action三层)
当医院把采购单提交之后,由监管单位进行采购单审核,由卫生院及卫生局进行审核.卫生局可以审核所有医院创建的采购单,卫生院只审核本辖区医院创建的采购单. 操作流程: 点击"采购单审核" ...
- 044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)
我们上上一篇文章(042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中)做的工作是把数据插入到了数据库,我们这篇文章做的是042医疗项目-模块四:采购单模块-采购单明细添加 ...
- 048医疗项目-模块四:采购单模块—采购单受理(Dao,Service,Action三层)
需求: 我们之前把采购单交给监督单位审核了,审通过的采购单就要受理.供货商决定采购单发不发货. 说明: 我们要查的就是登录的供货商的要提供的采购药品,我们查看的是采购单详细表,至于查询条件我们用的是就 ...
- 045医疗项目-模块四:采购单模块—采购单提交(Dao,Service,Action三层)
我们之前做的就是采购单的编辑,在采购单里面添加了药品,然后我们这篇文章要做的就是说提交这个采购单. 当我们创建完成采购单,确定采购单不再修改,需要提交采购单,由监管单位进行审核. 我们在提交这个采购单 ...
- 043医疗项目-模块四:采购单模块—采购单明细查询(Dao,Service,Action三层)
前一篇文章我们做的是在医院的角度上添加在采购单里面添加药品.这一篇文章是查看我们添加的采购单信息. 我们先看一下要实现的效果:当: 按下确认添加时,会在这里 显示出刚才添加的数据. 好,我们就来做这个 ...
- 010医疗项目-模块一:用户添加的实现(Dao,Service,Action,增加页面调试,提交页面调试)
要实现的效果:
- 模块四-shutil模块
shutil模块 高级的文件处理模块 主要是文件的处理,移动,压缩和解压缩 shutil模块的使用方法: shutil.copyfile()#拷贝文件 shutil.copy()#拷贝文件和权限 sh ...
- 常见模块(四) os模块
注: os模块是实现python程序对操作系统(operation system)的操作 1.对文件或者目录进行删除或者创建的相关操作 # os.rename("b"," ...
- 010商城项目:商品类目的选择——Dao,Service.Action层的分析
我们现在开始写商品类选择这个功能: 先看效果: 当我们点击"新增商品"---->"选择目录"然后从数据库中查出来数据并显示了. 我们分析数据库的那张表: ...
随机推荐
- 【代码笔记】iOS-拍照动画
代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. se ...
- iOS做新浪微博sso授权登录遇到的一些坑
新浪微博sso授权第三方登录,这里没有借助第三方框架,如shareSKD和友盟等,直接参考新浪官方SDK和文档. 过程中遇到几个坑,找了很久,好歹最后解决了,记录如下 问题1: _NSInlineDa ...
- MicroStation VBA 操作提示
Sub TestShowCommand() ShowCommand "画条线" ShowPrompt "选择第一个点" ShowStatus "选择第 ...
- windows server 开机自动登录并锁定
这个操作对于广大使用Windows(包括xp/win7/2003/2008 R2 等windows 系统) 的上班族会有点用. 其一:如果是个人吧系统(win7.xp)上班时候打开电脑,自动登录,系统 ...
- javascript和web debug技术
在前端开发中,调试技术是必不可少的技能,本文将介绍五种前端开发必备的调试技术. Weinre移动调试 DOM 断点 debugger断点 native方法hook 远程映射本地调试 Weinre 在移 ...
- 利用PHPMailer 来完成PHP的邮件发送
翻起之前的代码看了一下,还是发表到这里,以后容易查找. 以下的两个文件在这里下载 http://download.csdn.net/detail/u013085496/9673828 也可以直接上gi ...
- js中的==运算: [''] == false —>true
图1 计算下面表达式的值: [''] == false 首先,两个操作数分别是对象类型.布尔类型.根据图1,需要将布尔类型转为数字类型,而false转为数字的结果是0,所以表达式变为: [''] == ...
- MongoDB 优点
任何关系型数据库,具有典型的架构设计,显示表和这些表之间的关系.虽然在 MongoDB中,没有什么关系的概念. MongoDB比RDBMS的优势 架构:MongoDB是文档型数据库,其中一个集合保存不 ...
- JavaScript Patterns 5.6 Static Members
Public Static Members // constructor var Gadget = function (price) { this.price = price; }; // a sta ...
- linux下memcached的安装
系统镜像及环境要求: 1) 适用于windows系列版本及开发者的相关教程 请参考本文1.0开始安装步骤 2) Centos 6系列及Aliyun Linux 6系列以上版本 请参考本文2.0开始 ...