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.
		
		
		
		
			
				
					189 lines
				
				7.3 KiB
			
		
		
			
		
	
	
					189 lines
				
				7.3 KiB
			| 
											2 years ago
										 | 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));
 | ||
|  | //    }
 | ||
|  | 
 | ||
|  | }
 |