diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2204.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2204.java
index 4de1cc8..d4ecfbf 100644
--- a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2204.java
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2204.java
@@ -18,7 +18,6 @@ import java.util.List;
public class IM2204 extends BaseInputModel{
@IMField(key = "feedetail", name = "费用明细列表", required = true)
private List feedetail;
-
@Data
public static class Feedetail {
@IMField(key = "feedetl_sn", name = "费用明细流水号", required = true)
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2206A.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2206A.java
index 7968af1..8c0c06f 100644
--- a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2206A.java
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2206A.java
@@ -20,8 +20,7 @@ public class IM2206A extends BaseInputModel{
@IMField(key = "data", name = "数据", required = true)
private Data data;
- @Getter
- @Setter
+ @lombok.Data
public static class Data{
@IMField(key = "psn_no", name = "人员编号", required = true)
private String psn_no;
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2207A.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2207A.java
index bcf4dfd..278cc2f 100644
--- a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2207A.java
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2207A.java
@@ -1,6 +1,7 @@
package com.syjiaer.clinic.server.common.api.input;
import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@@ -16,8 +17,7 @@ public class IM2207A extends BaseInputModel{
@IMField(key = "data", name = "数据", required = true)
private Data data;
- @Getter
- @Setter
+ @lombok.Data
public static class Data{
@IMField(key = "psn_no", name = "人员编号", required = true)
private String psn_no;
diff --git a/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java
index e4ba3bb..9463fa6 100644
--- a/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java
+++ b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java
@@ -10,6 +10,7 @@ import com.syjiaer.clinic.server.entity.charge.ChargeLog;
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.ChargeSaveDto;
+import com.syjiaer.clinic.server.entity.charge.vo.ChargeDetailVo;
import com.syjiaer.clinic.server.service.charge.ChargeService;
import com.syjiaer.clinic.server.service.charge.vo.RetailOrderDailyChargingReportVo;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,9 +32,14 @@ public class ChargeController extends BaseController {
ChargeOrder chargeOrder = chargeService.save(dto);
return success(chargeOrder.getCode());
}
+ @RequestMapping("/listDetail")
+ public Result> listDetail() {
+ ChargeQuery chargeQuery = parmsUtil.getObject("query", ChargeQuery.class);
+ return success(chargeService.pageDetailList(chargeQuery));
+ }
@RequestMapping("/list")
- public Result
*
* @author NiuZiYuan
- * @since 2025-04-30
+ * @since 2025-05-07
*/
@Getter
@Setter
@@ -88,4 +88,13 @@ public class PatientInfo implements Serializable {
@ApiModelProperty("生日")
private LocalDate birthday;
+
+ @ApiModelProperty("最后就诊时间")
+ private LocalDateTime lastVisitTime;
+
+ @ApiModelProperty("既往史")
+ private String beforeMedicalHistory;
+
+ @ApiModelProperty("过敏史")
+ private String allergyHistory;
}
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 f90a3e7..23edbd9 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
@@ -252,9 +252,23 @@ public class ChargeService extends BaseService {
return chargeOrder;
}
+ public Page pageDetailList(ChargeQuery query) {
+ Page page = pageList(query);
+ List detailList = new ArrayList<>();
+ for (ChargeOrder chargeOrder : page.getList()){
+ detailList.add(getDetail(chargeOrder.getCode()));
+ }
+ Page pageResult = new Page<>();
+ pageResult.setTotal_page(page.getTotal_page());
+ pageResult.setTotal_count(page.getTotal_count());
+ pageResult.setList(detailList);
+ return pageResult;
+
+ }
- public Page pageList(ChargeQuery query) {
+
+ public Page pageList(ChargeQuery query) {
QueryWrapper queryWrapper = new QueryWrapper<>();
if (query.getPageSize() == null || query.getPageSize() == 0) {
query.setPageSize(Constants.DetailPageSize);
@@ -265,26 +279,32 @@ public class ChargeService extends BaseService {
if (query.getPatientName() != null) {
queryWrapper.like("patient_name", query.getPatientName());
}
- if (query.getPatientId() != null){
+ if (query.getPatientId() != null) {
queryWrapper.eq("patient_id", query.getPatientId());
}
- Page orderPage = pageHelper(query.getPageNum(), query.getPageSize(), queryWrapper, chargeOrderMapper, "create_datetime", false);
- List voList = new ArrayList<>();
- for (ChargeOrder chargeOrder : orderPage.getList()) {
- ChargeDetailVo detailVo = new ChargeDetailVo();
- BeanUtils.copyProperties(chargeOrder, detailVo);
- detailVo.setDiagnosisMedicalRecord(diagnosisMedicalRecordMapper.selectByDiagnosisCode(chargeOrder.getDiagnosisCode()));
- detailVo.setPatientInfo(patientInfoMapper.selectById(chargeOrder.getPatientId()));
- detailVo.setServiceDetail(chargeItemListMapper.selectByCode(chargeOrder.getCode()));
+ return pageHelper(query.getPageNum(), query.getPageSize(), queryWrapper, chargeOrderMapper, "create_datetime", false);
+
+ }
+
+ /**
+ * 获取订单详细信息
+ * @param code
+ * @return
+ */
+ public ChargeDetailVo getDetail(String code) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("code", code);
+ queryWrapper.last("limit 1");
+ ChargeOrder chargeOrder = chargeOrderMapper.selectOne(queryWrapper);
+ ChargeDetailVo detailVo = new ChargeDetailVo();
+ BeanUtils.copyProperties(chargeOrder, detailVo);
+ detailVo.setDiagnosisMedicalRecord(diagnosisMedicalRecordMapper.selectByDiagnosisCode(chargeOrder.getDiagnosisCode()));
+ detailVo.setPatientInfo(patientInfoMapper.selectById(chargeOrder.getPatientId()));
+ detailVo.setServiceDetail(chargeItemListMapper.selectByCode(chargeOrder.getCode()));
+
+ detailVo.setGoodsDetail(chargeGoodsListMapper.selectByCode(chargeOrder.getCode()));
+ return detailVo;
- detailVo.setGoodsDetail(chargeGoodsListMapper.selectByCode(chargeOrder.getCode()));
- voList.add(detailVo);
- }
- Page resultPage = new Page<>();
- resultPage.setList(voList);
- resultPage.setTotal_page(orderPage.getTotal_page());
- resultPage.setTotal_count(orderPage.getTotal_count());
- return resultPage;
}
// @Transactional(rollbackFor = Exception.class)
@@ -352,7 +372,7 @@ public class ChargeService extends BaseService {
log.setSocialType(InventorySocialTypeEnum.INVENTORY_SURPLUS.getType());
}
inventoryLogMapper.insert(logs);
- this.recordChargeInventoryLog(logs,order);
+ this.recordChargeInventoryLog(logs, order);
}
//记录收费日志
this.recordChargeLog(order, ChargeSourceEnum.CHARGE, ChargeTypeEnum.CHARGE);
@@ -535,7 +555,7 @@ public class ChargeService extends BaseService {
if (divisor.compareTo(BigDecimal.ZERO) == 0) {
// 处理除数为零的情况,例如抛出自定义异常或返回默认值
value.setGrossProfitRate("0.00%");
- }else {
+ } else {
value.setGrossProfitRate(String.format("%.2f%%", grossMargin.divide(value.getTotalMoney(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100"))));
}
value.setDate(LocalDate.parse(key));
@@ -589,16 +609,16 @@ public class ChargeService extends BaseService {
/**
* 收款 退款 记录
*/
- public void recordChargeLog(ChargeOrder chargeOrder, ChargeSourceEnum sourceEnum, ChargeTypeEnum chargeType){
- ChargeLog chargeLog = new ChargeLog();
+ public void recordChargeLog(ChargeOrder chargeOrder, ChargeSourceEnum sourceEnum, ChargeTypeEnum chargeType) {
+ ChargeLog chargeLog = new ChargeLog();
String customer = null;
- if (chargeOrder.getPatientId() != null){
+ if (chargeOrder.getPatientId() != null) {
PatientInfo patient = patientInfoMapper.selectById(chargeOrder.getPatientId());
customer = patient.getName();
- }else if (chargeOrder.getSocialUserId() != null){
+ } else if (chargeOrder.getSocialUserId() != null) {
SocialUser socialUser = socialUserMapper.selectById(chargeOrder.getSocialUserId());
customer = socialUser.getPsnName();
- }else {
+ } else {
customer = "-";
}
chargeLog.setSource(sourceEnum.getType());
@@ -609,7 +629,7 @@ public class ChargeService extends BaseService {
chargeLog.setNetReceipts(chargeOrder.getTotalPrice());
chargeLog.setDiscount(chargeOrder.getTotalPrice().subtract(chargeOrder.getPreTotalPrice()));
chargeLog.setPayType(chargeOrder.getPayType());
- if (chargeOrder.getSalePersonId() != null){
+ if (chargeOrder.getSalePersonId() != null) {
OrganizationMember organizationMember = organizationMemberMapper.selectById(chargeOrder.getSalePersonId());
chargeLog.setSalePersonName(organizationMember.getName());
chargeLog.setSalePersonId(chargeOrder.getSalePersonId());
@@ -618,12 +638,13 @@ public class ChargeService extends BaseService {
chargeLog.setProjectCode(chargeOrder.getCode());
chargeLogMapper.insert(chargeLog);
}
+
/**
* 销售库存变更 日志
*/
- public void recordChargeInventoryLog(List logs,ChargeOrder chargeOrder){
+ public void recordChargeInventoryLog(List logs, ChargeOrder chargeOrder) {
List chargeInventoryLogs = new ArrayList<>();
- for (InventoryLog log : logs){
+ for (InventoryLog log : logs) {
ChargeInventoryLog chargeInventoryLog = new ChargeInventoryLog();
chargeInventoryLog.setChargeOrderCode(chargeOrder.getCode());
chargeInventoryLog.setGoodsId(log.getGoodsId());
@@ -633,14 +654,14 @@ public class ChargeService extends BaseService {
chargeInventoryLog.setTrdnFlag(false);
chargeInventoryLog.setUnit(dbGoods.getPackagingUnit());
chargeInventoryLog.setNumber(log.getChangeWholeNumber());
- if (log.getChangeFragmentNumber() != 0 ){
+ if (log.getChangeFragmentNumber() != 0) {
chargeInventoryLog.setTrdnFlag(true);
chargeInventoryLog.setUnit(dbGoods.getMinPackagingUnit());
- chargeInventoryLog.setNumber(log.getChangeWholeNumber()*dbGoods.getMinPackagingNumber()+log.getChangeFragmentNumber());
+ chargeInventoryLog.setNumber(log.getChangeWholeNumber() * dbGoods.getMinPackagingNumber() + log.getChangeFragmentNumber());
}
QueryWrapper listWrapper = new QueryWrapper<>();
- listWrapper.eq("charge_order_code",chargeOrder.getCode());
- listWrapper.eq("goods_id",log.getGoodsId());
+ listWrapper.eq("charge_order_code", chargeOrder.getCode());
+ listWrapper.eq("goods_id", log.getGoodsId());
ChargeGoodsList chargeGoodsList = chargeGoodsListMapper.selectOne(listWrapper);
chargeInventoryLog.setFeedetlSn(chargeGoodsList.getFeedetlSn());
chargeInventoryLog.setCreateTime(LocalDateTime.now());
@@ -657,6 +678,7 @@ public class ChargeService extends BaseService {
/**
* 获取收费记录
+ *
* @return
*/
public Page getChargeRecordPageList() {
@@ -664,4 +686,6 @@ public class ChargeService extends BaseService {
Page page = pageHelper(1, 20, queryWrapper, chargeLogMapper, "charge_time", false);
return page;
}
+
+
}
diff --git a/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java b/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java
index 7d412d3..9e018cf 100644
--- a/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java
+++ b/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java
@@ -181,6 +181,14 @@ public class MedicalRecordService extends BaseService {
diagnosisMedicalGoodsListMapper.insert(goodsLists);
+ PatientInfo updatePatient = new PatientInfo();
+ updatePatient.setId(saveDto.getPatientId());
+ updatePatient.setLastVisitTime(now);
+ updatePatient.setAllergyHistory(saveDto.getDiagnosisMedicalRecord().getAllergyHistory());
+ updatePatient.setBeforeMedicalHistory(saveDto.getDiagnosisMedicalRecord().getBeforeMedicalHistory());
+ patientInfoMapper.updateById(updatePatient);
+
+
System.out.println(saveDto.getDiagnosisMedicalRecord().getDiagnosisDetail());
List diagnoseList = JSONArray.parseArray(saveDto.getDiagnosisMedicalRecord().getDiagnosisDetail(),SocialDiagnose.class);
socialDiagnoseService.updateNumAddOne(diagnoseList);
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 8807615..69bf3c2 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
@@ -97,7 +97,11 @@ public class ItemService extends BaseService {
public List- search(String keyword){
QueryWrapper
- queryWrapper = new QueryWrapper<>();
if (keyword != null && !keyword.isEmpty()){
- queryWrapper.like("item_name", keyword.toUpperCase());
+ String upperKeyword = keyword.toUpperCase();
+ queryWrapper.like("item_name", upperKeyword);
+ queryWrapper.or().like("pinyin_full", upperKeyword);
+ queryWrapper.or().like("pinyin_first", upperKeyword);
+
}
queryWrapper.orderByDesc("use_num","update_datetime");
queryWrapper.last("limit 20");