This commit is contained in:
LiJianZhao 2025-04-28 16:04:18 +08:00
parent b55a53dc27
commit 9415e90e3c
9 changed files with 99 additions and 14 deletions

View File

@ -62,6 +62,12 @@ public class GoodsController extends BaseController {
if (goods.getPackagingUnit() == null){ if (goods.getPackagingUnit() == null){
return error("包装单位不能为空"); return error("包装单位不能为空");
} }
if (goods.getMinPackagingUnit() == null){
return error("最小包装单位不能为空");
}
if (goods.getMinPackagingNumber() == null || goods.getMinPackagingNumber() <= 0){
return error("最小包装数量只能为正数");
}
if (goods.getIdCode() != null && goods.getIdCode().isEmpty()){ if (goods.getIdCode() != null && goods.getIdCode().isEmpty()){
goods.setIdCode(null); goods.setIdCode(null);
} }

View File

@ -45,6 +45,12 @@ public class ItemController extends BaseController {
itemService.save(item); itemService.save(item);
return success(); return success();
} }
@RequestMapping("/edit")
public Result<?> updateItem() {
Item item = parmsUtil.getObject("data", Item.class);
itemService.updateItem(item);
return success();
}
@RequestMapping("/delete") @RequestMapping("/delete")
public Result<?> deleteItem() { public Result<?> deleteItem() {

View File

@ -3,6 +3,7 @@ package com.syjiaer.clinic.server.entity.charge.dto;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.syjiaer.clinic.server.entity.charge.vo.ChargeGoodsListVo; import com.syjiaer.clinic.server.entity.charge.vo.ChargeGoodsListVo;
import com.syjiaer.clinic.server.entity.charge.vo.ChargeItemListVo;
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList; import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList;
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalRecord; import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalRecord;
import com.syjiaer.clinic.server.entity.patient.PatientInfo; import com.syjiaer.clinic.server.entity.patient.PatientInfo;
@ -35,7 +36,7 @@ public class ChargeSaveDto {
@ApiModelProperty("病例信息") @ApiModelProperty("病例信息")
private DiagnosisMedicalRecord diagnosisMedicalRecord; private DiagnosisMedicalRecord diagnosisMedicalRecord;
@ApiModelProperty("诊疗服务") @ApiModelProperty("诊疗服务")
private List<DiagnosisMedicalItemList> itemDetail; private List<ChargeItemListVo> itemDetail;
@ApiModelProperty("药品耗材") @ApiModelProperty("药品耗材")
private List<ChargeGoodsListVo> goodsDetail; private List<ChargeGoodsListVo> goodsDetail;
} }

View File

@ -17,7 +17,7 @@ import lombok.experimental.Accessors;
* </p> * </p>
* *
* @author NiuZiYuan * @author NiuZiYuan
* @since 2025-04-25 * @since 2025-04-28
*/ */
@Getter @Getter
@Setter @Setter
@ -68,4 +68,7 @@ public class OrganizationMember implements Serializable {
@ApiModelProperty("角色") @ApiModelProperty("角色")
private Integer role; private Integer role;
@ApiModelProperty("删除标记")
private Boolean delFlag;
} }

View File

@ -14,7 +14,7 @@ import org.apache.ibatis.annotations.Select;
* @since 2025-04-17 * @since 2025-04-17
*/ */
public interface ManagerUserMapper extends BaseMapper<ManagerUser> { public interface ManagerUserMapper extends BaseMapper<ManagerUser> {
@Select("select * from manager_user where organization_member_id = #{omi}") @Select("select mu.name,mu.status,mu.organization_member_id from manager_user as mu where organization_member_id = #{omi}")
ManagerUser selectByOrganizationMemberId(Integer omi); ManagerUser selectByOrganizationMemberId(Integer omi);
} }

View File

