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.
		
		
		
		
			
				
					
					
						
							188 lines
						
					
					
						
							7.3 KiB
						
					
					
				
			
		
		
	
	
							188 lines
						
					
					
						
							7.3 KiB
						
					
					
				| package com.ynxbd.common.action;
 | |
| 
 | |
| import com.alibaba.fastjson.JSONObject;
 | |
| import com.ynxbd.common.action.base.BaseAction;
 | |
| import com.ynxbd.common.action.pay.PEnum;
 | |
| import com.ynxbd.common.bean.enums.MerchantEnum;
 | |
| import com.ynxbd.common.bean.pay.PayCasebook;
 | |
| import com.ynxbd.common.bean.xbd.MRHistory;
 | |
| import com.ynxbd.common.bean.xbd.MedicalRecord;
 | |
| import com.ynxbd.common.dao.CasebookDao;
 | |
| import com.ynxbd.common.helper.common.CodeHelper;
 | |
| import com.ynxbd.common.helper.common.ImageHelper;
 | |
| import com.ynxbd.common.helper.common.JsonHelper;
 | |
| import com.ynxbd.common.helper.xbd.XBDHttpHelper;
 | |
| import com.ynxbd.common.helper.xbd.XBDEnum;
 | |
| import com.ynxbd.common.helper.xbd.XBDHelper;
 | |
| import com.ynxbd.common.result.Result;
 | |
| import com.ynxbd.common.result.ResultEnum;
 | |
| import com.ynxbd.common.service.CasebookService;
 | |
| import com.ynxbd.common.service.PayService;
 | |
| import lombok.extern.slf4j.Slf4j;
 | |
| import org.apache.struts2.convention.annotation.Action;
 | |
| import org.apache.struts2.convention.annotation.Namespace;
 | |
| 
 | |
| /**
 | |
|  * @author 李进才
 | |
|  * @ClassName XBDAction
 | |
|  * @Description description
 | |
|  * @date 2023/3/30 16:50
 | |
|  */
 | |
| 
 | |
| @Slf4j
 | |
| @Namespace("/xbd")
 | |
