From 993f541fd4963fec71f199228f4b88471d804f80 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Tue, 2 Jul 2024 13:57:40 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E5=80=BC=EF=BC=8C=E6=99=AE=E8=80=97?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thrsys/ForThirdSysApiController.java | 69 ++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/controller/thrsys/ForThirdSysApiController.java b/src/main/java/com/glxp/api/controller/thrsys/ForThirdSysApiController.java index a880ecc4e..59484083b 100644 --- a/src/main/java/com/glxp/api/controller/thrsys/ForThirdSysApiController.java +++ b/src/main/java/com/glxp/api/controller/thrsys/ForThirdSysApiController.java @@ -1,23 +1,36 @@ package com.glxp.api.controller.thrsys; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.entity.auth.InvWarehouseEntity; +import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.forthird.ForInvOutScanCodeRequest; import com.glxp.api.req.inv.FilterInvProductRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.basic.UdiRlSupResponse; import com.glxp.api.res.forthird.ForInvOutScanCodeResponse; import com.glxp.api.res.inv.InvProductResponse; +import com.glxp.api.service.auth.InvWarehouseService; +import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.forthird.ForThirdSysApiService; +import com.glxp.api.service.inv.InvPreProductDetailService; +import com.glxp.api.service.inv.InvPreinProductDetailService; +import com.glxp.api.service.inv.impl.InvProductDetailService; +import com.glxp.api.util.udi.FilterUdiUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.Arrays; import java.util.List; @RestController @@ -25,9 +38,19 @@ public class ForThirdSysApiController { @Resource ForThirdSysApiService forThirdSysApiService; + @Resource + InvWarehouseService invWarehouseService; + @Resource + InvPreinProductDetailService invPreinProductDetailService; + @Resource + InvPreProductDetailService invPreProductDetailService; + @Resource + InvProductDetailService invProductDetailService; + @Resource + UdiRelevanceService udiRelevanceService; /** - * B001 查询指定科室高值/普耗库存 + * B001 查询指定普耗库存 * * @param filterInvProductRequest * @return @@ -42,6 +65,50 @@ public class ForThirdSysApiController { return ResultVOUtils.success(pageSimpleResponse); } + /** + * B001 查询指定科室高值 + * + * @param filterInvProductRequest + * @return + */ + @PostMapping("/forThirdSysApi/inv/high/products/filter") + public BaseResponse invHighProductsFilter(@RequestBody FilterInvProductRequest filterInvProductRequest) { + if (ObjectUtil.isNull(filterInvProductRequest)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + int count = 0; + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterInvProductRequest.getUdiCode()); + List udiRelevanceResponses = null; + udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(udiEntity.getUdi(), false); + if (udiRelevanceResponses.size() == 0) { + return ResultVOUtils.error("收费项目未对照!"); + } + //1.获取预验收库存 + InvWarehouseEntity preInInv = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_PREIN); + if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) { + count = invPreinProductDetailService.vailStockCountByCode(null, preInInv.getCode(), null, filterInvProductRequest.getUdiCode()); + } else + count = invPreinProductDetailService.vailStockCount(udiRelevanceResponses.get(0).getRelId(), udiEntity.getBatchNo(), null, null, preInInv.getCode(), null); + + + //2.获取寄售库存 + InvWarehouseEntity preInv = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_ADVANCE); + count = invPreProductDetailService.vailStockCount(udiRelevanceResponses.get(0).getRelId(), udiEntity.getBatchNo(), null, null, preInv.getCode(), null); + + //3.获取入账库库存 + count = invProductDetailService.vailStockCount(udiRelevanceResponses.get(0).getRelId(), udiEntity.getBatchNo(), null, null, filterInvProductRequest.getInvCode(), null, true); + + InvProductResponse invProductResponse = new InvProductResponse(); + BeanUtil.copyProperties(udiRelevanceResponses.get(0), invProductResponse); + invProductResponse.setReCount(count); + + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(1); + pageSimpleResponse.setList(Arrays.asList(invProductResponse)); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** * B002 查询耗材字典 *