医药采购之创建采购单基本信息
2015-11-17 14:22
531 查看
1 创建采购单基本信息
1.1 需求:
医院创建采购单时,需要先填写采购单基本信息,基本信息填写完成后,再填写采购单明细信息。内容如下:
采购单基本信息包括:采购年份、采购单名称、建单时间、提交时间、联系人、联系电话、备注、采购单状态。
1.2 实现:
1.2.1 dao使用逆向工程向采购单基本信息表插入一条记录。
1.2.1.1 采购单编号生成
采购单编号命名规则:4 位年+6位流水号
6位流水号:使用oracle序列完成。
采购单编号序列按年划分,
序列名:yycgdbm+4位年份
Sql:
createsequence YYCGDBM2014
minvalue1
maxvalue999999
startwith101060
incrementby1
cache20;
序列由动态表的存储过程自动创建。
使用序列生成采购单号:
创建一个自定义mapper。
<!--
采购单号生成 -->
<select
id="getYycgdBm"parameterType="string">
select '${value}' || yycgdbm${value}.nextvalbm from dual
</select>
Mapper.java
//
采购单的编号生成通过oracle数据库的序列生成
public StringgetYycgdBm(String year)
throws Exception;
1.2.2 service
接口功能:创建采购单
接口参数:医院id、4位年份、采购单信息
接口实现:
向采购单基本信息表插入一条记录
采购单状态默认为“未提交”
调用getYycgdBm
每次插入只调用一次因为每次调用值都会加1
public
classCgdServiceImpl implements CgdService {
@Autowired
private YycgdMapper
yycgdMapper;
@Autowired
private YycgdMapperCustom
yycgdMapperCustom;
@Autowired
private SystemConfigService
systemConfigService;
@Autowired
private UseryyMapper
useryyMapper;
@Autowired
private YpxxMapper
ypxxMapper;
@Autowired
private YycgdmxMapper
yycgdmxMapper;
//
创建新的采购单
@Override
public StringinsertYycgd(String useryyid, String year,
YycgdCustomyycgdCustom)
throwsException {
// yycgdMapperCustom.getYycgdBm(year)每次访问的值都会不一样
Stringbm =
yycgdMapperCustom.getYycgdBm(year);
//
目的是方便操作采购单
yycgdCustom.setId(bm);
//
采购单的编号
yycgdCustom.setBm(bm);
//
创建采购单的医院
yycgdCustom.setUseryyid(useryyid);
//
创建时间
yycgdCustom.setCjtime(new Date());
//
采购单状态默认为未提交
yycgdCustom.setZt("1");
//
设置年份,为了操作动态表
yycgdCustom.setBusinessyear(year);
yycgdMapper.insert(yycgdCustom);
return bm;
}
1.2.3 action
两个方法:
创建采购单页面方法:
生成采购单名称:医院名称+当前时间+“采购单”
采购年份:当前年份
创建采购单基本信息保存方法:
创建采购单基本信息成功后,重定向到采购单修改页面(在修改页面可以填写采购单明细信息)。
为了调试创建采购单基本信息保存方法,写一个采购单修改页面方法
//
创建采购单基本信息页面
@RequestMapping("/addcgd")
public Stringaddcgd(HttpSession session, Model model)
throws Exception {
//
获取当前用户
ActiveUseractiveUser = (ActiveUser) session
.getAttribute(Config.ACTIVEUSER_KEY);
Stringsysmc = activeUser.getSysmc();
//
生成采购单名称:医院名称+当前时间+“采购单”
Stringyycgdmc = sysmc + MyUtil.getDate() +
"采购单";
model.addAttribute("yycgdmc",yycgdmc);
//
采购年份工具类
Stringyear = MyUtil.get_YYYY(MyUtil.getDate());
model.addAttribute("year", year);
return
"/business/cgd/addcgd";
}
//
创建采购单的基本信息保存方法
@RequestMapping("/addcgdsubmit")
public
@ResponseBody
SubmitResultInfoaddcgdsubmit(HttpSession session, String year,
YycgdQueryVoyycgdQueryVo)
throwsException {
ActiveUseractiveUser = (ActiveUser) session
.getAttribute(Config.ACTIVEUSER_KEY);
Stringuseryyid = activeUser.getSysid();
//
从用户中获取单位id
String yycgdid =
cgdService.insertYycgd(useryyid, year,
yycgdQueryVo.getYycgdCustom());
ResultInforesultInfo = ResultUtil.createSuccess(Config.MESSAGE, 906,
null);
//
获取采购单id,将id通过ResultInfo中sysdata传到页面
resultInfo.getSysdata().put("yycgdid",yycgdid);
return ResultUtil.createSubmitResult(resultInfo);
}
//
采购单修改页面方法
@RequestMapping("/editcgd")
public String editcgd(Modelmodel, String id)
throws Exception {
//
采购状态
List<Dictinfo>cgztlist = systemConfigService.findDictinfoByType("011");
List<Dictinfo>jyztlist = systemConfigService.findDictinfoByType("003");
//
药品类别
List<Dictinfo>lblist = systemConfigService.findDictinfoByType("001");
model.addAttribute("lblist",lblist);
model.addAttribute("cgztlist",cgztlist);
model.addAttribute("jyztlist",jyztlist);
//
调用service获取采购单信息
YycgdCustomyycgdCustom =
cgdService.findYycgdById(id);
model.addAttribute("yycgd",yycgdCustom);
return
"/business/cgd/editcgd";
}
1.2.4 action跳转到采购单修改
如果采购基本信息保存成功,在页面执行window.location='${baseurl}cgd/editcgd.action?id='+yycgdid;
Yycgdid(采购单id),通过采购单基本信息保存结果resultInfo传到页面。
在ResultInfo中定义sysdata的map结构,用于action向页面传递业务参数。
修改采购单基本信息保存方法:
//
创建采购单的基本信息保存方法
@RequestMapping("/addcgdsubmit")
public
@ResponseBody
SubmitResultInfoaddcgdsubmit(HttpSession session, String year,
YycgdQueryVoyycgdQueryVo)
throwsException {
ActiveUseractiveUser = (ActiveUser) session
.getAttribute(Config.ACTIVEUSER_KEY);
Stringuseryyid = activeUser.getSysid();
//
从用户中获取单位id
String yycgdid =
cgdService.insertYycgd(useryyid,year,
yycgdQueryVo.getYycgdCustom());
ResultInforesultInfo = ResultUtil.createSuccess(Config.MESSAGE, 906,
null);
//
获取采购单id,将id通过ResultInfo中sysdata传到页面
resultInfo.getSysdata().put("yycgdid",yycgdid);
return ResultUtil.createSubmitResult(resultInfo);
}
修改采购单基本信息保存页面,在添加回调方法中转向采购单修改页面:
相关文章推荐
- Ubuntu下开启mysql的bin_log日志
- listView滚动动画遇到的问题
- no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
- JAVA导出Excel
- Android获取资源文件的几种方法
- 在RDO自动安装的OpenStack Liberty单机中搭建能够内外网互访的网络(一)-网络规划
- 递归算法的学习
- php计算年龄精准到年月日
- iOS开发之 WebView点击图片看大图效果
- 特征提取
- Java dbf文件写入远程服务器
- SpringMVC学习系列(2) 之 经典的HelloWorld实现
- Java开发中的23种设计模式详解(转)
- Win10下Wifi不能自动连接的问题
- js后退一步
- drawImage()不显示图片
- 牛腩之控件
- [ubuntu]yocto的安装配置与开发
- 贝塞尔曲线
- Hbase shell详情