| public class XBDAction extends BaseAction {
 | |
| 
 | |
|     /**
 | |
|      * 获取智能云胶片的地址
 | |
|      * @param info patientId
 | |
|      * @return 路径
 | |
|      */
 | |
|     @Action("cloudFilm")
 | |
|     public Result cloudFilm (String info){
 | |
|         return Result.success(XBDHelper.outTeamDao.getCloudFilmPath(info));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 获取该病人已归档可以翻拍的病历
 | |
|      * @param patientId 病人id
 | |
|      * @return 可以翻拍的病历列表
 | |
|      */
 | |
|     @Action("getMedicalRecordList")
 | |
|     public Result getMedicalRecordList(String patientId){
 | |
|         String jsonString = XBDHttpHelper.ExecMethodGet(XBDEnum.BLSM_Appointment_GetBA.Name,params->{
 | |
|             params.put("patientID",patientId);
 | |
|             params.put("flagFP",0);
 | |
|             params.put("flagSH",1);
 | |
|         });
 | |
|         return Result.success(JsonHelper.parseArray(jsonString, MedicalRecord.class));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 获取该病人需要翻拍病历干啥的列表(用途)->直接绑定翻拍的病历类型
 | |
|      * @return 用途列表
 | |
|      */
 | |
|     @Action("getMRTemplateList")
 | |
|     public Result getMRTemplateList(){
 | |
|         String jsonString  = XBDHttpHelper.ExecMethodGet(XBDEnum.BLSM_Appointment_GetTemplate.Name);
 | |
|         return Result.success(JsonHelper.parseArray(jsonString));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 新增预约
 | |
|      * @param zyNum 住院号
 | |
|      * @param applyName 申请人姓名
 | |
|      * @param useToNo 模版ID
 | |
|      * @param useToName 模版名称
 | |
|      * @param getWay 0:自提 1:邮寄
 | |
|      * @param address 地址
 | |
|      * @param phone 联系电话
 | |
|      * @param ptImg1 身份证正面
 | |
|      * @param ptImg2 身份证反面
 | |
|      * @param applyImg 住院证明照片
 | |
|      * @return 成功行数
 | |
|      */
 | |
|     @Action("addMRReserve")
 | |
|     public Result addMRReserve(String openId,String patientId, String zyNum, String applyName, String useToNo, String useToName, int getWay, String address, String phone, String ptImg1, String ptImg2, String applyImg) {
 | |
|         try{
 | |
|             log.info("[病历复印]patientId-{},zyNum-{},applyName-{},useToNo-{},useToName-{},getWay-{},address-{},phone-{}",patientId,zyNum,applyName,useToNo,useToName,getWay,address,phone);
 | |
|             String jsonString = XBDHttpHelper.ExecMethodPost(XBDEnum.BLSM_Appointment_SetAppointment.Name,params -> {
 | |
|                 params.put("ZYNum", zyNum);
 | |
|                 params.put("ApplyName", applyName);
 | |
|                 params.put("UseToNo", useToNo);
 | |
|                 params.put("UseToName", useToName);
 | |
|                 params.put("GetWay", getWay);
 | |
|                 params.put("Address", address);
 | |
|                 params.put("Phone", phone);
 | |
|                 params.put("ptImg1", ptImg1);
 | |
|                 params.put("ptImg2", ptImg2);
 | |
|                 params.put("applyImg", applyImg);
 | |
|             });
 | |
|             PayCasebook payCasebook = new PayCasebook();
 | |
|             payCasebook.setZyNum(zyNum);
 | |
|             payCasebook.setApplyName(applyName);
 | |
|             payCasebook.setUseToNo(useToNo);
 | |
|             payCasebook.setUseToName(useToName);
 | |
|             payCasebook.setGetWay(getWay);
 | |
|             payCasebook.setAddress(address);
 | |
|             payCasebook.setPhone(phone);
 | |
|             if(!new CasebookService().addApply(payCasebook,openId,patientId)){
 | |
|                 log.info("[病历复印]下单信息存储失败 patientId={},openId-{},patientId-{}", patientId,openId,patientId);
 | |
|                 return Result.error(ResultEnum.SPECIFIED_QUESTIONED_USER_NOT_EXIST);
 | |
|             }
 | |
|             return Result.success(JsonHelper.parseObject(jsonString));
 | |
|         }
 | |
|         catch (Exception e) {
 | |
|             log.error("[病历复印申请]预约失败,error-{}",e.toString());
 | |
|             return Result.error(ResultEnum.ERROR);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 获取该病人的病历翻拍历史
 | |
|      * @param patientId 病人Id
 | |
|      * @return 历史记录
 | |
|      */
 | |
|     @Action("getMRHistory")
 | |
|     public Result getMRHistory(String patientId){
 | |
|         String jsonString = XBDHttpHelper.ExecMethodGet(XBDEnum.BLSM_Appointment_GetHistoryAppointment.Name,params->{
 | |
|             params.put("patientID",patientId);
 | |
|             params.put("BorrowNo",-1);
 | |
|         });
 | |
|         return  Result.success(JsonHelper.parseArray(jsonString, MRHistory.class));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 病案复印唤起支付
 | |
|      * @param payCode wx:微信
 | |
|      * @param openid 患者openId
 | |
|      * @param patientId 患者patientId
 | |
|      * @param treatNum 住院号
 | |
|      * @param totalFee 总费用
 | |
|      * @param applyId 申请单Id
 | |
|      * @return 支付回调参数
 | |
|      */
 | |
|     @Action("caseBookPay")
 | |
|     public Result caseBookPay( String payCode, String openid, String patientId, String treatNum, String totalFee,String applyId){
 | |
|         log.info("[病案复印] 唤起支付, payCode-{},openid-{},patientId-{},treatNum-{},totalFee-{}",payCode,openid,patientId,treatNum,totalFee);
 | |
|         MerchantEnum merchantEnum = MerchantEnum.getMerchantEnumByCode(payCode);
 | |
|         if (merchantEnum == null) { // 支付方式异常
 | |
|             return Result.error(ResultEnum.PAY_TYPE_ERROR);
 | |
|         }
 | |
|         String ip = request.getRemoteAddr();
 | |
|         return new CasebookService().placeOrder(merchantEnum,ip,openid,patientId,treatNum,totalFee,applyId);
 | |
|     }
 | |
| 
 | |
| //    /**
 | |
| //     * 病人修改病历的地址
 | |
| //     * @param id 申请单号
 | |
| //     * @param getWay 收货方式(0.自提 1.邮寄 2.电子版)
 | |
| //     * @param address 地址
 | |
| //     * @return 是否修改成功
 | |
| //     */
 | |
| //    @Action("changeMRAddress")
 | |
| //    public Result changeMRAddress(Integer id,String getWay,String address) {
 | |
| //        String jsonString = XBDHttpHelper.ExecMethodGet(XBDEnum.BLSM_Appointment_ChangeAddress.Name,params-> {
 | |
| //           params.put("Id",id);
 | |
| //           params.put("getWay",getWay);
 | |
| //           params.put("address",address);
 | |
| //        });
 | |
| //        return Result.success(JsonHelper.parseObject(jsonString));
 | |
| //    }
 | |
| //
 | |
| //    /**
 | |
| //     * 停止未通过审核的病历预约
 | |
| //     * @param id 申请单号
 | |
| //     * @param delNote 删除理由
 | |
| //     * @return 是否成功
 | |
| //     */
 | |
| //    @Action("stopMRReserve")
 | |
| //    public Result stopMRReserve(Integer id,String delNote){
 | |
| //        String jsonString = XBDHttpHelper.ExecMethodGet(XBDEnum.BLSM_Appointment_StopAppointment.Name,params-> {
 | |
| //           params.put("Id",id);
 | |
| //           params.put("delNote",delNote);
 | |
| //        });
 | |
| //        return Result.success(JsonHelper.parseObject(jsonString));
 | |
| //    }
 | |
| 
 | |
| }
 | |
| 
 |