采购药品明细删除

实现思路:采用批量提交方式,页面上将药品信息id、组成yycgdmx对象,最终提交至action的List<yycgdmx> yycgdmxs对象中,方式同上边的采购药品添加提交。

1.1     需求

在提交采购单之间,医院如果不对某药品进行采购需要从采购单中删除此药品。

 

约束条件:

 

此药品必须在采购单明细中存在方可删除。

 

数据库操作:

删除采购单明细表(Yycgdmx)记录

删除需要的数据:

采购单id、药品信息id

 

1.1.1     dao

 

根据采购单id和药品id从采购单明细表删除记录。

 

1.1.2     service

 

接口功能:删除采购药品明细

接口参数:采购单id、药品id

接口实现:

校验:此药品必须在采购单明细中存在方可删除

操作:调用 mapper删除采购单明细记录。

// 采购单药品添加校验

   // 通过采购单id 和药品信息id查询采购单明细表中是否存在

   public Yycgdmx findYycgdmxByYycgdIdAndYpxxId(Stringyycgdid, String ypxxid)

         throws Exception {

 

      Stringyear = yycgdid.substring(0, 4);

      YycgdmxExampleyycgdmxExample = newYycgdmxExample();

      YycgdmxExample.Criteriacriteria = yycgdmxExample.createCriteria();

      criteria.andYycgdidEqualTo(yycgdid);

      criteria.andYpxxidEqualTo(ypxxid);

      yycgdmxExample.setBusinessyear(year);

      List<Yycgdmx>yycgdmx = yycgdmxMapper.selectByExample(yycgdmxExample);

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

         return yycgdmx.get(0);

      }

      return null;

   }

// 删除医药采购单明细中的药品

   @Override

   public void deleteYycgdmx(Stringyycgdid, String ypxxid) throws Exception {

      // 校验采购单信息是否存在

      System.out.println(yycgdid + "yang" + ypxxid);

      Stringbusinessyear = yycgdid.substring(0, 4);

      Yycgdmxyycgdmx = this.findYycgdmxByYycgdIdAndYpxxId(yycgdid,ypxxid);

      // yycgdmx.setBusinessyear(businessyear);

 

      if (yycgdmx == null) {

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

                null));

      }// 执行删除操作

      else {

         /*

          * String id=yycgdmx.getId();System.out.println(id+"yang");

          * 为什么不能用id 删除?

          */

         YycgdmxExampleyycgdmxExample = newYycgdmxExample();

         YycgdmxExample.Criteriacriteria = yycgdmxExample.createCriteria();

         criteria.andYycgdidEqualTo(yycgdid);

         criteria.andYpxxidEqualTo(ypxxid);

         yycgdmxExample.setBusinessyear(businessyear);

         yycgdmxMapper.deleteByExample(yycgdmxExample);

      }

 

   }

1.1.3     action

批量提交参数:

采购单id:单个参数(在form中定义hidden)

药品id:多个参数(在datagrid中定义hidden)

// 删除医药采购单明细中的药品

   @RequestMapping("/yycgdmxdelsubmit")

   public @ResponseBody

   SubmitResultInfoyycgdmxdelsubmit(String id,// 采购单id

         int[] indexs, YycgdQueryVoyycgdQueryVo) throwsException {

 

      List<YycgdmxCustom>list =yycgdQueryVo.getYycgdmxCustoms();

      // 记录错误信息

      List<ResultInfo>message_error = newArrayList<ResultInfo>();

      int count = indexs.length;

      ResultInforesultInfo = null;

      int success_count = 0;

      int count_error = 0;

      for (int i = 0; i < count;i++) {

         YycgdmxCustomyycgdmxCustom = list.get(indexs[i]);

         try {

            cgdService.deleteYycgdmx(id,yycgdmxCustom.getYpxxid());

         }catch(Exception e) {

            if (e instanceofExceptionResultInfo) {

                resultInfo= ((ExceptionResultInfo) e).getResultInfo();

            }else{

                // 构造未知错误

                resultInfo= ResultUtil.createFail(Config.MESSAGE, 900,

                      null);

            }

         }

         if (resultInfo == null) {

            // 执行成功

            success_count++;

         }else{

            count_error++;

            // 记录失败原因

            message_error.add(resultInfo);

         }

      }

      return ResultUtil.createSubmitResult(

            ResultUtil.createSuccess(Config.MESSAGE, 907, new Object[] {

                   success_count,count_error }), message_error);

   }

 

1.1.4     页面

需要修改:editcgd.jsp页面(要注意input 中的对象名)

//采购药品删除

function yycgdmxdelete(){

   _confirm('您确定要删除选择的采购药品吗?',null,

           function(){

                  

            var indexs = [];//选择记录的序号

            var rows = $('#yycgdmxlist').datagrid('getSelections');

            for(var i=0;i<rows.length;i++){

                var index=$('#yycgdmxlist').datagrid('getRowIndex',rows[i]);

                indexs.push(index);

            }

            if(rows.length>0){

                $("#indexs").val(indexs.join(','));

                //由于删除和保存对同一个form进行操作,所以这里给yycgdmxFormaction重新赋值

               $("#yycgdmxForm").attr("action",'${baseurl}cgd/yycgdmxdelsubmit.action');

                jquerySubByFId('yycgdmxForm',yycgdmxdelete_callback, null);

            }else{

                alert_warn("请选择要删除的采购药品");

            }

           }

         )

}

function yycgdmxdelete_callback(data) {

   var result = getCallbackData(data);

   _alert(result);

   yycgdmxquery();

}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值