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

View File

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

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.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<DiagnosisMedicalItemList> itemDetail;
private List<ChargeItemListVo> itemDetail;
@ApiModelProperty("药品耗材")
private List<ChargeGoodsListVo> goodsDetail;
}

View File

@ -17,7 +17,7 @@ import lombok.experimental.Accessors;
* </p>
*
* @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;
}

View File

@ -14,7 +14,7 @@ import org.apache.ibatis.annotations.Select;
* @since 2025-04-17
*/
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);
}

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.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<ChargeItemList>().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<>();
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<ChargeItemList> 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<InventoryLog> logs = inventoryService.adjustNumberByGoodsId(goodsList.getId(), wholeNumber, fragmentNumber, "订单完成");
List<InventoryLog> logs = inventoryService.outByGoodsId(goodsList.getId(), wholeNumber, fragmentNumber, "订单完成");
for (InventoryLog log : logs) {
log.setOperateId(order.getPatientId());
log.setType(InventoryTypeEnum.GRANT_OUT.getType());

View File

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

View File

@ -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);
}
}

View File

@ -48,6 +48,7 @@ public class OrganizationMemberService extends BaseService {
if (tel != null && !tel.isEmpty()) {
queryWrapper.eq("tel", tel);
}
queryWrapper.eq("del_flag", false);
Page<OrganizationMember> pageResult = pageHelper(pageNum, pageSize, queryWrapper, organizationMemberMapper, "create_datetime", false);
List<OrganizationMemberSaveDto> 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<OrganizationMember> updateWrapper = new UpdateWrapper();
updateWrapper.set("del_flag",true);
updateWrapper.eq("id",id);
organizationMemberMapper.update(updateWrapper);
try {
fileUtil.deleteImage(organizationMember.getElectronicSignature());
} catch (Exception e) {