Compare commits

..

4 Commits

10 changed files with 47 additions and 271 deletions

View File

@ -83,4 +83,5 @@ public class SocialController extends BaseController {
chargeService.uploadCostDetails(changeOrderCode);
return success();
}
}

View File

@ -110,4 +110,6 @@ public class DiagnosisController extends BaseController {
}
}

View File

@ -2,6 +2,7 @@ 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.diagnosis.DiagnosisMedicalRecord;
import com.syjiaer.clinic.server.entity.patient.PatientInfo;
import io.swagger.annotations.ApiModelProperty;
@ -11,45 +12,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ChargeDetailVo {
@ApiModelProperty("自增主键")
private Integer id;
@ApiModelProperty("业务主键")
private String code;
@ApiModelProperty("管理员ID")
private Integer managerUserId;
@ApiModelProperty("打折前总价")
private BigDecimal preTotalPrice;
@ApiModelProperty("打折后总价")
private BigDecimal totalPrice;
@ApiModelProperty("创建时间")
private LocalDateTime createDatetime;
@ApiModelProperty("状态值 0未完成 1已完成 2已取消 3已退款")
private Integer status;
@ApiModelProperty("1医保 2微信支付 3支付宝支付 4现金支付 5其他")
private Integer payType;
@ApiModelProperty("支付时间")
private LocalDateTime payTime;
@ApiModelProperty("患者id")
private Integer patientId;
@ApiModelProperty("医保用户id")
private Integer socialUserId;
@ApiModelProperty("销售人id")
private Integer salePersonId;
@ApiModelProperty("病例id")
private Integer medicalRecordId;
public class ChargeDetailVo extends ChargeOrder {
@ApiModelProperty("销售人姓名")
private String salePersonName;

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.charge.vo;
import com.syjiaer.clinic.server.entity.goods.Goods;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -7,106 +8,8 @@ import java.math.BigDecimal;
import java.util.List;
@Data
public class ChargeGoodsListVo {
public class ChargeGoodsListVo extends Goods {
@ApiModelProperty("自增主键")
private Integer id;
@ApiModelProperty("商品名称")
private String name;
@ApiModelProperty("商品类型")
private Integer type;
@ApiModelProperty("通用名")
private String commonName;
@ApiModelProperty("医保目录编码")
private String hilistCode;
@ApiModelProperty("单价")
private BigDecimal unitPrice;
@ApiModelProperty("进货价")
private BigDecimal purchaseUnitPrice;
@ApiModelProperty("生厂商")
private String producer;
@ApiModelProperty("条形码")
private String barcode;
@ApiModelProperty("最小制剂单位")
private String medicineDosageUnit;
@ApiModelProperty("最小包装数量")
private Integer minPackagingNumber;
@ApiModelProperty("最小包装单位")
private String minPackagingUnit;
@ApiModelProperty("保质期")
private Integer expiryTime;
@ApiModelProperty("国药准字")
private String approvalCode;
@ApiModelProperty("拓展字段")
private String extra;
@ApiModelProperty("分类ID")
private Integer cateId;
@ApiModelProperty("软删除 1为删除")
private Integer deleted;
@ApiModelProperty("利润分类")
private String profitCate;
@ApiModelProperty("标签")
private String tags;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("利率")
private Double interestRate;
@ApiModelProperty("库存整数量 ")
private Integer inventoryWholeNumber;
@ApiModelProperty("标识码 由追溯码生成")
private String idCode;
@ApiModelProperty("库存分数量")
private Integer inventoryFragmentNumber;
@ApiModelProperty("0不允许拆零 1允许拆零")
private Boolean trdnFlag;
@ApiModelProperty("拆零价格")
private BigDecimal disassemblyPrice;
@ApiModelProperty("最小制剂数量")
private String medicineDosageNum;
@ApiModelProperty("包装单位")
private String packagingUnit;
@ApiModelProperty("售卖模式")
private Integer pricingModel;
@ApiModelProperty("加成率 30=30%")
private Integer makeUp;
@ApiModelProperty("0禁售 1可售")
private Boolean status;
@ApiModelProperty("库存预警数量")
private Integer inventoryWarnNumber;
@ApiModelProperty("到期预警天数")
private Integer expiryWarnDays;
@ApiModelProperty("选择的单价")
private BigDecimal selectedPrice;
@ApiModelProperty("选择的数量")

View File

@ -1,48 +1,13 @@
package com.syjiaer.clinic.server.entity.charge.vo;
import com.syjiaer.clinic.server.entity.item.Item;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class ChargeItemListVo {
@ApiModelProperty("自增主键")
private Integer id;
@ApiModelProperty("项目创建时间")
private LocalDateTime createDatetime;
@ApiModelProperty("项目创建人")
private String createBy;
@ApiModelProperty("项目修改时间")
private LocalDateTime updateDatetime;
@ApiModelProperty("项目修改人")
private String updateBy;
@ApiModelProperty("项目名称")
private String itemName;
@ApiModelProperty("项目医保目录编码")
private String itemSocialCode;
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("售价")
private BigDecimal unitPrice;
@ApiModelProperty("进货价")
private BigDecimal purchaseUnitPrice;
@ApiModelProperty("逻辑删除")
private Integer delFlag;
@ApiModelProperty("是否为组套 0为false 1为true")
private Boolean isGroup;
public class ChargeItemListVo extends Item {
@ApiModelProperty("选择的单价")
private BigDecimal selectedPrice;
@ApiModelProperty("选择的数量")

View File

@ -1,42 +1,14 @@
package com.syjiaer.clinic.server.entity.charge.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.syjiaer.clinic.server.entity.charge.ChargeOrder;
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;
public class ChargePrintOrderVo extends ChargeOrder {
private String salePersonName;
}

View File

@ -1,58 +1,13 @@
package com.syjiaer.clinic.server.entity.charge.vo;
import com.syjiaer.clinic.server.entity.patient.PatientInfo;
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;
public class PatientPrintInfoVo extends PatientInfo {
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

@ -57,6 +57,7 @@ import com.syjiaer.clinic.server.mapper.social.SocialUserMapper;
import com.syjiaer.clinic.server.service.BaseService;
import com.syjiaer.clinic.server.service.charge.vo.PaymentMethodVo;
import com.syjiaer.clinic.server.service.charge.vo.RetailOrderDailyChargingReportVo;
import com.syjiaer.clinic.server.service.diagnosis.DiagnosisService;
import com.syjiaer.clinic.server.service.inventory.InventoryService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -119,6 +120,9 @@ public class ChargeService extends BaseService {
@Autowired
@Lazy
private ChargeService chargeService;
@Autowired
@Lazy
private DiagnosisService diagnosisService;
@Autowired
private ChargeSocialPayLogMapper chargeSocialPayLogMapper;
@ -155,10 +159,18 @@ public class ChargeService extends BaseService {
String diaCode = diagnosis.getCode();
diagnosisMedicalGoodsListMapper.delete(new QueryWrapper<DiagnosisMedicalGoodsList>().eq("diagnosis_code", diaCode));
diagnosisMedicalItemListMapper.delete(new QueryWrapper<DiagnosisMedicalItemList>().eq("diagnosis_code", diaCode));
if (registration.getType().equals(RegistrationTypeEnum.Social.getType())){
//使之前上传的诊断失效
diagnosisService.uploadDiagnosis(diaCode, "0");
}
//重新插入
DiagnosisMedicalRecord medicalRecord = new DiagnosisMedicalRecord();
BeanUtils.copyProperties(dto.getDiagnosisMedicalRecord(), medicalRecord);
diagnosisMedicalRecordMapper.updateById(medicalRecord);
if (registration.getType().equals(RegistrationTypeEnum.Social.getType())){
//重新上传诊断
diagnosisService.uploadDiagnosis(diaCode, "1");
}
List<DiagnosisMedicalItemList> mdItmeList = new ArrayList<>();
for (ChargeItemListVo item : dto.getItemDetail()) {
@ -167,8 +179,8 @@ public class ChargeService extends BaseService {
itemDetail.setItemId(item.getId());
itemDetail.setDiagnosisCode(diaCode);
itemDetail.setNumber(item.getSelectedNum());
itemDetail.setName(item.getItemName());
itemDetail.setSocialCode(item.getItemSocialCode());
itemDetail.setName(item.getName());
itemDetail.setSocialCode(item.getSocialCode());
itemDetail.setUnit(item.getSelectedUnit());
itemDetail.setUnitPrice(item.getSelectedPrice());
mdItmeList.add(itemDetail);
@ -226,7 +238,7 @@ public class ChargeService extends BaseService {
if (dbService.getIsGroup()) {
List<ItemGroupList> itemGroupList = itemGroupListMapper.selectList(new QueryWrapper<ItemGroupList>().eq("item_id", dbService.getId()).eq("del_flag",false));
if (itemGroupList.isEmpty()) {
throw new MessageException("组套:" + service.getItemName() + "没有绑定商品数据");
throw new MessageException("组套:" + service.getName() + "没有绑定商品数据");
}
for (ItemGroupList itemGroup : itemGroupList) {
@ -270,8 +282,8 @@ public class ChargeService extends BaseService {
itemList.setNumber(service.getSelectedNum());
itemList.setSubTotalPrice(service.getUnitPrice());
itemList.setUnit(service.getSelectedUnit());
itemList.setName(service.getItemName());
itemList.setSocialCode(service.getItemSocialCode());
itemList.setName(service.getName());
itemList.setSocialCode(service.getSocialCode());
itemList.setFeedetlSn(fsn);
itemList.setCreateDate(nowLocalDate);
itemList.setCreateTime(nowLocalDateTime);

View File

@ -327,15 +327,15 @@ public class CheckService extends BaseService {
fsiOrderDtos.setChrgType("02");
// 传啥不知道 ----字典表没有
fsiOrderDtos.setDrordBhvr("0");
fsiOrderDtos.setHilistCode(itemInfo.getItemSocialCode());
fsiOrderDtos.setHilistName(itemInfo.getItemName());
fsiOrderDtos.setHilistCode(itemInfo.getSocialCode());
fsiOrderDtos.setHilistName(itemInfo.getName());
fsiOrderDtos.setHilistDosform(itemInfo.getSelectedUnit());
//穿啥不知道 写死的
fsiOrderDtos.setHilistLv("01");
//把itemInfo.getSelectedUnit()转化成BigDecimal价格
fsiOrderDtos.setHilistPric(itemInfo.getSelectedPrice());
fsiOrderDtos.setHosplistCode(itemInfo.getItemSocialCode());
fsiOrderDtos.setHosplistName(itemInfo.getItemName());
fsiOrderDtos.setHosplistCode(itemInfo.getSocialCode());
fsiOrderDtos.setHosplistName(itemInfo.getName());
//数量 取diagnosis_medical_goods_list number字段
fsiOrderDtos.setCnt(BigDecimal.valueOf(itemInfo.getSelectedNum()));
fsiOrderDtos.setPric(itemInfo.getUnitPrice());

View File

@ -8,6 +8,7 @@ import com.syjiaer.clinic.server.common.api.request.SocialRequest;
import com.syjiaer.clinic.server.common.config.Config;
import com.syjiaer.clinic.server.common.constants.Constants;
import com.syjiaer.clinic.server.common.enums.RegistrationStatusEnum;
import com.syjiaer.clinic.server.common.enums.RegistrationTypeEnum;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.DebugUtil;
import com.syjiaer.clinic.server.common.util.StringUtil;
@ -213,6 +214,7 @@ public class DiagnosisService extends BaseService {
socialDiagnoseService.updateNumAddOne(diagnoseList);
itemService.updateNumAddOne(itemIds);
goodsService.updateNumAddOne(goodsIds);
}
/**
@ -286,7 +288,7 @@ public class DiagnosisService extends BaseService {
return vo;
}
public void uploadDiagnosis(String diagnosisCode) {
public void uploadDiagnosis(String diagnosisCode,String vali_flag) {
Diagnosis diagnosis = diagnosisMapper.selectByCode(diagnosisCode);
if (diagnosis == null) {
throw new MessageException("诊断不存在");
@ -302,8 +304,6 @@ public class DiagnosisService extends BaseService {
}
OrganizationSection section = organizationSectionMapper.selectById(patientRegistration.getOrganizationSectionId());
OrganizationMember doctor = organizationMemberMapper.selectById(patientRegistration.getOrganizationDoctorId());
List<DiagnosisMedicalGoodsList> goodsLists = diagnosisMedicalGoodsListMapper.listByDiagnosisCode(diagnosisCode);
List<DiagnosisMedicalItemList> itemLists = diagnosisMedicalItemListMapper.listByDiagnosisCode(diagnosisCode);
LocalDateTime curTime = LocalDateTime.now();
IM2203A im2203A = new IM2203A();
@ -332,7 +332,7 @@ public class DiagnosisService extends BaseService {
diag.setDise_dor_no(doctor.getSocialMemberCode());
diag.setDise_dor_name(doctor.getName());
diag.setDiag_time(curTime);
diag.setVali_flag("1");
diag.setVali_flag(vali_flag);
diagList.add(diag);
}
im2203A.setDiseinfo(diagList);
@ -343,6 +343,9 @@ public class DiagnosisService extends BaseService {
}
public Page<ChargeQueueVo> getChargeQueue(ChargeQueueQuery query) {
QueryWrapper<Diagnosis> queryWrapper = new QueryWrapper<>();
if (query.getStatus() != null) {