You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					159 lines
				
				7.0 KiB
			
		
		
			
		
	
	
					159 lines
				
				7.0 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								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;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |