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.
udi-wms-java/src/main/java/com/glxp/api/controller/basic/BasicSickPrescribeDiControl...

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);
}
}