This commit is contained in:
LiJianZhao 2025-05-07 16:19:19 +08:00
parent eada28f256
commit 761ac0920c
5 changed files with 53 additions and 20 deletions

View File

@ -104,9 +104,6 @@ public class GoodsController extends BaseController {
public Result<Object> search() { public Result<Object> search() {
Map<String, Object> parms = getParms(); Map<String, Object> parms = getParms();
String keyword = (String) parms.get("keyword"); String keyword = (String) parms.get("keyword");
if (keyword == null || keyword.isEmpty()) {
return success(new ArrayList<>());
}
List<Goods> searchResult = goodsService.search(keyword);; List<Goods> searchResult = goodsService.search(keyword);;
return success(searchResult); return success(searchResult);
} }

View File

@ -22,8 +22,8 @@ public class ItemController extends BaseController {
@RequestMapping("/list") @RequestMapping("/list")
public Result<Page<Item>> getAllItems() { public Result<Page<Item>> getAllItems() {
int page = parmsUtil.getInteger("page", "页码不能为空"); int page = parmsUtil.getInteger("pageNum", "页码不能为空");
int size = parmsUtil.getInteger("size", "页容量不能为空"); int size = parmsUtil.getInteger("pageSize", "页容量不能为空");
String name = parmsUtil.getString("name"); String name = parmsUtil.getString("name");
String tel = parmsUtil.getString("tel"); String tel = parmsUtil.getString("tel");

View File

@ -4,20 +4,19 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
/** /**
* <p> * <p>
* 商品主表 * 商品主表
* </p> * </p>
* *
* @author NiuZiYuan * @author NiuZiYuan
* @since 2025-04-11 * @since 2025-05-07
*/ */
@Getter @Getter
@Setter @Setter
@ -127,4 +126,13 @@ public class Goods implements Serializable {
@ApiModelProperty("到期预警天数") @ApiModelProperty("到期预警天数")
private Integer expiryWarnDays; private Integer expiryWarnDays;
@ApiModelProperty("使用次数")
private Integer useNum;
@ApiModelProperty("全拼")
private String pinyinFull;
@ApiModelProperty("拼音首字母")
private String pinyinFirst;
} }

View File

@ -46,6 +46,7 @@ import com.syjiaer.clinic.server.mapper.patient.PatientInfoMapper;
import com.syjiaer.clinic.server.mapper.patient.PatientRegistrationMapper; import com.syjiaer.clinic.server.mapper.patient.PatientRegistrationMapper;
import com.syjiaer.clinic.server.service.BaseService; import com.syjiaer.clinic.server.service.BaseService;
import com.syjiaer.clinic.server.service.charge.ChargeService; import com.syjiaer.clinic.server.service.charge.ChargeService;
import com.syjiaer.clinic.server.service.goods.GoodsService;
import com.syjiaer.clinic.server.service.item.ItemService; import com.syjiaer.clinic.server.service.item.ItemService;
import com.syjiaer.clinic.server.service.social.SocialDiagnoseService; import com.syjiaer.clinic.server.service.social.SocialDiagnoseService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -79,6 +80,8 @@ public class MedicalRecordService extends BaseService {
@Autowired @Autowired
private GoodsMapper goodsMapper; private GoodsMapper goodsMapper;
@Autowired @Autowired
private GoodsService goodsService;
@Autowired
private ChargeService chargeService; private ChargeService chargeService;
@Autowired @Autowired
private Config config; private Config config;
@ -164,6 +167,7 @@ public class MedicalRecordService extends BaseService {
} }
diagnosisMedicalItemListMapper.insert(itemLists); diagnosisMedicalItemListMapper.insert(itemLists);
List<DiagnosisMedicalGoodsList> goodsLists = new ArrayList<>(); List<DiagnosisMedicalGoodsList> goodsLists = new ArrayList<>();
List<Integer> goodsIds = new ArrayList<>();
for (GoodsRetailDto goodsRetailDto : saveDto.getGoodsList()) { for (GoodsRetailDto goodsRetailDto : saveDto.getGoodsList()) {
Goods dbGoods = goodsMapper.selectById(goodsRetailDto.getId()); Goods dbGoods = goodsMapper.selectById(goodsRetailDto.getId());
DiagnosisMedicalGoodsList goodsDetail = new DiagnosisMedicalGoodsList(); DiagnosisMedicalGoodsList goodsDetail = new DiagnosisMedicalGoodsList();
@ -174,10 +178,12 @@ public class MedicalRecordService extends BaseService {
goodsDetail.setUnit(goodsRetailDto.getSelectedUnit()); goodsDetail.setUnit(goodsRetailDto.getSelectedUnit());
goodsDetail.setUnitPrice(goodsRetailDto.getSelectedPrice()); goodsDetail.setUnitPrice(goodsRetailDto.getSelectedPrice());
goodsDetail.setNumber(goodsRetailDto.getSelectedNum()); goodsDetail.setNumber(goodsRetailDto.getSelectedNum());
if (goodsRetailDto.getSelectedNum() == null || goodsRetailDto.getSelectedNum() <= 0) { if (goodsRetailDto.getSelectedNum() == null || goodsRetailDto.getSelectedNum() <= 0) {
throw new MessageException("[" + goodsRetailDto.getName() + "]数量为0"); throw new MessageException("[" + goodsRetailDto.getName() + "]数量为0");
} }
goodsLists.add(goodsDetail); goodsLists.add(goodsDetail);
goodsIds.add(goodsRetailDto.getId());
} }
diagnosisMedicalGoodsListMapper.insert(goodsLists); diagnosisMedicalGoodsListMapper.insert(goodsLists);
@ -194,7 +200,7 @@ public class MedicalRecordService extends BaseService {
List<SocialDiagnose> diagnoseList = JSONArray.parseArray(saveDto.getDiagnosisMedicalRecord().getDiagnosisDetail(),SocialDiagnose.class); List<SocialDiagnose> diagnoseList = JSONArray.parseArray(saveDto.getDiagnosisMedicalRecord().getDiagnosisDetail(),SocialDiagnose.class);
socialDiagnoseService.updateNumAddOne(diagnoseList); socialDiagnoseService.updateNumAddOne(diagnoseList);
itemService.updateNumAddOne(itemIds); itemService.updateNumAddOne(itemIds);
goodsService.updateNumAddOne(goodsIds);
} }
/** /**

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.service.goods;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.syjiaer.clinic.server.common.api.input.IM3501; 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.input.IM3502;
import com.syjiaer.clinic.server.common.api.request.SocialRequest; import com.syjiaer.clinic.server.common.api.request.SocialRequest;
@ -10,11 +11,13 @@ import com.syjiaer.clinic.server.common.enums.GoodsPricingModelEnum;
import com.syjiaer.clinic.server.common.enums.GoodsTypeEnum; import com.syjiaer.clinic.server.common.enums.GoodsTypeEnum;
import com.syjiaer.clinic.server.common.enums.InventorySocialTypeEnum; import com.syjiaer.clinic.server.common.enums.InventorySocialTypeEnum;
import com.syjiaer.clinic.server.common.exception.MessageException; 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.common.vo.Page;
import com.syjiaer.clinic.server.entity.goods.Goods; import com.syjiaer.clinic.server.entity.goods.Goods;
import com.syjiaer.clinic.server.entity.goods.dto.GoodsQuery; 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.GoodsDetailVo;
import com.syjiaer.clinic.server.entity.inventory.Inventory; import com.syjiaer.clinic.server.entity.inventory.Inventory;
import com.syjiaer.clinic.server.entity.item.Item;
import com.syjiaer.clinic.server.entity.social.vo.SocialDirectoryView; import com.syjiaer.clinic.server.entity.social.vo.SocialDirectoryView;
import com.syjiaer.clinic.server.mapper.goods.GoodsMapper; import com.syjiaer.clinic.server.mapper.goods.GoodsMapper;
import com.syjiaer.clinic.server.mapper.inventory.InventoryMapper; import com.syjiaer.clinic.server.mapper.inventory.InventoryMapper;
@ -72,6 +75,8 @@ public class GoodsService {
Double goodsInterestRate = goods.getUnitPrice().subtract(goods.getPurchaseUnitPrice() Double goodsInterestRate = goods.getUnitPrice().subtract(goods.getPurchaseUnitPrice()
).divide(goods.getUnitPrice(), 4, RoundingMode.HALF_DOWN).doubleValue(); ).divide(goods.getUnitPrice(), 4, RoundingMode.HALF_DOWN).doubleValue();
goods.setInterestRate(goodsInterestRate); goods.setInterestRate(goodsInterestRate);
goods.setPinyinFull(PinYinUtil.getPinyinFull(goods.getName()).toUpperCase());
goods.setPinyinFirst(PinYinUtil.getPinyinFirstLetters(goods.getName()).toUpperCase());
//初始化库存 //初始化库存
if (goods.getId() == null) { if (goods.getId() == null) {
//新建档 //新建档
@ -259,6 +264,9 @@ public class GoodsService {
*/ */
public List<Goods> search(String keyword) { public List<Goods> search(String keyword) {
QueryWrapper<Goods> queryWrapper = new QueryWrapper<>(); QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
if (keyword != null && !keyword.isEmpty()){
keyword = keyword.toUpperCase();
queryWrapper.like("name", keyword); queryWrapper.like("name", keyword);
queryWrapper.or(); queryWrapper.or();
queryWrapper.like("common_name", keyword); queryWrapper.like("common_name", keyword);
@ -268,7 +276,12 @@ public class GoodsService {
queryWrapper.like("hilist_code", keyword); queryWrapper.like("hilist_code", keyword);
queryWrapper.or(); queryWrapper.or();
queryWrapper.like("producer", keyword); queryWrapper.like("producer", keyword);
queryWrapper.last("limit 1000"); queryWrapper.or().like("pinyin_full", keyword);
queryWrapper.or().like("pinyin_first", keyword);
}
queryWrapper.orderByDesc("use_num");
queryWrapper.last("limit 20");
return goodsMapper.selectList(queryWrapper); return goodsMapper.selectList(queryWrapper);
} }
/* /*
@ -373,4 +386,13 @@ public class GoodsService {
} }
public void updateNumAddOne(List<Integer> ids) {
for (Integer goodsId : ids){
UpdateWrapper<Goods> updateWrapper = new UpdateWrapper<>();
updateWrapper.setSql("use_num = use_num+1");
updateWrapper.eq("id",goodsId);
goodsMapper.update(null,updateWrapper);
}
}
} }