|
@@ -657,14 +657,14 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
}
|
|
|
List<MzChargeDetail> newMzChargeDetailList = new ArrayList<>();
|
|
|
Integer itemNo = 100;
|
|
|
- List<String> billItemCodeList = Arrays.asList(Constants.SSWRF,Constants.TC);
|
|
|
+ List<String> billItemCodeList = Arrays.asList(Constants.SSWRF);
|
|
|
Set<String> tcNos = new HashSet<>();
|
|
|
int receiptNo = 1;
|
|
|
for (MzChargeDetail md:mzChargeDetails){
|
|
|
MzChargeDetail temp=null;
|
|
|
if(chargeItemCodeList.contains(md.getChargeItemCode())){
|
|
|
tcNos.add(md.getTcNo());
|
|
|
- if(Constants.XYF.equals(md.getBillItemCode()) && !Constants.KOU_FU_SUPPLY_CODE.equals(md.getSupplyCode())){
|
|
|
+ if(Constants.XYF.equals(md.getBillItemCode())){
|
|
|
if(ConfirmFlagEnum.DONE.code.equals(md.getConfirmFlag()) && md.getDecAmount()!=null && md.getDecAmount().compareTo(BigDecimal.ZERO)==1){
|
|
|
BigDecimal surplus = BigDecimal.valueOf(md.getQuantity()).subtract(md.getDecAmount());
|
|
|
if(surplus.compareTo(BigDecimal.ZERO)==1){
|
|
@@ -723,9 +723,41 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
}
|
|
|
newMzChargeDetailList.removeAll(removeList);
|
|
|
newMzChargeDetailList.addAll(supplyFeeMzChargeDetails);
|
|
|
+ removeOnlyTcItem(newMzChargeDetailList);
|
|
|
return newMzChargeDetailList;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 将仅剩套餐本身,无明细的套餐删除
|
|
|
+ * @param newMzChargeDetailList
|
|
|
+ */
|
|
|
+ private void removeOnlyTcItem(List<MzChargeDetail> newMzChargeDetailList) {
|
|
|
+ if(newMzChargeDetailList.size()>0){
|
|
|
+ Map<String,MzChargeDetail> chargeItemMap = new HashMap<>();
|
|
|
+ Map<String,Integer> chargeItemCountMap = new HashMap<>();
|
|
|
+ for (MzChargeDetail md:newMzChargeDetailList){
|
|
|
+ if(Constants.TC.equals(md.getBillItemCode())){
|
|
|
+ chargeItemMap.put(md.getChargeItemCode(),md);
|
|
|
+ }else if(StringUtils.isNotBlank(md.getTcNo())){
|
|
|
+ Integer count=chargeItemCountMap.get(md.getTcNo());
|
|
|
+ if(count==null){
|
|
|
+ count=0;
|
|
|
+ }
|
|
|
+ count++;
|
|
|
+ chargeItemCountMap.put(md.getTcNo(),count);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(chargeItemMap.size()>0){
|
|
|
+ for (String key:chargeItemMap.keySet()){
|
|
|
+ Integer count=chargeItemCountMap.get(key);
|
|
|
+ if(count==null || count==0){
|
|
|
+ newMzChargeDetailList.remove(chargeItemMap.get(key));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<MzChargeDetail> getTempMzChargeDetailListForNewListForRefundFee(String opId, MzDepositFileVo mzDepositFileVo,YesNoEnum yesNo) throws MzException {
|
|
|
List<MzChargeDetail> mzChargeDetails = getNewListForRefundFee(opId,mzDepositFileVo,YesNoEnum.NO);
|
|
@@ -815,7 +847,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
* @throws MzException
|
|
|
*/
|
|
|
private void setChargeDetail(Map<String, MzDrugWin> mzDrugWinMap, Map<String, Integer> yffyNoMap, Map<String, Integer> orderNoMap, MzChargeDetail m) throws MzException {
|
|
|
- if (StringUtils.isNotBlank(m.getGroupNo()) && !"00".equals(m.getGroupNo())) {
|
|
|
+ if (StringUtils.isNotBlank(m.getGroupNo()) && !Constants.YJ_GROUP_NO.equals(m.getGroupNo())) {
|
|
|
MzDrugWin mzDrugWin = mzDrugWinMap.get(m.getGroupNo());
|
|
|
if (mzDrugWin == null) {
|
|
|
mzDrugWin = mzDrugWinService.queryMinMzDrugWin(m.getGroupNo());
|
|
@@ -1188,10 +1220,10 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
newMzChargeDetail.setQuantity(1D);
|
|
|
newMzChargeDetail.setUnitPrice(sZero);
|
|
|
newMzChargeDetail.setPayMark(PayMarkEnum.NO_CHARGE.code);
|
|
|
- newMzChargeDetail.setSerial("00");
|
|
|
+ newMzChargeDetail.setSerial(Constants.YJ_GROUP_NO);
|
|
|
newMzChargeDetail.setSerialNo(0);
|
|
|
newMzChargeDetail.setName(mzPatientMi.getName());
|
|
|
- newMzChargeDetail.setGroupNo("00");
|
|
|
+ newMzChargeDetail.setGroupNo(Constants.YJ_GROUP_NO);
|
|
|
newMzChargeDetail.setDrugWin(1);
|
|
|
newMzChargeDetail.setPriceId(mzChargeDetailList.get(0).getPriceId());
|
|
|
newMzChargeDetail.setPriceTime(mzChargeDetailList.get(0).getPriceTime());
|
|
@@ -1256,7 +1288,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
newMzChargeDetail.setReceiptNo(1);
|
|
|
newMzChargeDetail.setOrderNo(maxOrderNo);
|
|
|
newMzChargeDetail.setItemNo(itemNo++);
|
|
|
- newMzChargeDetail.setChargeItemCode("008910");
|
|
|
+ newMzChargeDetail.setChargeItemCode(Constants.JM_CAI_XUE_CODE);
|
|
|
if (zdChargeItem.getChargeAmount() == null || zdChargeItem.getPercentag1() == null) {
|
|
|
newMzChargeDetail.setUnitPrice(BigDecimal.ZERO);
|
|
|
newMzChargeDetail.setOrigPrice(BigDecimal.ZERO);
|
|
@@ -1270,7 +1302,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
newMzChargeDetail.setSerial("");
|
|
|
newMzChargeDetail.setSerialNo(0);
|
|
|
newMzChargeDetail.setName(mzYjReq.getPatientName());
|
|
|
- newMzChargeDetail.setGroupNo("00");
|
|
|
+ newMzChargeDetail.setGroupNo(Constants.YJ_GROUP_NO);
|
|
|
newMzChargeDetail.setDrugWin(1);
|
|
|
newMzChargeDetail.setPriceId(priceId == null ? mzYjReq.getReqDoctor() : priceId);
|
|
|
newMzChargeDetail.setPriceTime(priceTime == null ? mzYjReq.getReqDate() : priceTime);
|
|
@@ -1284,8 +1316,8 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
newMzChargeDetail.setInjectRes(Double.valueOf(YesNoEnum.YES.code));
|
|
|
newMzChargeDetail.setRealNo(0);
|
|
|
newMzChargeDetail.setYbbxFlag(YesNoEnum.NO.code.toString());
|
|
|
- newMzChargeDetail.setTcNo(tcNoMap.get(jianYans.get(0)).getTcNo());
|
|
|
- newMzChargeDetail.setTcName(tcNoMap.get(jianYans.get(0)).getTcName());
|
|
|
+ newMzChargeDetail.setTcNo(tcNoMap.get(jianYans.get(0)).getChargeItemCode());
|
|
|
+ newMzChargeDetail.setTcName(Constants.JM_CAI_XUE_NAME);
|
|
|
newMzChargeDetail.setDetailFlag(YesNoEnum.NO.code.toString());
|
|
|
newMzChargeDetail.setOrderType(YesNoEnum.YES.code.toString());
|
|
|
newMzChargeDetail.setSupplyNo("Y");
|
|
@@ -1341,7 +1373,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
newMzChargeDetail.setSerial("");
|
|
|
newMzChargeDetail.setSerialNo(0);
|
|
|
newMzChargeDetail.setName(mzYjReq.getPatientName());
|
|
|
- newMzChargeDetail.setGroupNo("00");
|
|
|
+ newMzChargeDetail.setGroupNo(Constants.YJ_GROUP_NO);
|
|
|
newMzChargeDetail.setDrugWin(1);
|
|
|
newMzChargeDetail.setPriceId(priceId == null ? mzYjReq.getReqDoctor() : priceId);
|
|
|
newMzChargeDetail.setPriceTime(priceTime == null ? mzYjReq.getReqDate() : priceTime);
|
|
@@ -1403,7 +1435,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
}
|
|
|
newMzChargeDetail.setSerial("");
|
|
|
newMzChargeDetail.setPayMark(PayMarkEnum.NO_CHARGE.code);
|
|
|
- newMzChargeDetail.setGroupNo("00");
|
|
|
+ newMzChargeDetail.setGroupNo(Constants.YJ_GROUP_NO);
|
|
|
newMzChargeDetail.setSupplyCode(null);
|
|
|
newMzChargeDetail.setFrequency(null);
|
|
|
newMzChargeDetail.setDrugQuan(null);
|
|
@@ -1460,7 +1492,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
newMzChargeDetail.setSerial("");
|
|
|
newMzChargeDetail.setSerialNo(0);
|
|
|
newMzChargeDetail.setName(mzYjReq.getPatientName());
|
|
|
- newMzChargeDetail.setGroupNo("00");
|
|
|
+ newMzChargeDetail.setGroupNo(Constants.YJ_GROUP_NO);
|
|
|
newMzChargeDetail.setDrugWin(1);
|
|
|
newMzChargeDetail.setPriceId(priceId == null ? mzYjReq.getReqDoctor() : priceId);
|
|
|
newMzChargeDetail.setPriceTime(priceTime == null ? mzYjReq.getReqDate() : priceTime);
|
|
@@ -1534,7 +1566,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
newMzChargeDetail.setSerial("");
|
|
|
newMzChargeDetail.setSerialNo(0);
|
|
|
newMzChargeDetail.setName(mzPatientMi.getName());
|
|
|
- newMzChargeDetail.setGroupNo("00");
|
|
|
+ newMzChargeDetail.setGroupNo(Constants.YJ_GROUP_NO);
|
|
|
newMzChargeDetail.setDrugWin(1);
|
|
|
newMzChargeDetail.setPriceId(priceId == null ? mzYjReq.getReqDoctor() : priceId);
|
|
|
newMzChargeDetail.setPriceTime(priceTime == null ? mzYjReq.getReqDate() : priceTime);
|
|
@@ -1548,7 +1580,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
newMzChargeDetail.setInjectRes(Double.valueOf(YesNoEnum.YES.code));
|
|
|
newMzChargeDetail.setRealNo(0);
|
|
|
newMzChargeDetail.setYbbxFlag(YesNoEnum.NO.code.toString());
|
|
|
- newMzChargeDetail.setTcNo(tcNoMap.get(jcJyItemCharge.getCode()).getTcNo());
|
|
|
+ newMzChargeDetail.setTcNo(tcNoMap.get(jcJyItemCharge.getCode()).getChargeItemCode());
|
|
|
newMzChargeDetail.setTcName(tcNoMap.get(jcJyItemCharge.getCode()).getTcName());
|
|
|
newMzChargeDetail.setDetailFlag(YesNoEnum.NO.code.toString());
|
|
|
newMzChargeDetail.setOrderType(YesNoEnum.YES.code.toString());
|