package com.ynxbd.common.service.params; import com.ynxbd.common.bean.pay.Register; import com.ynxbd.common.result.ResultEnum; import com.ynxbd.common.result.ServiceException; import com.ynxbd.common.service.RegService; import lombok.extern.slf4j.Slf4j; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; @Slf4j public class RegParams { /** * * // * @param regFee 金额 * * // * @param clinicFee 金额 * * // * @param payMoney 金额 * * // * @param tel 电话 * * // * @param openid openid * * // * @param idCardNo 身份证号码 * * // * @param patientId 患者id * * // * @param deptCode 科室编码 * * // * @param deptName 科室名称 * * // * @param doctCode 医生编码 * * // * @param doctName 医生名 * * // * @param address 地址 * * // * @param hospitalArea 院区 * * // * @param tid 时段名 * * // * @param tName 时段名 * * // * @param begTime 开始时间(分时段) * * // * @param endTime 开始时间(分时段) * * // * @param regCode 挂号编码 * * // * @param regDate 挂号日期 * * // * @param sourceId 号源id(分时段) * * // * @param queueNum 序列号(分时段) * * // * @param clinicCode 编码 * * @param request * @param isDesc */ public static Register getRegParams(HttpServletRequest request, boolean isDesc) throws ServiceException { Register reg = new Register(); RequestParams params = new RequestParams(request); String openid = params.getString("openid"); String patientId = params.getString("patientId"); String cardNo = params.getString("idCardNo"); String patientName = params.getString("patientName"); if (cardNo == null) { cardNo = params.getString("cardNo"); } BigDecimal payMoney = params.getBigDecimal("payMoney"); BigDecimal totalFee = params.getBigDecimal("totalFee"); String deptCode = params.getString("deptCode"); String subDeptCode = params.getString("subDeptCode"); String doctCode = params.getString("doctCode"); String regCode = params.getString("regCode"); String regDate = params.getString("regDate"); String tid = params.getString("tid"); if (openid == null || patientId == null || cardNo == null || deptCode == null || doctCode == null || regDate == null || tid == null) { log.info("[挂号]参数缺失 patientId={}, deptCode={}, doctCode={}, regCode={}, regDate={}, tid={}", patientId, deptCode, doctCode, regCode, regDate, tid); throw new ServiceException(ResultEnum.PARAM_IS_DEFECT); } if (payMoney == null || totalFee == null) { log.info("[挂号]参数缺失 payMoney"); throw new ServiceException(ResultEnum.PARAM_IS_DEFECT); } Boolean isSplitTime = params.getBoolean("isSplitTime"); if (isSplitTime == null) { log.info("[挂号]挂号类型参数缺失isSplitTime"); throw new ServiceException(ResultEnum.PARAM_IS_DEFECT); } log.info("[挂号类型]{}", (isSplitTime ? "分时段挂号" : "普通挂号")); reg.setIsSplitTime(isSplitTime); if (isSplitTime) { String tName = params.getString("tName"); String queueNum = params.getString("queueNum"); String sourceId = params.getString("sourceId"); String begTime = params.getString("begTime"); String endTime = params.getString("endTime"); if (tName == null || queueNum == null || sourceId == null || begTime == null || endTime == null) { log.info("[挂号]参数缺失 tName={}, queueNum={}, sourceId={}, begTime={}, endTime={}", tName, queueNum, sourceId, begTime, endTime); throw new ServiceException(ResultEnum.PARAM_IS_DEFECT); } reg.setTName(tName); reg.setBegTime(begTime); reg.setEndTime(endTime); reg.setSourceId(sourceId); reg.setQueueNum(queueNum); } else { String clinicCode = params.getString("clinicCode"); if (clinicCode == null) { log.info("[普通挂号]参数缺失clinicCode"); throw new ServiceException(ResultEnum.PARAM_IS_DEFECT); } reg.setClinicCode(clinicCode); } if (isDesc) { BigDecimal regFee = params.getBigDecimal("regFee"); BigDecimal clinicFee = params.getBigDecimal("clinicFee"); if (regFee == null || clinicFee == null) { log.info("[挂号]参数缺失 regFee={}, clinicFee={}", regFee, clinicFee); throw new ServiceException(ResultEnum.PARAM_IS_DEFECT); } String tel = params.getString("tel"); String address = params.getString("address"); String deptName = params.getString("deptName"); String doctName = params.getString("doctName"); String hospitalArea = params.getString("hospitalArea"); if (deptName == null || doctName == null) { log.info("[挂号]参数缺失 tel={}, address={}, deptName={}, hospitalArea={}", tel, address, deptName, hospitalArea); throw new ServiceException(ResultEnum.PARAM_IS_DEFECT); } reg.setRegFee(regFee); reg.setClinicFee(clinicFee); reg.setTel(tel); reg.setAddress(address); reg.setHospitalArea(hospitalArea); reg.setDeptName(deptName); reg.setDoctName(doctName); reg.setRegType(RegService.setRegType(regDate, isSplitTime)); } reg.setRegCode(regCode); reg.setPayMoney(payMoney); // 信息 reg.setPatientId(patientId); reg.setOpenid(openid); reg.setIdCardNo(cardNo); reg.setDeptCode(deptCode); reg.setSubDeptCode(subDeptCode); reg.setDoctCode(doctCode); reg.setRegDate(regDate); reg.setTid(tid); reg.setPayMoney(payMoney); reg.setTotalFee(totalFee); return reg; } }