﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-feifeirao-文章分类-PLSQL</title><link>http://www.blogjava.net/feifeirao/category/41147.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 09 Aug 2009 00:28:05 GMT</lastBuildDate><pubDate>Sun, 09 Aug 2009 00:28:05 GMT</pubDate><ttl>60</ttl><item><title>TAB_STORAGE_RECORD sql 数据</title><link>http://www.blogjava.net/feifeirao/articles/290253.html</link><dc:creator>五味子</dc:creator><author>五味子</author><pubDate>Fri, 07 Aug 2009 08:48:00 GMT</pubDate><guid>http://www.blogjava.net/feifeirao/articles/290253.html</guid><wfw:comment>http://www.blogjava.net/feifeirao/comments/290253.html</wfw:comment><comments>http://www.blogjava.net/feifeirao/articles/290253.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/feifeirao/comments/commentRss/290253.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/feifeirao/services/trackbacks/290253.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: prompt PL/SQL Developer import fileprompt Created on 2009年8月7日 by Administratorset feedback offset define offprompt Loading TAB_STORAGE_RECORD...insert into TAB_STORAGE_RECORD (RID, COMPANYN...&nbsp;&nbsp;<a href='http://www.blogjava.net/feifeirao/articles/290253.html'>阅读全文</a><img src ="http://www.blogjava.net/feifeirao/aggbug/290253.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/feifeirao/" target="_blank">五味子</a> 2009-08-07 16:48 <a href="http://www.blogjava.net/feifeirao/articles/290253.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>要执行的sql-2009-08-07</title><link>http://www.blogjava.net/feifeirao/articles/290251.html</link><dc:creator>五味子</dc:creator><author>五味子</author><pubDate>Fri, 07 Aug 2009 08:44:00 GMT</pubDate><guid>http://www.blogjava.net/feifeirao/articles/290251.html</guid><wfw:comment>http://www.blogjava.net/feifeirao/comments/290251.html</wfw:comment><comments>http://www.blogjava.net/feifeirao/articles/290251.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/feifeirao/comments/commentRss/290251.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/feifeirao/services/trackbacks/290251.html</trackback:ping><description><![CDATA[<p>&nbsp; --新建一个临时空间<br />
&nbsp; CREATE&nbsp;&nbsp; GLOBAL&nbsp;&nbsp; TEMPORARY&nbsp;&nbsp; TABLE&nbsp;&nbsp; TAB_STORAGE_RECORD_TEMP(<br />
&nbsp; recorddate date&nbsp; ,&nbsp;&nbsp; <br />
&nbsp; showname&nbsp; varchar2(100),<br />
&nbsp; showid varchar2(30),<br />
&nbsp; money number(12,2),<br />
&nbsp; number_t number(14)<br />
&nbsp; ) <br />
&nbsp; ON&nbsp;&nbsp; COMMIT&nbsp;&nbsp; PRESERVE&nbsp;&nbsp; ROWS;<br />
&nbsp; </p>
<p><br />
create or replace package productInStore3<br />
as&nbsp;&nbsp; type myrctype is ref cursor;&nbsp; <br />
--根据条件统计公司指定年份每月的库存情况<br />
&nbsp;&nbsp; function getProductInStoreForYearByCom(companyIds varchar2, yeart&nbsp; varchar2 ,&nbsp; montht varchar2 ,comflag varchar2)return myrctype ;<br />
end productInStore3;<br />
&nbsp; <br />
&nbsp; <br />
create or replace package productInStore<br />
as&nbsp;&nbsp; type myrctype is ref cursor;&nbsp; <br />
--根据条件统计公司指定月份每天的库存情况-函数定义<br />
&nbsp;&nbsp; function getProductInStoreForMonthByCom(companyIds varchar2, yeart&nbsp; varchar2 ,&nbsp; montht varchar2 ,&nbsp; datet varchar2,comflag varchar2)return myrctype ;<br />
end productInStore;</p>
<p><br />
----根据条件统计公司指定年份每月的库存情况-函数</p>
<p>create or replace package body productInStore3 as<br />
&nbsp; function getProductInStoreForYearByCom(companyIds varchar2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yeart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; varchar2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; montht&nbsp;&nbsp;&nbsp;&nbsp; varchar2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comflag&nbsp;&nbsp;&nbsp; varchar2) return myrctype is<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; rc&nbsp;&nbsp; myrctype;<br />
&nbsp;&nbsp;&nbsp; rccc myrctype;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; sqlstr varchar2(500);<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; TYPE ProIdrec IS RECORD(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; articleid tab_storage_record.articleid%TYPE);<br />
&nbsp;&nbsp;&nbsp; myProIdrec ProIdrec;<br />
&nbsp;&nbsp;&nbsp; type ReportBean IS RECORD(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; money&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; number(12, 2),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lastnumber number(12, 2),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; recorddate date,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; showname&nbsp;&nbsp; varchar2(30) := '所选公司单位',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; showid&nbsp;&nbsp;&nbsp;&nbsp; varchar2(30) := '0');<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; myReportBean&nbsp; ReportBean;<br />
&nbsp;&nbsp;&nbsp; myReportBean2 ReportBean;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; TYPE TAB_ReportBean IS TABLE OF ReportBean INDEX BY binary_integer;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; tabRerortBean TAB_ReportBean;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; j BINARY_INTEGER := 1;<br />
&nbsp;&nbsp;&nbsp; TYPE EMP_TAB_ProIdrec IS TABLE OF ProIdrec INDEX BY binary_integer;<br />
&nbsp;&nbsp;&nbsp; vempProId EMP_TAB_ProIdrec;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; V2 VARCHAR2(100) := ',' || companyIds || ',';<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; selectProIdSor myrctype;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; productid&nbsp; varchar2(2000 CHAR) := '';<br />
&nbsp;&nbsp;&nbsp; sqlrecord&nbsp; varchar2(2000) := '';<br />
&nbsp;&nbsp;&nbsp; sqlrecord2 varchar2(3000) := '';<br />
&nbsp;&nbsp;&nbsp; TYPE myrctypecur IS REF CURSOR;<br />
&nbsp;&nbsp;&nbsp; mycur1&nbsp; myrctypecur;<br />
&nbsp;&nbsp;&nbsp; mycur2&nbsp; myrctypecur;<br />
&nbsp;&nbsp;&nbsp; lsdate2 date;<br />
&nbsp;&nbsp;&nbsp; allsize number(8) := 1;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; monthtInts&nbsp;&nbsp; number(3) := montht;<br />
&nbsp;&nbsp;&nbsp; dateStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; varchar2(12) := '';<br />
&nbsp;&nbsp;&nbsp; tempSize&nbsp;&nbsp;&nbsp;&nbsp; number(8);<br />
&nbsp;&nbsp;&nbsp; productIdSql varchar2(800) := '';<br />
&nbsp; begin<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; FOR monthInt in 1 .. monthtInts loop<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---检索出当天买的产品ID <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid&nbsp;&nbsp;&nbsp; := '';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productIdSql := ' select distinct t.articleid<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from tab_storage_record t, b_companyinfo tt<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where t.companyid = tt.unit_id and tt.unit_id in (' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; companyIds ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ')&nbsp; and extract(year from t.recorddate) = ''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yeart ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '''&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and extract(month from t.recorddate) = ''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; monthInt || '''&nbsp;&nbsp; ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open selectProIdSor for productIdSql;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch selectProIdSor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myProIdrec;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j := 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while selectProIdSor%found loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vempProId(j) := myProIdrec;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch selectProIdSor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myProIdrec;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j := j + 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR i IN 1 .. j - 1 LOOP<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF i = 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid := ' (' || vempProId(i).articleid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elsif mod(i, 901) = 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid := productid || ') and tt.articleid not in (' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vempProId(i).articleid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid := productid || ',' || vempProId(i).articleid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if i = j - 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid := productid || ')';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END LOOP;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBMS_OUTPUT.PUT_line(' LENGTH(productid)= ' || LENGTH(productid) || '&nbsp; ');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --检索 当天买的产品&nbsp; cprice成本价格&nbsp;&nbsp; lastnumber 最后的库存数量<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := 'select nvl(sum(t.lastnumber*t.cprice),0.00),nvl(sum(t.lastnumber),0.00),trunc(t.recorddate,''MM'') ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' ,t.companyname,t.companyid ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' where t.articleid=tt.articleid and trunc(t.recorddate,''MM'')=trunc(tt.recorddate,''MM'') ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if length(companyIds) &gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' and tt.companyid in ' || '(' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; companyIds || ')';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if length(yeart) &gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' and&nbsp; extract(year from t.recorddate)= ''' || yeart ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '''&nbsp; and extract(month from t.recorddate)=''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; monthInt || ''' ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'group by trunc(tt.recorddate,''MM'')) group by trunc(t.recorddate,''MM'')';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' ,t.companyname,t.companyid ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || '&nbsp; order by ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' t.companyid asc, ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' trunc(t.recorddate,''MM'') asc ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open mycur1 for sqlrecord;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch mycur1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myReportBean;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while mycur1%found loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(allsize) := myReportBean;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allsize := allsize + 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch mycur1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myReportBean;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --检索&nbsp; 非当天买的产品&nbsp; cprice成本价格&nbsp;&nbsp; lastnumber 最后的库存数量<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := ' select nvl(sum(t.lastnumber*t.cprice),00),nvl(sum(t.lastnumber),0.00),trunc(sysdate,''MM'') ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 || ' ,t.companyname,t.companyid ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt where t.articleid=tt.articleid ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if length(productid) &gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 || ' and tt.articleid not in ' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if length(companyIds) &gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 || ' and tt.companyid in ' || ' (' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; companyIds || ')';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if length(yeart) &gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' and (extract(year from tt.recorddate)&lt;''' || yeart ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ''' ' || ' or (extract(year from tt.recorddate)=''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yeart ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '''&nbsp; and&nbsp; extract(month from tt.recorddate)&lt;''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; monthInt || '''))';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 || ') ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' group by t.companyname,t.companyid order by t.companyid asc ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateStr := yeart;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if monthInt &lt; 10 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateStr := dateStr || '0' || monthInt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateStr := dateStr || monthInt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateStr := dateStr || '01';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lsdate2 := to_date(dateStr, 'yyyymmdd');<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open mycur2 for sqlrecord2;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch mycur2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myReportBean2;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while mycur2%found loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myReportBean2.recorddate := lsdate2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tempSize := allsize;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for k in 1 .. tempSize - 1 loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if tabRerortBean(k)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .showid = myReportBean2.showid and tabRerortBean(k)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .recorddate = myReportBean2.recorddate then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(k).lastnumber := tabRerortBean(k)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .lastnumber +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myReportBean2.lastnumber;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(k).money := tabRerortBean(k)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .money + myReportBean2.money;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if k = tempSize - 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(allsize) := myReportBean2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allsize := allsize + 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if allsize = 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(1) := myReportBean2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allsize := allsize + 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch mycur2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myReportBean2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; close mycur2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; close mycur1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; close selectProIdSor;<br />
&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; DBMS_OUTPUT.PUT_line('最后 allsize =&nbsp; ' || allsize);<br />
&nbsp;&nbsp;&nbsp; for mm in 1 .. allsize - 1 loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBMS_OUTPUT.PUT_line(mm || '&nbsp; ' || tabRerortBean(mm)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .money || '&nbsp; ' || tabRerortBean(mm)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .recorddate || '&nbsp; ' || tabRerortBean(mm)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .lastnumber || '&nbsp;&nbsp; ' || tabRerortBean(mm)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .showname);<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert into TAB_STORAGE_RECORD_TEMP<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (recorddate, showname, showid, money, number_t)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; values<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (tabRerortBean(mm).recorddate,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '' || tabRerortBean(mm).showname,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '' || tabRerortBean(mm).showid,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(mm).money,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(mm).lastnumber);<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp; COMMIT;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; open rc for<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select nvl(money, 0.00) money,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nvl(number_t, 0.00) number_t,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trunc(recorddate, 'dd') recorddate,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; showname,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; showid<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from TAB_STORAGE_RECORD_TEMP;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; return rc;<br />
&nbsp; <br />
&nbsp; end getProductInStoreForYearByCom;<br />
end productInStore3;</p>
<p><br />
--根据条件统计公司指定月份每天的库存情况-函数<br />
create or replace package body productInStore as<br />
&nbsp; function getProductInStoreForMonthByCom(companyIds varchar2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yeart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; varchar2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; montht&nbsp;&nbsp;&nbsp;&nbsp; varchar2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; datet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; varchar2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comflag&nbsp;&nbsp;&nbsp; varchar2)<br />
&nbsp;&nbsp;&nbsp; return myrctype is<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; rc&nbsp;&nbsp;&nbsp;&nbsp; myrctype;<br />
&nbsp;&nbsp;&nbsp; rccc&nbsp;&nbsp; myrctype;<br />
&nbsp;&nbsp;&nbsp; sqlstr varchar2(500);<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; TYPE ProIdrec IS RECORD(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; articleid tab_storage_record.articleid%TYPE);<br />
&nbsp;&nbsp;&nbsp; myProIdrec ProIdrec;<br />
&nbsp;&nbsp;&nbsp; type ReportBean IS RECORD(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; money&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; number(12, 2),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lastnumber number(12, 2),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; recorddate date,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; showname&nbsp;&nbsp; varchar2(30) := '所选公司单位',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; showid&nbsp;&nbsp;&nbsp;&nbsp; varchar2(30) := '0');<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; myReportBean&nbsp; ReportBean;<br />
&nbsp;&nbsp;&nbsp; myReportBean2 ReportBean;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; TYPE TAB_ReportBean IS TABLE OF ReportBean INDEX BY binary_integer;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; tabRerortBean TAB_ReportBean;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; j BINARY_INTEGER := 1;<br />
&nbsp;&nbsp;&nbsp; TYPE EMP_TAB_ProIdrec IS TABLE OF ProIdrec INDEX BY binary_integer;<br />
&nbsp;&nbsp;&nbsp; vempProId EMP_TAB_ProIdrec;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; V2 VARCHAR2(100) := ',' || companyIds || ',';<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; selectProIdSor myrctype;<br />
&nbsp;&nbsp;&nbsp; --cursor selectProIdSor is<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; productid&nbsp; varchar2(2000 CHAR) := '';<br />
&nbsp;&nbsp;&nbsp; sqlrecord&nbsp; varchar2(2000) := '';<br />
&nbsp;&nbsp;&nbsp; sqlrecord2 varchar2(3000) := '';<br />
&nbsp;&nbsp;&nbsp; TYPE myrctypecur IS REF CURSOR;<br />
&nbsp;&nbsp;&nbsp; mycur1&nbsp; myrctypecur;<br />
&nbsp;&nbsp;&nbsp; mycur2&nbsp; myrctypecur;<br />
&nbsp;&nbsp;&nbsp; lsdate2 date;<br />
&nbsp;&nbsp;&nbsp; allsize number(8) := 1;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; monthtInts&nbsp;&nbsp; number(3) := montht;<br />
&nbsp;&nbsp;&nbsp; datetInts&nbsp;&nbsp;&nbsp; number(3) := datet;<br />
&nbsp;&nbsp;&nbsp; dateStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; varchar2(12) := '';<br />
&nbsp;&nbsp;&nbsp; tempSize&nbsp;&nbsp;&nbsp;&nbsp; number(8);<br />
&nbsp;&nbsp;&nbsp; productIdSql varchar2(800) := '';<br />
&nbsp; begin<br />
&nbsp;&nbsp;&nbsp; FOR dayInt in 1 .. datetInts loop<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---检索出当天买的产品ID <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid&nbsp;&nbsp;&nbsp; := '';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productIdSql := ' select distinct t.articleid<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from tab_storage_record t, b_companyinfo tt<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where t.companyid = tt.unit_id and tt.unit_id in (' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; companyIds ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ')&nbsp; and extract(year from t.recorddate) = ''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yeart ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '''&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and extract(month from t.recorddate) = ''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; montht ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '''&nbsp;&nbsp; and extract(day from t.recorddate) =''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dayInt || '''&nbsp; ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open selectProIdSor for productIdSql;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch selectProIdSor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myProIdrec;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j := 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while selectProIdSor%found loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vempProId(j) := myProIdrec;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch selectProIdSor<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myProIdrec;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j := j + 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR i IN 1 .. j - 1 LOOP<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF i = 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid := ' (' || vempProId(i).articleid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elsif mod(i, 901) = 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid := productid || ') and tt.articleid not in (' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vempProId(i).articleid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid := productid || ',' || vempProId(i).articleid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if i = j - 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid := productid || ')';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END LOOP;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBMS_OUTPUT.PUT_line(' productid= ' || productid || '&nbsp; ');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBMS_OUTPUT.PUT_line(' LENGTH(productid)= ' || LENGTH(productid) || '&nbsp; ');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --检索 当天买的产品&nbsp; cprice成本价格&nbsp;&nbsp; lastnumber 最后的库存数量<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := 'select nvl(sum(t.lastnumber*t.cprice),0.00),nvl(sum(t.lastnumber),0.00),trunc(t.recorddate,''dd'') ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' ,t.companyname,t.companyid ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' where t.articleid=tt.articleid and trunc(t.recorddate,''dd'')=trunc(tt.recorddate,''dd'') ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if length(companyIds) &gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' and tt.companyid in ' || '(' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; companyIds || ')';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if length(yeart) &gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' and&nbsp; extract(year from t.recorddate)= ''' || yeart ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '''&nbsp; and extract(month from t.recorddate)=''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; montht || ''' and extract(day from t.recorddate)=''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dayInt || '''';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'group by trunc(tt.recorddate,''dd'')) group by trunc(t.recorddate,''dd'')';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' ,t.companyname,t.companyid ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || '&nbsp; order by ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' t.companyid asc, ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord := sqlrecord || ' trunc(t.recorddate,''dd'') asc ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open mycur1 for sqlrecord;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --open&nbsp; mycur2&nbsp; for sqlrecord ;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch mycur1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myReportBean;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while mycur1%found loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(allsize) := myReportBean;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allsize := allsize + 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch mycur1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myReportBean;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --检索&nbsp; 非当天买的产品&nbsp; cprice成本价格&nbsp;&nbsp; lastnumber 最后的库存数量<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := ' select nvl(sum(t.lastnumber*t.cprice),00),nvl(sum(t.lastnumber),0.00),trunc(sysdate,''dd'') ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 || ' ,t.companyname,t.companyid ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt where t.articleid=tt.articleid ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if length(productid) &gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 || ' and tt.articleid not in ' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; productid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if length(companyIds) &gt; 0 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 || ' and tt.companyid in ' || ' (' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; companyIds || ')';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' and (extract(year from tt.recorddate)&lt;''' || yeart ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ''' ' || ' or (extract(year from tt.recorddate)=''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yeart || ''' ' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' and extract(month from tt.recorddate)&lt;''' || montht ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ''') ' || ' or (extract(year from tt.recorddate)=''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yeart || ''' ' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' and extract(month from tt.recorddate)=''' || montht ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ''' ' || ' and&nbsp; extract(day from tt.recorddate)&lt;''' ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dayInt || '''))';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 || ') ';<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if comflag = '2' then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlrecord2 := sqlrecord2 ||<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' group by t.companyname,t.companyid order by t.companyid asc ';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateStr := yeart;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if monthtInts &lt; 10 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateStr := dateStr || '0' || monthtInts;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateStr := dateStr || monthtInts;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if dayInt &lt; 10 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateStr := dateStr || '0' || dayInt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateStr := dateStr || dayInt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lsdate2 := to_date(dateStr, 'yyyymmdd');<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open mycur2 for sqlrecord2;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch mycur2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myReportBean2;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while mycur2%found loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myReportBean2.recorddate := lsdate2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --DBMS_OUTPUT.PUT_line('allsize='||allsize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tempSize := allsize;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- DBMS_OUTPUT.PUT_line('&nbsp; 外面 tempSize='||tempSize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for k in 1 .. tempSize - 1 loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- DBMS_OUTPUT.PUT_line(m || '------ ' || tabRerortBean(m).lastnumber || '&nbsp;&nbsp; ' || tabRerortBean(m).showid || '&nbsp;&nbsp; ' || tabRerortBean(m).showname);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --DBMS_OUTPUT.PUT_line(' --- myReportBean2.showid='||myReportBean2.showid||'&nbsp;&nbsp; myReportBean2.recorddate='||myReportBean2.recorddate);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if tabRerortBean(k)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .showid = myReportBean2.showid and tabRerortBean(k)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .recorddate = myReportBean2.recorddate then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(k).lastnumber := tabRerortBean(k)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .lastnumber +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myReportBean2.lastnumber;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(k).money := tabRerortBean(k)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .money + myReportBean2.money;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --allsize:=allsize+1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --DBMS_OUTPUT.PUT_line(' exit 推出&nbsp; tempSize='||tempSize||'&nbsp;&nbsp; allsize='||allsize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --DBMS_OUTPUT.PUT_line(' 里面 tempSize='||tempSize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---DBMS_OUTPUT.PUT_line(' 里面 k='||k||'&nbsp;&nbsp; tempSize ='||tempSize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if k = tempSize - 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---DBMS_OUTPUT.PUT_line('&nbsp; 尾部添加里面 k='||k||'&nbsp;&nbsp; tempSize ='||tempSize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(allsize) := myReportBean2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allsize := allsize + 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if allsize = 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(1) := myReportBean2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allsize := allsize + 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --DBMS_OUTPUT.PUT_line(' 里面 添加第一个 allsize='||allsize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fetch mycur2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into myReportBean2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; close mycur2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; close mycur1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; close selectProIdSor;<br />
&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; DBMS_OUTPUT.PUT_line('最后 allsize =&nbsp; ' || allsize);<br />
&nbsp;&nbsp;&nbsp; for mm in 1 .. allsize - 1 loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBMS_OUTPUT.PUT_line(mm || '&nbsp; ' || tabRerortBean(mm)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .money || '&nbsp; ' || tabRerortBean(mm)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .recorddate || '&nbsp; ' || tabRerortBean(mm)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .lastnumber || '&nbsp;&nbsp; ' || tabRerortBean(mm)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .showname);<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert into TAB_STORAGE_RECORD_TEMP<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (recorddate, showname, showid, money, number_t)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; values<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (tabRerortBean(mm).recorddate,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '' || tabRerortBean(mm).showname,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '' || tabRerortBean(mm).showid,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(mm).money,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabRerortBean(mm).lastnumber);<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; end loop;<br />
&nbsp;&nbsp;&nbsp; COMMIT;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; open rc for<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select nvl(money, 0.00) money,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nvl(number_t, 0.00) number_t,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trunc(recorddate, 'dd') recorddate,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; showname,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; showid<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from TAB_STORAGE_RECORD_TEMP;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; return rc;<br />
&nbsp; <br />
&nbsp; end getProductInStoreForMonthByCom;<br />
end productInStore;<br />
</p>
<img src ="http://www.blogjava.net/feifeirao/aggbug/290251.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/feifeirao/" target="_blank">五味子</a> 2009-08-07 16:44 <a href="http://www.blogjava.net/feifeirao/articles/290251.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>flash-date-0.jsp|flash-date-1.jsp</title><link>http://www.blogjava.net/feifeirao/articles/290250.html</link><dc:creator>五味子</dc:creator><author>五味子</author><pubDate>Fri, 07 Aug 2009 08:39:00 GMT</pubDate><guid>http://www.blogjava.net/feifeirao/articles/290250.html</guid><wfw:comment>http://www.blogjava.net/feifeirao/comments/290250.html</wfw:comment><comments>http://www.blogjava.net/feifeirao/articles/290250.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/feifeirao/comments/commentRss/290250.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/feifeirao/services/trackbacks/290250.html</trackback:ping><description><![CDATA[<p>&lt;%@ page language="java" contentType="text/xml; charset=utf-8" pageEncoding="utf-8"%&gt;<br />
&lt;jsp:directive.page import="java.util.List"/&gt;<br />
&lt;jsp:directive.page import="com.netbusscheme.reportcenter.ReportCenterDao"/&gt;<br />
&lt;jsp:directive.page import="com.netbusscheme.reportcenter.ReportCenterProcedureDao"/&gt;<br />
&lt;jsp:directive.page import="com.netbusscheme.reportcenter.ReportBean"/&gt;<br />
&lt;jsp:directive.page import="java.util.Date"/&gt;<br />
&lt;jsp:directive.page import="java.text.SimpleDateFormat"/&gt;<br />
&lt;jsp:directive.page import="java.text.DecimalFormat"/&gt;</p>
<p>&lt;?xml version="1.0" encoding="utf-8" ?&gt;<br />
&lt;result&gt;<br />
&lt;%<br />
String companyonlycode = (String)session.getAttribute("companyonlycode");<br />
String button = request.getParameter("button");<br />
String show_x = request.getParameter("show_x");<br />
String year = request.getParameter("year");<br />
String[] comid = request.getParameterValues("comid");<br />
String comflag = request.getParameter("comflag");<br />
ReportCenterProcedureDao procedureDao = new ReportCenterProcedureDao();<br />
ReportCenterDao rDao = new ReportCenterDao();<br />
SimpleDateFormat sdf = new SimpleDateFormat("MM");<br />
DecimalFormat dformat = new DecimalFormat("#.##");&nbsp; </p>
<p>List list = null;<br />
if(button.equals("1")){<br />
&nbsp;Date date = new Date();<br />
&nbsp;int y = date.getYear();<br />
&nbsp;int month = 12;<br />
&nbsp;if(y&gt;=Integer.parseInt(year)){<br />
&nbsp;&nbsp;month=(date.getMonth()+1);<br />
&nbsp;}<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;list = rDao.getProductInCompanyByCom(companyonlycode,year,comid,comflag);<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;list = rDao.getProductInCompanyByType(companyonlycode,year,comid,comflag,type,typeflag);<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;list = rDao.getProductInCompanyByBrand(companyonlycode,year,comid,comflag,brand,brandflag);<br />
&nbsp;}<br />
&nbsp;for(int i=1;i&lt;=month;i++){<br />
&nbsp;&nbsp;out.println("&lt;month&gt;");<br />
&nbsp;&nbsp;&nbsp;out.println("&lt;mon&gt;"+i+"&lt;/mon&gt;");<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println("&lt;/month&gt;");<br />
&nbsp;}<br />
}else if(button.equals("2")){<br />
&nbsp;Date date = new Date();<br />
&nbsp;int y = date.getYear();<br />
&nbsp;int month = 12;<br />
&nbsp;if(y&gt;=Integer.parseInt(year)){<br />
&nbsp;&nbsp;month=(date.getMonth()+1);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;list = rDao.getProductOutCompanyByCom(companyonlycode,year,comid,comflag);<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;list = rDao.getProductOutCompanyByType(companyonlycode,year,comid,comflag,type,typeflag);<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;list = rDao.getProductOutCompanyByBrand(companyonlycode,year,comid,comflag,brand,brandflag);<br />
&nbsp;}<br />
&nbsp;for(int i=1;i&lt;=month;i++){<br />
&nbsp;&nbsp;out.println("&lt;month&gt;");<br />
&nbsp;&nbsp;&nbsp;out.println("&lt;mon&gt;"+i+"&lt;/mon&gt;");<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println("&lt;/month&gt;");<br />
&nbsp;}<br />
}else if(button.equals("3")){<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;list = rDao.getMonthSaleMoneyByCom(companyonlycode,year,comid,comflag);<br />
&nbsp;}else if(show_x.equals("2")){<br />
&nbsp;&nbsp;String[] empid = request.getParameterValues("empid");<br />
&nbsp;&nbsp;String empflag = request.getParameter("empflag");<br />
&nbsp;&nbsp;list = rDao.getMonthSaleMoneyByEmp(companyonlycode,year,comid,comflag,empid,empflag);<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;list = rDao.getMonthSaleMoneyByType(companyonlycode,year,comid,comflag,type,typeflag);<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;list = rDao.getMonthSaleMoneyByBrand(companyonlycode,year,comid,comflag,brand,brandflag);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;Date date = new Date();<br />
&nbsp;int y = date.getYear();<br />
&nbsp;int month = 12;<br />
&nbsp;if(y&gt;=Integer.parseInt(year)){<br />
&nbsp;&nbsp;month=(date.getMonth()+1);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;for(int i=1;i&lt;=month;i++){<br />
&nbsp;&nbsp;out.println("&lt;month&gt;");<br />
&nbsp;&nbsp;&nbsp;out.println("&lt;mon&gt;"+i+"&lt;/mon&gt;");<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(show_x.equals("3") || show_x.equals("4")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber()+"件")+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber()+"笔帐单")+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println("&lt;/month&gt;");<br />
&nbsp;}<br />
}else if(button.equals("4")){<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;list = rDao.getProductInStoreForYearByCom(companyonlycode,year,comid,comflag);<br />
&nbsp;&nbsp;list = procedureDao.getProductInStoreForYearByCom(companyonlycode,year,comid,comflag);//用存储过程<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;list = rDao.getProductInStoreForYearByType(companyonlycode,year,comid,comflag,type,typeflag);<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;list = rDao.getProductInStoreForYearByBrand(companyonlycode,year,comid,comflag,brand,brandflag);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;Date date = new Date();<br />
&nbsp;int y = date.getYear();<br />
&nbsp;int month = 12;<br />
&nbsp;if(y&gt;=Integer.parseInt(year)){<br />
&nbsp;&nbsp;month=(date.getMonth()+1);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;for(int i=1;i&lt;=month;i++){<br />
&nbsp;&nbsp;out.println("&lt;month&gt;");<br />
&nbsp;&nbsp;&nbsp;out.println("&lt;mon&gt;"+i+"&lt;/mon&gt;");<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println("&lt;/month&gt;");<br />
&nbsp;}<br />
}else if(button.equals("5")){<br />
&nbsp;List inList = null;&nbsp;&nbsp;//进<br />
&nbsp;List storelist = null;&nbsp;//存<br />
&nbsp;list = null;&nbsp;&nbsp;&nbsp;//销<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;inList = rDao.getProductInCompanyByCom(companyonlycode,year,comid,comflag);<br />
&nbsp;&nbsp;storelist = rDao.getProductInStoreForYearByCom(companyonlycode,year,comid,comflag);<br />
&nbsp;&nbsp;list = rDao.getMonthSaleMoneyByCom(companyonlycode,year,comid,comflag);<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;inList = rDao.getProductInCompanyByType(companyonlycode,year,comid,comflag,type,typeflag);<br />
&nbsp;&nbsp;storelist = rDao.getProductInStoreForYearByType(companyonlycode,year,comid,comflag,type,typeflag);<br />
&nbsp;&nbsp;list = rDao.getMonthSaleMoneyByType(companyonlycode,year,comid,comflag,type,typeflag);<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;inList = rDao.getProductInCompanyByBrand(companyonlycode,year,comid,comflag,brand,brandflag);<br />
&nbsp;&nbsp;storelist = rDao.getProductInStoreForYearByBrand(companyonlycode,year,comid,comflag,brand,brandflag);<br />
&nbsp;&nbsp;list = rDao.getMonthSaleMoneyByBrand(companyonlycode,year,comid,comflag,brand,brandflag);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;Date date = new Date();<br />
&nbsp;int y = date.getYear();<br />
&nbsp;int month = 12;<br />
&nbsp;if(y&gt;=Integer.parseInt(year)){<br />
&nbsp;&nbsp;month=(date.getMonth()+1);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;for(int i=1;i&lt;=month;i++){<br />
&nbsp;&nbsp;out.println("&lt;month&gt;");<br />
&nbsp;&nbsp;&nbsp;out.println("&lt;mon&gt;"+i+"&lt;/mon&gt;");<br />
&nbsp;&nbsp;//进&nbsp;<br />
&nbsp;&nbsp;for(int j=0;j&lt;inList.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)inList.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj flag=\"1\"&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;//销<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj flag=\"2\"&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;//存<br />
&nbsp;&nbsp;for(int j=0;j&lt;storelist.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)storelist.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj flag=\"3\"&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;out.println("&lt;/month&gt;");<br />
&nbsp;}<br />
}<br />
%&gt;<br />
&lt;/result&gt;<br />
<br />
================<br />
</p>
<p>&lt;%@ page language="java" contentType="text/xml; charset=utf-8" pageEncoding="utf-8"%&gt;<br />
&lt;jsp:directive.page import="java.util.List"/&gt;<br />
&lt;jsp:directive.page import="com.netbusscheme.reportcenter.ReportCenterDao"/&gt;<br />
&lt;jsp:directive.page import="com.netbusscheme.reportcenter.ReportCenterProcedureDao"/&gt;<br />
&lt;jsp:directive.page import="com.netbusscheme.reportcenter.ReportBean"/&gt;<br />
&lt;jsp:directive.page import="java.text.SimpleDateFormat"/&gt;<br />
&lt;jsp:directive.page import="java.util.Calendar"/&gt;<br />
&lt;jsp:directive.page import="java.text.DecimalFormat"/&gt;</p>
<p>&lt;?xml version="1.0" encoding="utf-8" ?&gt;<br />
&lt;result&gt;<br />
&lt;%<br />
String companyonlycode = (String)session.getAttribute("companyonlycode");<br />
String button = request.getParameter("button");<br />
String show_x = request.getParameter("show_x");<br />
String year = request.getParameter("year");<br />
String month = request.getParameter("month");</p>
<p>String id = request.getParameter("id");<br />
String[] comid = request.getParameterValues("comid");<br />
String comflag = request.getParameter("comflag");</p>
<p>ReportCenterDao rDao = new ReportCenterDao();<br />
ReportCenterProcedureDao procedureDao = new ReportCenterProcedureDao();<br />
SimpleDateFormat sdf = new SimpleDateFormat("dd");<br />
DecimalFormat dformat = new DecimalFormat("#.##");<br />
List list = null;</p>
<p>Calendar calendar = Calendar.getInstance();<br />
calendar.set(Calendar.YEAR,Integer.parseInt(year));<br />
calendar.set(Calendar.MONTH,Integer.parseInt(month)-1);<br />
int day = 30;</p>
<p>Calendar cal = Calendar.getInstance();<br />
int y = cal.get(Calendar.YEAR);<br />
int m = cal.get(Calendar.MONTH)+1;<br />
if(y&gt;Integer.parseInt(year) || (y==Integer.parseInt(year) &amp;&amp; m&gt;Integer.parseInt(month))){<br />
&nbsp;day = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);<br />
}else{<br />
&nbsp;day = cal.get(Calendar.DAY_OF_MONTH);<br />
}</p>
<p>if(button.equals("1")){<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;list = rDao.getDayProductInCompanyByCom(companyonlycode,year,month,comid,comflag);<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;list = rDao.getDayProductInCompanyByType(companyonlycode,year,month,comid,comflag,type,typeflag);<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;list = rDao.getDayProductInCompanyByBrand(companyonlycode,year,month,comid,comflag,brand,brandflag);<br />
&nbsp;}<br />
&nbsp;for(int i=1;i&lt;=day;i++){<br />
&nbsp;&nbsp;out.println("&lt;days&gt;");<br />
&nbsp;&nbsp;out.println("&lt;day&gt;"+i+"&lt;/day&gt;");<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println("&lt;/days&gt;");<br />
&nbsp;}<br />
}else if(button.equals("2")){<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;list = rDao.getDayProductOutCompanyByCom(companyonlycode,year,month,comid,comflag);<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;list = rDao.getDayProductOutCompanyByType(companyonlycode,year,month,comid,comflag,type,typeflag);<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;list = rDao.getDayProductOutCompanyByBrand(companyonlycode,year,month,comid,comflag,brand,brandflag);<br />
&nbsp;}<br />
&nbsp;for(int i=1;i&lt;=day;i++){<br />
&nbsp;&nbsp;out.println("&lt;days&gt;");<br />
&nbsp;&nbsp;out.println("&lt;day&gt;"+i+"&lt;/day&gt;");<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println("&lt;/days&gt;");<br />
&nbsp;}<br />
}else if(button.equals("3")){<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;list = rDao.getDaySaleMoneyByCom(companyonlycode,year,month,comid,comflag);<br />
&nbsp;}else if(show_x.equals("2")){<br />
&nbsp;&nbsp;String[] empid = request.getParameterValues("empid");<br />
&nbsp;&nbsp;String empflag = request.getParameter("empflag");<br />
&nbsp;&nbsp;list = rDao.getDaySaleMoneyByEmp(companyonlycode,year,month,comid,comflag,empid,empflag);<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;list = rDao.getDaySaleMoneyByType(companyonlycode,year,month,comid,comflag,type,typeflag);<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;list = rDao.getDaySaleMoneyByBrand(companyonlycode,year,month,comid,comflag,brand,brandflag);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;for(int i=1;i&lt;=day;i++){<br />
&nbsp;&nbsp;out.println("&lt;days&gt;");<br />
&nbsp;&nbsp;&nbsp;out.println("&lt;day&gt;"+i+"&lt;/day&gt;");<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;//System.out.println(sdf.format(rBean.getDate()));<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(show_x.equals("3") || show_x.equals("4")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber()+"件")+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber()+"笔帐单")+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println("&lt;/days&gt;");<br />
&nbsp;}<br />
}else if(button.equals("4")){<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("comflag="+comflag);<br />
&nbsp;&nbsp;list = procedureDao.getProductInStoreForMonthByCom(companyonlycode,year,month,comid,comflag);//用存储过程<br />
&nbsp;&nbsp;list = rDao.getProductInStoreForMonthByCom(companyonlycode,year,month,comid,comflag);//用JDBC<br />
&nbsp;&nbsp;System.out.println("用Producre-flash_data_1.jsp");<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;list = rDao.getProductInStoreForMonthByType(companyonlycode,year,month,comid,comflag,type,typeflag);<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;list = rDao.getProductInStoreForMonthByBrand(companyonlycode,year,month,comid,comflag,brand,brandflag);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;for(int i=1;i&lt;=day;i++){<br />
&nbsp;&nbsp;out.println("&lt;days&gt;");<br />
&nbsp;&nbsp;&nbsp;out.println("&lt;day&gt;"+i+"&lt;/day&gt;");<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println("&lt;/days&gt;");<br />
&nbsp;}<br />
}else if(button.equals("5")){<br />
&nbsp;String[] ids = {id};<br />
&nbsp;List inlist = null;&nbsp;&nbsp;&nbsp;//进<br />
&nbsp;List storelist = null;&nbsp;&nbsp;//存<br />
&nbsp;list = null;&nbsp;&nbsp;&nbsp;&nbsp;//销<br />
&nbsp;if(show_x.equals("1")){<br />
&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;inlist = rDao.getDayProductInCompanyByCom(companyonlycode,year,month,ids,comflag);<br />
&nbsp;&nbsp;&nbsp;storelist = rDao.getProductInStoreForMonthByCom(companyonlycode,year,month,ids,comflag);<br />
&nbsp;&nbsp;&nbsp;list = rDao.getDaySaleMoneyByCom(companyonlycode,year,month,ids,comflag);<br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;inlist = rDao.getDayProductInCompanyByCom(companyonlycode,year,month,comid,comflag);<br />
&nbsp;&nbsp;&nbsp;storelist = rDao.getProductInStoreForMonthByCom(companyonlycode,year,month,comid,comflag);<br />
&nbsp;&nbsp;&nbsp;list = rDao.getDaySaleMoneyByCom(companyonlycode,year,month,comid,comflag);<br />
&nbsp;&nbsp;}<br />
&nbsp;}else if(show_x.equals("3")){<br />
&nbsp;&nbsp;String[] type = request.getParameterValues("type");<br />
&nbsp;&nbsp;String typeflag = request.getParameter("typeflag");<br />
&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;inlist = rDao.getDayProductInCompanyByType(companyonlycode,year,month,ids,comflag,type,typeflag);<br />
&nbsp;&nbsp;&nbsp;storelist = rDao.getProductInStoreForMonthByType(companyonlycode,year,month,ids,comflag,type,typeflag);<br />
&nbsp;&nbsp;&nbsp;list = rDao.getDaySaleMoneyByType(companyonlycode,year,month,ids,comflag,type,typeflag);<br />
&nbsp;&nbsp;}else if(typeflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;inlist = rDao.getDayProductInCompanyByType(companyonlycode,year,month,comid,comflag,ids,typeflag);<br />
&nbsp;&nbsp;&nbsp;storelist = rDao.getProductInStoreForMonthByType(companyonlycode,year,month,comid,comflag,ids,typeflag);<br />
&nbsp;&nbsp;&nbsp;list = rDao.getDaySaleMoneyByType(companyonlycode,year,month,comid,comflag,ids,typeflag);<br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;inlist = rDao.getDayProductInCompanyByType(companyonlycode,year,month,comid,comflag,type,typeflag);<br />
&nbsp;&nbsp;&nbsp;storelist = rDao.getProductInStoreForMonthByType(companyonlycode,year,month,comid,comflag,type,typeflag);<br />
&nbsp;&nbsp;&nbsp;list = rDao.getDaySaleMoneyByType(companyonlycode,year,month,comid,comflag,type,typeflag);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;}else if(show_x.equals("4")){<br />
&nbsp;&nbsp;String[] brand = request.getParameterValues("brand");<br />
&nbsp;&nbsp;String brandflag = request.getParameter("brandflag");<br />
&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;inlist = rDao.getDayProductInCompanyByBrand(companyonlycode,year,month,ids,comflag,brand,brandflag);<br />
&nbsp;&nbsp;&nbsp;storelist = rDao.getProductInStoreForMonthByBrand(companyonlycode,year,month,ids,comflag,brand,brandflag);<br />
&nbsp;&nbsp;&nbsp;list = rDao.getDaySaleMoneyByBrand(companyonlycode,year,month,ids,comflag,brand,brandflag);<br />
&nbsp;&nbsp;}else if(brandflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;inlist = rDao.getDayProductInCompanyByBrand(companyonlycode,year,month,comid,comflag,ids,brandflag);<br />
&nbsp;&nbsp;&nbsp;storelist = rDao.getProductInStoreForMonthByBrand(companyonlycode,year,month,comid,comflag,ids,brandflag);<br />
&nbsp;&nbsp;&nbsp;list = rDao.getDaySaleMoneyByBrand(companyonlycode,year,month,comid,comflag,ids,brandflag);<br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;inlist = rDao.getDayProductInCompanyByBrand(companyonlycode,year,month,comid,comflag,brand,brandflag);<br />
&nbsp;&nbsp;&nbsp;storelist = rDao.getProductInStoreForMonthByBrand(companyonlycode,year,month,comid,comflag,brand,brandflag);<br />
&nbsp;&nbsp;&nbsp;list = rDao.getDaySaleMoneyByBrand(companyonlycode,year,month,comid,comflag,brand,brandflag);<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;for(int i=1;i&lt;=day;i++){<br />
&nbsp;&nbsp;out.println("&lt;days&gt;");<br />
&nbsp;&nbsp;&nbsp;out.println("&lt;day&gt;"+i+"&lt;/day&gt;");<br />
&nbsp;&nbsp;for(int j=0;j&lt;list.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)list.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj flag=\"1\"&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;for(int j=0;j&lt;inlist.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)inlist.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj flag=\"2\"&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;for(int j=0;j&lt;storelist.size();j++){<br />
&nbsp;&nbsp;&nbsp;ReportBean rBean = (ReportBean)storelist.get(j);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if(Integer.parseInt(sdf.format(rBean.getDate()))==i){<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;obj flag=\"3\"&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm1&gt;"+(rBean.getShowid())+"&lt;/parm1&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm2&gt;"+(rBean.getShowname())+"&lt;/parm2&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm3&gt;"+dformat.format(rBean.getMoney())+"&lt;/parm3&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;parm4&gt;"+(rBean.getNumber())+"&lt;/parm4&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;out.println("&lt;/obj&gt;");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println("&lt;/days&gt;");<br />
&nbsp;}<br />
}</p>
<p>%&gt;<br />
&lt;/result&gt;</p>
<p><br />
</p>
<img src ="http://www.blogjava.net/feifeirao/aggbug/290250.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/feifeirao/" target="_blank">五味子</a> 2009-08-07 16:39 <a href="http://www.blogjava.net/feifeirao/articles/290250.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ReportDao1</title><link>http://www.blogjava.net/feifeirao/articles/290249.html</link><dc:creator>五味子</dc:creator><author>五味子</author><pubDate>Fri, 07 Aug 2009 08:34:00 GMT</pubDate><guid>http://www.blogjava.net/feifeirao/articles/290249.html</guid><wfw:comment>http://www.blogjava.net/feifeirao/comments/290249.html</wfw:comment><comments>http://www.blogjava.net/feifeirao/articles/290249.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/feifeirao/comments/commentRss/290249.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/feifeirao/services/trackbacks/290249.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: package com.netbusscheme.reportcenter;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import java.text.SimpleDateFormat;import java.util.ArrayList;import jav...&nbsp;&nbsp;<a href='http://www.blogjava.net/feifeirao/articles/290249.html'>阅读全文</a><img src ="http://www.blogjava.net/feifeirao/aggbug/290249.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/feifeirao/" target="_blank">五味子</a> 2009-08-07 16:34 <a href="http://www.blogjava.net/feifeirao/articles/290249.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>22</title><link>http://www.blogjava.net/feifeirao/articles/289811.html</link><dc:creator>五味子</dc:creator><author>五味子</author><pubDate>Tue, 04 Aug 2009 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/feifeirao/articles/289811.html</guid><wfw:comment>http://www.blogjava.net/feifeirao/comments/289811.html</wfw:comment><comments>http://www.blogjava.net/feifeirao/articles/289811.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/feifeirao/comments/commentRss/289811.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/feifeirao/services/trackbacks/289811.html</trackback:ping><description><![CDATA[Name</th><th>Type</th><th>Nullable</th><th>Default</th><th>Storage</th><th>Comments</th>
</tr>
<tr>
    <td>RID</td>
    <td>NUMBER(20)</td>
    <td>N</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>COMPANYNAME</td>
    <td>VARCHAR2(50)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>COMPANYID</td>
    <td>NUMBER(20)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>PLACENAME</td>
    <td>VARCHAR2(50)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>PLACEID</td>
    <td>NUMBER(20)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>ARTICLEID</td>
    <td>NUMBER(20)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>ARTICLENAME</td>
    <td>VARCHAR2(50)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>BRAND</td>
    <td>VARCHAR2(50)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>BRANDID</td>
    <td>NUMBER(20)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>CATENA</td>
    <td>VARCHAR2(50)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>CATENAID</td>
    <td>VARCHAR2(50)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>BALLMODEL</td>
    <td>VARCHAR2(50)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>POLECOLOR</td>
    <td>VARCHAR2(50)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>INITNUMBER</td>
    <td>NUMBER(12)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>LASTNUMBER</td>
    <td>NUMBER(12)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>RECORDDATE</td>
    <td>DATE</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>BPRICE</td>
    <td>NUMBER(12,2)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>CPRICE</td>
    <td>NUMBER(12,2)</td>
    <td>Y</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<br />
<br />
<br />
==<br />
<br />
<br />
<p>=============================================================================</p>
<p>&nbsp;</p>
<p>/**<br />
&nbsp; * 根据条件统计公司指定月份每天的库存情况<br />
&nbsp; * @param onlycode<br />
&nbsp; * @param year<br />
&nbsp; * @param company<br />
&nbsp; * @return<br />
&nbsp; */<br />
&nbsp;public List getProductInStoreForMonthByCom(String onlycode,String year,String month,String[] company,String comflag){<br />
&nbsp;&nbsp;List list = new ArrayList();<br />
&nbsp;&nbsp;SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");<br />
&nbsp;&nbsp;Calendar cal = Calendar.getInstance();<br />
&nbsp;&nbsp;Calendar calendar = Calendar.getInstance();<br />
&nbsp;&nbsp;cal.set(Calendar.YEAR, Integer.parseInt(year));<br />
&nbsp;&nbsp;cal.set(Calendar.MONTH, Integer.parseInt(month)-1);<br />
&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;String str = "";<br />
&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;company.length;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str += "("+company[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else str += ","+company[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==company.length-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str += ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;//1.循环所要显示的天数<br />
&nbsp;&nbsp;&nbsp;//2.查找记录表，找出循环日期的记录,加入排除表,并加入统计;<br />
&nbsp;&nbsp;&nbsp;//3.根据排除表,查找记录表,找出比循环日期早的最新记录,并加入统计;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;session = ConnectDao.getSession(onlycode);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;int maxdays = 0;<br />
&nbsp;&nbsp;&nbsp;if(calendar.get(Calendar.YEAR)&gt;cal.get(Calendar.YEAR) || (cal.get(Calendar.YEAR)==calendar.get(Calendar.YEAR) &amp;&amp; calendar.get(Calendar.MONTH)&gt;cal.get(Calendar.MONTH)))<br />
&nbsp;&nbsp;&nbsp;&nbsp;maxdays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);<br />
&nbsp;&nbsp;&nbsp;else if(cal.get(Calendar.YEAR)==calendar.get(Calendar.YEAR) &amp;&amp; cal.get(Calendar.MONTH)==calendar.get(Calendar.MONTH))<br />
&nbsp;&nbsp;&nbsp;&nbsp;maxdays = cal.get(Calendar.DAY_OF_MONTH);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;for(int day=1;day&lt;=maxdays;day++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;String sql = "select distinct t.articleid from tab_storage_record t,b_companyinfo tt where t.companyid=tt.unit_id and tt.unit_id in "+str+" and&nbsp; extract(year from t.recorddate)='"+year+"' and&nbsp; extract(month from t.recorddate)='"+month+"' and extract(day from t.recorddate)='"+day+"'";<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试##1 根据条件统计公司指定月份每天的库存 sql="+sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;Query query = session.createSQLQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;List list1 = query.list();<br />
&nbsp;&nbsp;&nbsp;&nbsp;String productid = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;list1.size();i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==0){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += "("+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else if(i%900==0 &amp;&amp; i!=list1.size()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ") and tt.articleid not in ("+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ","+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==list1.size()-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql = "select nvl(sum(t.lastnumber*t.cprice),0.00),nvl(sum(t.lastnumber),0.00),trunc(t.recorddate,'dd')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt where t.articleid=tt.articleid and trunc(t.recorddate,'dd')=trunc(tt.recorddate,'dd')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and tt.companyid in "+str;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!year.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and&nbsp; extract(year from t.recorddate)='"+year+"' and extract(month from t.recorddate)='"+month+"' and extract(day from t.recorddate)='"+day+"'";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql +=" group by trunc(tt.recorddate,'dd')) group by trunc(t.recorddate,'dd')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " order by ";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += "t.companyid asc,";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += "trunc(t.recorddate,'dd') asc";<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp; conn = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Statement stat = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ResultSet result = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试##2 根据条件统计公司指定月份每天的库存 sql="+sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;int flag = 0 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn = session.connection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=stat.executeQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (result.next()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag = 1 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean rBean = new ReportBean();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setMoney(result.getDouble(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setNumber(result.getLong(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setDate(result.getDate(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname(result.getString(4));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid(result.getString(5));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname("所选公司单位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid("0");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(flag==1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("测试## 有数据");&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;flag = 0 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql = "select nvl(sum(t.lastnumber*t.cprice),00),nvl(sum(t.lastnumber),0.00)";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt where t.articleid=tt.articleid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!productid.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql +=" and tt.articleid not in "+productid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and tt.companyid in "+str;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " and (extract(year from tt.recorddate)&lt;'"+year+"' or (extract(year from tt.recorddate)='"+year+"' and extract(month from tt.recorddate)&lt;'"+month+"') or (extract(year from tt.recorddate)='"+year+"' and extract(month from tt.recorddate)='"+month+"' and&nbsp; extract(day from tt.recorddate)&lt;'"+day+"'))";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql +=")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += "group by t.companyname,t.companyid order by t.companyid asc";<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试##3 根据条件统计公司指定月份每天的库存 sql="+sql);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn = session.connection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=stat.executeQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (result.next()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag = 1 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cal.set(Calendar.DAY_OF_MONTH, day);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean rBean = new ReportBean();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setMoney(result.getDouble(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setNumber(result.getLong(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname(result.getString(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid(result.getString(4));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname("所选公司单位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid("0");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setDate(cal.getTime());</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int n = list.size();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean reportBean = (ReportBean)list.get(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(rBean.getShowid().equals(reportBean.getShowid()) &amp;&amp; sdf.format(rBean.getDate()).equals(sdf.format(reportBean.getDate()))){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reportBean.setMoney(reportBean.getMoney().doubleValue()+rBean.getMoney().doubleValue());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reportBean.setNumber(reportBean.getNumber().longValue()+rBean.getNumber().longValue());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.set(i, reportBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==n-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(list.size()==0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(flag==1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("测试## 有数据");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}catch(Exception e){<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;if(session.isOpen())<br />
&nbsp;&nbsp;&nbsp;&nbsp;session.close();<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;return list;<br />
&nbsp;}&nbsp;</p>
<p><br />
=====================================================================================&nbsp;</p>
<p>/**<br />
&nbsp; * 根据条件统计公司指定年份每月的库存情况<br />
&nbsp; * @param onlycode<br />
&nbsp; * @param year<br />
&nbsp; * @param company<br />
&nbsp; * @return<br />
&nbsp; */<br />
&nbsp;public List getProductInStoreForYearByCom(String onlycode,String year,String[] company,String comflag){<br />
&nbsp;&nbsp;List list = new ArrayList();<br />
&nbsp;&nbsp;SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");<br />
&nbsp;&nbsp;Calendar cal = Calendar.getInstance();<br />
&nbsp;&nbsp;Calendar calendar = Calendar.getInstance();<br />
&nbsp;&nbsp;cal.set(Calendar.YEAR, Integer.parseInt(year));<br />
&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;String str = "";<br />
&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;company.length;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str += "("+company[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else str += ","+company[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==company.length-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str += ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;//1.循环所要显示的月份<br />
&nbsp;&nbsp;&nbsp;//2.查找记录表，找出循环月份的记录,加入排除表,并加入统计;<br />
&nbsp;&nbsp;&nbsp;//3.根据排除表,查找记录表,找出比循环月份早的最新记录,并加入统计;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;session = ConnectDao.getSession(onlycode);<br />
&nbsp;&nbsp;&nbsp;int maxmonth = 0;<br />
&nbsp;&nbsp;&nbsp;if(cal.get(Calendar.YEAR)==calendar.get(Calendar.YEAR))<br />
&nbsp;&nbsp;&nbsp;&nbsp;maxmonth = cal.get(Calendar.MONTH)+1;<br />
&nbsp;&nbsp;&nbsp;else if(cal.get(Calendar.YEAR)&lt;calendar.get(Calendar.YEAR))<br />
&nbsp;&nbsp;&nbsp;&nbsp;maxmonth = 12;<br />
&nbsp;&nbsp;&nbsp;for(int month=1;month&lt;=maxmonth;month++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;String sql = "select distinct t.articleid from tab_storage_record t,b_companyinfo tt where t.companyid=tt.unit_id and tt.unit_id in "<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+str+" and extract(year from t.recorddate)='"+year+"' and&nbsp; extract(month from t.recorddate)='"+month+"'";<br />
&nbsp;&nbsp;&nbsp;&nbsp;Query query = session.createSQLQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;List list1 = query.list();<br />
&nbsp;&nbsp;&nbsp;&nbsp;String productid = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;list1.size();i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==0){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += "("+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else if(i%900==0 &amp;&amp; i!=list1.size()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ") and tt.articleid not in ("+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ","+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==list1.size()-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;//System.out.println(list1.size()+"----"+productid);<br />
&nbsp;&nbsp;&nbsp;&nbsp;//cprice成本价格&nbsp;&nbsp; lastnumber 最后的数量<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql = "select nvl(sum(t.lastnumber*t.cprice),0.00),nvl(sum(t.lastnumber),0.00),trunc(t.recorddate,'MM')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " from tab_storage_record t where t.rid=(" +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" SELECT max(tt.rid) from tab_storage_record tt " +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" where t.articleid=tt.articleid and trunc(t.recorddate,'MM')=trunc(tt.recorddate,'MM')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and tt.companyid in "+str;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!year.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and extract(year from tt.recorddate)='"+year+"' and&nbsp; extract(month from tt.recorddate)='"+month+"'";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql +=" group by trunc(tt.recorddate,'MM')) group by trunc(t.recorddate,'MM')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " order by ";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += "t.companyid asc,";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += "trunc(t.recorddate,'MM') asc";<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp; conn = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Statement stat = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ResultSet result = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试1：sql="+sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp; flag = 0 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn = session.connection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=stat.executeQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (result.next()){ flag = 1 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean rBean = new ReportBean();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setMoney(result.getDouble(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setNumber(result.getLong(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setDate(result.getDate(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname(result.getString(4));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid(result.getString(5));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname("所选公司单位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid("0");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(flag==1){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("flag="+flag+"&nbsp; 有数据");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;flag=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql = "select nvl(sum(t.lastnumber*t.cprice),00),nvl(sum(t.lastnumber),0.00)";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt where t.articleid=tt.articleid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!productid.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql +=" and tt.articleid not in "+productid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and tt.companyid in "+str;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!year.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and (extract(year from tt.recorddate)&lt;'"+year+"' or&nbsp; (extract(year from tt.recorddate)='"+year+"' " +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"and extract(month from tt.recorddate)&lt;'"+month+"'))";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql +=")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += "group by t.companyname,t.companyid order by t.companyid asc";<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试2：sql="+sql);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn = session.connection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=stat.executeQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (result.next()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag = 1 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cal.set(Calendar.MONTH, month-1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cal.set(Calendar.DAY_OF_MONTH, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean rBean = new ReportBean();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setMoney(result.getDouble(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setNumber(result.getLong(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname(result.getString(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid(result.getString(4));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname("所选公司单位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid("0");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setDate(cal.getTime());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int n = list.size();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean reportBean = (ReportBean)list.get(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(rBean.getShowid().equals(reportBean.getShowid()) &amp;&amp; sdf.format(rBean.getDate()).equals(sdf.format(reportBean.getDate()))){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reportBean.setMoney(reportBean.getMoney().doubleValue()+rBean.getMoney().doubleValue());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reportBean.setNumber(reportBean.getNumber().longValue()+rBean.getNumber().longValue());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.set(i, reportBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==n-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(list.size()==0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(flag==1){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("flag="+flag+"&nbsp; 有数据");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}catch(Exception e){<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;if(session.isOpen())<br />
&nbsp;&nbsp;&nbsp;&nbsp;session.close();<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return list;<br />
&nbsp;}<br />
&nbsp;<br />
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p>
<p><br />
&nbsp;</p>
<img src ="http://www.blogjava.net/feifeirao/aggbug/289811.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/feifeirao/" target="_blank">五味子</a> 2009-08-04 17:17 <a href="http://www.blogjava.net/feifeirao/articles/289811.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>111</title><link>http://www.blogjava.net/feifeirao/articles/289804.html</link><dc:creator>五味子</dc:creator><author>五味子</author><pubDate>Tue, 04 Aug 2009 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/feifeirao/articles/289804.html</guid><wfw:comment>http://www.blogjava.net/feifeirao/comments/289804.html</wfw:comment><comments>http://www.blogjava.net/feifeirao/articles/289804.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/feifeirao/comments/commentRss/289804.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/feifeirao/services/trackbacks/289804.html</trackback:ping><description><![CDATA[<p>=============================================================================</p>
<p>&nbsp;</p>
<p>/**<br />
&nbsp; * 根据条件统计公司指定月份每天的库存情况<br />
&nbsp; * @param onlycode<br />
&nbsp; * @param year<br />
&nbsp; * @param company<br />
&nbsp; * @return<br />
&nbsp; */<br />
&nbsp;public List getProductInStoreForMonthByCom(String onlycode,String year,String month,String[] company,String comflag){<br />
&nbsp;&nbsp;List list = new ArrayList();<br />
&nbsp;&nbsp;SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");<br />
&nbsp;&nbsp;Calendar cal = Calendar.getInstance();<br />
&nbsp;&nbsp;Calendar calendar = Calendar.getInstance();<br />
&nbsp;&nbsp;cal.set(Calendar.YEAR, Integer.parseInt(year));<br />
&nbsp;&nbsp;cal.set(Calendar.MONTH, Integer.parseInt(month)-1);<br />
&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;String str = "";<br />
&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;company.length;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str += "("+company[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else str += ","+company[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==company.length-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str += ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;//1.循环所要显示的天数<br />
&nbsp;&nbsp;&nbsp;//2.查找记录表，找出循环日期的记录,加入排除表,并加入统计;<br />
&nbsp;&nbsp;&nbsp;//3.根据排除表,查找记录表,找出比循环日期早的最新记录,并加入统计;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;session = ConnectDao.getSession(onlycode);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;int maxdays = 0;<br />
&nbsp;&nbsp;&nbsp;if(calendar.get(Calendar.YEAR)&gt;cal.get(Calendar.YEAR) || (cal.get(Calendar.YEAR)==calendar.get(Calendar.YEAR) &amp;&amp; calendar.get(Calendar.MONTH)&gt;cal.get(Calendar.MONTH)))<br />
&nbsp;&nbsp;&nbsp;&nbsp;maxdays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);<br />
&nbsp;&nbsp;&nbsp;else if(cal.get(Calendar.YEAR)==calendar.get(Calendar.YEAR) &amp;&amp; cal.get(Calendar.MONTH)==calendar.get(Calendar.MONTH))<br />
&nbsp;&nbsp;&nbsp;&nbsp;maxdays = cal.get(Calendar.DAY_OF_MONTH);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;for(int day=1;day&lt;=maxdays;day++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;String sql = "select distinct t.articleid from tab_storage_record t,b_companyinfo tt where t.companyid=tt.unit_id and tt.unit_id in "+str+" and&nbsp; extract(year from t.recorddate)='"+year+"' and&nbsp; extract(month from t.recorddate)='"+month+"' and extract(day from t.recorddate)='"+day+"'";<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试##1 根据条件统计公司指定月份每天的库存 sql="+sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;Query query = session.createSQLQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;List list1 = query.list();<br />
&nbsp;&nbsp;&nbsp;&nbsp;String productid = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;list1.size();i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==0){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += "("+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else if(i%900==0 &amp;&amp; i!=list1.size()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ") and tt.articleid not in ("+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ","+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==list1.size()-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql = "select nvl(sum(t.lastnumber*t.cprice),0.00),nvl(sum(t.lastnumber),0.00),trunc(t.recorddate,'dd')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt where t.articleid=tt.articleid and trunc(t.recorddate,'dd')=trunc(tt.recorddate,'dd')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and tt.companyid in "+str;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!year.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and&nbsp; extract(year from t.recorddate)='"+year+"' and extract(month from t.recorddate)='"+month+"' and extract(day from t.recorddate)='"+day+"'";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql +=" group by trunc(tt.recorddate,'dd')) group by trunc(t.recorddate,'dd')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " order by ";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += "t.companyid asc,";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += "trunc(t.recorddate,'dd') asc";<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp; conn = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Statement stat = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ResultSet result = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试##2 根据条件统计公司指定月份每天的库存 sql="+sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;int flag = 0 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn = session.connection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=stat.executeQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (result.next()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag = 1 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean rBean = new ReportBean();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setMoney(result.getDouble(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setNumber(result.getLong(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setDate(result.getDate(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname(result.getString(4));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid(result.getString(5));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname("所选公司单位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid("0");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(flag==1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("测试## 有数据");&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;flag = 0 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql = "select nvl(sum(t.lastnumber*t.cprice),00),nvl(sum(t.lastnumber),0.00)";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt where t.articleid=tt.articleid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!productid.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql +=" and tt.articleid not in "+productid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and tt.companyid in "+str;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " and (extract(year from tt.recorddate)&lt;'"+year+"' or (extract(year from tt.recorddate)='"+year+"' and extract(month from tt.recorddate)&lt;'"+month+"') or (extract(year from tt.recorddate)='"+year+"' and extract(month from tt.recorddate)='"+month+"' and&nbsp; extract(day from tt.recorddate)&lt;'"+day+"'))";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql +=")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += "group by t.companyname,t.companyid order by t.companyid asc";<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试##3 根据条件统计公司指定月份每天的库存 sql="+sql);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn = session.connection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=stat.executeQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (result.next()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag = 1 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cal.set(Calendar.DAY_OF_MONTH, day);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean rBean = new ReportBean();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setMoney(result.getDouble(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setNumber(result.getLong(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname(result.getString(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid(result.getString(4));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname("所选公司单位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid("0");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setDate(cal.getTime());</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int n = list.size();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean reportBean = (ReportBean)list.get(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(rBean.getShowid().equals(reportBean.getShowid()) &amp;&amp; sdf.format(rBean.getDate()).equals(sdf.format(reportBean.getDate()))){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reportBean.setMoney(reportBean.getMoney().doubleValue()+rBean.getMoney().doubleValue());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reportBean.setNumber(reportBean.getNumber().longValue()+rBean.getNumber().longValue());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.set(i, reportBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==n-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(list.size()==0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(flag==1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("测试## 有数据");<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}catch(Exception e){<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;if(session.isOpen())<br />
&nbsp;&nbsp;&nbsp;&nbsp;session.close();<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;return list;<br />
&nbsp;}&nbsp;</p>
<p><br />
=====================================================================================&nbsp;</p>
<p>/**<br />
&nbsp; * 根据条件统计公司指定年份每月的库存情况<br />
&nbsp; * @param onlycode<br />
&nbsp; * @param year<br />
&nbsp; * @param company<br />
&nbsp; * @return<br />
&nbsp; */<br />
&nbsp;public List getProductInStoreForYearByCom(String onlycode,String year,String[] company,String comflag){<br />
&nbsp;&nbsp;List list = new ArrayList();<br />
&nbsp;&nbsp;SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");<br />
&nbsp;&nbsp;Calendar cal = Calendar.getInstance();<br />
&nbsp;&nbsp;Calendar calendar = Calendar.getInstance();<br />
&nbsp;&nbsp;cal.set(Calendar.YEAR, Integer.parseInt(year));<br />
&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;String str = "";<br />
&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;company.length;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str += "("+company[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else str += ","+company[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==company.length-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str += ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;//1.循环所要显示的月份<br />
&nbsp;&nbsp;&nbsp;//2.查找记录表，找出循环月份的记录,加入排除表,并加入统计;<br />
&nbsp;&nbsp;&nbsp;//3.根据排除表,查找记录表,找出比循环月份早的最新记录,并加入统计;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;session = ConnectDao.getSession(onlycode);<br />
&nbsp;&nbsp;&nbsp;int maxmonth = 0;<br />
&nbsp;&nbsp;&nbsp;if(cal.get(Calendar.YEAR)==calendar.get(Calendar.YEAR))<br />
&nbsp;&nbsp;&nbsp;&nbsp;maxmonth = cal.get(Calendar.MONTH)+1;<br />
&nbsp;&nbsp;&nbsp;else if(cal.get(Calendar.YEAR)&lt;calendar.get(Calendar.YEAR))<br />
&nbsp;&nbsp;&nbsp;&nbsp;maxmonth = 12;<br />
&nbsp;&nbsp;&nbsp;for(int month=1;month&lt;=maxmonth;month++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;String sql = "select distinct t.articleid from tab_storage_record t,b_companyinfo tt where t.companyid=tt.unit_id and tt.unit_id in "<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+str+" and extract(year from t.recorddate)='"+year+"' and&nbsp; extract(month from t.recorddate)='"+month+"'";<br />
&nbsp;&nbsp;&nbsp;&nbsp;Query query = session.createSQLQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;List list1 = query.list();<br />
&nbsp;&nbsp;&nbsp;&nbsp;String productid = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;list1.size();i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==0){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += "("+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else if(i%900==0 &amp;&amp; i!=list1.size()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ") and tt.articleid not in ("+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ","+list1.get(i).toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==list1.size()-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;productid += ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;//System.out.println(list1.size()+"----"+productid);<br />
&nbsp;&nbsp;&nbsp;&nbsp;//cprice成本价格&nbsp;&nbsp; lastnumber 最后的数量<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql = "select nvl(sum(t.lastnumber*t.cprice),0.00),nvl(sum(t.lastnumber),0.00),trunc(t.recorddate,'MM')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " from tab_storage_record t where t.rid=(" +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" SELECT max(tt.rid) from tab_storage_record tt " +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" where t.articleid=tt.articleid and trunc(t.recorddate,'MM')=trunc(tt.recorddate,'MM')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and tt.companyid in "+str;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!year.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and extract(year from tt.recorddate)='"+year+"' and&nbsp; extract(month from tt.recorddate)='"+month+"'";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql +=" group by trunc(tt.recorddate,'MM')) group by trunc(t.recorddate,'MM')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " order by ";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += "t.companyid asc,";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += "trunc(t.recorddate,'MM') asc";<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp; conn = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Statement stat = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ResultSet result = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试1：sql="+sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp; flag = 0 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn = session.connection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=stat.executeQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (result.next()){ flag = 1 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean rBean = new ReportBean();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setMoney(result.getDouble(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setNumber(result.getLong(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setDate(result.getDate(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname(result.getString(4));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid(result.getString(5));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname("所选公司单位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid("0");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(flag==1){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("flag="+flag+"&nbsp; 有数据");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;flag=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql = "select nvl(sum(t.lastnumber*t.cprice),00),nvl(sum(t.lastnumber),0.00)";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += ",t.companyname,t.companyid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql += " from tab_storage_record t where t.rid=(SELECT max(tt.rid) from tab_storage_record tt where t.articleid=tt.articleid";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!productid.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql +=" and tt.articleid not in "+productid;<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(company!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and tt.companyid in "+str;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!year.equals(""))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += " and (extract(year from tt.recorddate)&lt;'"+year+"' or&nbsp; (extract(year from tt.recorddate)='"+year+"' " +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"and extract(month from tt.recorddate)&lt;'"+month+"'))";<br />
&nbsp;&nbsp;&nbsp;&nbsp;sql +=")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql += "group by t.companyname,t.companyid order by t.companyid asc";<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("测试2：sql="+sql);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn = session.connection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=stat.executeQuery(sql);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (result.next()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag = 1 ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cal.set(Calendar.MONTH, month-1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cal.set(Calendar.DAY_OF_MONTH, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean rBean = new ReportBean();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setMoney(result.getDouble(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setNumber(result.getLong(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(comflag.equals("2")){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname(result.getString(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid(result.getString(4));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowname("所选公司单位");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setShowid("0");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rBean.setDate(cal.getTime());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int n = list.size();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReportBean reportBean = (ReportBean)list.get(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(rBean.getShowid().equals(reportBean.getShowid()) &amp;&amp; sdf.format(rBean.getDate()).equals(sdf.format(reportBean.getDate()))){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reportBean.setMoney(reportBean.getMoney().doubleValue()+rBean.getMoney().doubleValue());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reportBean.setNumber(reportBean.getNumber().longValue()+rBean.getNumber().longValue());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.set(i, reportBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==n-1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(list.size()==0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(rBean);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stat.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(flag==1){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("flag="+flag+"&nbsp; 有数据");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}catch(Exception e){<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}finally{<br />
&nbsp;&nbsp;&nbsp;if(session.isOpen())<br />
&nbsp;&nbsp;&nbsp;&nbsp;session.close();<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return list;<br />
&nbsp;}<br />
&nbsp;<br />
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p>
<p><br />
&nbsp;</p>
<img src ="http://www.blogjava.net/feifeirao/aggbug/289804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/feifeirao/" target="_blank">五味子</a> 2009-08-04 17:03 <a href="http://www.blogjava.net/feifeirao/articles/289804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>