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;
 | ||
|  |     }
 | ||
|  | }
 |