diff --git a/src/main/java/com/syjiaer/clinic/server/common/util/CheckUtil.java b/src/main/java/com/syjiaer/clinic/server/common/util/CheckUtil.java new file mode 100644 index 0000000..52152f3 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/common/util/CheckUtil.java @@ -0,0 +1,15 @@ +package com.syjiaer.clinic.server.common.util; + +import com.syjiaer.clinic.server.common.exception.MessageException; + +public class CheckUtil { + public static void checkValue(Boolean flag,String empty_message) { + if(flag)throw new MessageException(empty_message); + } + public static void isEmpty(Object object,String message) { + if(object==null){ + throw new MessageException(message); + } + } + +} diff --git a/src/main/java/com/syjiaer/clinic/server/controller/goods/GoodsController.java b/src/main/java/com/syjiaer/clinic/server/controller/goods/GoodsController.java index 5a32610..b1a1bee 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/goods/GoodsController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/goods/GoodsController.java @@ -71,7 +71,7 @@ public class GoodsController extends BaseController { if (goods.getIdCode() == null || goods.getIdCode().isEmpty()){ goods.setIdCode(""); } - Goods dbGoods = goodsService.createGoods(goods); + Goods dbGoods = goodsService.save(goods); return success(dbGoods); } diff --git a/src/main/java/com/syjiaer/clinic/server/controller/item/ItemController.java b/src/main/java/com/syjiaer/clinic/server/controller/item/ItemController.java index de26a86..57f1786 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/item/ItemController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/item/ItemController.java @@ -89,5 +89,21 @@ public class ItemController extends BaseController { return success(); } + + @RequestMapping("/getGroup") + public Result getGroup() { + Integer itemId = parmsUtil.getInteger("id","item_id为空"); + return success(itemService.getGroup(itemId)); + } + + @RequestMapping("/deleteGroup") + public Result deleteGroup() { + Integer itemId = parmsUtil.getInteger("id","item_id为空"); + + itemService.deleteGroup(itemId); + + return success(); + } + } \ No newline at end of file diff --git a/src/main/java/com/syjiaer/clinic/server/service/goods/GoodsService.java b/src/main/java/com/syjiaer/clinic/server/service/goods/GoodsService.java index 221a36a..e5d8157 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/goods/GoodsService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/goods/GoodsService.java @@ -12,6 +12,7 @@ import com.syjiaer.clinic.server.common.enums.GoodsPricingModelEnum; import com.syjiaer.clinic.server.common.enums.GoodsTypeEnum; import com.syjiaer.clinic.server.common.enums.InventorySocialTypeEnum; import com.syjiaer.clinic.server.common.exception.MessageException; +import com.syjiaer.clinic.server.common.util.CheckUtil; import com.syjiaer.clinic.server.common.util.PinYinUtil; import com.syjiaer.clinic.server.common.util.StringUtil; import com.syjiaer.clinic.server.common.vo.Page; @@ -20,10 +21,12 @@ import com.syjiaer.clinic.server.entity.goods.dto.GoodsQuery; import com.syjiaer.clinic.server.entity.goods.vo.GoodsDetailVo; import com.syjiaer.clinic.server.entity.goods.vo.GoodsSearchVo; import com.syjiaer.clinic.server.entity.inventory.Inventory; +import com.syjiaer.clinic.server.entity.social.SocialDirectory; import com.syjiaer.clinic.server.entity.social.SocialDirectoryUpinfo; import com.syjiaer.clinic.server.entity.social.vo.SocialDirectoryView; import com.syjiaer.clinic.server.mapper.goods.GoodsMapper; import com.syjiaer.clinic.server.mapper.inventory.InventoryMapper; +import com.syjiaer.clinic.server.mapper.social.SocialDirectoryMapper; import com.syjiaer.clinic.server.mapper.social.SocialDirectoryUpinfoMapper; import com.syjiaer.clinic.server.service.BaseService; import com.syjiaer.clinic.server.service.social.SocialDirectoryService; @@ -51,12 +54,22 @@ public class GoodsService extends BaseService { private SocialDirectoryService socialDirectoryService; @Autowired private SocialDirectoryUpinfoMapper socialDirectoryUpinfoMapper; + @Autowired + private SocialDirectoryMapper socialDirectoryMapper; /* * 新建商品 * @param goods 商品信息 */ - public Goods createGoods(Goods goods) { + public Goods save(Goods goods) { + String code = goods.getHilistCode(); + + if (!code.isEmpty()) { + QueryWrapper socialDirectoryWrapper = new QueryWrapper<>(); + socialDirectoryWrapper.eq("code", code); + CheckUtil.checkValue(socialDirectoryMapper.selectOne(socialDirectoryWrapper)==null, "医保目录编码不能为空"); + } + GoodsPricingModelEnum modelEnum = GoodsPricingModelEnum.getByPricingModel(goods.getPricingModel()); if (modelEnum == null){ throw new MessageException("定价模式错误错误"); diff --git a/src/main/java/com/syjiaer/clinic/server/service/item/ItemService.java b/src/main/java/com/syjiaer/clinic/server/service/item/ItemService.java index a38601c..6f19a57 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/item/ItemService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/item/ItemService.java @@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -135,6 +136,7 @@ public class ItemService extends BaseService { public List search(String keyword) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("del_flag", 0); if (keyword != null && !keyword.isEmpty()) { String upperKeyword = keyword.toUpperCase(); queryWrapper.like("item_name", upperKeyword); @@ -200,15 +202,32 @@ public class ItemService extends BaseService { @Transactional(rollbackFor = Exception.class) public void saveGroup(List list, ItemParam itemParam) { + if (itemParam.getName() != null&&itemParam.getName().isEmpty()) + { + throw new MessageException("组套名称不能为空"); + } + + if (itemParam.getUnit() != null&&itemParam.getUnit().isEmpty()) + { + throw new MessageException("组套单位不能为空"); + } + ManagerUser managerUser = getManagerUser(); - QueryWrapper itemQueryWrapper = new QueryWrapper<>(); - itemQueryWrapper.ne("del_flag", 1); + QueryWrapper itemGroupListqueryWrapper = new QueryWrapper<>(); itemGroupListqueryWrapper.ne("del_flag",1); - Item itemInfo = itemMapper.selectOne(itemQueryWrapper); + Integer item_id=itemParam.getId(); + + Item itemInfo =null; + if(item_id!=null&&item_id>0){ + QueryWrapper itemQueryWrapper = new QueryWrapper<>(); + itemQueryWrapper.ne("del_flag", 1); + itemQueryWrapper.eq("id", item_id); + itemInfo= itemMapper.selectOne(itemQueryWrapper); + } if(itemInfo==null){ itemInfo=new Item(); @@ -296,15 +315,75 @@ public class ItemService extends BaseService { itemMapper.updateById(itemInfo); } - public void getItemGroupList() { + public HashMap getGroup(int itemId) { QueryWrapper itemQueryWrapper = new QueryWrapper<>(); itemQueryWrapper.ne("del_flag", 1); itemQueryWrapper.eq("is_group",true); + itemQueryWrapper.eq("id",itemId); + + Item itemInfo = itemMapper.selectOne(itemQueryWrapper); + + if (itemInfo==null ) { + throw new MessageException("诊疗项目数据不存在"); + } QueryWrapper itemGroupListqueryWrapper = new QueryWrapper<>(); itemGroupListqueryWrapper.ne("del_flag",1); + itemGroupListqueryWrapper.eq("item_id",itemId); + List itemGroupList = itemGroupListMapper.selectList(itemGroupListqueryWrapper); + //设置返回结果 + HashMap resultMap = new HashMap<>(); + //设置结果json中info字段 + HashMap infoMap = new HashMap<>(); + infoMap.put("name",itemInfo.getItemName()); + infoMap.put("unit",itemInfo.getUnit()); + infoMap.put("id",itemInfo.getId()); + resultMap.put("info",infoMap); + + //设置结果json中list字段 + List> list = new ArrayList<>(); + + for (ItemGroupList itemGroup : itemGroupList) { + HashMap itemGroupMap = new HashMap<>(); + itemGroupMap.put("name",itemGroup.getName()); + itemGroupMap.put("unit",itemGroup.getUnit()); + itemGroupMap.put("socialCode",itemGroup.getSocialCode()); + itemGroupMap.put("unitPrice",itemGroup.getUnitPrice()); + itemGroupMap.put("purchaseUnitPrice",itemGroup.getPurchaseUnitPrice()); + itemGroupMap.put("number",itemGroup.getNumber()); + itemGroupMap.put("id",itemGroup.getId()); + list.add(itemGroupMap); + } + + resultMap.put("list",list); + + return resultMap; + } + + @Transactional(rollbackFor = Exception.class) + public void deleteGroup(Integer id) { + QueryWrapper itemQueryWrapper = new QueryWrapper<>(); + itemQueryWrapper.ne("del_flag", 1); + itemQueryWrapper.eq("is_group",true); + itemQueryWrapper.eq("id",id); + + Item item = itemMapper.selectOne(itemQueryWrapper); + + if (item == null ) { + throw new MessageException("该服务项目已被删除或不存在"); + } + + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",id); + updateWrapper.set("del_flag",true); + itemMapper.update(updateWrapper); + + UpdateWrapper itemGroupListUpdateWrapper = new UpdateWrapper<>(); + itemGroupListUpdateWrapper.eq("item_id",id); + itemGroupListUpdateWrapper.set("del_flag",true); + itemGroupListMapper.update(itemGroupListUpdateWrapper); } }