|  | @@ -7,7 +7,8 @@ import thyyxxk.webserver.constants.sidicts.Insutype;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.constants.sidicts.MedType;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.dao.his.medicalinsurance.SiSettleApplyDao;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.entity.ResultVo;
 | 
	
		
			
				|  |  | -import thyyxxk.webserver.entity.medicalinsurance.inpatient.SiSettleApply;
 | 
	
		
			
				|  |  | +import thyyxxk.webserver.entity.medicalinsurance.inpatient.settleapply.request.SettledApplyInquiry;
 | 
	
		
			
				|  |  | +import thyyxxk.webserver.entity.medicalinsurance.inpatient.settleapply.response.SiSettleApply;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.entity.inpatient.dismiss.ZyDisYbDiag;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.entity.inpatient.dismiss.ZyDisYbSrgry;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.entity.inpatient.patient.Patient;
 | 
	
	
		
			
				|  | @@ -96,7 +97,8 @@ public class SiSettleApplyService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      public ResultVo<Map<String, Object>> selectPatientInfo(SiSettleApply param) {
 | 
	
		
			
				|  |  | -        ResultVo<Patient> ptntRsvo = ptntSrvc.getPatientInfo(param.getPatNo());
 | 
	
		
			
				|  |  | +        ResultVo<Patient> ptntRsvo = param.getInOutFlag() == 1 ?
 | 
	
		
			
				|  |  | +                ptntSrvc.getPatientInfo(param.getPatNo()) : ptntSrvc.getDisPatient(param.getPatNo(), param.getTimes());
 | 
	
		
			
				|  |  |          if (ptntRsvo.getCode() != ExceptionEnum.SUCCESS.getCode()) {
 | 
	
		
			
				|  |  |              return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, ptntRsvo.getMessage());
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -128,7 +130,7 @@ public class SiSettleApplyService {
 | 
	
		
			
				|  |  |              itm.setSszs2Name(redis.getEmployeeName(itm.getSszs2()));
 | 
	
		
			
				|  |  |              itm.setMzysName(redis.getEmployeeName(itm.getMzys()));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if (DecimalUtil.compare(apply.getDetailTotalCharge(), apply.getLedgerTotalCharge()) != 0) {
 | 
	
		
			
				|  |  | +        if (param.getInOutFlag() == 1 && DecimalUtil.compare(apply.getDetailTotalCharge(), apply.getLedgerTotalCharge()) != 0) {
 | 
	
		
			
				|  |  |              ptntSrvc.receiveAndRecalculateCost(patient);
 | 
	
		
			
				|  |  |              SiSettleApply chrgs = dao.selectTotalChargeAgain(apply);
 | 
	
		
			
				|  |  |              apply.setDetailTotalCharge(chrgs.getDetailTotalCharge());
 | 
	
	
		
			
				|  | @@ -141,6 +143,9 @@ public class SiSettleApplyService {
 | 
	
		
			
				|  |  |          map.put("indiags", inYbDiags);
 | 
	
		
			
				|  |  |          map.put("disdiags", disYbDiags);
 | 
	
		
			
				|  |  |          map.put("surgeries", disYbSrgries);
 | 
	
		
			
				|  |  | +        if (param.getInOutFlag() == 2) {
 | 
	
		
			
				|  |  | +            return ResultVoUtil.success(map);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          String message = "";
 | 
	
		
			
				|  |  |          if (DecimalUtil.compare(apply.getDetailTotalCharge(), apply.getMedinsTotalCharge()) != 0) {
 | 
	
		
			
				|  |  |             message += "此患者明细总费用与医保上传总费用不一致;";
 | 
	
	
		
			
				|  | @@ -168,4 +173,15 @@ public class SiSettleApplyService {
 | 
	
		
			
				|  |  |          list.forEach(item -> item.setHandleStaffName(redis.getEmployeeName(item.getHandleStaff())));
 | 
	
		
			
				|  |  |          return ResultVoUtil.success(list);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public ResultVo<List<SiSettleApply>> selectSettledApplies(SettledApplyInquiry inquiry) {
 | 
	
		
			
				|  |  | +        String start = inquiry.getStart() + " 00:00:00";
 | 
	
		
			
				|  |  | +        String end = inquiry.getEnd() + " 23:59:59";
 | 
	
		
			
				|  |  | +        List<SiSettleApply> list = dao.selectSettledApplies(start, end);
 | 
	
		
			
				|  |  | +        if (list.isEmpty()) {
 | 
	
		
			
				|  |  | +            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        list.forEach(item -> item.setHandleStaffName(redis.getEmployeeName(item.getHandleStaff())));
 | 
	
		
			
				|  |  | +        return ResultVoUtil.success(list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |