From 07b600920316abbdaadec997ec90d4169817fc49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 12 Jun 2023 16:19:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E8=B5=84=E7=B1=BB=E5=88=AB=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BB=A3=E7=A0=81=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/BasicProductCategoryController.java | 216 ++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java diff --git a/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java b/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java new file mode 100644 index 000000000..e90ca2458 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java @@ -0,0 +1,216 @@ +package com.glxp.api.controller.basic; + + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.Log; +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.BusinessType; +import com.glxp.api.entity.basic.BasicHospTypeEntity; +import com.glxp.api.entity.basic.BasicProductCategory; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.req.basic.BasicHospTypeFilterRequest; +import com.glxp.api.req.basic.BasicHospTypeRequest; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.BasicHospTypeResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.service.basic.BasicHospTypeService; +import com.glxp.api.service.basic.BasicProductCategoryService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.util.StringUtils; +import com.glxp.api.util.udi.FilterUdiUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +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 java.util.List; + +@RestController +public class BasicProductCategoryController { + + @Resource + BasicHospTypeService basicHospTypeService; + @Resource + BasicProductCategoryService basicProductCategoryService; + + + @GetMapping("/udiwms/basic/product/category/filter") + public BaseResponse filterBasicUnitMaintain(BasicHospTypeFilterRequest basicHospTypeFilterRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List basicHospTypeEntities = basicHospTypeService.filterHospTypeList(basicHospTypeFilterRequest); + PageInfo pageInfo = new PageInfo<>(basicHospTypeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(basicHospTypeEntities); + + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udiwms/basic/product/category/selectList") + public BaseResponse menuList(@RequestBody BasicHospTypeFilterRequest basicHospTypeFilterRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List basicHospTypeEntities = basicHospTypeService.getMenuList(basicHospTypeFilterRequest); + return ResultVOUtils.success(basicHospTypeEntities); + } + + @PostMapping("/udiwms/basic/product/category/menuAllList") + public BaseResponse menuAllList(@RequestBody BasicHospTypeFilterRequest basicHospTypeFilterRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List basicHospTypeEntities = basicHospTypeService.getAllMenuList(basicHospTypeFilterRequest); + return ResultVOUtils.success(basicHospTypeEntities); + } + + @GetMapping("/udiwms/basic/product/category/getOneName") + public BaseResponse getOneName() { + + BasicHospTypeEntity basicHospTypeEntities = basicHospTypeService.selectBasicHospTypeEntity(); + return ResultVOUtils.success(basicHospTypeEntities); + } + + @PostMapping("/udiwms/basic/product/category/save") + public BaseResponse save(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + if(StrUtil.isEmpty(basicHospTypeRequest.getName())){ + return ResultVOUtils.error(999, "名字不能为空!"); + } + + Boolean falg=basicHospTypeService.checkName(basicHospTypeRequest,1); + if(falg==false){ + return ResultVOUtils.error(999, "院内分类名字已存在!"); + } + + falg = basicHospTypeService.saveBasicHospType(basicHospTypeRequest); + if (!falg) { + return ResultVOUtils.error(999, "插入失败!"); + } + return ResultVOUtils.success(); + } + + + @PostMapping("/udiwms/basic/product/category/update") + @Log(title = "单据管理", businessType = BusinessType.UPDATE) + public BaseResponse update(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if(StrUtil.isEmpty(basicHospTypeRequest.getName())){ + return ResultVOUtils.error(999, "名字不能为空!"); + } + + if(basicHospTypeRequest.getCode().equals(basicHospTypeRequest.getParentCode())){ + return ResultVOUtils.error(999, "上级菜单不能选择自己!"); + } + + Boolean falg=basicHospTypeService.checkName(basicHospTypeRequest,2); + if(falg==false){ + return ResultVOUtils.error(999, "院内分类名字已存在!"); + } + + falg = basicHospTypeService.updateBasicHospType(basicHospTypeRequest); + if (!falg) { + return ResultVOUtils.error(999, "更新失败!"); + } + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/basic/product/category/delect") + @Log(title = "单据管理", businessType = BusinessType.DELETE) + public BaseResponse delect(BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String msg = basicHospTypeService.delectBasicHospType(basicHospTypeRequest); + + if (StringUtils.isNotBlank(msg)) { + return ResultVOUtils.error(999, msg); + } + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/basic/product/category/getTree") + public BaseResponse getTree() { + List basicHospTypeEntities = basicHospTypeService.getTreeList(); + return ResultVOUtils.success(basicHospTypeEntities); + } + + @PostMapping("/udiwms/basic/product/category/bindRel") + public BaseResponse saveRel(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + Boolean falg = basicHospTypeService.bindHospProduct(basicHospTypeRequest); + return ResultVOUtils.success(); + } + + @Resource + UdiRelevanceService udiRelevanceService; + + @GetMapping("/udiwms/basic/product/category/bindList") + public BaseResponse bindList(FilterUdiRelRequest filterUdiRelRequest) { + + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); + if (udiEntity != null) { + filterUdiRelRequest.setNameCode(udiEntity.getUdi()); + filterUdiRelRequest.setUnionCode(udiEntity.getUdi()); + } + } + //如果输入DI标识,精确找到不同层级对应的产品信息 + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) { + FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); + filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode()); + List temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid()); + filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode()); + filterUdiRelRequest.setUnionCode(null); + } + } else { + //只查找主标识产品信息 + filterUdiRelRequest.setDiType(1); + } + List udiRelevanceResponses = basicHospTypeService.filterUdiGp(filterUdiRelRequest); + PageInfo pageInfo = new PageInfo<>(udiRelevanceResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiRelevanceResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("/udiwms/basic/product/category/unbindRel") + @Log(title = "单据管理", businessType = BusinessType.UPDATE) + public BaseResponse unbindRel(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + Boolean falg = basicHospTypeService.unbindHospProduct(basicHospTypeRequest); + return ResultVOUtils.success(); + } + +}