找回密码
 立即注册
搜索
查看: 661|回复: 1

海典H1 医保对账表、销售明细表、进销存

[复制链接]

251

主题

134

回帖

1404

积分

版主

积分
1404

活跃会员宣传达人突出贡献优秀版主

发表于 2025-2-26 17:31:05 | 显示全部楼层 |阅读模式
-----医保对账表
select  c.PsnName as 人员姓名,
        c.CERTNO  as  身份证,
        ord.OutSaleNo  as 系统流水号,
        c.psnno   as  人员信息编号,
        c.SETTELID  as   结算ID,
        c.MDTRTID  as  就医ID,
        ord.settletime   as  结算时间,
        org.MedicalNo  as  医保机构编号,
        ord.AREACODE   as   区医保编号,
        case when c.clrtype=41   then  '药店购药'  
              when  c.clrtype=11   then  '普通门诊'  
              when  c.clrtype='99972'   then   '省内异地药店购药'
              when  c.clrtype='9903'   then   '跨省异地药店购药'
              when  c.clrtype='99970'   then   '省内异地门诊'
              when  c.clrtype='9901'   then   '跨省异地门诊'
        else  ''  end   as   清算类别,
        c.totalamount   as    总金额,
        c.CASHPAY  as   现金支付,
        c.HIFPPAY  as  统筹基金支付,
        c.ACCOUNTPAY  as  个人账户支付,
        c.HIFOBPAY  as   大病保险基金,
        c.FUNDPAY   as  基本医疗保险基金,
        c.MAFPAY     as   医疗救助基金,
        c.BALANCE    as    账户余额,
        case  when  ord.orderstatus=5  then '退费成功'
              when  ord.orderstatus=6  then '已退费'
         else  ''  end         退费标志,  
         '社保卡'    as  卡类别,
        case  when  c.insutype='390' then '职工医保'  else  '居民医保'  end  险种类型,
        m.label            人员类型      
from hydee_ybpt.dbo.PROS_ORDER ord  
left  join hydee_ybpt.dbo.pros_order_receipt_list c  on  ord.OrderNo=c.OrderNo
left join  hydee_ybpt.dbo.pros_code_dictionary  m  on  m.TYPE ='PSN_TYPE' AND  m.VALUE =c.PSNTYPE
LEFT JOIN hydee_ybpt..MEDICARE_ORGAN_CONFIG org ON org.REFID = ord.REFID
where  ord.OrderStatus in (2,3,5,6)
and ord.IsDeleted=0
and   convert(varchar(10),ord.settletime,120)   >='2023-01-01'  
and   convert(varchar(10),ord.settletime,120)  <='2023-08-31'   
and  org.MedicalNo='P62110200003'
order by ord.OrderNo




---销售明细表
select distinct
org.MedicalNo  as   门店编号,
       ORG.MEDICALNAME as  门店名称,
         h.saleno   as    零售流水号,
         h.accdate   as  开单日期,
         h.finaltime   as   开单时间,
         dbo.f_get_username(d.saler)  as   营业员,
         dbo.f_get_username(h.payee)  as   收银员,
         t.wareid    as  货号,
         e.insuranceno  as   药品国家医保编码,
         t.warename   as    商品名及通用名,
         t.warespec   as    规格,
         t.producer   as   生产单位,
         t.wareunit   as  单位,
         d.wareqty   as    数量,
         round(d.wareqty*d.netprice,2)   as   金额,
         d.makeno   as   批号,
         d.invalidate  as    效期,
         i.makedate   as    生产日期,
         d.netprice   as  零售价,
        dbo.f_get_classname(t.wareid,'03','max')  as  剂型
from  u_sale_m   h   left  join     hydee_ybpt..PROS_ORDER  a  on  h.saleno = a.outsaleno
LEFT JOIN hydee_ybpt..MEDICARE_ORGAN_CONFIG org ON org.REFID = a.REFID
    , u_sale_c  d   left  join   u_ware_q  t  on   d.wareid =t.wareid
     left  join   u_ware_ext  e  on   e.wareid =d.wareid   
     left  join  u_store_i  i  on   d.wareid=i.wareid  and  d.batchno=i.batchno  and   d.idno=i.idno
