From 9415e90e3c1caf0ed061f7cfe33c6ca480baa197 Mon Sep 17 00:00:00 2001 From: LiJianZhao Date: Mon, 28 Apr 2025 16:04:18 +0800 Subject: [PATCH] deb --- .../controller/goods/GoodsController.java | 6 ++ .../controller/item/ItemController.java | 6 ++ .../entity/charge/dto/ChargeSaveDto.java | 3 +- .../organization/OrganizationMember.java | 5 +- .../mapper/manager/ManagerUserMapper.java | 2 +- .../server/service/charge/ChargeService.java | 67 ++++++++++++++++--- .../service/inventory/InventoryService.java | 3 + .../server/service/item/ItemService.java | 13 ++++ .../OrganizationMemberService.java | 8 ++- 9 files changed, 99 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/syjiaer/clinic/server/controller/goods/GoodsController.java b/src/main/java/com/syjiaer/clinic/server/controller/goods/GoodsController.java index 498c891..ce624b3 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/goods/GoodsController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/goods/GoodsController.java @@ -62,6 +62,12 @@ public class GoodsController extends BaseController { if (goods.getPackagingUnit() == null){ return error("包装单位不能为空"); } + if (goods.getMinPackagingUnit() == null){ + return error("最小包装单位不能为空"); + } + if (goods.getMinPackagingNumber() == null || goods.getMinPackagingNumber() <= 0){ + return error("最小包装数量只能为正数"); + } if (goods.getIdCode() != null && goods.getIdCode().isEmpty()){ goods.setIdCode(null); } diff --git a/src/main/java/com/syjiaer/clinic/server/controller/item/ItemController.java b/src/main/java/com/syjiaer/clinic/server/controller/item/ItemController.java index dae4a58..ddeecb0 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/item/ItemController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/item/ItemController.java @@ -45,6 +45,12 @@ public class ItemController extends BaseController { itemService.save(item); return success(); } + @RequestMapping("/edit") + public Result updateItem() { + Item item = parmsUtil.getObject("data", Item.class); + itemService.updateItem(item); + return success(); + } @RequestMapping("/delete") public Result deleteItem() { diff --git a/src/main/java/com/syjiaer/clinic/server/entity/charge/dto/ChargeSaveDto.java b/src/main/java/com/syjiaer/clinic/server/entity/charge/dto/ChargeSaveDto.java index c3b8795..ee090aa 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/charge/dto/ChargeSaveDto.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/charge/dto/ChargeSaveDto.java @@ -3,6 +3,7 @@ package com.syjiaer.clinic.server.entity.charge.dto; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; 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.DiagnosisMedicalRecord; import com.syjiaer.clinic.server.entity.patient.PatientInfo; @@ -35,7 +36,7 @@ public class ChargeSaveDto { @ApiModelProperty("病例信息") private DiagnosisMedicalRecord diagnosisMedicalRecord; @ApiModelProperty("诊疗服务") - private List itemDetail; + private List itemDetail; @ApiModelProperty("药品耗材") private List goodsDetail; } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/organization/OrganizationMember.java b/src/main/java/com/syjiaer/clinic/server/entity/organization/OrganizationMember.java index 6d99f94..b7ff163 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/organization/OrganizationMember.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/organization/OrganizationMember.java @@ -17,7 +17,7 @@ import lombok.experimental.Accessors; *

* * @author NiuZiYuan - * @since 2025-04-25 + * @since 2025-04-28 */ @Getter @Setter @@ -68,4 +68,7 @@ public class OrganizationMember implements Serializable { @ApiModelProperty("角色") private Integer role; + + @ApiModelProperty("删除标记") + private Boolean delFlag; } diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java index faaebff..f7cb397 100644 --- a/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java +++ b/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java @@ -14,7 +14,7 @@ import org.apache.ibatis.annotations.Select; * @since 2025-04-17 */ public interface ManagerUserMapper extends BaseMapper { - @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); } diff --git a/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java b/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java index 778efdb..4237733 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java @@ -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.vo.ChargeDetailVo; 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.DiagnosisMedicalGoodsList; 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.inventory.InventoryLog; 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.ChargeOrderMapper; 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.inventory.InventoryLogMapper; import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalRecordMapper; @@ -100,6 +105,12 @@ public class ChargeService extends BaseService { @Autowired private SocialRequest socialRequest; @Autowired + private DiagnosisMedicalRecordMapper diagnosisMedicalRecordMapper; + @Autowired + private DiagnosisMedicalGoodsListMapper diagnosisMedicalGoodsListMapper; + @Autowired + private DiagnosisMedicalItemListMapper diagnosisMedicalItemListMapper; + @Autowired private Config config; @@ -111,6 +122,46 @@ public class ChargeService extends BaseService { chargeItemListMapper.delete(new QueryWrapper().eq("charge_order_code", dbOrder.getCode())); chargeGoodsListMapper.delete(new QueryWrapper().eq("charge_order_code", dbOrder.getCode())); } + Diagnosis diagnosis = diagnosisMapper.selectById(dto.getId()); + //清除该诊断的病例信息 + if (diagnosis != null){ + String diaCode = diagnosis.getCode(); + diagnosisMedicalGoodsListMapper.delete(new QueryWrapper().eq("diagnosis_code", diaCode)); + diagnosisMedicalItemListMapper.delete(new QueryWrapper().eq("diagnosis_code", diaCode)); + //重新插入 + DiagnosisMedicalRecord medicalRecord = new DiagnosisMedicalRecord(); + BeanUtils.copyProperties(dto.getDiagnosisMedicalRecord(), medicalRecord); + diagnosisMedicalRecordMapper.updateById(medicalRecord); + List 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 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 listWrapper = new QueryWrapper<>(); listWrapper.eq("diagnosis_code", dto.getDiagnosisMedicalRecord().getDiagnosisCode()); listWrapper.eq("status",RetailOrderStatusEnum.FINISHED.getCode()); @@ -130,19 +181,19 @@ public class ChargeService extends BaseService { BigDecimal preTotalPrice = BigDecimal.ZERO; BigDecimal totalPrice = BigDecimal.ZERO; List chargeServiceLists = new ArrayList<>(); - for (DiagnosisMedicalItemList service : dto.getItemDetail()) { + for (ChargeItemListVo service : dto.getItemDetail()) { ChargeItemList itemList = new ChargeItemList(); String fsn = StringUtil.getCode("FSN"); itemList.setChargeOrderCode(code); itemList.setServiceId(service.getId()); itemList.setPreUnitPrice(service.getUnitPrice()); - itemList.setUnitPrice(service.getUnitPrice()); - itemList.setNumber(1); + itemList.setUnitPrice(service.getSelectedPrice()); + itemList.setNumber(service.getSelectedNum()); BigDecimal subTotalPrice = service.getUnitPrice(); itemList.setSubTotalPrice(service.getUnitPrice()); - itemList.setUnit(service.getUnit()); - itemList.setName(service.getName()); + itemList.setUnit(service.getSelectedUnit()); + itemList.setName(service.getItemName()); itemList.setFeedetlSn(fsn); itemList.setCreateDate(nowLocalDate); itemList.setCreateTime(nowLocalDateTime); @@ -191,7 +242,7 @@ public class ChargeService extends BaseService { chargeOrder.setCreateDate(nowLocalDate); chargeOrder.setStatus(RetailOrderStatusEnum.UNFINISHED.getCode()); chargeOrder.setPatientId(dto.getPatientInfo().getId()); - chargeOrder.setDiagnosisCode(dto.getCode()); + chargeOrder.setDiagnosisCode(dto.getDiagnosisMedicalRecord().getDiagnosisCode()); chargeOrderMapper.insert(chargeOrder); return chargeOrder; @@ -249,7 +300,7 @@ public class ChargeService extends BaseService { // return chargeService.save(dto); // // } - + @Transactional(rollbackFor = Exception.class) public void completeOrder(Integer id, Integer payType) { ChargeOrder order = chargeOrderMapper.selectById(id); if (order == null) { @@ -284,7 +335,7 @@ public class ChargeService extends BaseService { } else { fragmentNumber = goodsList.getSelectedNum(); } - List logs = inventoryService.adjustNumberByGoodsId(goodsList.getId(), wholeNumber, fragmentNumber, "订单完成"); + List logs = inventoryService.outByGoodsId(goodsList.getId(), wholeNumber, fragmentNumber, "订单完成"); for (InventoryLog log : logs) { log.setOperateId(order.getPatientId()); log.setType(InventoryTypeEnum.GRANT_OUT.getType()); diff --git a/src/main/java/com/syjiaer/clinic/server/service/inventory/InventoryService.java b/src/main/java/com/syjiaer/clinic/server/service/inventory/InventoryService.java index b6a1ece..f2fcf15 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/inventory/InventoryService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/inventory/InventoryService.java @@ -511,6 +511,9 @@ public class InventoryService extends BaseService { } return list; } + + + public List outByGoodsId(Integer goodsId, Integer changeWholeNumber, Integer changeFragmentNumber, String remark) { // 1. 获取商品信息和总库存 Goods goods = goodsMapper.selectById(goodsId); diff --git a/src/main/java/com/syjiaer/clinic/server/service/item/ItemService.java b/src/main/java/com/syjiaer/clinic/server/service/item/ItemService.java index 984faaf..3609301 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/item/ItemService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/item/ItemService.java @@ -78,4 +78,17 @@ public class ItemService extends BaseService { queryWrapper.last("limit 20"); 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); + } } diff --git a/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java b/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java index 4212692..5c35568 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java @@ -48,6 +48,7 @@ public class OrganizationMemberService extends BaseService { if (tel != null && !tel.isEmpty()) { queryWrapper.eq("tel", tel); } + queryWrapper.eq("del_flag", false); Page pageResult = pageHelper(pageNum, pageSize, queryWrapper, organizationMemberMapper, "create_datetime", false); List dtoList = new ArrayList<>(); for (OrganizationMember member : pageResult.getList()){ @@ -107,9 +108,10 @@ public class OrganizationMemberService extends BaseService { if (organizationMember == null) { throw new MessageException("该成员不存在"); } - OrganizationMember updateMember = new OrganizationMember(); - updateMember.setId(id); - organizationMemberMapper.updateById(updateMember); + UpdateWrapper updateWrapper = new UpdateWrapper(); + updateWrapper.set("del_flag",true); + updateWrapper.eq("id",id); + organizationMemberMapper.update(updateWrapper); try { fileUtil.deleteImage(organizationMember.getElectronicSignature()); } catch (Exception e) {