|
@@ -315,11 +315,11 @@ public class FactorEnchangeFactory {
|
|
|
BigDecimal bigDecimalMedicalPrice = (BigDecimal) medicalPrice;
|
|
BigDecimal bigDecimalMedicalPrice = (BigDecimal) medicalPrice;
|
|
|
if(bigDecimalMedicalPrice.doubleValue()>0) {
|
|
if(bigDecimalMedicalPrice.doubleValue()>0) {
|
|
|
Double hisAmount = afterwardsAuditDetail.getAmount();
|
|
Double hisAmount = afterwardsAuditDetail.getAmount();
|
|
|
- Double doubleSubAmount = bigDecimalMedicalPrice.doubleValue() * afterwardsAuditDetail.getQuantity() - hisAmount;
|
|
|
|
|
- if (doubleSubAmount > 0) {
|
|
|
|
|
- afterwardsAuditDetail.setErrorRelativelyManyAmt(new BigDecimal(doubleSubAmount));
|
|
|
|
|
- } else if (doubleSubAmount < 0) {
|
|
|
|
|
- afterwardsAuditDetail.setErrorRelativelyFewAmt(new BigDecimal(doubleSubAmount));
|
|
|
|
|
|
|
+ BigDecimal doubleSubAmount= bigDecimalMedicalPrice.multiply(new BigDecimal(afterwardsAuditDetail.getQuantity())).subtract(new BigDecimal(hisAmount));
|
|
|
|
|
+ if (doubleSubAmount.doubleValue() > 0) {
|
|
|
|
|
+ afterwardsAuditDetail.setErrorRelativelyManyAmt(doubleSubAmount.setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
+ } else if (doubleSubAmount.doubleValue() < 0) {
|
|
|
|
|
+ afterwardsAuditDetail.setErrorRelativelyFewAmt(doubleSubAmount.setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
}
|
|
|
log.info("医保规则库单价:{} his金额:{} 结果金额:{}", medicalPrice, hisAmount, doubleSubAmount);
|
|
log.info("医保规则库单价:{} his金额:{} 结果金额:{}", medicalPrice, hisAmount, doubleSubAmount);
|
|
|
}
|
|
}
|
|
@@ -434,16 +434,30 @@ public class FactorEnchangeFactory {
|
|
|
boolean priceFlag = Arrays.stream(selectedRolesArr).anyMatch(attr -> attr.equals(SystemEventAttrConstant.PRICE));
|
|
boolean priceFlag = Arrays.stream(selectedRolesArr).anyMatch(attr -> attr.equals(SystemEventAttrConstant.PRICE));
|
|
|
Object medicalPrice = itemMap.get(SystemEventAttrConstant.MEDICAL_INS_PRICE);
|
|
Object medicalPrice = itemMap.get(SystemEventAttrConstant.MEDICAL_INS_PRICE);
|
|
|
log.info("事中工单id:{} 医保规则库单价:{} ", midIncidentAudit.getId(), medicalPrice);
|
|
log.info("事中工单id:{} 医保规则库单价:{} ", midIncidentAudit.getId(), medicalPrice);
|
|
|
|
|
+// if(null != medicalPrice && priceFlag){
|
|
|
|
|
+// log.info("medicalPrice type:{}", medicalPrice.getClass());
|
|
|
|
|
+// BigDecimal bigDecimalMedicalPrice = (BigDecimal) medicalPrice;
|
|
|
|
|
+// if(bigDecimalMedicalPrice.doubleValue()>0) {
|
|
|
|
|
+// Double hisAmount = midIncidentAuditDetail.getAmount();
|
|
|
|
|
+// Double doubleSubAmount = bigDecimalMedicalPrice.doubleValue() * midIncidentAuditDetail.getMedicalNumber().intValue() - hisAmount;
|
|
|
|
|
+// if (doubleSubAmount > 0) {
|
|
|
|
|
+// midIncidentAuditDetail.setErrorRelativelyManyAmt(new BigDecimal(doubleSubAmount));
|
|
|
|
|
+// } else if (doubleSubAmount < 0) {
|
|
|
|
|
+// midIncidentAuditDetail.setErrorRelativelyFewAmt(new BigDecimal(doubleSubAmount));
|
|
|
|
|
+// }
|
|
|
|
|
+// log.info("医保规则库单价:{} his金额:{} 结果金额:{}", medicalPrice, hisAmount, doubleSubAmount);
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
if(null != medicalPrice && priceFlag){
|
|
if(null != medicalPrice && priceFlag){
|
|
|
log.info("medicalPrice type:{}", medicalPrice.getClass());
|
|
log.info("medicalPrice type:{}", medicalPrice.getClass());
|
|
|
BigDecimal bigDecimalMedicalPrice = (BigDecimal) medicalPrice;
|
|
BigDecimal bigDecimalMedicalPrice = (BigDecimal) medicalPrice;
|
|
|
if(bigDecimalMedicalPrice.doubleValue()>0) {
|
|
if(bigDecimalMedicalPrice.doubleValue()>0) {
|
|
|
Double hisAmount = midIncidentAuditDetail.getAmount();
|
|
Double hisAmount = midIncidentAuditDetail.getAmount();
|
|
|
- Double doubleSubAmount = bigDecimalMedicalPrice.doubleValue() * midIncidentAuditDetail.getMedicalNumber() - hisAmount;
|
|
|
|
|
- if (doubleSubAmount > 0) {
|
|
|
|
|
- midIncidentAuditDetail.setErrorRelativelyManyAmt(new BigDecimal(doubleSubAmount));
|
|
|
|
|
- } else if (doubleSubAmount < 0) {
|
|
|
|
|
- midIncidentAuditDetail.setErrorRelativelyFewAmt(new BigDecimal(doubleSubAmount));
|
|
|
|
|
|
|
+ BigDecimal doubleSubAmount= bigDecimalMedicalPrice.multiply(new BigDecimal(midIncidentAuditDetail.getMedicalNumber()).subtract(new BigDecimal(hisAmount)));
|
|
|
|
|
+ if (doubleSubAmount.doubleValue() > 0) {
|
|
|
|
|
+ midIncidentAuditDetail.setErrorRelativelyManyAmt(doubleSubAmount.setScale(2,BigDecimal.ROUND_HALF_UP).abs());
|
|
|
|
|
+ } else if (doubleSubAmount.doubleValue() < 0) {
|
|
|
|
|
+ midIncidentAuditDetail.setErrorRelativelyFewAmt(doubleSubAmount.setScale(2,BigDecimal.ROUND_HALF_UP).abs());
|
|
|
}
|
|
}
|
|
|
log.info("医保规则库单价:{} his金额:{} 结果金额:{}", medicalPrice, hisAmount, doubleSubAmount);
|
|
log.info("医保规则库单价:{} his金额:{} 结果金额:{}", medicalPrice, hisAmount, doubleSubAmount);
|
|
|
}
|
|
}
|