This commit is contained in:
LiJianZhao 2025-05-16 12:08:34 +08:00
parent d9f0155f08
commit 75e9ace4de
6 changed files with 181 additions and 4 deletions

View File

@ -12,6 +12,7 @@ import com.syjiaer.clinic.server.entity.charge.ChargeOrder;
import com.syjiaer.clinic.server.entity.charge.dto.ChargeQuery; 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.ChargeOrderPrintVo;
import com.syjiaer.clinic.server.service.charge.ChargeService; import com.syjiaer.clinic.server.service.charge.ChargeService;
import com.syjiaer.clinic.server.service.charge.vo.RetailOrderDailyChargingReportVo; import com.syjiaer.clinic.server.service.charge.vo.RetailOrderDailyChargingReportVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -182,4 +183,15 @@ public class ChargeController extends BaseController {
return success(chargeLogs); return success(chargeLogs);
} }
/**
* 根据订单号获取订单详情 小票打印用
*/
@RequestMapping("getPrintInfoByCode")
public Result<ChargeOrderPrintVo> getDetailByCode() {
String code = parmsUtil.getString("code", "订单号不能为空");
return success(chargeService.getPrintInfoByCode(code));
}
} }

View File

@ -0,0 +1,22 @@
package com.syjiaer.clinic.server.entity.charge.vo;
import com.syjiaer.clinic.server.entity.charge.ChargeGoodsList;
import com.syjiaer.clinic.server.entity.charge.ChargeItemList;
import com.syjiaer.clinic.server.entity.charge.ChargeOrder;
import com.syjiaer.clinic.server.entity.charge.ChargeSocialPayLog;
import com.syjiaer.clinic.server.entity.patient.PatientInfo;
import com.syjiaer.clinic.server.service.charge.ChargeService;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Data
public class ChargeOrderPrintVo {
private String sortName;
private ChargePrintOrderVo chargeOrder;
private PatientPrintInfoVo patientInfo;
private List<ChargeGoodsList> chargeGoodsLists;
private List<ChargeItemList> chargeItemLists;
private ChargeSocialPayLog chargeSocialPayLog;
}

View File

@ -0,0 +1,42 @@
package com.syjiaer.clinic.server.entity.charge.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class ChargePrintOrderVo {
private Integer id;
private String code;
private Integer managerUserId;
private BigDecimal preTotalPrice;
private BigDecimal totalPrice;
private LocalDateTime createDatetime;
private Integer status;
private Integer payType;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime payTime;
private Integer patientId;
private Integer socialUserId;
private String diagnosisCode;
private LocalDate createDate;
private BigDecimal totalCost;
private Integer salePersonId;
private String salePersonName;
}

View File

@ -0,0 +1,61 @@
package com.syjiaer.clinic.server.entity.charge.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class PatientPrintInfoVo {
private Integer id;
private String name;
private String phone;
private String certNo;
private Integer sex;
private String sexStr;
private Integer age;
private String certType;
private String source;
private String nation;
private String area;
private String address;
private String remark;
private LocalDateTime createDatetime;
private Integer levelId;
private Integer exp;
private Integer integralBalance;
private Integer isBindSocial;
private BigDecimal balance;
private LocalDate birthday;
private LocalDateTime lastVisitTime;
private String beforeMedicalHistory;
private String allergyHistory;
private BigDecimal socialBalance;
private String insutype;
}

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.mapper.charge;
import com.syjiaer.clinic.server.entity.charge.ChargeSocialPayLog; import com.syjiaer.clinic.server.entity.charge.ChargeSocialPayLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Select;
/** /**
@ -13,6 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2025-05-09 * @since 2025-05-09
*/ */
public interface ChargeSocialPayLogMapper extends BaseMapper<ChargeSocialPayLog> { public interface ChargeSocialPayLogMapper extends BaseMapper<ChargeSocialPayLog> {
@Select("select * from charge_social_pay_log WHERE charge_order_code = #{code}")
ChargeSocialPayLog selectByCode(String code);
} }

View File

@ -18,9 +18,7 @@ import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.entity.charge.*; import com.syjiaer.clinic.server.entity.charge.*;
import com.syjiaer.clinic.server.entity.charge.dto.ChargeQuery; 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.*;
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.DiagnosisMedicalGoodsList;
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList; import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList;
@ -932,6 +930,46 @@ public class ChargeService extends BaseService {
} }
} }
/**
* 根据订单号获取订单详情 小票打印用
*/
public ChargeOrderPrintVo getPrintInfoByCode(String code) {
ChargeOrder dbChargeOrder = chargeOrderMapper.selectByCode(code);
if (dbChargeOrder == null) {
throw new MessageException("订单不存在");
}
List<ChargeGoodsList> chargeGoodsLists = chargeGoodsListMapper.selectByCode(code);
List<ChargeItemList> chargeItemLists = chargeItemListMapper.selectByCode(code);
ChargeSocialPayLog socialPayLog = chargeSocialPayLogMapper.selectByCode(code);
PatientInfo patientInfo = patientInfoMapper.selectById(dbChargeOrder.getPatientId());
String sortName = config.get("common", "sortName");
ChargeOrderPrintVo chargeOrderPrintVo = new ChargeOrderPrintVo();
chargeOrderPrintVo.setSortName(sortName);
ChargePrintOrderVo chargePrintOrderVo = new ChargePrintOrderVo();
BeanUtils.copyProperties(dbChargeOrder, chargePrintOrderVo);
OrganizationMember organizationMember = organizationMemberMapper.selectById(dbChargeOrder.getSalePersonId());
if (organizationMember != null){
chargePrintOrderVo.setSalePersonName(organizationMember.getName());
}
chargeOrderPrintVo.setChargeOrder(chargePrintOrderVo);
chargeOrderPrintVo.setChargeGoodsLists(chargeGoodsLists);
chargeOrderPrintVo.setChargeItemLists(chargeItemLists);
chargeOrderPrintVo.setChargeSocialPayLog(socialPayLog);
PatientPrintInfoVo patientPrintInfoVo = new PatientPrintInfoVo();
if (patientInfo != null){
BeanUtils.copyProperties(patientInfo, patientPrintInfoVo);
patientPrintInfoVo.setSexStr(patientInfo.getSex() == 1?"":"");
}
chargeOrderPrintVo.setPatientInfo(patientPrintInfoVo);
return chargeOrderPrintVo;
}
// public void recordSocialInfo(OM2103 om2103, RetailOrder dbOrder) { // public void recordSocialInfo(OM2103 om2103, RetailOrder dbOrder) {
// QueryWrapper<RetailSocialPayLog> logQuery = new QueryWrapper<>(); // QueryWrapper<RetailSocialPayLog> logQuery = new QueryWrapper<>();