From ad0a3dda774340f1b7d7e3ce2601b7951dc51b2b Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期五, 22 十一月 2024 11:06:52 +0800 Subject: [PATCH] 确费 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java | 2 + jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java | 2 + jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java | 34 +++++++++++++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java | 68 +++++++++++++++++++-------------- 4 files changed, 77 insertions(+), 29 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java index 7de494e..924cf0d 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java @@ -1,10 +1,12 @@ package cn.lihu.jh.module.ecg.controller.admin.devrent; import cn.lihu.jh.framework.common.util.exception.ExceptionUtils; +import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils; import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceDO; import cn.lihu.jh.module.ecg.enums.DevStateEnum; import cn.lihu.jh.module.ecg.service.devmanage.DeviceService; import cn.lihu.jh.module.ecg.service.queue.QueueService; +import io.swagger.v3.oas.models.security.SecurityScheme; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; @@ -263,4 +265,36 @@ devRentRespVO.setModel( deviceDO.getModel() ); return CommonResult.success(devRentRespVO); } + + // 纭垂 + @GetMapping("/fee-confirm") + @Operation(summary = "纭垂") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Integer> feeConfirm(@Valid Long rentId) { + Long userId = SecurityFrameworkUtils.getLoginUserId(); + String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + String userHisId = SecurityFrameworkUtils.getLoginUserHisId(); + + Integer result = devRentService.feeConfirm(rentId, userHisId, userNickname, true); + if (1 == result) + return CommonResult.error(result, "纭垂澶辫触"); + + return CommonResult.success(result); + } + + // 鍙栨秷纭垂 + @GetMapping("/fee-cancel") + @Operation(summary = "鍙栨秷纭垂") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Integer> feeCancel(@Valid Long rentId) { + Long userId = SecurityFrameworkUtils.getLoginUserId(); + String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + String userHisId = SecurityFrameworkUtils.getLoginUserHisId(); + + Integer result = devRentService.feeConfirm(rentId, userHisId, userNickname, false); + if (1 == result) + return CommonResult.error(result, "鍙栨秷纭垂澶辫触"); + + return CommonResult.success(result); + } } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java index 98400d7..8fd5047 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devrent/DevRentMapper.java @@ -71,4 +71,6 @@ "</script>") List<Integer> getPaidInfo(@Param("rentIdList")List<Long> rentIdList); + @Update("update lihu.dev_rent set paid = #{paid} where id = #{rentId};") + Integer setPaid(@Param("rentId") Long rentId, @Param("paid") Integer paid); } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java index 7cf55ef..58beb4d 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java @@ -137,4 +137,6 @@ DevRentDO getFreeRent(DevRentSearchReqVO searchReqVO); DevRentDO getReadyOrCancelledRent(DevRentSearchReqVO searchReqVO); DevRentDO getDismantledRent(DevRentSearchReqVO searchReqVO); + + Integer feeConfirm(Long rentId, String hisId, String userNickname, Boolean isFeeConfirmOrCancel); } \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java index 4f67a2b..c7bacba 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java @@ -9,6 +9,7 @@ import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordDO; import cn.lihu.jh.module.ecg.dal.dataobject.patient.PatDetails; import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO; +import cn.lihu.jh.module.ecg.dal.mysql.appointment.AppointmentMapper; import cn.lihu.jh.module.ecg.dal.mysql.devmanage.DeviceMapper; import cn.lihu.jh.module.ecg.dal.mysql.jobrecord.JobRecordMapper; import cn.lihu.jh.module.ecg.dal.mysql.queue.QueueMapper; @@ -87,7 +88,7 @@ String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); String userHisId = SecurityFrameworkUtils.getLoginUserHisId(); - // 鍚屾牱 鍦ㄩ绾︾‘璁ゆ椂 灏辫繘鍏� [dev_rent] 琛ㄤ簡 + // 鍦ㄩ绾︾‘璁ゆ椂 灏辫繘鍏� [dev_rent] 琛ㄤ簡 Long rent_id = createReqVO.getId(); List<Integer> jobTypeList = new ArrayList<Integer>(); @@ -166,6 +167,8 @@ public CommonResult<Long> readyOperation(DevRentSaveReqVO createReqVO) { Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + + // 鍦ㄩ绾︾‘璁ゆ椂 灏辫繘鍏� [dev_rent] 琛ㄤ簡 Long rent_id = createReqVO.getId(); // dev_rent 琛ㄧ殑ID // 鏍囨敞璁惧 宸查鍙� @@ -719,6 +722,41 @@ return devRentMapper.getRentByState(searchReqVO); } + // 纭垂澶勭悊 + @Override + public Integer feeConfirm(Long rentId, String hisId, String userNickname, Boolean isFeeConfirmOrCancel) { + DevRentDO devRentDO = devRentMapper.selectById(rentId); + PatDetails patDetails = devRentDO.getPatDetails(); + + HisFeeConfirmReqBody hisFeeConfirmReqBody = new HisFeeConfirmReqBody(); + MsgHeader msgHeader = new MsgHeader(); + msgHeader.setMsgType("ODS_2212"); + msgHeader.setMsgVersion("3.0"); + msgHeader.setSender("ECG"); + hisFeeConfirmReqBody.setMsgHeader(msgHeader); + Item item = new Item(); + item.setItemCode( getHisCheckCode(devRentDO.getCheckType()) ); // + item.setItemStatus( isFeeConfirmOrCancel? "5" : "6" ); // 5 纭垂 6 鍙栨秷纭垂 + item.setExeOrganization("47162057-2"); + item.setExeDeptName("蹇冪數绉�"); + item.setExeDept("蹇冪數绉�"); + item.setExeDoctor( hisId ); // + item.setExeDoctorName( userNickname ); // + item.setExeDateTime( getCurTimeString() ); // + ExmRequest exmRequest = new ExmRequest(); + exmRequest.setAuthorOrganization("47162057-2"); + exmRequest.setRequestId( patDetails.getApplyNo() ); // + exmRequest.setPatientType( getPatientType(patDetails.getSource()) ); // + exmRequest.setItem(item); + hisFeeConfirmReqBody.setExmRequest(exmRequest); + HisFeeConfirmRespResult result = remoteDataService.httpFeeApi("UpdateExmRequestStatus", "ECG", "ECG", hisFeeConfirmReqBody); + Integer returnValue = result.getMsgHeader().getStatus().equals("true") ? 0 : 1; + if (0 == returnValue) { + devRentMapper.setPaid(rentId, isFeeConfirmOrCancel ? 1 : 0); + } + return returnValue; + } + // 鏍囪 璁惧宸茶棰嗗彇 private Integer markDevRecieved(String devId, Long rentId, PatDetails patDetails) { // 璁惧鏍囨敞 宸查鍙� @@ -824,34 +862,6 @@ tmpQueueDO.setBedNo( bedInstallingQueueItem.getBedNo() ); // 浠� [棰嗙敤] 鍒� [瀹夎]锛� 鍙灔鍦ㄤ笉鍚屽伐浣嶄笂鎿嶄綔 queueMapper.updateById(tmpQueueDO); } - } - - private void feeConfirm(QueueDO queueItem, String hisId, String userNickname, Boolean isFeeConfirmOrCancel) { - PatDetails patDetails = queueItem.getPatDetails(); - - HisFeeConfirmReqBody hisFeeConfirmReqBody = new HisFeeConfirmReqBody(); - MsgHeader msgHeader = new MsgHeader(); - msgHeader.setMsgType("ODS_2212"); - msgHeader.setMsgVersion("3.0"); - msgHeader.setSender("ECG"); - hisFeeConfirmReqBody.setMsgHeader(msgHeader); - Item item = new Item(); - item.setItemCode( getHisCheckCode(queueItem.getBookCheckType()) ); // - item.setItemStatus( isFeeConfirmOrCancel? "5" : "6" ); // 5 纭垂 6 鍙栨秷纭垂 - item.setExeOrganization("47162057-2"); - item.setExeDeptName("蹇冪數绉�"); - item.setExeDept("蹇冪數绉�"); - item.setExeDoctor( hisId ); // - item.setExeDoctorName( userNickname ); // - item.setExeDateTime( getCurTimeString() ); // - ExmRequest exmRequest = new ExmRequest(); - exmRequest.setAuthorOrganization("47162057-2"); - exmRequest.setRequestId( patDetails.getApplyNo() ); // - exmRequest.setPatientType( getPatientType(patDetails.getSource()) ); // - exmRequest.setItem(item); - hisFeeConfirmReqBody.setExmRequest(exmRequest); - HisFeeConfirmRespResult result = remoteDataService.httpFeeApi("UpdateExmRequestStatus", "ECG", "ECG", hisFeeConfirmReqBody); - result.getMsgHeader().getStatus(); //TODO } private String getHisCheckCode(Integer checkType) { -- Gitblit v1.9.3