รายงานผู้ป่วยในที่ถูกจำหน่าย
แต่จะยกเลิก รายการ list สิทธิการรักษา อยากให้ปรากฏทุกสิทธิ ต้องแก้ไขคำสั่งบรรทัดไหนครับ
unit MyIPDReport;
function getsqlsubquerydatax(sql:string):string;
begin
result:='';
zquery.close;
zquery.sql.text:=sql;
zquery.open;
zquery.first;
while not zquery.eof do
begin
if result='' then result:=''''+zquery.fields[0].asstring+'''' else
result:=result+','''+zquery.fields[0].asstring+'''';
zquery.next;
end;
zquery.close;
if result='' then result:='''''';
end;
procedure main;
var d1,d2:tdatetime;
people_distinct_count1 : integer;
people_count1,s1,s2 : integer;
ds1,ds2:string;
pttype_list1 : string;
pttype,pttype_name:string;
hospcode_list:string;
pcode_show:string;
money1,inc_limit:currency;
i:integer;
begin
//showmessage('เกี่ยวกับรายงาน'+#13+'Custom OPD-NK2');
//pttype:= getpickuplist('select name from pttype where isuse="Y" order by name');
//showmessage('use name = '+pttype);
//if pttype='' then exit;
//pttype_name:=pttype;
//pttype:=getsqldata('select pcode from pttype where name="'+pttype+'"');
//if pttype='UA' then pttype:='UC';
//if pttype='UB' then pttype:='UC';
//if pttype='UC' then pttype_name:=getsqlsubquerydata('select name from pttype where pcode in ("UC","UA","UB")') else
// pttype_name := getsqlsubquerydata('select name from pttype where pcode="'+pttype+'"');
//showmessage('use pcode = '+pttype);
if not getdaterange() then exit;
d1:=date_result1();
d2:=date_result2();
// showmessage(formatdatetime('yyyy-mm-dd',d1)+' - '+
// formatdatetime('yyyy-mm-dd',d2));
ds1:=formatdatetime('yyyy-mm-dd',d1);
ds2:=formatdatetime('yyyy-mm-dd',d2);
//hospcode_list:=getsqlsubquerydata('select distinct hospmain from vn_stat where vstdate between "'+ds1+'" and "'+ds2+'" '); // pcode = "'+pttype+'" and
//hospcode_list := getpickuplist('select concat(hospcode,":",hosptype," ",name) as name from hospcode where hospcode in ('+
// hospcode_list+') ');
hospcode_list:=getsqlsubquerydata('select pttype from an_stat where dchdate between "'+ds1+'" and "'+ds2+'" '); // pcode = "'+pttype+'" and
hospcode_list := getpickuplist('select concat(pttype,":",name) as name from pttype where pttype in ('+
hospcode_list+') ');
zquery.sql.text:='delete from tempreport where id = "CUSTOM-NK1IPD" ';
zquery.execsql;
fcds.close;
fcds.datarequest('select * from tempreport where id = "CUSTOM-NK1IPD" ');
fcds.open;
fcds2.close;
//showmessage('use pcode = '+ds1+'" "'+ds1);
if hospcode_list='' then
fcds2.datarequest('select * from an_stat left join rcpt_print on an_stat.an=rcpt_print.vn where dchdate between "'+ds1+'" and "'+ds2+'" group by an_stat.an ') //and pttype_dansai.ipd=1 pcode = "'+pttype+'" and
else
fcds2.datarequest('select * from an_stat left join rcpt_print on an_stat.an=rcpt_print.vn where dchdate between "'+ds1+'" and "'+ds2+'" '+ //and pttype_dansai.ipd=1 pcode = "'+pttype+'" and
' and an_stat.pttype="'+copy(hospcode_list,1,2)+'" group by an_stat.an order by an_stat.pttype '); //hospmain vn
//fcds2.datarequest('select * from an_stat left join pttype on an_stat.pttype=pttype.pttype left join pttype_dansai on pttype.fee_code=pttype_dansai.fee_code where dchdate between "'+ds1+'" and "'+ds2+'" '); //and pttype_dansai.ipd=1 and paid_money<>"0.00" pcode = "'+pttype+'" and
//else
//fcds2.datarequest('select * from pttype inner join an_stat on pttype.pttype=an_stat.pttype inner join pttype_dansai on pttype.fee_code=pttype_dansai.fee_code where an_stat.dchdate between "'+ds1+'" and "'+ds2+'" '+ // pcode = "'+pttype+'" and
//' and hospmain="'+copy(hospcode_list,1,5)+'" order by pttype '); // vn
fcds2.open;
setstatuslabel('Open result : '+inttostr(fcds2.recordcount)+' Records');
fcds2.first;
i:=0;
while not fcds2.eof do
begin
i:=i+1;
setprogressbar(i,fcds2.recordcount);
fcds.insert;
fcds['id']:='CUSTOM-NK1IPD';
fcds['reportname']:='CUSTOM-NK1IPD';
fcds['name']:=fcds2['an'];
//fcds['name1']:=pttype_name;
//pcode_show:=getsqldata('select pttype from patient where hn="'+fcds2['hn']+'"');
//showmessage('คุณใช้ pcode = '+pcode_show);
fcds['name1']:=getsqldata('select concat(pttype," ",name) as name from pttype where pttype="'+
fcds2['pttype']+'"');
fcds['name2']:=getsqldata('select concat(pname,fname," ",lname) as name from patient where hn="'+
fcds2['hn']+'"');
fcds['name3']:=fcds2['hn'];
fcds['name4']:=fcds2['pttypeno'];
//fcds['date3']:=fcds2['pttype_expire'];
fcds['name5']:=fcds2['an'];
//fcds['name5']:=getsqldata('select concat(name,", ",hosptype) as name from hospcode where hospcode="'+
// fcds2['hospmain']+'"');
//fcds['name6']:=fcds2['cid'];
if fcds2['sex']='1' then
fcds['name7']:='ช' else
fcds['name7']:='ญ';
fcds['num1']:=fcds2['age_y'];
fcds['name8']:=fcds2['pdx'];
fcds['name9']:=fcds2['op0']+' '+fcds2['op1'];
fcds['name10']:=fcds2['admdate'];
fcds['name']:=getsqldata('select i_refer_number from ovst where vn="'+fcds2['vn']+'"');
// finance summary
fcds['mon1']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income in("00","01")');
//fcds2['inc16'];
fcds['mon2']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="02" group by income');
//fcds2['inc08'];
fcds['mon3']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="03" group by income');
//fcds2['inc12'];
fcds['mon4']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="19" group by income');
//fcds2['inc10'];
fcds['mon5']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="04" group by income');
//fcds2['inc03'];
fcds['mon6']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="05" group by income');
//fcds2['inc02'];
fcds['mon7']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="06" group by income');
//fcds2['inc01'];
fcds['mon8']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="07" group by income');
//fcds2['inc04'];
inc_limit:=getsqldata('select rcptamt from incith where an="'+
fcds2['an']+'" and paidst="04"');
fcds['mon9']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="11" group by income');
//fcds2['inc05'];
fcds['mon10']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="08" group by income');
//fcds2['inc09'];
fcds['mon12']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="10" group by income');
//fcds2['inc14'];
fcds['mon13']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="12" group by income');
//fcds2['inc11'];
fcds['mon14']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="13" group by income');
//fcds2['inc13'];
fcds['mon15']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="14" group by income');
//fcds2['inc07'];
fcds['mon16']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="16" group by income');
//fcds2['inc15'];
fcds['mon17']:=fcds2['inc17'];
//getsqldata('select sum(sum_price) from opitemrece where an="'+fcds2['an']+'" and income="17" group by income');
fcds['mon11']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'" and income="09" group by income');
//fcds2['inc06'];
//fcds2['inc00']+fcds2['inc18'];
fcds['mon18']:=getsqldata('select sum(sum_price) as cc from opitemrece where an="'+fcds2['an']+'"')+fcds2['inc17'];
//fcds2['income'];
s1:=getsqldata('select sum(rcptamt) as cc from rcpt_print_detail where vn="'+fcds2['an']+'" and paidst="04"');
s2:=getsqldata('select bill_amount as cc from rcpt_print where vn="'+fcds2['an']+'" ');
//s1:=getsqldata('select sum(rcptamt) as cc from rcpt_print_detail where vn="'+fcds2['an']+'" and paidst="04"');
//s2:=getsqldata('select sum(rcptamt) as cc from rcpt_print_detail where vn="'+fcds2['an']+'" and paidst in("01","03")');
fcds['mon20']:=s2;
fcds['mon19']:=s1;
//fcds['mon20']:=fcds2['rcpt_money'];
//fcds['mon19']:=inc_limit;
try
fcds['date1']:=ds1;
except
end;
try
fcds['date2']:=ds2;
except
end;
fcds['date4']:=fcds2['dchdate'];
fcds['name11']:=getsqldata('select deposit_note from finance_deposit where vn="'+fcds2['vn']+'" ');
fcds2.next;
end;
fcds.post;
fcds.datarequest('select * from tempreport where id = "CUSTOM-NK1IPD" ');
applyupdate_fcds();
end;
end.