deb
This commit is contained in:
parent
eada28f256
commit
761ac0920c
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue