生词辟义01
挂号一站式结算
register
登记、挂号
Settlement
结算单
createRegSettle()
生成挂号账单,结算单
门诊账单明细
Cs_AccountBillDetail
itemtype itemClassName: itemCode itemName
799 医师服务费 [ysfwf,zrysf] [医师服务费--sleepy,主任医师费]
867 其他费用 [jiuzhenka,bingliben,yujian] [就诊卡,病历本,预检]
patientid 病人ID
(DTO参数,model没有)
rootorderid  交易流水号
   (DTO参数,model没有)
oneStop  是否一站式
  (DTO参数,model没有)
orderid  订单号
  (DTO参数,model没有)
 
accountbill/createRegSettle() 挂号一站式生成账单结算单
accountbill/create() 创建单个账单
这2个 方法的参数都是扁平化传的,将主类和明细类的信息作为同一层级的参数传给后端。并没有做区分,如图:

在逻辑中,用明细Bean接收信息,然后在service类中再取值赋给主类
public void preCreate(Document<AccountBill, AccountBillDetail> doc) { doc0 = assignMaster(abds); } private Document<AccountBill, AccountBillDetail> assignMaster(List<AccountBillDetail> abds){ AccountBill accountBill=new AccountBill(); for(AccountBillDetail item:abds) { if (accountBill.getPatientid() == null) { accountBill.setOutpatientNumber(outpatientNumber); accountBill.setPatientid(item.getPatientid()); accountBill.setBilldate(item.getBilldate()); accountBill.setOrderid(item.getOrderid()); accountBill.setSourceOrderId(item.getSourceOrderId()); accountBill.setInsurOrgId(item.getInsurOrgId()); accountBill.setInsurProductId(item.getInsurProductId()); accountBill.setWelfare(item.getWelfare()); accountBill.setOrderStatus(item.getOrderStatus()); accountBill.setReturnFlag(item.getReturnFlag()); accountBill.setBooktime(item.getBooktime()); accountBill.setStartTime(item.getStartTime()); //...... } } }
 
新建的账单产生结算单
门诊账单: status:2 待结算 0 新建 1 已确认结算单 2待结算
门诊结算单:status:0 新建 0 新建 1 已结算 JavaBean:statusval;表:status
确认(可以)支付后的状态变化:门诊账单: status:1 已确认结算单
门诊结算单:status:1 已(可以)结算,(用户可以付款了)
 
结算单应该走确认(可以)支付这一步,对应页面上的那个按钮。
异步方法执行要调用异步日志记录方法:可以优化改造,方法参数自动获取,不用传
一个rootOrderId对应多个账单,多个相同rootOrderId的账单对应一个结算单
门诊结算单明细的JavaBean对象SettlementDetail中冗余了大量的门诊账单明细的字段。
 
 
 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号