Merge branch 'master' of ssh://git.jizhiweb.cn:2222/clinic-v2/server

This commit is contained in:
LiJianZhao 2025-05-22 09:19:35 +08:00
commit 38711ec497
5 changed files with 129 additions and 6 deletions

View File

@ -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);
}
}
}

View File

@ -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);
}

View File

@ -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();
}
}

View File

@ -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<SocialDirectory> 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("定价模式错误错误");

View File

@ -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<ItemSearchVo> search(String keyword) {
QueryWrapper<Item> 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<ItemGroupList> 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<Item> itemQueryWrapper = new QueryWrapper<>();
itemQueryWrapper.ne("del_flag", 1);
QueryWrapper<ItemGroupList> 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<Item> 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<String,Object> getGroup(int itemId) {
QueryWrapper<Item> 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<ItemGroupList> itemGroupListqueryWrapper = new QueryWrapper<>();
itemGroupListqueryWrapper.ne("del_flag",1);
itemGroupListqueryWrapper.eq("item_id",itemId);
List<ItemGroupList> itemGroupList = itemGroupListMapper.selectList(itemGroupListqueryWrapper);
//设置返回结果
HashMap<String,Object> resultMap = new HashMap<>();
//设置结果json中info字段
HashMap<String,Object> 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<HashMap<String,Object>> list = new ArrayList<>();
for (ItemGroupList itemGroup : itemGroupList) {
HashMap<String,Object> 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<Item> 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<Item> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id",id);
updateWrapper.set("del_flag",true);
itemMapper.update(updateWrapper);
UpdateWrapper<ItemGroupList> itemGroupListUpdateWrapper = new UpdateWrapper<>();
itemGroupListUpdateWrapper.eq("item_id",id);
itemGroupListUpdateWrapper.set("del_flag",true);
itemGroupListMapper.update(itemGroupListUpdateWrapper);
}
}