diff --git a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java index b488215d6..001b86f8a 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java @@ -2,6 +2,7 @@ package com.glxp.api.controller.basic; import cn.hutool.core.bean.BeanUtil; import com.glxp.api.constant.Constant; +import com.glxp.api.dto.DictDto; import com.glxp.api.service.auth.InvWarehouseService; import org.springframework.beans.BeanUtils; import cn.hutool.core.collection.CollUtil; @@ -51,6 +52,7 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * 单据类型接口 @@ -271,6 +273,58 @@ public class BasicBussinessTypeController extends BaseController { } + @AuthRuleAnnotation("") + @GetMapping("/udiwms/localBusType/filterJoinByUserOptimize") + public BaseResponse filterJoinByUserOptimize(FilterBussinessTypeRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + List reList = new ArrayList<>(); + if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getVueType())) { + List result = new ArrayList<>(); + List bussinessTypeEntities = basicBussinessTypeService.findByVueType(bussinessTypeFilterRequest.getVueType()); + if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getInvCode()) || StrUtil.isNotEmpty(bussinessTypeFilterRequest.getCode())) { + //过滤是否是当前仓库底下单据类型 + FilterBussinessTypeRequest tempRequest = new FilterBussinessTypeRequest(); + tempRequest.setCode(bussinessTypeFilterRequest.getCode()); + tempRequest.setInvCode(bussinessTypeFilterRequest.getInvCode()); + tempRequest.setMainAction(bussinessTypeFilterRequest.getMainAction()); + List bussinessTypeResponses = basicBussinessTypeService.filterJoinByInv(tempRequest); + if (CollUtil.isNotEmpty(bussinessTypeResponses)) { + for (BasicBussinessTypeResponse bussinessTypExportResponse : bussinessTypeResponses) { + for (BasicBussinessTypeEntity basicBussinessTypeEntity : bussinessTypeEntities) { + if (bussinessTypExportResponse.getAction().equals(basicBussinessTypeEntity.getAction())) { + result.add(basicBussinessTypeEntity); + } + } + } + + } + } else { + result.addAll(bussinessTypeEntities); + } + + reList = result.stream().map(s-> { + DictDto dictDto = new DictDto(s.getAction(),s.getName()); + return dictDto; + }).collect(Collectors.toList()); + } else { + + List bussinessTypeEntities; + //判断是否是医院用户 + bussinessTypeFilterRequest.setUserId(getUserId()); + bussinessTypeEntities = basicBussinessTypeService.filterJoinByUser( + bussinessTypeFilterRequest); + + reList = bussinessTypeEntities.stream().map(s-> { + DictDto dictDto = new DictDto(s.getAction(),s.getName()); + return dictDto; + }).collect(Collectors.toList()); + + } + return ResultVOUtils.success(reList); + + } + + /** * 删除单据类型 *