package com.glxp.api.controller.basic; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity; import com.glxp.api.entity.basic.BasicSkSickerEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.basic.BasicSkPrescribeDiRequest; import com.glxp.api.req.basic.GetSickPrescribeRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.BasicSkPrescribeDiResponse; import com.glxp.api.service.BasicSkPrescribeDiService; import com.glxp.api.service.basic.BasicSkPrescribeService; import com.glxp.api.service.basic.BasicSkSickerService; import com.glxp.api.service.inout.IoAddInoutService; import com.glxp.api.service.inout.IoCheckInoutService; import com.glxp.api.service.inout.IoOrderDetailCodeService; import com.glxp.api.service.inout.IoOrderService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; @RestController public class BasicSickPrescribeDiController { @Resource BasicSkPrescribeDiService basicSkPrescribeDiService; @Resource BasicSkPrescribeService basicSkPrescribeService; @Resource BasicSkSickerService basicSkSickerService; @Resource IoAddInoutService addInoutService; @Resource IoCheckInoutService checkInoutService; /** * 获取处方使用耗材详情 * * @return */ @GetMapping("/udiwms/basic/sk/prescribe/di/filter") public BaseResponse filterSicker(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest) { List basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest); PageInfo pageInfo = new PageInfo<>(basicSkPrescribeResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(basicSkPrescribeResponses); return ResultVOUtils.success(pageSimpleResponse); } /** * 获取处方校验详情 * * @return */ @GetMapping("/udiwms/basic/sk/prescribe/check") public BaseResponse checkPrescribe(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest) { List basicSkPrescribeDiEntities; if (StrUtil.isEmpty(basicSkPrescribeDiRequest.getAdNum())) return ResultVOUtils.error(500, "病人住院信息"); if (StrUtil.isEmpty(basicSkPrescribeDiRequest.getBillNo())) { basicSkPrescribeDiEntities = basicSkPrescribeDiService.findBySkAdNum(basicSkPrescribeDiRequest.getAdNum()); return ResultVOUtils.success(basicSkPrescribeDiEntities); } List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(basicSkPrescribeDiRequest.getBillNo()); IoOrderEntity orderEntity = orderService.findByBillNo(basicSkPrescribeDiRequest.getBillNo()); basicSkPrescribeDiEntities = checkInoutService.checkPrescirbe(orderDetailCodeEntities, orderEntity); return ResultVOUtils.success(basicSkPrescribeDiEntities); } @Resource IoOrderDetailCodeService orderDetailCodeService; @Resource IoOrderService orderService; /** * 下载并返回处方信息 */ @GetMapping("/udiwms/basic/sk/prescribe/di/dlOrFilter") public BaseResponse filterOrDlSickDi(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest) { if (StrUtil.isEmpty(basicSkPrescribeDiRequest.getAdNum())) return ResultVOUtils.error(500, "病人住院信息"); List basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest); if (CollUtil.isEmpty(basicSkPrescribeResponses)) { BasicSkSickerEntity basicSkSickerEntity = basicSkSickerService.findByAdNum(basicSkPrescribeDiRequest.getAdNum()); GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest(); getSickPrescribeRequest.setSickCode(basicSkSickerEntity.getCode()); getSickPrescribeRequest.setAdNum(basicSkSickerEntity.getAdNum()); basicSkPrescribeService.downloadSickerPrescribe(getSickPrescribeRequest); basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest); } PageInfo pageInfo = new PageInfo<>(basicSkPrescribeResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(basicSkPrescribeResponses); return ResultVOUtils.success(pageSimpleResponse); } }