From 9f65dda33ce3e0658ed299ccc169cfbc65453395 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sun, 23 Apr 2023 16:14:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E8=B5=84=E5=88=86=E7=B1=BB=E5=B8=A6?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 1 + .../basic/BasicHospTypeController.java | 103 ++++++++++++---- .../glxp/api/dao/basic/BasicHospTypeDao.java | 4 +- .../req/basic/BasicHospTypeFilterRequest.java | 4 +- .../service/basic/BasicHospTypeService.java | 4 + .../basic/impl/BasicHospTypeServiceImpl.java | 114 ++++++++++++------ .../java/com/glxp/api/task/SyncHeartTask.java | 4 +- .../mybatis/mapper/basic/BasicHospTypeDao.xml | 22 +++- 8 files changed, 190 insertions(+), 66 deletions(-) diff --git a/pom.xml b/pom.xml index 53b37571f..b991aa148 100644 --- a/pom.xml +++ b/pom.xml @@ -411,6 +411,7 @@ **/*.xml + src/main/resources diff --git a/src/main/java/com/glxp/api/controller/basic/BasicHospTypeController.java b/src/main/java/com/glxp/api/controller/basic/BasicHospTypeController.java index a3867833d..b6a9c6dfa 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicHospTypeController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicHospTypeController.java @@ -1,11 +1,15 @@ 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.UdiEntity; import com.glxp.api.req.basic.BasicHospTypeFilterRequest; import com.glxp.api.req.basic.BasicHospTypeRequest; import com.glxp.api.req.basic.FilterUdiRelRequest; @@ -13,7 +17,9 @@ 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.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; @@ -30,15 +36,13 @@ public class BasicHospTypeController { BasicHospTypeService basicHospTypeService; - - @GetMapping("/udiwms/basic/hosp/type/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); + List basicHospTypeEntities = basicHospTypeService.filterHospTypeList(basicHospTypeFilterRequest); PageInfo pageInfo = new PageInfo<>(basicHospTypeEntities); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); @@ -47,81 +51,133 @@ public class BasicHospTypeController { return ResultVOUtils.success(pageSimpleResponse); } - @GetMapping("/udiwms/basic/hosp/type/menuList") - public BaseResponse menuList(BasicHospTypeFilterRequest basicHospTypeFilterRequest, BindingResult bindingResult) { + @PostMapping("/udiwms/basic/hosp/type/menuList") + 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); + List basicHospTypeEntities = basicHospTypeService.getMenuList(basicHospTypeFilterRequest); + return ResultVOUtils.success(basicHospTypeEntities); + } + + @GetMapping("/udiwms/basic/hosp/type/getOneName") + public BaseResponse getOneName() { + BasicHospTypeEntity basicHospTypeEntities = basicHospTypeService.selectBasicHospTypeEntity(); return ResultVOUtils.success(basicHospTypeEntities); } @PostMapping("/udiwms/basic/hosp/type/save") - public BaseResponse save(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + public BaseResponse save(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - Boolean falg=basicHospTypeService.saveBasicHospType(basicHospTypeRequest); - if(!falg){ - return ResultVOUtils.error(999,"插入失败!"); + 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/hosp/type/update") - public BaseResponse update(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + @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, "院内分类名字已存在!"); + } - Boolean falg=basicHospTypeService.updateBasicHospType(basicHospTypeRequest); - if(!falg){ - return ResultVOUtils.error(999,"更新失败!"); + falg = basicHospTypeService.updateBasicHospType(basicHospTypeRequest); + if (!falg) { + return ResultVOUtils.error(999, "更新失败!"); } return ResultVOUtils.success(); } @GetMapping("/udiwms/basic/hosp/type/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); + String msg = basicHospTypeService.delectBasicHospType(basicHospTypeRequest); - if (StringUtils.isNotBlank(msg)){ - return ResultVOUtils.error(999,msg); + if (StringUtils.isNotBlank(msg)) { + return ResultVOUtils.error(999, msg); } return ResultVOUtils.success(); } @GetMapping("/udiwms/basic/hosp/type/getTree") public BaseResponse getTree() { - List basicHospTypeEntities=basicHospTypeService.getTreeList(); + List basicHospTypeEntities = basicHospTypeService.getTreeList(); return ResultVOUtils.success(basicHospTypeEntities); } @PostMapping("/udiwms/basic/hosp/type/bindRel") - public BaseResponse saveRel(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + 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); + Boolean falg = basicHospTypeService.bindHospProduct(basicHospTypeRequest); return ResultVOUtils.success(); } + @Resource + UdiRelevanceService udiRelevanceService; + @GetMapping("/udiwms/basic/hosp/type/bindList") public BaseResponse bindList(FilterUdiRelRequest filterUdiRelRequest) { - filterUdiRelRequest.setDiType(1); + 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<>(); @@ -132,13 +188,14 @@ public class BasicHospTypeController { @PostMapping("/udiwms/basic/hosp/type/unbindRel") - public BaseResponse unbindRel(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + @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); + Boolean falg = basicHospTypeService.unbindHospProduct(basicHospTypeRequest); return ResultVOUtils.success(); } diff --git a/src/main/java/com/glxp/api/dao/basic/BasicHospTypeDao.java b/src/main/java/com/glxp/api/dao/basic/BasicHospTypeDao.java index af66599e2..9b15e6b21 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicHospTypeDao.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicHospTypeDao.java @@ -15,5 +15,7 @@ public interface BasicHospTypeDao extends BaseMapperPlus getTreeList(); + List selectLowTypeAll(@Param("code") String code); -} \ No newline at end of file + +} diff --git a/src/main/java/com/glxp/api/req/basic/BasicHospTypeFilterRequest.java b/src/main/java/com/glxp/api/req/basic/BasicHospTypeFilterRequest.java index 03edcedd1..23a2a8415 100644 --- a/src/main/java/com/glxp/api/req/basic/BasicHospTypeFilterRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BasicHospTypeFilterRequest.java @@ -9,5 +9,7 @@ import java.util.List; @Data public class BasicHospTypeFilterRequest extends ListPageRequest { - private String name; + private String name; + private Integer type; + private String code; } diff --git a/src/main/java/com/glxp/api/service/basic/BasicHospTypeService.java b/src/main/java/com/glxp/api/service/basic/BasicHospTypeService.java index 2f6e3963c..040c41895 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicHospTypeService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicHospTypeService.java @@ -17,6 +17,8 @@ public interface BasicHospTypeService extends IService { List getMenuList(BasicHospTypeFilterRequest basicHospTypeFilterRequest); + BasicHospTypeEntity selectBasicHospTypeEntity(); + Boolean saveBasicHospType(BasicHospTypeRequest basicHospTypeRequest); boolean updateBasicHospType(BasicHospTypeRequest basicHospTypeRequest); @@ -31,5 +33,7 @@ public interface BasicHospTypeService extends IService { List filterUdiGp(FilterUdiRelRequest filterUdiRelRequest); + Boolean checkName(BasicHospTypeRequest basicHospTypeRequest, Integer type); + } diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicHospTypeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicHospTypeServiceImpl.java index 7c14d28ab..768db3af6 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicHospTypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicHospTypeServiceImpl.java @@ -17,15 +17,18 @@ import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.basic.BasicHospTypeService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service -public class BasicHospTypeServiceImpl extends ServiceImpl implements BasicHospTypeService { +@Transactional(rollbackFor = Exception.class) +public class BasicHospTypeServiceImpl extends ServiceImpl implements BasicHospTypeService { @Resource BasicHospTypeDao basicHospTypeDao; @@ -38,8 +41,6 @@ public class BasicHospTypeServiceImpl extends ServiceImpl filterHospTypeList(BasicHospTypeFilterRequest basicHospTypeFilterRequest) { if (basicHospTypeFilterRequest == null) { @@ -49,9 +50,9 @@ public class BasicHospTypeServiceImpl extends ServiceImpl ew=new QueryWrapper<>(); - if (StrUtil.isNotEmpty(basicHospTypeFilterRequest.getName())){ - ew.like("name",basicHospTypeFilterRequest.getName()); + QueryWrapper ew = new QueryWrapper<>(); + if (StrUtil.isNotEmpty(basicHospTypeFilterRequest.getName())) { + ew.like("name", basicHospTypeFilterRequest.getName()); } List data = basicHospTypeDao.selectList(ew); return data; @@ -59,51 +60,65 @@ public class BasicHospTypeServiceImpl extends ServiceImpl getMenuList(BasicHospTypeFilterRequest basicHospTypeFilterRequest) { - QueryWrapper ew=new QueryWrapper<>(); + + QueryWrapper ew = new QueryWrapper<>(); + ew.ne("code", 10000); + if (basicHospTypeFilterRequest.getType() != null && basicHospTypeFilterRequest.getType() == 1 && StrUtil.isNotEmpty(basicHospTypeFilterRequest.getCode())) { + List basicHospTypeEntityList = basicHospTypeDao.selectLowTypeAll(basicHospTypeFilterRequest.getCode()); + List ids = basicHospTypeEntityList.stream().map(BasicHospTypeEntity::getId).collect(Collectors.toList()); + ew.notIn("id", ids); + } List data = basicHospTypeDao.selectList(ew); return data; } + @Override + public BasicHospTypeEntity selectBasicHospTypeEntity() { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("code", 10000); + return basicHospTypeDao.selectOne(ew); + } + @Override public Boolean saveBasicHospType(BasicHospTypeRequest basicHospTypeRequest) { - boolean falg=true; - BasicHospTypeEntity basicHospTypeEntity=new BasicHospTypeEntity(); + boolean falg = true; + BasicHospTypeEntity basicHospTypeEntity = new BasicHospTypeEntity(); basicHospTypeEntity.setCreateTime(new Date()); basicHospTypeEntity.setUpdateTime(new Date()); basicHospTypeEntity.setName(basicHospTypeRequest.getName()); basicHospTypeEntity.setParentCode(basicHospTypeRequest.getParentCode()); basicHospTypeEntity.setRemark(basicHospTypeRequest.getRemark()); - Long userId=customerService.getUserId(); - basicHospTypeEntity.setCreateUser(userId+""); - basicHospTypeEntity.setUpdateUser(userId+""); + Long userId = customerService.getUserId(); + basicHospTypeEntity.setCreateUser(userId + ""); + basicHospTypeEntity.setUpdateUser(userId + ""); //获取数据库最大的code - QueryWrapper ew=new QueryWrapper<>(); + QueryWrapper ew = new QueryWrapper<>(); ew.select("max(code) as code"); - BasicHospTypeEntity code=basicHospTypeDao.selectOne(ew); - basicHospTypeEntity.setCode(Integer.valueOf(code.getCode())+1+""); - int count=basicHospTypeDao.insert(basicHospTypeEntity); - if(count==0){ - falg=false; + BasicHospTypeEntity code = basicHospTypeDao.selectOne(ew); + basicHospTypeEntity.setCode(Integer.valueOf(code.getCode()) + 1 + ""); + int count = basicHospTypeDao.insert(basicHospTypeEntity); + if (count == 0) { + falg = false; } return falg; } @Override public boolean updateBasicHospType(BasicHospTypeRequest basicHospTypeRequest) { - boolean falg=true; - BasicHospTypeEntity basicHospTypeEntity=new BasicHospTypeEntity(); + boolean falg = true; + BasicHospTypeEntity basicHospTypeEntity = new BasicHospTypeEntity(); basicHospTypeEntity.setId(basicHospTypeRequest.getId()); basicHospTypeEntity.setCreateTime(new Date()); basicHospTypeEntity.setUpdateTime(new Date()); basicHospTypeEntity.setName(basicHospTypeRequest.getName()); basicHospTypeEntity.setParentCode(basicHospTypeRequest.getParentCode()); basicHospTypeEntity.setRemark(basicHospTypeRequest.getRemark()); - Long userId=customerService.getUserId(); - basicHospTypeEntity.setCreateUser(userId+""); - basicHospTypeEntity.setUpdateUser(userId+""); - int count=basicHospTypeDao.updateById(basicHospTypeEntity); - if(count==0){ - falg=false; + Long userId = customerService.getUserId(); + basicHospTypeEntity.setCreateUser(userId + ""); + basicHospTypeEntity.setUpdateUser(userId + ""); + int count = basicHospTypeDao.updateById(basicHospTypeEntity); + if (count == 0) { + falg = false; } return falg; } @@ -112,15 +127,15 @@ public class BasicHospTypeServiceImpl extends ServiceImpl ew=new QueryWrapper<>(); - ew.eq("parentCode",basicHospTypeRequest.getCode()); - Long count=basicHospTypeDao.selectCount(ew); - if(count>0){ + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("parentCode", basicHospTypeRequest.getCode()); + Long count = basicHospTypeDao.selectCount(ew); + if (count > 0) { return "请先删除该节点底下的数据!"; } //查询有没有产品绑定 - count=udiRelevanceDao.selectProductByRelCode(basicHospTypeRequest.getCode()); - if(count>0){ + count = udiRelevanceDao.selectProductByRelCode(basicHospTypeRequest.getCode()); + if (count > 0) { return "该节点还存在产品,请先删除!"; } @@ -137,9 +152,9 @@ public class BasicHospTypeServiceImpl extends ServiceImpl udiRelevanceEntityList=new ArrayList<>(); - for (String obj:basicHospTypeRequest.getIds()){ - UdiRelevanceEntity udiRelevanceEntity=new UdiRelevanceEntity(); + List udiRelevanceEntityList = new ArrayList<>(); + for (String obj : basicHospTypeRequest.getIds()) { + UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); udiRelevanceEntity.setId(Long.valueOf(obj)); udiRelevanceEntity.setRelCode(basicHospTypeRequest.getCode()); udiRelevanceEntityList.add(udiRelevanceEntity); @@ -152,9 +167,9 @@ public class BasicHospTypeServiceImpl extends ServiceImpl udiRelevanceEntityList=new ArrayList<>(); - for (String obj:basicHospTypeRequest.getIds()){ - UdiRelevanceEntity udiRelevanceEntity=new UdiRelevanceEntity(); + List udiRelevanceEntityList = new ArrayList<>(); + for (String obj : basicHospTypeRequest.getIds()) { + UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); udiRelevanceEntity.setId(Long.valueOf(obj)); udiRelevanceEntity.setRelCode(""); udiRelevanceEntityList.add(udiRelevanceEntity); @@ -176,4 +191,27 @@ public class BasicHospTypeServiceImpl extends ServiceImpl data = udiRelevanceDao.filterUdiGp(filterUdiRelRequest); return data; } + + @Override + public Boolean checkName(BasicHospTypeRequest basicHospTypeRequest, Integer type) { + Long sum = null; + //1添加 + if (type == 1) { + //查看名字是不是重复 + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("name", basicHospTypeRequest.getName()); + sum = basicHospTypeDao.selectCount(ew); + } else { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("name", basicHospTypeRequest.getName()); + ew.ne("id", basicHospTypeRequest.getId()); + sum = basicHospTypeDao.selectCount(ew); + } + if (sum > 0) { + return false; + } else { + return true; + } + } + } diff --git a/src/main/java/com/glxp/api/task/SyncHeartTask.java b/src/main/java/com/glxp/api/task/SyncHeartTask.java index d0ca80459..b73afe249 100644 --- a/src/main/java/com/glxp/api/task/SyncHeartTask.java +++ b/src/main/java/com/glxp/api/task/SyncHeartTask.java @@ -20,8 +20,8 @@ import javax.annotation.Resource; import java.util.Arrays; -@Component -@EnableScheduling +//@Component +//@EnableScheduling public class SyncHeartTask implements SchedulingConfigurer { final Logger logger = LoggerFactory.getLogger(SyncHeartTask.class); diff --git a/src/main/resources/mybatis/mapper/basic/BasicHospTypeDao.xml b/src/main/resources/mybatis/mapper/basic/BasicHospTypeDao.xml index d469b6cc5..630e2944d 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicHospTypeDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicHospTypeDao.xml @@ -24,5 +24,25 @@ SELECT id, code,name as label,parentCode FROM basic_hosp_type ORDER BY id DESC + + - \ No newline at end of file +