dev
This commit is contained in:
parent
9ac00fe203
commit
518812e177
|
|
@ -0,0 +1,27 @@
|
|||
package com.syjiaer.clinic.server.common.enums;
|
||||
|
||||
public enum ChrgitmLvEnum {
|
||||
ONE("01", "甲"),
|
||||
TWO("02", "乙"),
|
||||
THREE("03", "丙");
|
||||
private final String code;
|
||||
private final String name;
|
||||
ChrgitmLvEnum(String code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
}
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public static ChrgitmLvEnum getChrgitmLvEnumByCode(String code) {
|
||||
for (ChrgitmLvEnum chrgitmLvEnum : ChrgitmLvEnum.values()) {
|
||||
if (chrgitmLvEnum.getCode().equals(code)) {
|
||||
return chrgitmLvEnum;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@ import com.syjiaer.clinic.server.entity.goods.Goods;
|
|||
import com.syjiaer.clinic.server.entity.goods.GoodsView;
|
||||
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.service.goods.GoodsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
|
@ -101,10 +102,10 @@ public class GoodsController extends BaseController {
|
|||
* 商品搜索 一键建档内的搜索
|
||||
*/
|
||||
@RequestMapping("search")
|
||||
public Result<Object> search() {
|
||||
public Result<List<GoodsSearchVo>> search() {
|
||||
Map<String, Object> parms = getParms();
|
||||
String keyword = (String) parms.get("keyword");
|
||||
List<Goods> searchResult = goodsService.search(keyword);;
|
||||
List<GoodsSearchVo> searchResult = goodsService.search(keyword);;
|
||||
return success(searchResult);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.syjiaer.clinic.server.common.vo.Page;
|
|||
import com.syjiaer.clinic.server.common.vo.Result;
|
||||
import com.syjiaer.clinic.server.controller.BaseController;
|
||||
import com.syjiaer.clinic.server.entity.item.Item;
|
||||
import com.syjiaer.clinic.server.entity.item.vo.ItemSearchVo;
|
||||
import com.syjiaer.clinic.server.service.item.ItemService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
|
@ -60,7 +61,7 @@ public class ItemController extends BaseController {
|
|||
}
|
||||
|
||||
@RequestMapping("/search")
|
||||
public Result<List<Item>> search() {
|
||||
public Result<List<ItemSearchVo>> search() {
|
||||
String keyword = parmsUtil.getString("keyword");
|
||||
|
||||
return success(itemService.search(keyword));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,124 @@
|
|||
package com.syjiaer.clinic.server.entity.goods.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@Data
|
||||
public class GoodsSearchVo {
|
||||
@ApiModelProperty("自增主键")
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty("商品名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("商品类型")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("通用名")
|
||||
private String commonName;
|
||||
|
||||
@ApiModelProperty("医保目录编码")
|
||||
private String hilistCode;
|
||||
|
||||
@ApiModelProperty("单价")
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
@ApiModelProperty("进货价")
|
||||
private BigDecimal purchaseUnitPrice;
|
||||
|
||||
@ApiModelProperty("生厂商")
|
||||
private String producer;
|
||||
|
||||
@ApiModelProperty("条形码")
|
||||
private String barcode;
|
||||
|
||||
@ApiModelProperty("最小制剂单位")
|
||||
private String medicineDosageUnit;
|
||||
|
||||
@ApiModelProperty("最小包装数量")
|
||||
private Integer minPackagingNumber;
|
||||
|
||||
@ApiModelProperty("最小包装单位")
|
||||
private String minPackagingUnit;
|
||||
|
||||
@ApiModelProperty("保质期")
|
||||
private Integer expiryTime;
|
||||
|
||||
@ApiModelProperty("国药准字")
|
||||
private String approvalCode;
|
||||
|
||||
@ApiModelProperty("拓展字段")
|
||||
private String extra;
|
||||
|
||||
@ApiModelProperty("分类ID")
|
||||
private Integer cateId;
|
||||
|
||||
@ApiModelProperty("软删除 1为删除")
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty("利润分类")
|
||||
private String profitCate;
|
||||
|
||||
@ApiModelProperty("标签")
|
||||
private String tags;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("利率")
|
||||
private Double interestRate;
|
||||
|
||||
@ApiModelProperty("库存整数量 ")
|
||||
private Integer inventoryWholeNumber;
|
||||
|
||||
@ApiModelProperty("标识码 由追溯码生成")
|
||||
private String idCode;
|
||||
|
||||
@ApiModelProperty("库存分数量")
|
||||
private Integer inventoryFragmentNumber;
|
||||
|
||||
@ApiModelProperty("0不允许拆零 1允许拆零")
|
||||
private Boolean trdnFlag;
|
||||
|
||||
@ApiModelProperty("拆零价格")
|
||||
private BigDecimal disassemblyPrice;
|
||||
|
||||
@ApiModelProperty("最小制剂数量")
|
||||
private String medicineDosageNum;
|
||||
|
||||
@ApiModelProperty("包装单位")
|
||||
private String packagingUnit;
|
||||
|
||||
@ApiModelProperty("售卖模式")
|
||||
private Integer pricingModel;
|
||||
|
||||
@ApiModelProperty("加成率 30=30%")
|
||||
private Integer makeUp;
|
||||
|
||||
@ApiModelProperty("0禁售 1可售")
|
||||
private Boolean status;
|
||||
|
||||
@ApiModelProperty("库存预警数量")
|
||||
private Integer inventoryWarnNumber;
|
||||
|
||||
@ApiModelProperty("到期预警天数")
|
||||
private Integer expiryWarnDays;
|
||||
|
||||
@ApiModelProperty("使用次数")
|
||||
private Integer useNum;
|
||||
|
||||
@ApiModelProperty("全拼")
|
||||
private String pinyinFull;
|
||||
|
||||
@ApiModelProperty("拼音首字母")
|
||||
private String pinyinFirst;
|
||||
|
||||
@ApiModelProperty("甲乙丙类")
|
||||
private String category;
|
||||
|
||||
@ApiModelProperty("限制条件")
|
||||
private String limit;
|
||||
@ApiModelProperty("库存")
|
||||
private String inventory;
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
package com.syjiaer.clinic.server.entity.item.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class ItemSearchVo {
|
||||
|
||||
@ApiModelProperty("自增主键")
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty("项目创建时间")
|
||||
private LocalDateTime createDatetime;
|
||||
|
||||
@ApiModelProperty("项目创建人")
|
||||
private String createBy;
|
||||
|
||||
@ApiModelProperty("项目修改时间")
|
||||
private LocalDateTime updateDatetime;
|
||||
|
||||
@ApiModelProperty("项目修改人")
|
||||
private String updateBy;
|
||||
|
||||
@ApiModelProperty("项目名称")
|
||||
private String itemName;
|
||||
|
||||
@ApiModelProperty("项目医保目录编码")
|
||||
private String itemSocialCode;
|
||||
|
||||
@ApiModelProperty("单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty("售价")
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
@ApiModelProperty("进货价")
|
||||
private BigDecimal purchaseUnitPrice;
|
||||
|
||||
@ApiModelProperty("逻辑删除")
|
||||
private Integer delFlag;
|
||||
|
||||
@ApiModelProperty("使用次数")
|
||||
private Integer useNum;
|
||||
|
||||
@ApiModelProperty("全拼")
|
||||
private String pinyinFull;
|
||||
|
||||
@ApiModelProperty("拼音首字母")
|
||||
private String pinyinFirst;
|
||||
|
||||
@ApiModelProperty("甲乙丙类")
|
||||
private String chrgitmLv;
|
||||
|
||||
@ApiModelProperty("限制条件")
|
||||
private String limit;
|
||||
}
|
||||
|
|
@ -7,6 +7,7 @@ import com.syjiaer.clinic.server.common.api.input.IM3501;
|
|||
import com.syjiaer.clinic.server.common.api.input.IM3502;
|
||||
import com.syjiaer.clinic.server.common.api.request.SocialRequest;
|
||||
import com.syjiaer.clinic.server.common.constants.Constants;
|
||||
import com.syjiaer.clinic.server.common.enums.ChrgitmLvEnum;
|
||||
import com.syjiaer.clinic.server.common.enums.GoodsPricingModelEnum;
|
||||
import com.syjiaer.clinic.server.common.enums.GoodsTypeEnum;
|
||||
import com.syjiaer.clinic.server.common.enums.InventorySocialTypeEnum;
|
||||
|
|
@ -16,11 +17,14 @@ import com.syjiaer.clinic.server.common.vo.Page;
|
|||
import com.syjiaer.clinic.server.entity.goods.Goods;
|
||||
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.item.Item;
|
||||
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.SocialDirectoryUpinfoMapper;
|
||||
import com.syjiaer.clinic.server.service.social.SocialDirectoryService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -43,6 +47,9 @@ public class GoodsService {
|
|||
private InventoryMapper inventoryMapper;
|
||||
@Autowired
|
||||
private SocialDirectoryService socialDirectoryService;
|
||||
@Autowired
|
||||
private SocialDirectoryUpinfoMapper socialDirectoryUpinfoMapper;
|
||||
|
||||
/*
|
||||
* 新建商品
|
||||
* @param goods 商品信息
|
||||
|
|
@ -93,6 +100,7 @@ public class GoodsService {
|
|||
}
|
||||
return goods;
|
||||
}
|
||||
|
||||
/*
|
||||
* 重新初始化医保库存
|
||||
*/
|
||||
|
|
@ -104,6 +112,7 @@ public class GoodsService {
|
|||
// 重新初始化医保库存
|
||||
requestReturnInit(goods);
|
||||
}
|
||||
|
||||
/*
|
||||
* 重新初始化医保库存
|
||||
* @param goods 商品信息
|
||||
|
|
@ -156,6 +165,7 @@ public class GoodsService {
|
|||
.setCnt(number);
|
||||
socialRequest.call3502(im3502);
|
||||
}
|
||||
|
||||
/*
|
||||
* 获取商品详情
|
||||
* @param goodsQuery 商品查询条件
|
||||
|
|
@ -239,6 +249,7 @@ public class GoodsService {
|
|||
result.setTotal_page(page.getTotal_page());
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* 分页查询商品
|
||||
* @param goodsQuery 查询条件
|
||||
|
|
@ -258,11 +269,12 @@ public class GoodsService {
|
|||
page.setTotal_page(totalPage);
|
||||
return page;
|
||||
}
|
||||
|
||||
/*
|
||||
* 根据关键字搜索商品
|
||||
* @param keyword 关键字
|
||||
*/
|
||||
public List<Goods> search(String keyword) {
|
||||
public List<GoodsSearchVo> search(String keyword) {
|
||||
QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
if (keyword != null && !keyword.isEmpty()) {
|
||||
|
|
@ -281,9 +293,31 @@ public class GoodsService {
|
|||
}
|
||||
queryWrapper.orderByDesc("use_num");
|
||||
|
||||
|
||||
queryWrapper.last("limit 20");
|
||||
return goodsMapper.selectList(queryWrapper);
|
||||
|
||||
List<Goods> list = goodsMapper.selectList(queryWrapper);
|
||||
List<GoodsSearchVo> goodsSearchVoList = new ArrayList<>();
|
||||
for (Goods goods : list) {
|
||||
GoodsSearchVo goodsSearchVo = new GoodsSearchVo();
|
||||
BeanUtils.copyProperties(goods, goodsSearchVo);
|
||||
String inventory = goods.getInventoryWholeNumber() +goods.getPackagingUnit();
|
||||
if (goods.getInventoryFragmentNumber() != 0){
|
||||
inventory += goods.getInventoryFragmentNumber() + goods.getMinPackagingNumber();
|
||||
}
|
||||
goodsSearchVo.setInventory(inventory);
|
||||
SocialDirectoryUpinfo socialDirectoryUpinfo = socialDirectoryUpinfoMapper.selectByCode(goods.getHilistCode());
|
||||
if (socialDirectoryUpinfo != null) {
|
||||
ChrgitmLvEnum chrgitmLvEnum = ChrgitmLvEnum.getChrgitmLvEnumByCode(socialDirectoryUpinfo.getChrgitmLv());
|
||||
goodsSearchVo.setCategory(chrgitmLvEnum == null ? null : chrgitmLvEnum.getName());
|
||||
}
|
||||
goodsSearchVoList.add(goodsSearchVo);
|
||||
}
|
||||
|
||||
|
||||
return goodsSearchVoList;
|
||||
}
|
||||
|
||||
/*
|
||||
* 根据id获取商品信息
|
||||
* @param id 商品id
|
||||
|
|
@ -295,6 +329,7 @@ public class GoodsService {
|
|||
}
|
||||
return goods;
|
||||
}
|
||||
|
||||
/*
|
||||
* 添加标识码
|
||||
* 参数 goodsId 商品ID
|
||||
|
|
@ -321,6 +356,7 @@ public class GoodsService {
|
|||
updateGoods.setIdCode(String.join(",", idCodeList));
|
||||
goodsMapper.updateById(updateGoods);
|
||||
}
|
||||
|
||||
/*
|
||||
* 获取二级分类绑定的商品数量
|
||||
* 参数 cateId 二级分类ID
|
||||
|
|
@ -331,6 +367,7 @@ public class GoodsService {
|
|||
return goodsMapper.selectCount(queryWrapper);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* 更新商品库存信息
|
||||
* 参数 id 商品ID
|
||||
|
|
@ -371,6 +408,7 @@ public class GoodsService {
|
|||
|
||||
/**
|
||||
* 根据id查询goods
|
||||
*
|
||||
* @param goodsId 商品id
|
||||
* @return 商品
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -2,26 +2,37 @@ package com.syjiaer.clinic.server.service.item;
|
|||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.syjiaer.clinic.server.common.enums.ChrgitmLvEnum;
|
||||
import com.syjiaer.clinic.server.common.exception.MessageException;
|
||||
import com.syjiaer.clinic.server.common.util.PinYinUtil;
|
||||
import com.syjiaer.clinic.server.common.vo.Page;
|
||||
import com.syjiaer.clinic.server.entity.goods.Goods;
|
||||
import com.syjiaer.clinic.server.entity.goods.vo.GoodsSearchVo;
|
||||
import com.syjiaer.clinic.server.entity.item.Item;
|
||||
import com.syjiaer.clinic.server.entity.item.vo.ItemSearchVo;
|
||||
import com.syjiaer.clinic.server.entity.manager.ManagerUser;
|
||||
import com.syjiaer.clinic.server.entity.social.SocialDiagnose;
|
||||
import com.syjiaer.clinic.server.entity.social.SocialDirectoryUpinfo;
|
||||
import com.syjiaer.clinic.server.mapper.item.ItemMapper;
|
||||
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryUpinfoMapper;
|
||||
import com.syjiaer.clinic.server.service.BaseService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class ItemService extends BaseService {
|
||||
@Autowired
|
||||
private ItemMapper itemMapper;
|
||||
@Autowired
|
||||
private SocialDirectoryUpinfoMapper socialDirectoryUpinfoMapper;
|
||||
|
||||
/*
|
||||
* 获取项目列表
|
||||
* @param pageNum 页码
|
||||
|
|
@ -40,6 +51,7 @@ public class ItemService extends BaseService {
|
|||
queryWrapper.eq("del_flag", 0);
|
||||
return pageHelper(pageNum, pageSize, queryWrapper, itemMapper, "create_datetime", false);
|
||||
}
|
||||
|
||||
/*
|
||||
* 根据id获取项目信息
|
||||
* @param id 项目id
|
||||
|
|
@ -47,6 +59,7 @@ public class ItemService extends BaseService {
|
|||
public Item get(int id) {
|
||||
return itemMapper.selectById(id);
|
||||
}
|
||||
|
||||
/*
|
||||
* 创建项目
|
||||
* @param item 项目信息
|
||||
|
|
@ -94,7 +107,8 @@ public class ItemService extends BaseService {
|
|||
updateItem.setDelFlag(1);
|
||||
itemMapper.updateById(updateItem);
|
||||
}
|
||||
public List<Item> search(String keyword){
|
||||
|
||||
public List<ItemSearchVo> search(String keyword) {
|
||||
QueryWrapper<Item> queryWrapper = new QueryWrapper<>();
|
||||
if (keyword != null && !keyword.isEmpty()) {
|
||||
String upperKeyword = keyword.toUpperCase();
|
||||
|
|
@ -105,7 +119,19 @@ public class ItemService extends BaseService {
|
|||
}
|
||||
queryWrapper.orderByDesc("use_num", "update_datetime");
|
||||
queryWrapper.last("limit 20");
|
||||
return itemMapper.selectList(queryWrapper);
|
||||
List<Item> items = itemMapper.selectList(queryWrapper);
|
||||
List<ItemSearchVo> itemSearchVos = new ArrayList<>();
|
||||
for (Item item : items) {
|
||||
ItemSearchVo itemSearchVo = new ItemSearchVo();
|
||||
BeanUtils.copyProperties(item, itemSearchVo);
|
||||
SocialDirectoryUpinfo socialDirectoryUpinfo = socialDirectoryUpinfoMapper.selectByCode(item.getItemSocialCode());
|
||||
if (socialDirectoryUpinfo != null) {
|
||||
ChrgitmLvEnum chrgitmLvEnum = ChrgitmLvEnum.getChrgitmLvEnumByCode(socialDirectoryUpinfo.getChrgitmLv());
|
||||
itemSearchVo.setChrgitmLv(chrgitmLvEnum == null ? null : chrgitmLvEnum.getName());
|
||||
}
|
||||
itemSearchVos.add(itemSearchVo);
|
||||
}
|
||||
return itemSearchVos;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ public class SocialDiagnoseService extends BaseService {
|
|||
.or().like("pinyin_first", key));
|
||||
}
|
||||
queryWrapper.orderByDesc("use_num","id");
|
||||
queryWrapper.last("limit 20");
|
||||
queryWrapper.last("limit 60");
|
||||
return socialDiagnoseMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue