📄 reportprize.java
字号:
}
//进行累积扣除金额的计算
if(deductWeek == weeks){
//当查询周和扣除重复消费正好是同一周(说明这周正好是扣除重复消费)
deductPrize = 55000;
} else if(deductWeek < weeks && deductWeek!=0){
//当查询周在重复消费周以后时,应该求出重复消费周到查询周前一周的所有金额,然后将此金额减去550元
//就可以得到累积扣除金额
sql = "SELECT * FROM t_userMoney WHERE (years = " + years + ") AND (weeks >= " + deductWeek + ") and weeks< " + weeks + " AND (Userid = '" + dealerID + "')";
ResultSet innerRs = oper.getRs(sql);
int totalPrize =0;
while(innerRs.next()){
totalPrize = totalPrize + innerRs.getInt("moneyone") + innerRs.getInt("moneytwo") + innerRs.getInt("moneyoneother");
}
innerRs.close();
if(totalPrize <55000){
//说明到查询周仍未还清
deductPrize = 55000 - totalPrize;
}
}
rs.close();
} catch (SQLException e){
log.error("得到一周累积扣除金额时出错:" + e);
} finally {
oper.closeConn();
}
return deductPrize;
}
/**
* 得到经销商的月报表
* @return 返回报表的集合
*/
public List getDealerReportByMonths(){
//下面定义的集合用以存储在页面上显示的数据
List list = new ArrayList();
//得到当前日期,即年份,月份
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int week = cal.get(Calendar.WEEK_OF_YEAR);
//开发,拓展,重复消费奖,和三种奖金之和
int moneyonesum = 0;
int moneytwosum = 0;
int moneyoneothersum = 0;
int threemoneysumtotal = 0;
//重复消费,累积扣除的应该扣除税收各自的总和
int repeatsum = 0;
int pilesum = 0;
int deductsum = 0;
int twomoneysumtotal = 0;
//应得奖金总和
int gainsum = 0;
//得到经销商列表信息
Dealer dealer = new Dealer();
List dealerList = dealer.getDealerList();
//根据经销商列表来查询所有经销商的金额信息
for(int i=0;i<dealerList.size();i++){
DBConnectionManager oper = new DBConnectionManager();
//得到此年此月中的几个星期,星期是按顺序排列的
String sql = "SELECT t_userMoney.weeks FROM t_userMoney,t_usersign where t_userMoney.Userid = t_usersign.Userid and (t_userMoney.years = " + year + ") AND (t_userMoney.months = " + month + ") AND (t_userMoney.Userid = '" + dealerList.get(i) + "') ORDER BY t_userMoney.weeks";
ResultSet rs = oper.getRs(sql);
try{
//开发,拓展,重复消费奖,三种奖金合计
int moneyone = 0;
int moneytwo = 0;
int moneyoneother = 0;
int threemoneysum = 0;
//重复消费金额,累积扣除,应该扣除的税,三种扣除金额的总和
int repeat = 0;
int pile = 0;
int deduct = 0;
int twomoneysum = 0;
//应得奖金
int gain = 0;
//定义javabean,用来存储所有需要的信息
Franchiser bean = new Franchiser();
//得到经销商的一些细节信息(调用Dealer类中的getDealerInfo方法)
Dealer dealerOper = new Dealer();
List dealerInfo = dealerOper.getDealerInfo(dealerList.get(i).toString());
bean.setName(dealerInfo.get(0).toString());
bean.setBank(dealerInfo.get(1).toString());
bean.setBankcard(dealerInfo.get(2).toString());
bean.setUserid(dealerList.get(i).toString());
while(rs.next()){
//得到此年,此月,此星期的奖金和
//sql = "SELECT t_userMoney.Userid, t_userMoney.MoneyOne, t_userMoney.MoneyTwo, t_userMoney.MoneyOneOther, t_usersign.name,t_userMoney.isflag FROM t_userMoney,t_usersign where t_userMoney.Userid = t_usersign.Userid and (t_userMoney.years = " + year + ") AND (t_userMoney.weeks = " + rs.getInt("weeks") + ") AND (t_userMoney.Userid = '" + dealerList.get(i) + "')";
sql = "SELECT t_userMoney.Userid, t_userMoney.MoneyOne, t_userMoney.MoneyTwo, t_userMoney.MoneyOneOther, t_usersign.name, t_userMoney.isflag FROM t_userMoney,t_usersign where t_userMoney.Userid = t_usersign.Userid and (t_userMoney.years = " + year + ") AND (t_userMoney.weeks = " + rs.getInt("weeks") + ") AND (t_userMoney.Userid = '" + dealerList.get(i) + "')";
ResultSet weekRs = oper.getRs(sql);
while(weekRs.next()){
//得到此星期是否扣除重复消费的标识
int isflag = weekRs.getInt("isflag");
//应得奖金和各自奖金的汇总
moneyone = moneyone + weekRs.getInt("moneyone");
moneytwo = moneytwo + weekRs.getInt("moneytwo");
moneyoneother = moneyoneother + weekRs.getInt("moneyoneother");
threemoneysum = threemoneysum + moneyone + moneytwo + moneyoneother;
//如果重复消费后的金额为负数,将在本周类将金额补上,否则不进行处理
if(pile<0 && (threemoneysum + pile)>=0){
//本周已经补清
pile = 0;
} else if(pile<0 && (threemoneysum + pile)<0) {
//本周只能补部分
pile = threemoneysum + pile;
}
//重复消费部分
if(isflag==1 && threemoneysum>=88000){
repeat = repeat + 55000;
pile = threemoneysum - 55000;
if(pile>=0){
pile = 0;
}
deduct = deduct + (int)((threemoneysum - 55000 - 88000)*0.07f);
twomoneysum = twomoneysum + repeat - pile + deduct;
} else if(isflag==1 && threemoneysum<88000){
repeat = repeat + 55000;
pile = threemoneysum - 55000;
if(pile>=0){
pile = 0;
}
twomoneysum = twomoneysum + repeat - pile + deduct;
} else if(isflag!=1 && threemoneysum>=88000){
deduct = deduct + (int)((threemoneysum - 88000)*0.07f);
twomoneysum = twomoneysum - pile + deduct;
} else if(isflag!=1 && threemoneysum<88000){
twomoneysum = twomoneysum - pile;
}
gain = gain + threemoneysum - twomoneysum;
}
weekRs.close();
}
bean.setMoneyOneY(Unit.getMoneyByY(moneyone));
bean.setMoneyTwoY(Unit.getMoneyByY(moneytwo));
bean.setMoneyOneOtherY(Unit.getMoneyByY(moneyoneother));
bean.setWeekTotalMoney(Unit.getMoneyByY(threemoneysum));
bean.setConsumeMoneyY(Unit.getMoneyByY(repeat));
bean.setDedutePrizeY(Unit.getMoneyByY(pile));
bean.setSmallTaxY(Unit.getMoneyByY(deduct));
bean.setLastPrizeY(Unit.getMoneyByY(twomoneysum));
bean.setGainedPrizeY(Unit.getMoneyByY(gain)); //实发奖金
list.add(bean);
//得到总金额
moneyonesum = moneyonesum + moneyone;
moneytwosum = moneytwosum + moneytwo;
moneyoneothersum = moneyoneothersum + moneyoneother;
threemoneysumtotal = threemoneysumtotal + threemoneysum;
repeatsum = repeatsum + repeat;
deductsum = deductsum + deduct;
pilesum = pilesum + pile;
twomoneysumtotal = twomoneysumtotal + twomoneysum;
gainsum = gainsum + gain;
reportBean.setOpenUpPrizeY(Unit.getMoneyByY(moneyonesum));
reportBean.setColonizePrizeY(Unit.getMoneyByY(moneytwosum));
reportBean.setRepeatConsumePrizeY(Unit.getMoneyByY(moneyoneothersum));
reportBean.setTotalPrizeY(Unit.getMoneyByY(threemoneysumtotal));
reportBean.setRepeatConsumeY(Unit.getMoneyByY(repeatsum));
reportBean.setTotalDeductPrizeY(Unit.getMoneyByY(pilesum));
reportBean.setTaxY(Unit.getMoneyByY(deductsum));
reportBean.setTotalTaxY(Unit.getMoneyByY(twomoneysumtotal));
reportBean.setTotalGainedPrizeY(Unit.getMoneyByY(gainsum));
rs.close();
} catch (SQLException e){
log.error("得到月报表信息时出错:" + e);
} finally {
oper.closeConn();
}
}
//返回月报表的集合
return list;
}
public static void main(String[] args){
ReportPrize oper = new ReportPrize();
List list = oper.getDealerReportByWeek();
for(int i =0;i<list.size();i++){
Franchiser bean = (Franchiser)list.get(i);
System.out.println(bean.getUserid());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -