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.
		
		
		
		
			
				
					
					
						
							158 lines
						
					
					
						
							7.0 KiB
						
					
					
				
			
		
		
	
	
							158 lines
						
					
					
						
							7.0 KiB
						
					
					
				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;
 | 
						|
    }
 | 
						|
}
 | 
						|
 |