|
@@ -239,26 +239,8 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
unitPrice = BigDecimal.valueOf(0.01D);
|
|
|
md.setUnitPrice(unitPrice);
|
|
|
}
|
|
|
-// //进行营销折扣计算并写入库 优先申请科室的折扣率 医生系统做完移走开始
|
|
|
-// Discount discount=null;
|
|
|
-// if(StringUtils.isNotBlank(md.getWarnDept())){
|
|
|
-// discount= discountService.getDiscountRate(YesNoEnum.NO.code,md.getWarnDept(),md.getChargeItemCode());
|
|
|
-// }
|
|
|
-// if(discount==null && StringUtils.isNotBlank(md.getExecDept())){
|
|
|
-// discount= discountService.getDiscountRate(YesNoEnum.NO.code,md.getExecDept(),md.getChargeItemCode());
|
|
|
-// }
|
|
|
-// if(discount!=null){
|
|
|
-// md.setOrigPrice(md.getUnitPrice());
|
|
|
-// if(YesNoEnum.YES.code.equals(discount.getDiscountType())){
|
|
|
-// unitPrice= discount.getDiscountRate().multiply(md.getUnitPrice()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
-// }else {
|
|
|
-// unitPrice=discount.getDiscountPrice();
|
|
|
-// }
|
|
|
-// 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()))));
|
|
|
- returnMzChargeDetail.setNotDiscountAmount(returnMzChargeDetail.getNotDiscountAmount().add(md.getOrigPrice().multiply(BigDecimal.valueOf(md.getQuantity() == null ? 1D : md.getQuantity())).multiply(BigDecimal.valueOf(md.getDrugWin() == null ? 1D : md.getDrugWin()))));
|
|
|
+ returnMzChargeDetail.setNotDiscountAmount(returnMzChargeDetail.getNotDiscountAmount().add((md.getOrigPrice()==null?BigDecimal.ZERO:md.getOrigPrice()).multiply(BigDecimal.valueOf(md.getQuantity() == null ? 1D : md.getQuantity())).multiply(BigDecimal.valueOf(md.getDrugWin() == null ? 1D : md.getDrugWin()))));
|
|
|
}
|
|
|
returnMzChargeDetail.setDiscountAmount(returnMzChargeDetail.getNotDiscountAmount().subtract(returnMzChargeDetail.getAmount()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
|
|
return returnMzChargeDetail;
|
|
@@ -996,23 +978,6 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
m.setChargeDate(now);
|
|
|
m.setPayMark(PayMarkEnum.CHARGED.code);
|
|
|
setChargeDetail(mzDrugWinMap, yffyNoMap, orderNoMap, m);
|
|
|
-// //已经入库的数据进行营销折扣计算并写入库 优先申请科室的折扣率 医生系统做完移走开始
|
|
|
-// Discount discount=null;
|
|
|
-// if(StringUtils.isNotBlank(m.getWarnDept())){
|
|
|
-// discount= discountService.getDiscountRate(YesNoEnum.NO.code,m.getWarnDept(),m.getChargeItemCode());
|
|
|
-// }
|
|
|
-// if(discount==null && StringUtils.isNotBlank(m.getExecDept())){
|
|
|
-// discount= discountService.getDiscountRate(YesNoEnum.NO.code,m.getExecDept(),m.getChargeItemCode());
|
|
|
-// }
|
|
|
-// if(discount!=null){
|
|
|
-// m.setOrigPrice(m.getUnitPrice());
|
|
|
-// if(YesNoEnum.YES.code.equals(discount.getDiscountType())){
|
|
|
-// m.setUnitPrice(discount.getDiscountRate().multiply(m.getUnitPrice()).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
-// }else {
|
|
|
-// m.setUnitPrice(discount.getDiscountPrice());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// //医生系统做完移走结尾
|
|
|
mzChargeDetailMapper.updateMzChargeDetail(m);
|
|
|
itemNoMap.put(m.getChargeItemCode().trim(), m.getItemNo());
|
|
|
}
|
|
@@ -1140,27 +1105,6 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
return null;
|
|
|
}
|
|
|
List<MzChargeDetail> returnList = getMzChargeDetails(mzChargeDetails, mzChargeDetail.getBillItemCode());
|
|
|
- //进行营销折扣计算并写入库 优先申请科室的折扣率 医生系统做完移走开始
|
|
|
- if(returnList!=null && returnList.size()>0){
|
|
|
- for (MzChargeDetail md:returnList){
|
|
|
- Discount discount=null;
|
|
|
- if(StringUtils.isNotBlank(md.getWarnDept())){
|
|
|
- discount= discountService.getDiscountRate(YesNoEnum.NO.code,md.getWarnDept(),md.getChargeItemCode());
|
|
|
- }
|
|
|
- if(discount==null && StringUtils.isNotBlank(md.getExecDept())){
|
|
|
- discount= discountService.getDiscountRate(YesNoEnum.NO.code,md.getExecDept(),md.getChargeItemCode());
|
|
|
- }
|
|
|
- if(discount!=null){
|
|
|
- md.setOrigPrice(md.getUnitPrice());
|
|
|
- if(YesNoEnum.YES.code.equals(discount.getDiscountType())){
|
|
|
- md.setUnitPrice(discount.getDiscountRate().multiply(md.getUnitPrice()).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
- }else {
|
|
|
- md.setUnitPrice(discount.getDiscountPrice());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //医生系统做完移走 结尾
|
|
|
return returnList;
|
|
|
}
|
|
|
|