医药采购之采购单修改

1      采购单修改

 

1.1     需求

采购单基本信息创建成功,进行采购明细信息创建,明细信息创建页面就是采购单修改页面。

在采购单修改页面,点击“保存”修改采购单信息。

1.2     采购单修改

1.2.1     Dao:

根据采购单id查询采购单信息。

将采购单信息保存到采购单基本信息表。

使用逆向工程生成的mapper

1.2.2     Service

 

接口功能:根据采购单id获取采购单信息

接口参数:采购单id

 

问题:

根据采购单id无法得到年份,需要向service传入年份(不合理)。

采用方案:

让采购单id中包括年份,让采购单id主键值等于采购单编号。

// 通过id 查询采购单信息

   @Override

   public YycgdCustomfindYycgdById(String cgdid) throws Exception {

 

      Stringyear = cgdid.substring(0, 4);

      YycgdExampleyycgdExample = newYycgdExample();

      YycgdExample.Criteriacriteria = yycgdExample.createCriteria();

      criteria.andIdEqualTo(cgdid);

      // 通过 yycgdExample传入年份

      yycgdExample.setBusinessyear(year);

      List<Yycgd>list = yycgdMapper.selectByExample(yycgdExample);

      Yycgdyycgd = null;

      YycgdCustomyycgdCustom = newYycgdCustom();

      if (list != null && list.size()== 1) {

         yycgd= list.get(0);

         // yycgd属性值拷贝到yycgdCustom

         BeanUtils.copyProperties(yycgd,yycgdCustom);

      }else{

         // 抛出异常

         // 系统中找到该采购单。。。

         ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 501,

                null));

      }

      Stringzt = yycgd.getZt();

      // 根据状态代码查询状态对应的名称

      Stringyycgdztmc = systemConfigService

            .findDictinfoByDictcode("010", zt).getInfo();

      yycgdCustom.setYycgdztmc(yycgdztmc);

 

      return yycgdCustom;

   }

 

 

 

接口功能:修改采购单基本信息

接口参数:采购单id、采购单修改

 

// 修改采购单信息

   @Override

   public void updateYycgd(String id,YycgdCustom yycgdCustom)

         throws Exception {

 

      Stringyear = id.substring(0, 4);

      // 获取信息

      YycgdCustomyycgdCustom_old = this.findYycgdById(id);

      yycgdCustom_old.setLxr(yycgdCustom.getLxr());

      yycgdCustom_old.setLxdh(yycgdCustom.getLxdh());

      yycgdCustom_old.setMc(yycgdCustom.getMc());

      yycgdCustom_old.setBusinessyear(year);

      yycgdCustom_old.setBz(yycgdCustom.getBz());

 

      // 更新无论为不为空都更新

      yycgdMapper.updateByPrimaryKey(yycgdCustom_old);

 

   }

 

1.2.3     Action

 

采购单修改页面方法:

   // 采购单修改页面方法

   @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";

   }

// 采购单修改提交方法

   @RequestMapping("/editcgdsubmit")

   public @ResponseBody

   SubmitResultInfoeditcgdsubmit(String id, YycgdQueryVo yycgdQueryVo)

         throws Exception {

 

      cgdService.updateYycgd(id,yycgdQueryVo.getYycgdCustom());

 

      return ResultUtil.createSubmitResult(ResultUtil.createSuccess(

            Config.MESSAGE, 906, null));

   }

 

1.2.4     页面

 

采购单保存js方法:

//采购单保存

function yycgdsave(){

   //form被多个功能公用,每次操作设置formurl

   $("#yycgdsaveForm").attr("action","${baseurl}cgd/editcgdsubmit.action");

   jquerySubByFId('yycgdsaveForm', yycgdsave_callback, null);

}

 

function yycgdsave_callback(data) {

   var result = getCallbackData(data);

   _alert(result);

}

//采购单提交

function yycgdsubmit(){

   _confirm('提交后采购单将不允许修改,是否继续?',null,

           function(){

      $("#yycgdsaveForm").attr("action","${baseurl}cgd/submitYycgd.action");

      jquerySubByFId('yycgdsaveForm', yycgdsubmit_callback, null);

    }

   );

}

//采购单提交回调

function yycgdsubmit_callback(data) {

   var result = getCallbackData(data);

   _alert(result);

   //提交成功再刷新本页面,提交按钮就不显示

   if(result.type==TYPE_RESULT_SUCCESS){

      //重新再次跳转到修改页面,页面上的提交按钮、添加、删除的控制就不显示了。

      window.location="${baseurl}cgd/editcgd.action?id=${yycgd.id}";

   }

}

1.2.5     修改页面布局

 

确定页面布局:

  包括两部分:

1、  采购单基本信息部分

表单

提交 按钮(js事件 yycgdsubmit)

保存按钮(js事件yycgdsave )


你可能感兴趣的:(医药采购之采购单修改)