where   h.saleno=d.saleno  and a.outsaleno=d.saleno  and  h.busno='100'     and
   SETTLETIME >= '2023-01-01'  AND SETTLETIME <= '2023-08-31'
order  by   h.accdate,h.saleno




declare  @busno varchar(30)  

select   @busno='104'
-----进销存  
select   'P62110200046'  as    医保机构编号,
        dbo.f_get_orgname(max(r.busno))    as   门店名称,
          w.wareid   as  货号,
          max(w.warename)   as  商品名及通用名,
          max(w.warespec)   as  商品规格,
          max(w.wareunit)  as   单位,
          max(e.INSURANCENO)   as   药品国家医保编码,
          isnull(max(qc.qckc),0)    as  期初库存,
          sum(r.inqty)   as   入库数量,
          sum(r.outqty)  as   出库数量,
          isnull(max(qm.qmkc),0)   as   期末库存
from     v_item_in_out r
   left  join  u_ware_q   w  on    r.wareid=w.wareid  
    left  join  u_ware_ext  e  on    r.wareid=e.wareid
   left  join  (select  wareid,sum(wareqty) as qckc  from  u_store_bak
                where  busno=@busno  and   period='202212'
                group  by   wareid)  qc
           on   r.wareid=qc.wareid  
   left  join  (select  wareid,sum(wareqty) as qmkc from  u_store_bak
                where  busno=@busno  and   period='202312'
                group  by   wareid)  qm
           on   r.wareid=qm.wareid            
where r.busno=@busno   and  isnull(e.INSURANCENO,'')<>''  and  
  convert(varchar(10),r.execdate,120) >='2023-01-01'  
and   convert(varchar(10),r.execdate,120) <='2023-08-31'
and  r.billcode  not  in  ('MDACC')
group  by   w.wareid


251

主题

134

回帖

1404

积分

版主

积分
1404

活跃会员宣传达人突出贡献优秀版主

 楼主| 发表于 2025-2-26 17:33:10 | 显示全部楼层
----销售明细表2023
select distinct  a.INSTITUTIONCODE  as   门店编号,
         a.INSTITUTIONNAME  as  门店名称,
         to_char(a.erpsaleno)   as    零售流水号,
         h.accdate   as  开单日期,
         h.finaltime   as   开单时间,
         f_get_username(d.saler)  as   营业员,
         f_get_username(h.payee)  as   收银员,
         b.warecode   as  货号,
         b.CENTERITEMCODE   as   药品国家医保编码,
         b.warename   as    商品名及通用名,
         b.specs   as    规格,
         b.MANUFACTURER   as   生产单位,
         b.CHARGEUNIT   as  单位,
         d.wareqty   as    数量,
         round(d.wareqty*d.netprice,2)   as   金额,
         d.makeno   as   批号,
         d.invalidate  as    效期,
         i.makedate   as    生产日期,
         d.netprice   as  零售价,
         f_get_classname('03',d.wareid,h.compid)   as  剂型
from   t_yby_order_h  a  
     left  join   t_yby_order_d  b  on   a.orderno=b.orderno
     left  join   t_sale_h   h  on   a.erpsaleno=h.saleno    and  h.compid=2
     left  join   t_ware  t  on   b.warecode=t.warecode   and  t.compid=2
     left  join   t_sale_d  d  on  h.saleno=d.saleno  and a.erpsaleno=d.saleno   
     and  t.wareid=d.wareid
     left  join  t_store_i  i  on   d.wareid=i.wareid   and  d.batid=i.batid   
                                   and   h.compid=i.compid
where   a.INSTITUTIONCODE='P62110200040'     and
to_char( h.accdate,'yyyy-mm-dd')>='2023-01-01'  
and   to_char( h.accdate,'yyyy-mm-dd')<='2023-12-31'
order  by   h.accdate,to_char(a.erpsaleno);

-----进销存  
select   'P62110200040'  as    医保机构编号,
         '定西众济堂医药连锁有限责任公司锦屏路店'    as   门店名称,
         to_char( w.warecode )  as  货号,
          max(w.warename)   as  商品名及通用名,
          max(w.warespec)   as  商品规格,
          max(w.wareunit)  as   单位,
         to_char( max(w.INSURANCENO) )  as   药品国家医保编码,
          nvl(max(qc.qckc),0)    as  期初库存,
          sum(r.inqty)   as   入库数量,
          sum(r.outqty)  as   出库数量,
          nvl(max(qm.qmkc),0)   as   期末库存
from  t_item_in_out_remain   r
   left  join  t_ware   w  on    r.wareid=w.wareid   and  r.compid=w.compid
   left  join  (select  wareid,sum(wareqty) as qckc  from  t_store_d_bak
                where  busno=201  and   period='202201'
                group  by   wareid)  qc
           on   r.wareid=qc.wareid  
   left  join  (select  wareid,sum(wareqty) as qmkc from  t_store_d_bak
                where  busno=201  and   period='202412'
                group  by   wareid)  qm
           on   r.wareid=qm.wareid            
where   r.busno='201'   and   w.isinsurance=1  and  
to_char( r.execdate,'yyyy-mm-dd')>='2023-01-01'  
and   to_char(r.execdate,'yyyy-mm-dd')<='2023-12-31'
and  r.compid=2
and  r.billcode  not  in  ('MDACC')
group  by   w.warecode;

-----医保对账表
select  c.PsnName as 人员姓名,
        to_char(ord.OutSaleNo)  as  身份证,
        to_char(ord.OutSaleNo)  as 系统流水号,
        to_char(c.psnno)   as  人员信息编号,
        to_char(c.SETTELID)  as   结算ID,
        to_char(c.MDTRTID)  as  就医ID,
        ord.settletime   as  结算时间,
        'P62110200040'   as  医保机构编号,
        to_char(ord.AREACODE)   as   区医保编号,
        case when c.clrtype=41   then  '药店购药'  
              when  c.clrtype=11   then  '普通门诊'  
              when  c.clrtype='99972'   then   '省内异地药店购药'
              when  c.clrtype='9903'   then   '跨省异地药店购药'
              when  c.clrtype='99970'   then   '省内异地门诊'
              when  c.clrtype='9901'   then   '跨省异地门诊'
        else  ''  end   as   清算类别,
        c.totalamount   as    总金额,
        c.CASHPAY  as   现金支付,
        c.HIFPPAY  as  统筹基金支付,
        c.ACCOUNTPAY  as  个人账户支付,
        c.HIFOBPAY  as   大病保险基金,
        c.FUNDPAY   as  基本医疗保险基金,
        c.MAFPAY     as   医疗救助基金,
        c.BALANCE    as    账户余额,
        case  when  ord.orderstatus=5  then '退费成功'
              when  ord.orderstatus=6  then '已退费'
         else  ''  end         退费标志,  
         '社保卡'    as  卡类别,
        case  when  c.insutype='390' then '职工医保'  else  '居民医保'  end  险种类型,
        m.label            人员类型      
from YBCloud.med_ORDER ord  
left  join YBCloud.MED_ORDER_REC_LIST c  on  ord.OrderNo=c.OrderNo
left join  YBCLOUD.CODE_DIC  m  on  m.TYPE ='PSN_TYPE' AND  m.VALUE =c.PSNTYPE
where  ord.OrderStatus in (2,3,5,6)
and ord.IsDeleted=0
and  to_char( ord.settletime,'yyyy-mm-dd')>='2023-01-01'  
and   to_char(ord.settletime,'yyyy-mm-dd')<='2023-12-31'   
and  ord.ORDERMEDICALNO='P62110200040'
order by ord.OrderNo;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表