生词辟义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冗余了大量的门诊账单明细的字段。






 
 
 

posted @ 2018-11-03 14:58  超轶绝尘  阅读(158)  评论(0编辑  收藏  举报