<input id="wuFeiComSaveBut" name="wuFeiComSaveBut" type="button" class="Button" value=" 無費結算 " οnclick="wuFeiComSave()" />
----------------------------------------------------------------JS
//無費結算
function wuFeiComSave(){
E_ShowLoding();
ajaxWebRequest(baseUrl + "/patiinfo/wuFeiComSave.do?hospid="+$get("hospid").value,null,function(result){
var ret_flag = result.ret_map.R_RTN;//返回值標示
var ret_txt = result.ret_map.R_ERRTXT;//返回值
if(ret_flag == '1'){
alert(ret_txt);
E_HideLoding();
}
else if(ret_flag == '0'){
//無費出院成功後的處理
alert('無費出院結算成功!');
document.URL = "OutHospPage.do";
E_HideLoding();
}
},function(result){
alert(result);
E_HideLoding();
});
}
---------------------------------------------------------------------JAVA controller
//無費結算
public ModelAndView wuFeiComSave(HttpServletRequest request,HttpServletResponse response){
ModelAndView modelAndView = new ModelAndView("jsonView");
try {
String hospid = request.getParameter("hospid");
String forgid = GetCookie.getForgId(request);
String frcode = GetCookie.getFrCode(request);
HashMap hashMap = new HashMap();
hashMap.put("P_HOSPID", hospid);
hashMap.put("P_FORGID", forgid);
Map ret_map = patiinfo.wuFeiComSave(hashMap);
modelAndView.addObject("ret_map", ret_map);
} catch (Exception e) {
modelAndView = null;
e.printStackTrace();
AjaxException.MyException(response, e);
}
return modelAndView;
}
---------------------------------------------------------------------JAVA BO
public Map wuFeiComSave(HashMap hashMap) {
return patiinfoDAO.wuFeiComSave(hashMap);
}
---------------------------------------------------------------------JAVA DAO
//無費結算
public Map wuFeiComSave(HashMap hashMap)
{
getSqlMapClientTemplate().queryForObject("HIS_PATINFO.wuFeiComSave",hashMap);
return hashMap;
}
---------------------------------------------------------------------JAVA IBATIS
<!-- 無費結算 -->
<parameterMap id="wuFeiComSaveParam" class="java.util.Map">
<parameter property="P_HOSPID" jdbcType="NUMBER" javaType="STRING" mode="IN"/>
<parameter property="P_FORGID" jdbcType="NUMBER" javaType="STRING" mode="IN"/>
<parameter property="R_RTN" jdbcType="VARCHAR" javaType="STRING" mode="OUT"/>
<parameter property="R_ERRTXT" jdbcType="VARCHAR" javaType="STRING" mode="OUT"/>
</parameterMap>
<procedure id="wuFeiComSave" parameterMap="wuFeiComSaveParam">
{call PKG_BSHIS_ZY.P_OPER_WFCY(?,?,?,?)}
</procedure>
---------------------------------------------------------------------存儲過程
CREATE OR REPLACE PACKAGE BODY PKG_BSHIS_ZY IS
--===================================================================================================
/*功能:無費用情況下出院,數據檢驗
*/
PROCEDURE P_OPER_WFCY(P_HOSPID IN PATINFO.HOSPID%TYPE,
P_FORGID IN PATINFO.FORGID%TYPE,
R_RTN OUT NUMBER, --0成功 1失敗
R_ERRTXT OUT VARCHAR2) AS
V_SUMPRICE NUMBER;
BEGIN
-- 無費校驗
SELECT SUM(T.PRICE)
INTO V_SUMPRICE
FROM HOSP_DETAIL_PRICE T
WHERE T.HOSPID = P_HOSPID
AND T.FORGID = P_FORGID
AND T.ISPRICE = 1
AND t.isconfirm = 1;
IF V_SUMPRICE <> 0 THEN
R_RTN := 1;
R_ERRTXT := '此患者存在費用,不能進行無費出院!';
RETURN;
END IF;
-- 無費處理
UPDATE PATINFO T
SET T.CURSTATE = 99
WHERE T.HOSPID = P_HOSPID
AND T.FORGID = P_FORGID;
IF SQL%ROWCOUNT <> 1 THEN
R_RTN := 1;
R_ERRTXT := '無費出院失敗,更新數據不唯一!';
RETURN;
END IF;
R_RTN := 0;--返回成功!
END P_OPER_WFCY;
END PKG_BSHIS_ZY;