您的位置:首页 > 其它

医药采购之创建采购单基本信息

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
class
CgdServiceImpl 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)
throws
Exception {
 
      // 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)
throws
Exception {
      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)
throws
Exception {
      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);
   }
 

 

修改采购单基本信息保存页面,在添加回调方法中转向采购单修改页面:

 


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: