|
@@ -204,7 +204,13 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
if (returnMzChargeDetail.getPriceTime() == null) {
|
|
|
returnMzChargeDetail.setPriceTime(md.getPriceTime());
|
|
|
}
|
|
|
- returnMzChargeDetail.setAmount(returnMzChargeDetail.getAmount().add((md.getUnitPrice() == null ? BigDecimal.ZERO : md.getUnitPrice()).multiply(BigDecimal.valueOf(md.getQuantity() == null ? 1D : md.getQuantity())).multiply(BigDecimal.valueOf(md.getDrugWin() == null ? 1D : md.getDrugWin()))));
|
|
|
+ BigDecimal unitPrice=md.getUnitPrice() == null ? BigDecimal.ZERO : md.getUnitPrice().setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ if(BigDecimal.ZERO.compareTo(unitPrice)==0){
|
|
|
+ unitPrice=BigDecimal.valueOf(0.01D);
|
|
|
+ md.setUnitPrice(unitPrice);
|
|
|
+ }
|
|
|
+
|
|
|
+ returnMzChargeDetail.setAmount(returnMzChargeDetail.getAmount().add(unitPrice.multiply(BigDecimal.valueOf(md.getQuantity() == null ? 1D : md.getQuantity())).multiply(BigDecimal.valueOf(md.getDrugWin() == null ? 1D : md.getDrugWin()))));
|
|
|
}
|
|
|
return returnMzChargeDetail;
|
|
|
}
|
|
@@ -567,7 +573,12 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
public List<MzChargeDetail> getMzChargeDetails(List<MzChargeDetail> mzChargeDetailList) {
|
|
|
if (mzChargeDetailList != null) {
|
|
|
for (MzChargeDetail md : mzChargeDetailList) {
|
|
|
- md.setAmount((md.getUnitPrice() == null ? BigDecimal.ZERO : md.getUnitPrice()).multiply(BigDecimal.valueOf(md.getQuantity() == null ? 1D : md.getQuantity())).multiply(BigDecimal.valueOf(md.getDrugWin() == null ? 1D : md.getDrugWin())).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ BigDecimal unitPrice=md.getUnitPrice() == null ? BigDecimal.ZERO : md.getUnitPrice().setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ if(BigDecimal.ZERO.compareTo(unitPrice)==0){
|
|
|
+ unitPrice=BigDecimal.valueOf(0.01D);
|
|
|
+ md.setUnitPrice(unitPrice);
|
|
|
+ }
|
|
|
+ md.setAmount(unitPrice.multiply(BigDecimal.valueOf(md.getQuantity() == null ? 1D : md.getQuantity())).multiply(BigDecimal.valueOf(md.getDrugWin() == null ? 1D : md.getDrugWin())).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
if (!Constants.YJ_GROUP_NO.equals(md.getGroupNo())) {
|
|
|
YpZdDict ypZdDict = ypZdDictService.queryYpZdDictByCode(md.getChargeItemCode(), md.getSerial());
|
|
|
if (ypZdDict != null) {
|
|
@@ -1656,7 +1667,12 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
if (Constants.TC.equals(billItemCode)) {
|
|
|
continue;
|
|
|
}
|
|
|
- BigDecimal tempFee = mzChargeDetail.getUnitPrice().multiply(BigDecimal.valueOf(mzChargeDetail.getQuantity()).multiply(BigDecimal.valueOf(mzChargeDetail.getDrugWin())));
|
|
|
+ BigDecimal unitPrice=mzChargeDetail.getUnitPrice() == null ? BigDecimal.ZERO : mzChargeDetail.getUnitPrice().setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ if(BigDecimal.ZERO.compareTo(unitPrice)==0){
|
|
|
+ unitPrice=BigDecimal.valueOf(0.01D);
|
|
|
+ mzChargeDetail.setUnitPrice(unitPrice);
|
|
|
+ }
|
|
|
+ BigDecimal tempFee = unitPrice.multiply(BigDecimal.valueOf(mzChargeDetail.getQuantity()).multiply(BigDecimal.valueOf(mzChargeDetail.getDrugWin())));
|
|
|
totalPayable = totalPayable.add(tempFee);
|
|
|
if (StringUtils.isBlank(billItemCode)) {
|
|
|
billItemCode = Constants.QTF;
|