This commit is contained in:
LiJianZhao 2025-05-07 10:35:59 +08:00
parent 53ec8eab04
commit 4145455f9b
8 changed files with 82 additions and 16 deletions

View File

@ -22,8 +22,7 @@ public class IM2203A extends BaseInputModel{
@IMField(key = "diseinfo", name = "诊断信息", required = true) @IMField(key = "diseinfo", name = "诊断信息", required = true)
private List<Diseinfo> diseinfo; private List<Diseinfo> diseinfo;
@Getter @Data
@Setter
public static class Mdtrtinfo{ public static class Mdtrtinfo{
@IMField(key = "mdtrt_id", name = "就诊ID", required = true) @IMField(key = "mdtrt_id", name = "就诊ID", required = true)
private String mdtrt_id; private String mdtrt_id;
@ -50,8 +49,7 @@ public class IM2203A extends BaseInputModel{
@IMField(key = "exp_content", name = "字段扩展") @IMField(key = "exp_content", name = "字段扩展")
private ExpContent exp_content; private ExpContent exp_content;
} }
@Getter @Data
@Setter
public static class Diseinfo{ public static class Diseinfo{
@IMField(key = "diag_type", name = "诊断类别", required = true) @IMField(key = "diag_type", name = "诊断类别", required = true)
private String diag_type; private String diag_type;

View File

@ -62,9 +62,7 @@ public class ItemController extends BaseController {
@RequestMapping("/search") @RequestMapping("/search")
public Result<List<Item>> search() { public Result<List<Item>> search() {
String keyword = parmsUtil.getString("keyword"); String keyword = parmsUtil.getString("keyword");
if (keyword == null || keyword.isEmpty()) {
return success(new ArrayList<>());
}
return success(itemService.search(keyword)); return success(itemService.search(keyword));
} }
} }

View File

@ -4,21 +4,20 @@ 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 java.time.LocalDateTime;
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;
import java.time.LocalDateTime;
/** /**
* <p> * <p>
* 诊疗项目 * 诊疗项目
* </p> * </p>
* *
* @author NiuZiYuan * @author NiuZiYuan
* @since 2025-04-17 * @since 2025-05-07
*/ */
@Getter @Getter
@Setter @Setter
@ -62,4 +61,13 @@ public class Item implements Serializable {
@ApiModelProperty("逻辑删除") @ApiModelProperty("逻辑删除")
private Integer delFlag; private Integer delFlag;
@ApiModelProperty("使用次数")
private Integer useNum;
@ApiModelProperty("全拼")
private String pinyinFull;
@ApiModelProperty("拼音首字母")
private String pinyinFirst;
} }

View File

@ -67,6 +67,7 @@ public class SocialDirectoryView implements Serializable {
private String wubi; private String wubi;
private String pinyin; private String pinyin;
private String lmtUsedFlag;
private JSONObject json; private JSONObject json;

View File

@ -1,7 +1,12 @@
package com.syjiaer.clinic.server.mapper.item; package com.syjiaer.clinic.server.mapper.item;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.syjiaer.clinic.server.entity.item.Item; import com.syjiaer.clinic.server.entity.item.Item;
import com.syjiaer.clinic.server.entity.social.SocialDiagnose;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/** /**
@ -13,6 +18,5 @@ import com.syjiaer.clinic.server.entity.item.Item;
* @since 2025-04-17 * @since 2025-04-17
*/ */
public interface ItemMapper extends BaseMapper<Item> { public interface ItemMapper extends BaseMapper<Item> {
} }

View File

@ -45,6 +45,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.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;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -71,6 +72,8 @@ public class MedicalRecordService extends BaseService {
@Autowired @Autowired
private PatientRegistrationMapper patientRegistrationMapper; private PatientRegistrationMapper patientRegistrationMapper;
@Autowired @Autowired
private ItemService itemService;
@Autowired
private ItemMapper itemMapper; private ItemMapper itemMapper;
@Autowired @Autowired
private GoodsMapper goodsMapper; private GoodsMapper goodsMapper;
@ -140,8 +143,9 @@ public class MedicalRecordService extends BaseService {
//服务项目表 //服务项目表
Integer medicalRecordId = diagnosisMedicalRecord.getId(); Integer medicalRecordId = diagnosisMedicalRecord.getId();
List<DiagnosisMedicalItemList> itemLists = new ArrayList<>(); List<DiagnosisMedicalItemList> itemLists = new ArrayList<>();
List<Integer> itemIds = new ArrayList<>();
for (ItemRetailDto item : saveDto.getItemList()) { for (ItemRetailDto item : saveDto.getItemList()) {
itemIds.add(item.getId());
Item dbItem = itemMapper.selectById(item.getId()); Item dbItem = itemMapper.selectById(item.getId());
DiagnosisMedicalItemList itemDetail = new DiagnosisMedicalItemList(); DiagnosisMedicalItemList itemDetail = new DiagnosisMedicalItemList();
itemDetail.setDiagnosisCode(code); itemDetail.setDiagnosisCode(code);
@ -158,7 +162,6 @@ public class MedicalRecordService extends BaseService {
} }
diagnosisMedicalItemListMapper.insert(itemLists); diagnosisMedicalItemListMapper.insert(itemLists);
List<DiagnosisMedicalGoodsList> goodsLists = new ArrayList<>(); List<DiagnosisMedicalGoodsList> goodsLists = new ArrayList<>();
for (GoodsRetailDto goodsRetailDto : saveDto.getGoodsList()) { for (GoodsRetailDto goodsRetailDto : saveDto.getGoodsList()) {
Goods dbGoods = goodsMapper.selectById(goodsRetailDto.getId()); Goods dbGoods = goodsMapper.selectById(goodsRetailDto.getId());
@ -181,6 +184,8 @@ public class MedicalRecordService extends BaseService {
System.out.println(saveDto.getDiagnosisMedicalRecord().getDiagnosisDetail()); System.out.println(saveDto.getDiagnosisMedicalRecord().getDiagnosisDetail());
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);
} }
/** /**

View File

@ -1,16 +1,20 @@
package com.syjiaer.clinic.server.service.item; package com.syjiaer.clinic.server.service.item;
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.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.item.Item; import com.syjiaer.clinic.server.entity.item.Item;
import com.syjiaer.clinic.server.entity.manager.ManagerUser; import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.entity.social.SocialDiagnose;
import com.syjiaer.clinic.server.mapper.item.ItemMapper; import com.syjiaer.clinic.server.mapper.item.ItemMapper;
import com.syjiaer.clinic.server.service.BaseService; import com.syjiaer.clinic.server.service.BaseService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@ -51,9 +55,25 @@ public class ItemService extends BaseService {
if (item == null) { if (item == null) {
throw new MessageException("item参数为空"); throw new MessageException("item参数为空");
} }
if (item.getItemName() == null || item.getItemName().isEmpty()){
throw new MessageException("项目名称不能为空");
}
if (item.getItemSocialCode() == null || item.getItemSocialCode().isEmpty()){
throw new MessageException("项目医保目录编码不能为空");
}
if (item.getUnit() == null || item.getUnit().isEmpty()){
throw new MessageException("单位不能为空");
}
if (item.getUnitPrice() == null || item.getUnitPrice().compareTo(BigDecimal.ZERO) <= 0){
throw new MessageException("售价不能小于0");
}
ManagerUser managerUser = getManagerUser(); ManagerUser managerUser = getManagerUser();
item.setCreateDatetime(LocalDateTime.now()); item.setCreateDatetime(LocalDateTime.now());
item.setCreateBy(managerUser.getName()); item.setCreateBy(managerUser.getName());
String pinyin_full= PinYinUtil.getPinyinFull(item.getItemName());
pinyin_full = pinyin_full.toUpperCase();
item.setPinyinFull(pinyin_full);
item.setPinyinFirst(PinYinUtil.getPinyinFirstLetters(item.getItemName()).toUpperCase());
itemMapper.insertOrUpdate(item); itemMapper.insertOrUpdate(item);
} }
@ -63,10 +83,12 @@ public class ItemService extends BaseService {
if (id == null) { if (id == null) {
throw new MessageException("id参数为空"); throw new MessageException("id参数为空");
} }
Item item = itemMapper.selectById(id); Item item = itemMapper.selectById(id);
if (item == null || item.getDelFlag() == 1) { if (item == null || item.getDelFlag() == 1) {
throw new MessageException("该服务项目已被删除或不存在"); throw new MessageException("该服务项目已被删除或不存在");
} }
Item updateItem = new Item(); Item updateItem = new Item();
updateItem.setId(id); updateItem.setId(id);
updateItem.setDelFlag(1); updateItem.setDelFlag(1);
@ -74,7 +96,10 @@ public class ItemService extends BaseService {
} }
public List<Item> search(String keyword){ public List<Item> search(String keyword){
QueryWrapper<Item> queryWrapper = new QueryWrapper<>(); QueryWrapper<Item> queryWrapper = new QueryWrapper<>();
queryWrapper.like("item_name", keyword); if (keyword != null && !keyword.isEmpty()){
queryWrapper.like("item_name", keyword.toUpperCase());
}
queryWrapper.orderByDesc("use_num","update_datetime");
queryWrapper.last("limit 20"); queryWrapper.last("limit 20");
return itemMapper.selectList(queryWrapper); return itemMapper.selectList(queryWrapper);
} }
@ -87,8 +112,34 @@ public class ItemService extends BaseService {
if (item == null) { if (item == null) {
throw new MessageException("item参数为空"); throw new MessageException("item参数为空");
} }
if (item.getItemName() == null || item.getItemName().isEmpty()){
throw new MessageException("项目名称不能为空");
}
if (item.getItemSocialCode() == null || item.getItemSocialCode().isEmpty()){
throw new MessageException("项目医保目录编码不能为空");
}
if (item.getUnit() == null || item.getUnit().isEmpty()){
throw new MessageException("单位不能为空");
}
if (item.getUnitPrice() == null || item.getUnitPrice().compareTo(BigDecimal.ZERO) <= 0){
throw new MessageException("售价不能小于0");
}
item.setUpdateBy(getManagerUser().getName()); item.setUpdateBy(getManagerUser().getName());
item.setUpdateDatetime(LocalDateTime.now()); item.setUpdateDatetime(LocalDateTime.now());
String pinyin_full= PinYinUtil.getPinyinFull(item.getItemName());
pinyin_full = pinyin_full.toUpperCase();
item.setPinyinFull(pinyin_full);
item.setPinyinFirst(PinYinUtil.getPinyinFirstLetters(item.getItemName()).toUpperCase());
itemMapper.updateById(item); itemMapper.updateById(item);
} }
public void updateNumAddOne(List<Integer> ids) {
for (Integer itemId : ids){
UpdateWrapper<Item> updateWrapper = new UpdateWrapper<>();
updateWrapper.setSql("use_num = use_num+1");
updateWrapper.eq("id",itemId);
itemMapper.update(null,updateWrapper);
}
}
} }

View File

@ -346,6 +346,7 @@ public class SocialDirectoryService extends BaseService {
socialDirectoryView.setEnddate(socialDirectoryUpinfo.getEnddate()); socialDirectoryView.setEnddate(socialDirectoryUpinfo.getEnddate());
socialDirectoryView.setWubi(socialDirectoryUpinfo.getWubi()); socialDirectoryView.setWubi(socialDirectoryUpinfo.getWubi());
socialDirectoryView.setPinyin(socialDirectoryUpinfo.getPinyin()); socialDirectoryView.setPinyin(socialDirectoryUpinfo.getPinyin());
socialDirectoryView.setLmtUsedFlag(socialDirectoryUpinfo.getLmtUsedFlag());
} }
SocialDirectoryLimit socialDirectoryLimit = socialDirectoryLimitMapper.selectByCode(code); SocialDirectoryLimit socialDirectoryLimit = socialDirectoryLimitMapper.selectByCode(code);
if (socialDirectoryLimit != null) { if (socialDirectoryLimit != null) {