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) {