|
@@ -2895,7 +2895,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
m.setPayMark(PayMarkEnum.CHARGED.code);
|
|
|
setChargeDetail(mzDrugWinMap, yffyNoMap, orderNoMap, m);
|
|
|
mzChargeDetailMapper.updateMzChargeDetail(m);
|
|
|
- itemNoMap.put(m.getChargeItemCode().trim(), m.getItemNo());
|
|
|
+ itemNoMap.put(m.getItemNo()+"_"+m.getChargeItemCode().trim(), m.getItemNo());
|
|
|
}
|
|
|
//收费时药品库存操作
|
|
|
if (refundTimes == null) {
|
|
@@ -2949,7 +2949,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
ypMzFytj.setReceiptNo(1);
|
|
|
ypMzFytj.setSerialNo(serialNo);
|
|
|
ypMzFytj.setRealNo(serialNo);
|
|
|
- ypMzFytj.setItemNo(itemNoMap.get(ypMzFytj.getChargeItemCode().trim()));
|
|
|
+ ypMzFytj.setItemNo(itemNoMap.get(ypMzFytj.getItemNo()+"_"+ypMzFytj.getChargeItemCode().trim()));
|
|
|
ypMzFytjMapper.insertYpMzFytj(ypMzFytj);
|
|
|
}
|
|
|
}
|
|
@@ -2957,7 +2957,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
ypMzFytjList = ypMzFytjMapper.selectXyTyYpMzFytj(patientId, refundTimes);
|
|
|
if (ypMzFytjList != null && ypMzFytjList.size() > 0) {
|
|
|
for (YpMzFytj ypMzFytj : ypMzFytjList) {
|
|
|
- List<MzChargeDetail> mzChargeDetails = mzChargeDetailMapper.selectMzChargeDetailByChargeItemCode(ypMzFytj.getPatientId(), ypMzFytj.getTimes(), ypMzFytj.getChargeItemCode(), ypMzFytj.getOrderNo());
|
|
|
+ List<MzChargeDetail> mzChargeDetails = mzChargeDetailMapper.selectMzChargeDetailByChargeItemCode(ypMzFytj.getPatientId(), ypMzFytj.getTimes(), ypMzFytj.getChargeItemCode(), ypMzFytj.getOrderNo(),ypMzFytj.getItemNo());
|
|
|
if (mzChargeDetails == null || mzChargeDetails.size() == 0) {
|
|
|
continue;
|
|
|
}
|
|
@@ -2986,7 +2986,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
ypMzFytj.setSerialNo(serialNo);
|
|
|
ypMzFytj.setConfirmFlag(ConfirmFlagEnum.CONFIRM.code);
|
|
|
ypMzFytj.setRealNo(serialNo);
|
|
|
- ypMzFytj.setItemNo(itemNoMap.get(ypMzFytj.getChargeItemCode().trim()));
|
|
|
+ ypMzFytj.setItemNo(itemNoMap.get(ypMzFytj.getItemNo()+"_"+ypMzFytj.getChargeItemCode().trim()));
|
|
|
ypMzFytjMapper.insertYpMzFytj(ypMzFytj);
|
|
|
}
|
|
|
}
|
|
@@ -3452,7 +3452,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
mzVisitTableMapper.insertMzVisitTable(newMzVisitTable);
|
|
|
}
|
|
|
List<MzChargeDetail> newMzChargeDetailList = new ArrayList<>();
|
|
|
- Integer itemNo = 100;
|
|
|
+ Integer itemNo = null;
|
|
|
List<String> billItemCodeList = Arrays.asList(Constants.SSWRF);
|
|
|
Set<String> tcNos = new HashSet<>();
|
|
|
int receiptNo = 1;
|
|
@@ -3499,7 +3499,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
// }
|
|
|
temp.setTimes(times);
|
|
|
temp.setReceiptNo(receiptNo);
|
|
|
- temp.setItemNo(itemNo++);
|
|
|
+ // temp.setItemNo(itemNo++);
|
|
|
temp.setSerialNo(null);
|
|
|
temp.setPayMark(PayMarkEnum.NO_CHARGE.code);
|
|
|
temp.setChargeDate(null);
|
|
@@ -3516,12 +3516,15 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
temp.setPrintFlagYj(null);
|
|
|
temp.setConfirmFlagQx(null);
|
|
|
newMzChargeDetailList.add(temp);
|
|
|
+ if(itemNo==null || itemNo<temp.getItemNo()){
|
|
|
+ itemNo=temp.getItemNo();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
List<MzChargeDetail> supplyFeeMzChargeDetails = new ArrayList<>();
|
|
|
//重新计算给药方式费用
|
|
|
// itemNo = formatSupplyFee(supplyFeeMzChargeDetails, newMzChargeDetailList, itemNo);
|
|
|
- formatPriceRoundDetail(new MzChargeDetail(mzDepositFileVo.getPatientId(), times), supplyFeeMzChargeDetails, mzPatientMi, newMzChargeDetailList, 127, itemNo, receiptNo, false);
|
|
|
+ formatPriceRoundDetail(new MzChargeDetail(mzDepositFileVo.getPatientId(), times), supplyFeeMzChargeDetails, mzPatientMi, newMzChargeDetailList, 127, ++itemNo, receiptNo, false);
|
|
|
// List<String> supplyList = supplyFeeMzChargeDetails.stream().filter(u -> StringUtils.isNotBlank(u.getChargeItemCode())).map-util.js(u -> u.getChargeItemCode()).collect(Collectors.toList());
|
|
|
// List<MzChargeDetail> removeList = new ArrayList<>();
|
|
|
// for (MzChargeDetail md : newMzChargeDetailList) {
|