171127之保存功能实现
来源:互联网 发布:mac自带系统监控工具 编辑:程序博客网 时间:2024/06/04 19:25
第一步:JSP的前端代码
<powersi:button id="save" value="保存" key="button_save" onclick="item_save()" /><powersi:button id="allSave" value="全部保存" key="button_save" onclick="all_save()" />
调用item_save()和all_save()方法。
function item_save(){ var json = []; var rows = dg_MzSelect_info.getSelectedRows(); if(powersi.length(rows) == 0){ alert("请选择需要提交的数据!"); return false; } for(var i in rows){ if(rows[i].bkc252n=="验证不通过"){ alert("验证不通过,无法保存到目录库,请选择验证通过的信息保存!"); return false; } if(rows[i].bkc252n=="未验证"){ alert("未验证,无法保存到目录库,请选择验证通过的信息保存!"); return false; } if(rows[i].bkc040n=="已导入"){ alert("已导入的信息无须再保存,请选择未导入的信息!"); return false; } json.push({"aac002":rows[i].aac002,"akb020":rows[i].akb020,"akb021":rows[i].akb021, "kcp6id":rows[i].kcp6id,"bkc040":rows[i].bkc040,"bkc133":rows[i].bkc133}) } var paramsObj = {'infoItems':powersi.tostring(json)}; postJSON("${rootPath}/medicare/MzSelectHospAction!saveMzSelectHospImportInfo.action", paramsObj,showMenuInfoSave_item); }
第二步:调用Action层MzSelectHospAction的saveMzSelectHospImportInfo()方法。
/** * 将通过验证的门诊选定医院信息保存到申请表中 */ @SuppressWarnings("unchecked") public String saveMzSelectHospImportInfo() { try { String param = getRequest().getParameter("infoItems"); if(StringUtils.isNotEmpty(param)){ List<MzSelectHospDTO> paramList = new ArrayList<MzSelectHospDTO>(); paramList = (List<MzSelectHospDTO>) JSONArray.toCollection(JSONArray.fromObject(param), MzSelectHospDTO.class); ser.saveMzSelectHospImportInfo(paramList); this.saveJSONMessage("保存成功!"); } else { this.saveJSONMessage("没有需要保存的信息!"); } } catch (Exception e) { saveJSONError("保存出错!"+e.getMessage()); } return NONE; }
重点注入Service层:private MzSelectHospService ser = getBean(MzSelectHospService.class);
第三步: 通过ser.saveMzSelectHospImportInfo(paramList);连接到Service层的方法。
/** * 将通过验证的门诊选定医院信息保存到申请表中 */ @SuppressWarnings("unchecked") public void saveMzSelectHospImportInfo(List<MzSelectHospDTO> paramList) { if (UtilFunc.isNotEmpty(paramList)) { List<MzSelectHospDTO> passList = new ArrayList<MzSelectHospDTO>(); List<MzSelectHospDTO> noPassList = new ArrayList<MzSelectHospDTO>(); String checkPersonHospMsg = ""; // checkPersonHosp方法校验有效性的返回值 for (MzSelectHospDTO dto : paramList) { try { String aae030=""; String aae031=""; if(!dto.getAae030().isEmpty()){ aae030=dto.getAae030().substring(0,4)+"0101"; aae031=dto.getAae030().substring(0,4)+"1231"; } if (UtilFunc.isEmpty(dto.getAac002())) { throw new HygeiaException("社会保障号为空!"); } else if (dto.getAac002().length() != 15 && dto.getAac002().length() != 18) { throw new HygeiaException("社会保障号长度不正确!"); } if (StringUtils.isEmpty(dto.getAkb020())) { throw new HygeiaException("定点医疗机构编号不能为空!"); } List<Map<String, String>> akb021s = dao.getHospitalName(dto); if (akb021s.size() > 0) { String akb021 = akb021s.get(0).get("aab069"); dto.setAkb021(akb021); } else { throw new HygeiaException("定点医疗机构不存在!"); } // 模拟页面查询人员控件获取人员信息 ChoosePersonDAO cspDao = BeanHelper.getBean(ChoosePersonDAO.class); ChoosePersonDTO choosePerson = BeanHelper.getBean(ChoosePersonDTO.class); choosePerson.setQueryString(dto.getAac002()); choosePerson.setEmpower("1"); List personList = cspDao.getPersonInfo(choosePerson); if (personList.size() > 0) { Map retMsg = (Map) personList.get(0); com.powersi.biz.util.BeanHelper.copyProperties(retMsg, dto, true); } else { throw new HygeiaException("无此人信息!"); } dto.setAae140("310"); final List personInsurInfo = getPersonInsurInfo(dto.getAac001(), "310"); if (personInsurInfo.size() > 0) { Map retInfo = (Map) personInsurInfo.get(0); com.powersi.biz.util.BeanHelper.copyProperties(retInfo, dto, true); } else { throw new HygeiaException("无此人基金信息!"); } // 医疗机构检验 dto.setAaz267("0"); dto.setNew_akb020(dto.getAkb020()); checkPersonHospMsg = checkPersonHosp(dto); if (checkPersonHospMsg.length() > 0) { throw new HygeiaException(checkPersonHospMsg); } if(!aae030.isEmpty()){ dto.setAae030(aae030); dto.setAae031(aae031); } passList.add(dto); // 验证没问题 } catch (HygeiaException e) { // 跳过错误继续执行下一次循环。对于前面执行有错误的,可以考虑更新错误信息,但不保存 noPassList.add(dto);// 之后更新noPassList中的记录,暂未写 continue; } finally { } } if (UtilFunc.isEmpty(passList)) { throw new HygeiaException("没有可保存的有效数据!"); } dao.importMzSelectHosp(passList); String bkc133 = paramList.get(0).getBkc133(); menuCataDao.updateImport(bkc133);// 更新导入事件的导入信息KAD6表,如果出现异常,是否加上部分导入? dao.updateImportMzSelectInfo(passList);// 更新KCP6 bkc040 = '1' } else { throw new HygeiaException("没有可保存的有效数据!"); } }
第四步:通过dto的set get方法连接dto层,设置参数
private MzSelectHospDao dao = BeanHelper.getBean(MzSelectHospDao.class);
//批量导入门诊选点医院申请 public int importMzSelectHosp(List<MzSelectHospDTO> paramList){ String aae011 = UserBizInfo.getLoginUser(); String bae100 = UserBizInfo.getUserName(); List<KCP1> kcp1s = new ArrayList<KCP1>(); String aaa027 = UserBizInfo.getAAA027(); for (MzSelectHospDTO mDTO : paramList) { KCP1 kcp1 = setKcp1Fields(mDTO);//设置KCP1各字段的值 kcp1.setAae140("310");//固定值 kcp1.setBka006("110");//固定值 kcp1.setAka083("110"); kcp1.setAae013("批量导入"); kcp1.setAaa027(aaa027); kcp1.setAae011(aae011);//经办人工号 kcp1.setBae100(bae100);//经办人 kcp1s.add(kcp1); } if(UtilFunc.isEmpty(kcp1s)){ throw new HygeiaException("没有可导入的数据!"); } int num = DAOHelper.insert("KCP1", kcp1s); String aaa121= "3101701"; saveAe02(aaa121,"0","","0",String.valueOf(kcp1s.get(0).getAaz267()),"门诊选定医院申请"); return num; }/** * 更新门诊选定医院导入验证信息 */ public void updateImportMzSelectInfo(List<MzSelectHospDTO> dtoList) { StringBuffer lSQL = new StringBuffer(); lSQL.append(" update kcp6 set bkc040 = '1' "); lSQL.append(" where kcp6id = :kcp6id "); DBHelper.batchUpdate(lSQL.toString(), dtoList); }
阅读全文
0 0
- 171127之保存功能实现
- ajax实现保存功能
- 【IOS功能实现】之 四种保存数据的方式
- MFC实现截图保存功能
- PB_保存功能的实现
- 截图保存功能的实现
- Android网络:开发浏览器(五)——功能完善之保存图片实现
- 【玩转cocos2d-x之二十四】截图保存功能的实现
- android小功能实现之简单数据持久化保存(SharedPreferences)
- 【玩转cocos2d-x之二十四】截图保存功能的实现
- C#实现抓图功能,保存图片
- webkitgtk密码保存功能简单实现
- Silverlight/WPF 截图保存功能的实现
- PHP实现图片下载功能,浏览器直接保存
- webkitgtk密码保存功能简单实现
- webkitgtk密码保存功能简单实现
- 登陆页面实现保存帐号密码功能
- js+cookies实现自动保存草稿功能
- 动态调用二维数组
- Android APK反编译就这么简单 详解
- Eclipse配置和使用Maven
- node.js 安装与基本使用
- beego特点
- 171127之保存功能实现
- 求二叉树两结点最近的共同祖先结点
- 排序算法之选择排序
- Hbase_HA配置
- 加紧我的前端小白进程
- 简单的计算器程序
- Collection与Collections的区别
- 7.4
- 形态学图像处理