|
@ -839,13 +839,13 @@ public class MedOrderService {
|
|
String APPLY_TIME="";//开单时间
|
|
String APPLY_TIME="";//开单时间
|
|
Date visitDate = null;
|
|
Date visitDate = null;
|
|
String USER_NAME = "";
|
|
String USER_NAME = "";
|
|
Double totalAmount = 0.0;//医疗费总金额
|
|
|
|
Double ownPay = 0.0;
|
|
|
|
|
|
BigDecimal totalAmount = new BigDecimal(0.00);
|
|
|
|
BigDecimal ownPay = new BigDecimal(0.00);
|
|
DecimalFormat amountDf = new DecimalFormat("0.00");
|
|
DecimalFormat amountDf = new DecimalFormat("0.00");
|
|
String RATE_TYPE = "";//续方费用类别 1自费 2医保
|
|
String RATE_TYPE = "";//续方费用类别 1自费 2医保
|
|
String SUM_COST =amountDf.format(Double.valueOf(waitForPay.getString("SUM_COST")));//医保支付下,sumCost=0 当作自费号处理
|
|
String SUM_COST =amountDf.format(Double.valueOf(waitForPay.getString("SUM_COST")));//医保支付下,sumCost=0 当作自费号处理
|
|
String SUM_CHARGE =amountDf.format(Double.valueOf(waitForPay.getString("SUM_COST")));//待结算自付总费用
|
|
String SUM_CHARGE =amountDf.format(Double.valueOf(waitForPay.getString("SUM_COST")));//待结算自付总费用
|
|
Double INSUR_ITEM_PRICE = 0.0;//医保单价
|
|
|
|
|
|
BigDecimal INSUR_ITEM_PRICE = new BigDecimal(0);
|
|
String visit_msgid = ""; //发送方报文ID【用于基线门诊挂号接口,自助机fsi.terminal.register接口】
|
|
String visit_msgid = ""; //发送方报文ID【用于基线门诊挂号接口,自助机fsi.terminal.register接口】
|
|
String visit_rush_msgid = ""; //发送方报文ID【用于基线门诊挂号撤销接口,自助机fsi.terminal.register.cancel接口】
|
|
String visit_rush_msgid = ""; //发送方报文ID【用于基线门诊挂号撤销接口,自助机fsi.terminal.register.cancel接口】
|
|
String VISIT_NO = ""; //门诊号【对应基线接口:ipt_otp_no】
|
|
String VISIT_NO = ""; //门诊号【对应基线接口:ipt_otp_no】
|
|
@ -916,10 +916,10 @@ public class MedOrderService {
|
|
ylzMedicalMxDO.setAmount(SETTLE_DETAIL_OBJ.getString("ITEM_QUANTITY"));//数量
|
|
ylzMedicalMxDO.setAmount(SETTLE_DETAIL_OBJ.getString("ITEM_QUANTITY"));//数量
|
|
|
|
|
|
ylzMedicalMxDO.setTotalMoney(amountDf.format(Double.valueOf(SETTLE_DETAIL_OBJ.getString("COST"))));//金额
|
|
ylzMedicalMxDO.setTotalMoney(amountDf.format(Double.valueOf(SETTLE_DETAIL_OBJ.getString("COST"))));//金额
|
|
totalAmount +=Double.valueOf(SETTLE_DETAIL_OBJ.getString("COST"));
|
|
|
|
ownPay +=Double.valueOf(SETTLE_DETAIL_OBJ.getString("CHARGE"));
|
|
|
|
|
|
totalAmount = totalAmount.add(new BigDecimal(SETTLE_DETAIL_OBJ.getString("COST")));
|
|
|
|
ownPay = ownPay.add(new BigDecimal(SETTLE_DETAIL_OBJ.getString("CHARGE")));
|
|
if (null!=SETTLE_DETAIL_OBJ.get("INSUR_ITEM_PRICE")){
|
|
if (null!=SETTLE_DETAIL_OBJ.get("INSUR_ITEM_PRICE")){
|
|
INSUR_ITEM_PRICE += Double.valueOf(SETTLE_DETAIL_OBJ.getString("INSUR_ITEM_PRICE"));//医保项目单价
|
|
|
|
|
|
INSUR_ITEM_PRICE = INSUR_ITEM_PRICE.add(new BigDecimal(SETTLE_DETAIL_OBJ.getString("INSUR_ITEM_PRICE")));
|
|
}
|
|
}
|
|
ylzMedicalMxDO.setSingleDose(SETTLE_DETAIL_OBJ.getString("PHYSIC_DOSE"));//每次用量
|
|
ylzMedicalMxDO.setSingleDose(SETTLE_DETAIL_OBJ.getString("PHYSIC_DOSE"));//每次用量
|
|
ylzMedicalMxDO.setUseFrequency(SETTLE_DETAIL_OBJ.getString("FREQUENCY"));//使用频率
|
|
ylzMedicalMxDO.setUseFrequency(SETTLE_DETAIL_OBJ.getString("FREQUENCY"));//使用频率
|
|
@ -1004,9 +1004,6 @@ public class MedOrderService {
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
if(!amountDf.format(totalAmount).equals(SUM_COST)||!amountDf.format(ownPay).equals(SUM_CHARGE)){
|
|
|
|
throw new Exception("金额不对无法结算");
|
|
|
|
}
|
|
|
|
if (newYlzRelation){
|
|
if (newYlzRelation){
|
|
ylzMedicalRelationDO.setLogNo(prescription_code);
|
|
ylzMedicalRelationDO.setLogNo(prescription_code);
|
|
ylzMedicalRelationDO.setOrgCode(orgCode);
|
|
ylzMedicalRelationDO.setOrgCode(orgCode);
|
|
@ -1074,6 +1071,15 @@ public class MedOrderService {
|
|
//费用为0的医保结算也需要当作自费处理
|
|
//费用为0的医保结算也需要当作自费处理
|
|
ylzMedicalRelationDO.setMedicalState(0);
|
|
ylzMedicalRelationDO.setMedicalState(0);
|
|
}
|
|
}
|
|
|
|
BigDecimal b1 = new BigDecimal(ylzMedicalRelationDO.getPersonCash());//个人现金支付金额
|
|
|
|
BigDecimal b2 = new BigDecimal(ylzMedicalRelationDO.getPersonAccount());//个人账户支付金额
|
|
|
|
BigDecimal b3 = new BigDecimal(ylzMedicalRelationDO.getMedicalPrice());//医保基金总额
|
|
|
|
Double totalPirce=b1.add(b2).add(b3).doubleValue();
|
|
|
|
logger.info("总费用:"+totalPirce);
|
|
|
|
if (totalPirce!=Double.parseDouble(ylzMedicalRelationDO.getTotalAmount())){
|
|
|
|
throw new Exception("金额不对无法结算");
|
|
|
|
}
|
|
|
|
|
|
ylzMedicailRelationDao.save(ylzMedicalRelationDO);
|
|
ylzMedicailRelationDao.save(ylzMedicalRelationDO);
|
|
ylzMedicalRelationDO.setYlzMedicalIcdDOList(icdDOList);
|
|
ylzMedicalRelationDO.setYlzMedicalIcdDOList(icdDOList);
|
|
ylzMedicalRelationDO.setYlzMedicalMxDOList(mxDOList);
|
|
ylzMedicalRelationDO.setYlzMedicalMxDOList(mxDOList);
|