You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
5.0 KiB
Java
115 lines
5.0 KiB
Java
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<BasicSkPrescribeDiResponse> basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest);
|
|
PageInfo<BasicSkPrescribeDiResponse> pageInfo = new PageInfo<>(basicSkPrescribeResponses);
|
|
PageSimpleResponse<BasicSkPrescribeDiResponse> 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<BasicSkPrescribeDiResponse> 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<IoOrderDetailCodeEntity> 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<BasicSkPrescribeDiResponse> 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<BasicSkPrescribeDiResponse> pageInfo = new PageInfo<>(basicSkPrescribeResponses);
|
|
PageSimpleResponse<BasicSkPrescribeDiResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
pageSimpleResponse.setList(basicSkPrescribeResponses);
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
|
|
|
|
}
|