|
@@ -167,7 +167,12 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
*/
|
|
|
@Override
|
|
|
public MzChargeDetail unPaidToFullChargeDetail(MzChargeDetail mzChargeDetail) throws MzException {
|
|
|
- List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.YES);
|
|
|
+ MzVisitTable mzVisitTable=mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
|
|
|
+ if(mzVisitTable==null){
|
|
|
+ throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查");
|
|
|
+ }
|
|
|
+ Integer receiptNo =mzVisitTable.getReceiptNo()+1;
|
|
|
+ List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.YES,receiptNo);
|
|
|
if (mzChargeDetails == null || mzChargeDetails.size() == 0) {
|
|
|
return null;
|
|
|
}
|
|
@@ -205,7 +210,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
* @return
|
|
|
* @throws MzException
|
|
|
*/
|
|
|
- private List<MzChargeDetail> getMzChargeDetails(MzChargeDetail mzChargeDetail, YesNoEnum yesNo) throws MzException {
|
|
|
+ private List<MzChargeDetail> getMzChargeDetails(MzChargeDetail mzChargeDetail, YesNoEnum yesNo,Integer receiptNo) throws MzException {
|
|
|
if (mzChargeDetail == null || mzChargeDetail.getPatientId() == null || mzChargeDetail.getTimes() == null) {
|
|
|
throw new MzException("病人编号和就诊次数不能为空!");
|
|
|
}
|
|
@@ -222,7 +227,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
maxOrderNo = firstMzChargeDetail.getOrderNo();
|
|
|
priceId = firstMzChargeDetail.getPriceId();
|
|
|
priceTime = firstMzChargeDetail.getPriceTime();
|
|
|
- itemNo = formatSupplyFee(mzChargeDetails, mzChargeDetailList, itemNo);
|
|
|
+ itemNo = formatSupplyFee(mzChargeDetails, mzChargeDetailList, itemNo,receiptNo);
|
|
|
}
|
|
|
maxOrderNo++;
|
|
|
Map<String, MzYjReq> mzYjReqMap = new HashMap<>();
|
|
@@ -236,14 +241,14 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
if (mzYjReq != null && mzYjReq.getPercentFt() == null) {
|
|
|
String temp = maxOrderNo.toString();
|
|
|
temp = temp + index++;
|
|
|
- itemNo = formatYjChargeDetail(mzChargeDetail, mzChargeDetails, maxOrderNo, mzPatientMi, itemNo, jianYans, jianChas, mzYjReq, temp, priceId, priceTime, tcNoMap);
|
|
|
+ itemNo = formatYjChargeDetail(mzChargeDetail, mzChargeDetails, maxOrderNo, mzPatientMi, itemNo, jianYans, jianChas, mzYjReq, temp, priceId, priceTime, tcNoMap,receiptNo);
|
|
|
mzYjReqMap.put(mzYjReq.getOrderCode(), mzYjReq);
|
|
|
}
|
|
|
}
|
|
|
List<JcJyItemCharge> jcJyItemCharges = null;
|
|
|
if (jianYans.size() > 0) {
|
|
|
jcJyItemCharges = jcJyItemChargeService.queryJcItemChargeByCodeList(jianYans, ReqTypeEnum.JIAN_YAN.code);
|
|
|
- itemNo = formatCxFeeItem(mzChargeDetail, mzChargeDetails, mzPatientMi, maxOrderNo, itemNo, mzYjReqMap, jianYans, tcNoMap, priceId, priceTime);
|
|
|
+ itemNo = formatCxFeeItem(mzChargeDetail, mzChargeDetails, mzPatientMi, maxOrderNo, itemNo, mzYjReqMap, jianYans, tcNoMap, priceId, priceTime,receiptNo);
|
|
|
}
|
|
|
if (jianChas.size() > 0) {
|
|
|
List<JcJyItemCharge> temps = jcJyItemChargeService.queryJcItemChargeByCodeList(jianChas, ReqTypeEnum.JIAN_CHA.code);
|
|
@@ -255,11 +260,11 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
}
|
|
|
if (jcJyItemCharges != null && jcJyItemCharges.size() > 0) {
|
|
|
for (JcJyItemCharge jcJyItemCharge : jcJyItemCharges) {
|
|
|
- itemNo = formatYjDetailChargeDetail(mzChargeDetail, mzChargeDetails, maxOrderNo, mzPatientMi, itemNo, mzYjReqMap, jcJyItemCharge, tcNoMap, priceId, priceTime);
|
|
|
+ itemNo = formatYjDetailChargeDetail(mzChargeDetail, mzChargeDetails, maxOrderNo, mzPatientMi, itemNo, mzYjReqMap, jcJyItemCharge, tcNoMap, priceId, priceTime,receiptNo);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- formatPriceRoundDetail(mzChargeDetail, mzChargeDetails, mzPatientMi, mzChargeDetailList, maxOrderNo, itemNo, 1);
|
|
|
+ formatPriceRoundDetail(mzChargeDetail, mzChargeDetails, mzPatientMi, mzChargeDetailList, maxOrderNo, itemNo, receiptNo);
|
|
|
//yes 预览需要将原数据库中已存在的明细与临时生成的一起返回
|
|
|
if (YesNoEnum.YES.equals(yesNo)) {
|
|
|
mzChargeDetails.addAll(mzChargeDetailList);
|
|
@@ -315,12 +320,17 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
if (windows == null) {
|
|
|
throw new MzException("当前操作人未设置窗口号,请先设置!");
|
|
|
}
|
|
|
+ MzVisitTable mzVisitTable=mzVisitTableMapper.selectByPatientIdAndTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes());
|
|
|
+ if(mzVisitTable==null){
|
|
|
+ throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查");
|
|
|
+ }
|
|
|
+ Integer receiptNo =mzVisitTable.getReceiptNo()+1;
|
|
|
//入库收费明细数据开始
|
|
|
MzChargeDetail mzChargeDetail = new MzChargeDetail(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes());
|
|
|
- List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.NO);
|
|
|
+ List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.NO,receiptNo);
|
|
|
getMzChargeDetailService().saveMzChargeDetail(mzChargeDetails);
|
|
|
mzChargeDetail.setPrintFlag(YesNoEnum.NO.code.toString());
|
|
|
- mzChargeDetail.setReceiptNo(1);
|
|
|
+ mzChargeDetail.setReceiptNo(receiptNo);
|
|
|
mzChargeDetailMapper.updatePayMakAndPrintFlag(mzChargeDetail);
|
|
|
//入库收费明细数据结束
|
|
|
|
|
@@ -334,7 +344,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
int serialNo = mzSerialNoService.getSerialNo();
|
|
|
MzReceiptSerial mzReceiptSerial = new MzReceiptSerial();
|
|
|
//实际支付金额 收银员收的钱
|
|
|
- BigDecimal hadPayable = getHadPayable(opId, mzDepositFileVo, windows, mzPatientMi, feeMap, now, serialNo, mzReceiptSerial);
|
|
|
+ BigDecimal hadPayable = getHadPayable(opId, mzDepositFileVo, windows, mzPatientMi, feeMap, now, serialNo, mzReceiptSerial,receiptNo);
|
|
|
if (hadPayable.compareTo(totalPayable) == -1) {
|
|
|
throw new MzException("收款金额不足,实际应支付" + totalPayable.toString() + "元,但是实际只收了" + hadPayable.toString() + "元");
|
|
|
}
|
|
@@ -366,7 +376,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
MzYjReq updateMzYjReq = new MzYjReq(patientId, times);
|
|
|
updateMzYjReq.setSerialNo(serialNo);
|
|
|
updateMzYjReq.setPayMark(PayMarkEnum.CHARGED.code);
|
|
|
- updateMzYjReq.setReceiptNo(1);
|
|
|
+ updateMzYjReq.setReceiptNo(mzReceiptSerial.getReceiptNo());
|
|
|
mzYjReqService.modifyMzYjReq(updateMzYjReq);
|
|
|
//新增收费方式记录
|
|
|
mzDepositFileMapper.batchInsertMzDepositFile(mzDepositFiles);
|
|
@@ -404,6 +414,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
newMzVisitTable.setPatientId(patientId);
|
|
|
newMzVisitTable.setTimes(times);
|
|
|
newMzVisitTable.setOrderNo(1);
|
|
|
+ newMzVisitTable.setReceiptNo(mzReceiptSerial.getReceiptNo());
|
|
|
newMzVisitTable.setReceiveFlag(YesNoEnum.YES.code);
|
|
|
mzVisitTableMapper.updateMzVisitTable(newMzVisitTable);
|
|
|
}
|
|
@@ -427,6 +438,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
MzChargeDetail mzChargeDetail = new MzChargeDetail(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes());
|
|
|
mzChargeDetail.setSerialNo(serialNo);
|
|
|
mzChargeDetail.setRealNo(serialNo);
|
|
|
+ mzChargeDetail.setReceiptNo(newMzDepositFileList.get(0).getReceiptNo());
|
|
|
//如果有发药队列,修改发药统计的流水号
|
|
|
MzYpFydl mzYpFydl = new MzYpFydl();
|
|
|
mzYpFydl.setSerialNo(serialNo);
|
|
@@ -440,7 +452,6 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
ypMzFytj.setTimes(mzDepositFileVo.getTimes());
|
|
|
ypMzFytjMapper.updateSeralNoForByjz(ypMzFytj);
|
|
|
mzChargeDetailMapper.updatePayMakAndPrintFlag(mzChargeDetail);
|
|
|
-
|
|
|
return newMzDepositFileList.get(0).getReceiptNo();
|
|
|
}
|
|
|
|
|
@@ -639,7 +650,12 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
|
|
|
@Override
|
|
|
public List<MzChargeDetail> getTempMzChargeDetailListForUnPaid(MzChargeDetail mzChargeDetail) throws MzException {
|
|
|
- List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.YES);
|
|
|
+ MzVisitTable mzVisitTable=mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
|
|
|
+ if(mzVisitTable==null){
|
|
|
+ throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查");
|
|
|
+ }
|
|
|
+ Integer receiptNo =mzVisitTable.getReceiptNo()+1;
|
|
|
+ List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.YES,receiptNo);
|
|
|
if (mzChargeDetails == null || mzChargeDetails.size() == 0) {
|
|
|
return null;
|
|
|
}
|
|
@@ -729,7 +745,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
MzReceiptSerial mzReceiptSerial = new MzReceiptSerial();
|
|
|
String payWay = Constants.CASH;
|
|
|
payWay = getDeposFiles(opId, mzDepositFileVo, now, times, serialNo, totalPayable, payWay, newMzDepositFiles, allRefund);
|
|
|
- setMzReceiptSerial(opId, mzDepositFileVo.getPatientId(), times, windows, mzChargeDetails.get(0).getResponceType(), feeMap, now, serialNo, mzReceiptSerial, payWay, totalPayable);
|
|
|
+ setMzReceiptSerial(opId, mzDepositFileVo.getPatientId(), times, windows, mzChargeDetails.get(0).getResponceType(), feeMap, now, serialNo, mzReceiptSerial, payWay, totalPayable,1);
|
|
|
getMzChargeDetailService().updateChargeFlag(opId, mzDepositFileVo.getPatientId(), times, mzChargeDetails.get(0).getName(), mzChargeDetails, now, serialNo, payWay, mzDepositFileVo.getTimes());
|
|
|
getMzChargeDetailService().afterChargeFee(mzDepositFileVo.getPatientId(), times, newMzDepositFiles, now, serialNo, mzReceiptSerial, totalPayable);
|
|
|
MzPatientMi updateMzPatientMi = new MzPatientMi();
|
|
@@ -1222,7 +1238,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
* @param mzReceiptSerial
|
|
|
* @return
|
|
|
*/
|
|
|
- private BigDecimal getHadPayable(String opId, MzDepositFileVo mzDepositFileVo, Windows windows, MzPatientMi mzPatientMi, Map<String, BigDecimal> feeMap, Date now, int serialNo, MzReceiptSerial mzReceiptSerial) {
|
|
|
+ private BigDecimal getHadPayable(String opId, MzDepositFileVo mzDepositFileVo, Windows windows, MzPatientMi mzPatientMi, Map<String, BigDecimal> feeMap, Date now, int serialNo, MzReceiptSerial mzReceiptSerial,Integer receiptNo) {
|
|
|
boolean isBenYuanJiZhang = true;
|
|
|
String chequeType = null;
|
|
|
//总收款金额
|
|
@@ -1232,7 +1248,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
for (MzDepositFile m : mzDepositFileVo.getMzDepositFiles()) {
|
|
|
m.setPatientId(mzDepositFileVo.getPatientId());
|
|
|
m.setTimes(mzDepositFileVo.getTimes());
|
|
|
- m.setReceiptNo(1);
|
|
|
+ m.setReceiptNo(receiptNo);
|
|
|
m.setPayMark(PayMarkEnum.CHARGED.code);
|
|
|
m.setChargeDate(now);
|
|
|
m.setDcountNo(YesNoEnum.NO.code);
|
|
@@ -1254,7 +1270,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
}
|
|
|
}
|
|
|
hadPayable.setScale(2, BigDecimal.ROUND_FLOOR);
|
|
|
- setMzReceiptSerial(opId, mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), windows, mzPatientMi.getResponseType(), feeMap, now, serialNo, mzReceiptSerial, chequeType, isBenYuanJiZhang ? hadPayable : excludeByjzPay);
|
|
|
+ setMzReceiptSerial(opId, mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), windows, mzPatientMi.getResponseType(), feeMap, now, serialNo, mzReceiptSerial, chequeType, isBenYuanJiZhang ? hadPayable : excludeByjzPay,receiptNo);
|
|
|
return hadPayable;
|
|
|
}
|
|
|
|
|
@@ -1273,10 +1289,10 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
* @param chequeType
|
|
|
* @param hadPayable
|
|
|
*/
|
|
|
- private void setMzReceiptSerial(String opId, String patientId, Integer times, Windows windows, String responseType, Map<String, BigDecimal> feeMap, Date now, int serialNo, MzReceiptSerial mzReceiptSerial, String chequeType, BigDecimal hadPayable) {
|
|
|
+ private void setMzReceiptSerial(String opId, String patientId, Integer times, Windows windows, String responseType, Map<String, BigDecimal> feeMap, Date now, int serialNo, MzReceiptSerial mzReceiptSerial, String chequeType, BigDecimal hadPayable,Integer receiptNo) {
|
|
|
mzReceiptSerial.setPatientId(patientId);
|
|
|
mzReceiptSerial.setTimes(times);
|
|
|
- mzReceiptSerial.setReceiptNo(1);
|
|
|
+ mzReceiptSerial.setReceiptNo(receiptNo);
|
|
|
mzReceiptSerial.setSerialNo(serialNo);
|
|
|
mzReceiptSerial.setOperatorId(opId);
|
|
|
mzReceiptSerial.setPayId(opId);
|
|
@@ -1607,7 +1623,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
* @param jianYans
|
|
|
* @return
|
|
|
*/
|
|
|
- private Integer formatCxFeeItem(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, MzPatientMi mzPatientMi, Integer maxOrderNo, Integer itemNo, Map<String, MzYjReq> mzYjReqMap, List<String> jianYans, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime) throws MzException {
|
|
|
+ private Integer formatCxFeeItem(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, MzPatientMi mzPatientMi, Integer maxOrderNo, Integer itemNo, Map<String, MzYjReq> mzYjReqMap, List<String> jianYans, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime,Integer receiptNo) throws MzException {
|
|
|
List<JyZdItem> jyZdItems = jyZdItemService.queryCxTimesByCodeList(jianYans);
|
|
|
MzYjReq mzYjReq = mzYjReqMap.get(jianYans.get(0));
|
|
|
if (jyZdItems != null && jyZdItems.size() > 0) {
|
|
@@ -1615,7 +1631,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
for (JyZdItem jyZdItem : jyZdItems) {
|
|
|
if (jyZdItem != null) {
|
|
|
if (StringUtils.isNotBlank(jyZdItem.getVessel()) && !vesselSets.contains(jyZdItem.getVessel())) {
|
|
|
- itemNo = formatVesselFee(mzChargeDetail, mzChargeDetails, mzPatientMi, maxOrderNo, itemNo, mzYjReq, vesselSets, jyZdItem, tcNoMap, priceId, priceTime);
|
|
|
+ itemNo = formatVesselFee(mzChargeDetail, mzChargeDetails, mzPatientMi, maxOrderNo, itemNo, mzYjReq, vesselSets, jyZdItem, tcNoMap, priceId, priceTime,receiptNo);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1630,7 +1646,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
MzChargeDetail newMzChargeDetail = new MzChargeDetail();
|
|
|
newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
|
|
|
newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
|
|
|
- newMzChargeDetail.setReceiptNo(1);
|
|
|
+ newMzChargeDetail.setReceiptNo(receiptNo);
|
|
|
newMzChargeDetail.setOrderNo(maxOrderNo);
|
|
|
newMzChargeDetail.setItemNo(itemNo++);
|
|
|
newMzChargeDetail.setChargeItemCode(Constants.JM_CAI_XUE_CODE);
|
|
@@ -1691,7 +1707,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
* @param jyZdItem
|
|
|
* @return
|
|
|
*/
|
|
|
- private Integer formatVesselFee(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, MzPatientMi mzPatientMi, Integer maxOrderNo, Integer itemNo, MzYjReq mzYjReq, Set<String> vesselSets, JyZdItem jyZdItem, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime) throws MzException {
|
|
|
+ private Integer formatVesselFee(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, MzPatientMi mzPatientMi, Integer maxOrderNo, Integer itemNo, MzYjReq mzYjReq, Set<String> vesselSets, JyZdItem jyZdItem, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime,Integer receiptNo) throws MzException {
|
|
|
JyZdTubeCharge jyZdTubeCharge = jyZdTubeChargeService.queryJyZdTubeChargeByCode(jyZdItem.getVessel());
|
|
|
if (jyZdTubeCharge != null) {
|
|
|
ZdChargeItem zdChargeItem = zdChargeItemService.queryZdChargeItemByCode(jyZdTubeCharge.getChargeCode());
|
|
@@ -1705,7 +1721,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
MzChargeDetail newMzChargeDetail = new MzChargeDetail();
|
|
|
newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
|
|
|
newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
|
|
|
- newMzChargeDetail.setReceiptNo(1);
|
|
|
+ newMzChargeDetail.setReceiptNo(receiptNo);
|
|
|
newMzChargeDetail.setOrderNo(maxOrderNo);
|
|
|
newMzChargeDetail.setItemNo(itemNo++);
|
|
|
newMzChargeDetail.setChargeItemCode(jyZdTubeCharge.getChargeCode());
|
|
@@ -1763,7 +1779,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
- private Integer formatSupplyFee(List<MzChargeDetail> mzChargeDetails, List<MzChargeDetail> mzChargeDetailList, Integer itemNo) {
|
|
|
+ private Integer formatSupplyFee(List<MzChargeDetail> mzChargeDetails, List<MzChargeDetail> mzChargeDetailList, Integer itemNo,Integer receiptNo) {
|
|
|
for (MzChargeDetail mcd : mzChargeDetailList) {
|
|
|
//非口服用药方式,需要写入收费记录
|
|
|
if (StringUtils.isNotBlank(mcd.getSupplyCode()) && !Constants.KOU_FU_SUPPLY_CODE.equals(mcd.getSupplyCode())) {
|
|
@@ -1782,6 +1798,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
} else {
|
|
|
newMzChargeDetail.setUnitPrice(zdChargeItem.getChargeAmount().multiply(zdChargeItem.getPercentag1()));
|
|
|
}
|
|
|
+ newMzChargeDetail.setReceiptNo(receiptNo);
|
|
|
newMzChargeDetail.setSerial("");
|
|
|
newMzChargeDetail.setPayMark(PayMarkEnum.NO_CHARGE.code);
|
|
|
newMzChargeDetail.setGroupNo(Constants.YJ_GROUP_NO);
|
|
@@ -1829,11 +1846,11 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
* @param tcNo
|
|
|
* @return
|
|
|
*/
|
|
|
- private Integer formatYjChargeDetail(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, Integer maxOrderNo, MzPatientMi mzPatientMi, Integer itemNo, List<String> jianYans, List<String> jianChas, MzYjReq mzYjReq, String tcNo, String priceId, Date priceTime, Map<String, MzChargeDetail> tcNoMap) {
|
|
|
+ private Integer formatYjChargeDetail(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, Integer maxOrderNo, MzPatientMi mzPatientMi, Integer itemNo, List<String> jianYans, List<String> jianChas, MzYjReq mzYjReq, String tcNo, String priceId, Date priceTime, Map<String, MzChargeDetail> tcNoMap,Integer receiptNo) {
|
|
|
MzChargeDetail newMzChargeDetail = new MzChargeDetail();
|
|
|
newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
|
|
|
newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
|
|
|
- newMzChargeDetail.setReceiptNo(1);
|
|
|
+ newMzChargeDetail.setReceiptNo(receiptNo);
|
|
|
newMzChargeDetail.setOrderNo(maxOrderNo);
|
|
|
newMzChargeDetail.setItemNo(itemNo++);
|
|
|
newMzChargeDetail.setChargeItemCode(tcNo);
|
|
@@ -1898,7 +1915,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
* @param jcJyItemCharge
|
|
|
* @return
|
|
|
*/
|
|
|
- private Integer formatYjDetailChargeDetail(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, Integer maxOrderNo, MzPatientMi mzPatientMi, Integer itemNo, Map<String, MzYjReq> mzYjReqMap, JcJyItemCharge jcJyItemCharge, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime) throws MzException {
|
|
|
+ private Integer formatYjDetailChargeDetail(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, Integer maxOrderNo, MzPatientMi mzPatientMi, Integer itemNo, Map<String, MzYjReq> mzYjReqMap, JcJyItemCharge jcJyItemCharge, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime,Integer receiptNo) throws MzException {
|
|
|
MzYjReq mzYjReq = mzYjReqMap.get(jcJyItemCharge.getCode());
|
|
|
ZdChargeItem zdChargeItem = zdChargeItemService.queryZdChargeItemByCode(jcJyItemCharge.getChargeCode());
|
|
|
if (zdChargeItem == null) {
|
|
@@ -1911,7 +1928,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
MzChargeDetail newMzChargeDetail = new MzChargeDetail();
|
|
|
newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
|
|
|
newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
|
|
|
- newMzChargeDetail.setReceiptNo(1);
|
|
|
+ newMzChargeDetail.setReceiptNo(receiptNo);
|
|
|
newMzChargeDetail.setOrderNo(maxOrderNo);
|
|
|
newMzChargeDetail.setItemNo(itemNo++);
|
|
|
newMzChargeDetail.setChargeItemCode(jcJyItemCharge.getChargeCode());
|