@ -22,8 +22,11 @@ import com.syjiaer.clinic.server.entity.charge.dto.ChargeQuery;
import com.syjiaer.clinic.server.entity.charge.dto.ChargeSaveDto; import com.syjiaer.clinic.server.entity.charge.dto.ChargeSaveDto;
import com.syjiaer.clinic.server.entity.charge.vo.ChargeDetailVo; import com.syjiaer.clinic.server.entity.charge.vo.ChargeDetailVo;
import com.syjiaer.clinic.server.entity.charge.vo.ChargeGoodsListVo; import com.syjiaer.clinic.server.entity.charge.vo.ChargeGoodsListVo;
import com.syjiaer.clinic.server.entity.charge.vo.ChargeItemListVo;
import com.syjiaer.clinic.server.entity.diagnosis.Diagnosis; import com.syjiaer.clinic.server.entity.diagnosis.Diagnosis;
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalGoodsList;
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList; import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList;
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalRecord;
import com.syjiaer.clinic.server.entity.goods.Goods; import com.syjiaer.clinic.server.entity.goods.Goods;
import com.syjiaer.clinic.server.entity.inventory.InventoryLog; import com.syjiaer.clinic.server.entity.inventory.InventoryLog;
import com.syjiaer.clinic.server.entity.item.Item; import com.syjiaer.clinic.server.entity.item.Item;
@ -37,6 +40,8 @@ import com.syjiaer.clinic.server.mapper.charge.ChargeGoodsListMapper;
import com.syjiaer.clinic.server.mapper.charge.ChargeItemListMapper; import com.syjiaer.clinic.server.mapper.charge.ChargeItemListMapper;
import com.syjiaer.clinic.server.mapper.charge.ChargeOrderMapper; import com.syjiaer.clinic.server.mapper.charge.ChargeOrderMapper;
import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMapper; import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMapper;
import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalGoodsListMapper;
import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalItemListMapper;
import com.syjiaer.clinic.server.mapper.goods.GoodsMapper; import com.syjiaer.clinic.server.mapper.goods.GoodsMapper;
import com.syjiaer.clinic.server.mapper.inventory.InventoryLogMapper; import com.syjiaer.clinic.server.mapper.inventory.InventoryLogMapper;
import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalRecordMapper; import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalRecordMapper;
@ -100,6 +105,12 @@ public class ChargeService extends BaseService {
@Autowired @Autowired
private SocialRequest socialRequest; private SocialRequest socialRequest;
@Autowired @Autowired
private DiagnosisMedicalRecordMapper diagnosisMedicalRecordMapper;
@Autowired
private DiagnosisMedicalGoodsListMapper diagnosisMedicalGoodsListMapper;
@Autowired
private DiagnosisMedicalItemListMapper diagnosisMedicalItemListMapper;
@Autowired
private Config config; private Config config;
@ -111,6 +122,46 @@ public class ChargeService extends BaseService {
chargeItemListMapper.delete(new QueryWrapper<ChargeItemList>().eq("charge_order_code", dbOrder.getCode())); chargeItemListMapper.delete(new QueryWrapper<ChargeItemList>().eq("charge_order_code", dbOrder.getCode()));
chargeGoodsListMapper.delete(new QueryWrapper<ChargeGoodsList>().eq("charge_order_code", dbOrder.getCode())); chargeGoodsListMapper.delete(new QueryWrapper<ChargeGoodsList>().eq("charge_order_code", dbOrder.getCode()));
} }
Diagnosis diagnosis = diagnosisMapper.selectById(dto.getId());
//清除该诊断的病例信息
if (diagnosis != null){
String diaCode = diagnosis.getCode();
diagnosisMedicalGoodsListMapper.delete(new QueryWrapper<DiagnosisMedicalGoodsList>().eq("diagnosis_code", diaCode));
diagnosisMedicalItemListMapper.delete(new QueryWrapper<DiagnosisMedicalItemList>().eq("diagnosis_code", diaCode));
//重新插入
DiagnosisMedicalRecord medicalRecord = new DiagnosisMedicalRecord();
BeanUtils.copyProperties(dto.getDiagnosisMedicalRecord(), medicalRecord);
diagnosisMedicalRecordMapper.updateById(medicalRecord);
List<DiagnosisMedicalItemList> mdItmeList= new ArrayList<>();
for (ChargeItemListVo item : dto.getItemDetail()){
DiagnosisMedicalItemList itemDetail = new DiagnosisMedicalItemList();
itemDetail.setItemId(item.getId());
itemDetail.setDiagnosisCode(diaCode);
itemDetail.setNumber(item.getSelectedNum());
itemDetail.setName(item.getItemName());
itemDetail.setSocialCode(item.getItemSocialCode());
itemDetail.setUnit(item.getSelectedUnit());
itemDetail.setUnitPrice(item.getSelectedPrice());
mdItmeList.add(itemDetail);
}
diagnosisMedicalItemListMapper.insert(mdItmeList);
List<DiagnosisMedicalGoodsList> mdGoodsList= new ArrayList<>();
for (ChargeGoodsListVo goods : dto.getGoodsDetail()){
DiagnosisMedicalGoodsList goodDetail = new DiagnosisMedicalGoodsList();
goodDetail.setGoodsId(goods.getId());
goodDetail.setDiagnosisCode(diaCode);
goodDetail.setName(goods.getName());
goodDetail.setSocialCode(goods.getHilistCode());
goodDetail.setUnit(goods.getSelectedUnit());
goodDetail.setUnitPrice(goods.getSelectedPrice());
goodDetail.setNumber(goods.getSelectedNum());
mdGoodsList.add(goodDetail);
}
diagnosisMedicalGoodsListMapper.insert(mdGoodsList);
}
QueryWrapper<ChargeOrder> listWrapper = new QueryWrapper<>(); QueryWrapper<ChargeOrder> listWrapper = new QueryWrapper<>();
listWrapper.eq("diagnosis_code", dto.getDiagnosisMedicalRecord().getDiagnosisCode()); listWrapper.eq("diagnosis_code", dto.getDiagnosisMedicalRecord().getDiagnosisCode());
listWrapper.eq("status",RetailOrderStatusEnum.FINISHED.getCode()); listWrapper.eq("status",RetailOrderStatusEnum.FINISHED.getCode());
@ -130,19 +181,19 @@ public class ChargeService extends BaseService {
BigDecimal preTotalPrice = BigDecimal.ZERO; BigDecimal preTotalPrice = BigDecimal.ZERO;
BigDecimal totalPrice = BigDecimal.ZERO; BigDecimal totalPrice = BigDecimal.ZERO;
List<ChargeItemList> chargeServiceLists = new ArrayList<>(); List<ChargeItemList> chargeServiceLists = new ArrayList<>();
for (DiagnosisMedicalItemList service : dto.getItemDetail()) { for (ChargeItemListVo service : dto.getItemDetail()) {
ChargeItemList itemList = new ChargeItemList(); ChargeItemList itemList = new ChargeItemList();
String fsn = StringUtil.getCode("FSN"); String fsn = StringUtil.getCode("FSN");
itemList.setChargeOrderCode(code); itemList.setChargeOrderCode(code);
itemList.setServiceId(service.getId()); itemList.setServiceId(service.getId());
itemList.setPreUnitPrice(service.getUnitPrice()); itemList.setPreUnitPrice(service.getUnitPrice());
itemList.setUnitPrice(service.getUnitPrice()); itemList.setUnitPrice(service.getSelectedPrice());
itemList.setNumber(1); itemList.setNumber(service.getSelectedNum());
BigDecimal subTotalPrice = service.getUnitPrice(); BigDecimal subTotalPrice = service.getUnitPrice();
itemList.setSubTotalPrice(service.getUnitPrice()); itemList.setSubTotalPrice(service.getUnitPrice());
itemList.setUnit(service.getUnit()); itemList.setUnit(service.getSelectedUnit());
itemList.setName(service.getName()); itemList.setName(service.getItemName());
itemList.setFeedetlSn(fsn); itemList.setFeedetlSn(fsn);
itemList.setCreateDate(nowLocalDate); itemList.setCreateDate(nowLocalDate);
itemList.setCreateTime(nowLocalDateTime); itemList.setCreateTime(nowLocalDateTime);
@ -191,7 +242,7 @@ public class ChargeService extends BaseService {
chargeOrder.setCreateDate(nowLocalDate); chargeOrder.setCreateDate(nowLocalDate);
chargeOrder.setStatus(RetailOrderStatusEnum.UNFINISHED.getCode()); chargeOrder.setStatus(RetailOrderStatusEnum.UNFINISHED.getCode());
chargeOrder.setPatientId(dto.getPatientInfo().getId()); chargeOrder.setPatientId(dto.getPatientInfo().getId());
chargeOrder.setDiagnosisCode(dto.getCode()); chargeOrder.setDiagnosisCode(dto.getDiagnosisMedicalRecord().getDiagnosisCode());
chargeOrderMapper.insert(chargeOrder); chargeOrderMapper.insert(chargeOrder);
return chargeOrder; return chargeOrder;
@ -249,7 +300,7 @@ public class ChargeService extends BaseService {
// return chargeService.save(dto); // return chargeService.save(dto);
// //
// } // }
@Transactional(rollbackFor = Exception.class)
public void completeOrder(Integer id, Integer payType) { public void completeOrder(Integer id, Integer payType) {
ChargeOrder order = chargeOrderMapper.selectById(id); ChargeOrder order = chargeOrderMapper.selectById(id);
if (order == null) { if (order == null) {
@ -284,7 +335,7 @@ public class ChargeService extends BaseService {
} else { } else {
fragmentNumber = goodsList.getSelectedNum(); fragmentNumber = goodsList.getSelectedNum();
} }
List<InventoryLog> logs = inventoryService.adjustNumberByGoodsId(goodsList.getId(), wholeNumber, fragmentNumber, "订单完成"); List<InventoryLog> logs = inventoryService.outByGoodsId(goodsList.getId(), wholeNumber, fragmentNumber, "订单完成");
for (InventoryLog log : logs) { for (InventoryLog log : logs) {
log.setOperateId(order.getPatientId()); log.setOperateId(order.getPatientId());
log.setType(InventoryTypeEnum.GRANT_OUT.getType()); log.setType(InventoryTypeEnum.GRANT_OUT.getType());

View File

@ -511,6 +511,9 @@ public class InventoryService extends BaseService {
} }
return list; return list;
} }
public List<InventoryLog> outByGoodsId(Integer goodsId, Integer changeWholeNumber, Integer changeFragmentNumber, String remark) { public List<InventoryLog> outByGoodsId(Integer goodsId, Integer changeWholeNumber, Integer changeFragmentNumber, String remark) {
// 1. 获取商品信息和总库存 // 1. 获取商品信息和总库存
Goods goods = goodsMapper.selectById(goodsId); Goods goods = goodsMapper.selectById(goodsId);

View File

@ -78,4 +78,17 @@ public class ItemService extends BaseService {
queryWrapper.last("limit 20"); queryWrapper.last("limit 20");
return itemMapper.selectList(queryWrapper); return itemMapper.selectList(queryWrapper);
} }
/*
* 更新项目信息
* @param item 项目信息
*/
public void updateItem(Item item) {
if (item == null) {
throw new MessageException("item参数为空");
}
item.setUpdateBy(getManagerUser().getName());
item.setUpdateDatetime(LocalDateTime.now());
itemMapper.updateById(item);
}
} }

View File

@ -48,6 +48,7 @@ public class OrganizationMemberService extends BaseService {
if (tel != null && !tel.isEmpty()) { if (tel != null && !tel.isEmpty()) {
queryWrapper.eq("tel", tel); queryWrapper.eq("tel", tel);
} }
queryWrapper.eq("del_flag", false);
Page<OrganizationMember> pageResult = pageHelper(pageNum, pageSize, queryWrapper, organizationMemberMapper, "create_datetime", false); Page<OrganizationMember> pageResult = pageHelper(pageNum, pageSize, queryWrapper, organizationMemberMapper, "create_datetime", false);
List<OrganizationMemberSaveDto> dtoList = new ArrayList<>(); List<OrganizationMemberSaveDto> dtoList = new ArrayList<>();
for (OrganizationMember member : pageResult.getList()){ for (OrganizationMember member : pageResult.getList()){
@ -107,9 +108,10 @@ public class OrganizationMemberService extends BaseService {
if (organizationMember == null) { if (organizationMember == null) {
throw new MessageException("该成员不存在"); throw new MessageException("该成员不存在");
} }
OrganizationMember updateMember = new OrganizationMember(); UpdateWrapper<OrganizationMember> updateWrapper = new UpdateWrapper();
updateMember.setId(id); updateWrapper.set("del_flag",true);
organizationMemberMapper.updateById(updateMember); updateWrapper.eq("id",id);
organizationMemberMapper.update(updateWrapper);
try { try {
fileUtil.deleteImage(organizationMember.getElectronicSignature()); fileUtil.deleteImage(organizationMember.getElectronicSignature());
} catch (Exception e) { } catch (Exception e) {