Commit 8a1a8886 by zhu.zewen

新增查询药品列表接口

parent bfe2c0d7
package com.jmai.physic.controller; package com.jmai.physic.controller;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jmai.physic.alihealth.AlihealthService; import com.jmai.physic.alihealth.AlihealthService;
import com.jmai.physic.dto.*; import com.jmai.physic.dto.*;
import com.jmai.physic.entity.PhysicDestroy;
import com.jmai.physic.entity.PhysicWarehouse;
import com.jmai.physic.service.PhysicWarehouseService; import com.jmai.physic.service.PhysicWarehouseService;
import com.jmai.physic.vo.PhysicAmpouleUseVO;
import com.jmai.physic.vo.PhysicLossVO; import com.jmai.physic.vo.PhysicLossVO;
import com.jmai.physic.vo.PhysicVO;
import com.jmai.physic.vo.PhysicWarehouseVO; import com.jmai.physic.vo.PhysicWarehouseVO;
import com.jmai.sys.AbstractService; import com.jmai.sys.AbstractService;
import com.jmai.sys.aop.Auth; import com.jmai.sys.aop.Auth;
...@@ -25,7 +21,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -25,7 +21,6 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List; import java.util.List;
import java.util.Optional;
@Slf4j @Slf4j
@Auth @Auth
...@@ -43,7 +38,7 @@ public class PhysicWarehouseController extends AbstractService { ...@@ -43,7 +38,7 @@ public class PhysicWarehouseController extends AbstractService {
@GetMapping("/getPhysicInfo") @GetMapping("/getPhysicInfo")
@ApiOperation(value = "查询药品信息") @ApiOperation(value = "查询药品信息")
public ResponseData getPhysicInfo(@RequestParam String code) { public ResponseData<PhysicInfoDTO> getPhysicInfo(@RequestParam String code) {
PhysicInfoDTO physicInfoDTO = alihealthService.getPhysicInfo(code); PhysicInfoDTO physicInfoDTO = alihealthService.getPhysicInfo(code);
return ResponseData.ok(physicInfoDTO); return ResponseData.ok(physicInfoDTO);
} }
...@@ -95,4 +90,10 @@ public class PhysicWarehouseController extends AbstractService { ...@@ -95,4 +90,10 @@ public class PhysicWarehouseController extends AbstractService {
public IPage<PhysicWarehouseVO> listPage(@RequestBody PhysicWarehouseQueryReq req) { public IPage<PhysicWarehouseVO> listPage(@RequestBody PhysicWarehouseQueryReq req) {
return physicWarehouseService.listPage(req); return physicWarehouseService.listPage(req);
} }
@PostMapping("/listPhysic")
@ApiOperation(value = "查询药品列表")
public IPage<PhysicVO> listPhysic(@RequestBody PhysicQueryReq req) {
return physicWarehouseService.listPhysic(req);
}
} }
package com.jmai.physic.dto;
import com.jmai.sys.dto.PageReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("药品查询参数")
public class PhysicQueryReq extends PageReq {
@ApiModelProperty("关键字")
private String keyword;
@ApiModelProperty(value = "药品名称")
private String physicName;
@ApiModelProperty(value = "药品类型")
private String physicType;
@ApiModelProperty(value = "药品规格")
private String physicSpec;
// @ApiModelProperty(value = "单位")
// private String unit;
@ApiModelProperty(value = "厂家名称")
private String factoryName;
@ApiModelProperty(value = "失效时间")
private String expireDate;
@ApiModelProperty(value = "凭证号")
private String voucherNo;
@ApiModelProperty(value = "批号")
private String batchNo;
@ApiModelProperty(value = "供应商")
private String supplyName;
@ApiModelProperty(value = "状态")
private Integer status;
}
...@@ -2,11 +2,13 @@ package com.jmai.physic.service; ...@@ -2,11 +2,13 @@ package com.jmai.physic.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jmai.physic.dto.PhysicQueryReq;
import com.jmai.physic.dto.PhysicWarehouseCreateReq; import com.jmai.physic.dto.PhysicWarehouseCreateReq;
import com.jmai.physic.dto.PhysicWarehouseQueryReq; import com.jmai.physic.dto.PhysicWarehouseQueryReq;
import com.jmai.physic.dto.PhysicWarehouseSignReq; import com.jmai.physic.dto.PhysicWarehouseSignReq;
import com.jmai.physic.entity.PhysicWarehouse; import com.jmai.physic.entity.PhysicWarehouse;
import com.jmai.physic.vo.PhysicLossVO; import com.jmai.physic.vo.PhysicLossVO;
import com.jmai.physic.vo.PhysicVO;
import com.jmai.physic.vo.PhysicWarehouseVO; import com.jmai.physic.vo.PhysicWarehouseVO;
import java.util.List; import java.util.List;
...@@ -25,4 +27,6 @@ public interface PhysicWarehouseService { ...@@ -25,4 +27,6 @@ public interface PhysicWarehouseService {
List<PhysicLossVO> analysis(); List<PhysicLossVO> analysis();
IPage<PhysicWarehouseVO> listPage(PhysicWarehouseQueryReq req); IPage<PhysicWarehouseVO> listPage(PhysicWarehouseQueryReq req);
IPage<PhysicVO> listPhysic(PhysicQueryReq req);
} }
package com.jmai.physic.service.impl; package com.jmai.physic.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jmai.api.exception.ServiceException; import com.jmai.api.exception.ServiceException;
import com.jmai.physic.cloudsign.CloudsignService; import com.jmai.physic.cloudsign.CloudsignService;
...@@ -17,6 +19,7 @@ import com.jmai.physic.service.PhysicBillService; ...@@ -17,6 +19,7 @@ import com.jmai.physic.service.PhysicBillService;
import com.jmai.physic.service.PhysicWarehouseService; import com.jmai.physic.service.PhysicWarehouseService;
import com.jmai.physic.vo.PhysicAmpouleUseVO; import com.jmai.physic.vo.PhysicAmpouleUseVO;
import com.jmai.physic.vo.PhysicLossVO; import com.jmai.physic.vo.PhysicLossVO;
import com.jmai.physic.vo.PhysicVO;
import com.jmai.physic.vo.PhysicWarehouseVO; import com.jmai.physic.vo.PhysicWarehouseVO;
import com.jmai.sys.AbstractService; import com.jmai.sys.AbstractService;
import com.jmai.sys.consts.enums.RoleTypeEum; import com.jmai.sys.consts.enums.RoleTypeEum;
...@@ -203,4 +206,47 @@ public class PhysicWarehouseServiceImpl extends AbstractService implements Phys ...@@ -203,4 +206,47 @@ public class PhysicWarehouseServiceImpl extends AbstractService implements Phys
return page; return page;
} }
@Override
public IPage<PhysicVO> listPhysic(PhysicQueryReq req) {
LambdaQueryWrapper<PhysicWarehouse> query = Wrappers.lambdaQuery(PhysicWarehouse.class)
// TODO:按部门过滤
// .eq(PhysicWarehouse::getDeptId, SpringContextUtils.getDeptId())
.like(ObjectUtil.isNotEmpty(req.getPhysicName()), PhysicWarehouse::getPhysicName, req.getPhysicName())
.like(ObjectUtil.isNotEmpty(req.getPhysicType()), PhysicWarehouse::getPhysicType, req.getPhysicType())
.like(ObjectUtil.isNotEmpty(req.getPhysicSpec()), PhysicWarehouse::getPhysicSpec, req.getPhysicSpec())
.like(ObjectUtil.isNotEmpty(req.getFactoryName()), PhysicWarehouse::getFactoryName, req.getFactoryName())
.like(ObjectUtil.isNotEmpty(req.getExpireDate()), PhysicWarehouse::getExpireDate, req.getExpireDate())
.like(ObjectUtil.isNotEmpty(req.getVoucherNo()), PhysicWarehouse::getVoucherNo, req.getVoucherNo())
.like(ObjectUtil.isNotEmpty(req.getBatchNo()), PhysicWarehouse::getBatchNo, req.getBatchNo())
.like(ObjectUtil.isNotEmpty(req.getSupplyName()), PhysicWarehouse::getSupplyName, req.getSupplyName())
.eq(ObjectUtil.isNotEmpty(req.getStatus()), PhysicWarehouse::getStatus, req.getStatus());
// 关键字模糊查询
if (ObjectUtil.isNotEmpty(req.getKeyword())) {
query.and(wrapper -> wrapper
.like(PhysicWarehouse::getPhysicName, req.getKeyword())
.or().like(PhysicWarehouse::getPhysicType, req.getKeyword())
.or().like(PhysicWarehouse::getPhysicSpec, req.getKeyword())
.or().like(PhysicWarehouse::getFactoryName, req.getKeyword())
.or().like(PhysicWarehouse::getExpireDate, req.getKeyword())
.or().like(PhysicWarehouse::getVoucherNo, req.getKeyword())
.or().like(PhysicWarehouse::getBatchNo, req.getKeyword())
.or().like(PhysicWarehouse::getSupplyName, req.getKeyword())
);
}
IPage<PhysicWarehouse> page = buildEmptyPage(req);
page = physicWarehouseMapper.selectPage(page, query);
return convertTo(page, this::convertTo);
}
private PhysicVO convertTo(PhysicWarehouse bo) {
PhysicVO vo = new PhysicVO();
copyTo(bo, vo);
return vo;
}
} }
package com.jmai.physic.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "PhysicVO", description = "药品信息")
public class PhysicVO {
@ApiModelProperty(value = "药品名称")
private String physicName;
@ApiModelProperty(value = "药品类型")
private String physicType;
@ApiModelProperty(value = "药品规格")
private String physicSpec;
@ApiModelProperty(value = "单位")
private String unit;
@ApiModelProperty(value = "厂家名称")
private String factoryName;
@ApiModelProperty(value = "失效时间")
private String expireDate;
@ApiModelProperty(value = "凭证号")
private String voucherNo;
@ApiModelProperty(value = "批号")
private String batchNo;
@ApiModelProperty(value = "供应商")
private String supplyName;
@ApiModelProperty(value = "状态")
private Integer status;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment