📄 saledeptcustractlist_dest.java
字号:
sb.append(" <td align='middle' >应有进度</td>");
sb.append(" <td ><img src='/boss_util/JavaImaging_Percent.jsp?CoordColor=FF6600&width=350&height=10&percent="+Pernf.format((double)CurrentDays/MonthDays)+"'>"+nf.format((double)CurrentDays/MonthDays*100)+"%</td>");
sb.append(" <td align='right'>"+nf.format((double)ManagerDestMoney*CurrentDays/MonthDays)+"元</td>");
sb.append(" </tr>");
sb.append(" <tr bgColor='#ffffff'>");
sb.append(" <td align='middle'>实际进度</td>");
sb.append(" <td><img src='/boss_util/JavaImaging_Percent.jsp?width=350&height=10&percent="+Pernf.format((double)TractMoney/(ManagerDestMoney+0.00001))+"'>"+nf.format(Math.floor((double)TractMoney/(ManagerDestMoney+0.00001)*100))+"%</td>");
sb.append(" <td align='right'>"+nf.format((double)TractMoney)+"元</td>");
sb.append(" </tr>");
sb.append(" <tr bgColor='#ffffff' > ");
sb.append(" <td colspan='2' align='left'>");
sb.append("1、剩余天数平均每天应该签单(不含当天、含余下的星期六,日)=<font color='blue'>"+nf.format(((double)ManagerDestMoney-TractMoney)/(MonthDays-CurrentDays))+"</font>元");
sb.append("<br>2、剩余天数平均每天应该签单(不含当天、不含余下的星期日)=<font color='blue'>"+nf.format(((double)ManagerDestMoney-TractMoney)/(MonthDays-CurrentDays-WeekEndDays))+"</font>元");
sb.append("<br>3、剩余天数平均每天应该签单(不含当天、不含余下的星期六,日)=<font color='blue'>"+nf.format(((double)ManagerDestMoney-TractMoney)/(MonthDays-CurrentDays-WeekEndDays-WeekSixDays))+"</font>元");
sb.append(" </td>");
sb.append("<td align='middle'><font color=red size='3'><b> 今日签单</b></font><br><font color=blue size='4'><b>"+TractMoney_Today+"</b>元</font> </td>");
sb.append(" </tr>");
sb.append(" </table>");
}
*/
}
deptChartData = deptChartData.substring(0, deptChartData.length() - 1);
deptDayChartData = deptDayChartData.substring(0, deptDayChartData.length() - 1);
sb.append("<body topmargin='0' leftmargin='0' oncontextmenu='return false;' ondragstart='return false;' onsource='return false;' onselectstart='return false;'>\n");
sb.append("<br>\n");
sb.append("<script> window.img1.src=\"/BOSS_util/chart_java.jsp?TopTitle="+strYear+"年"+strIMonth+"月各部签单业绩分布图&BottomTitle=销售部门&CoordColor=FF6600&chartData="+deptChartData+"\";\n");
sb.append("window.img2.src=\"/BOSS_util/chart_java.jsp?TopTitle=" + strYear + "年" + strIMonth + "月" + strIDay + "日各部签单业绩分布图&BottomTitle=销售部门&CoordColor=FF6600&chartData=" + deptDayChartData + "\";</script>\n");
RS.close();
//end 实际进度
//begin form
sb.append("<form name=\"thisForm\" method=\"post\">\n");
sb.append("<table align='center' border='0' cellpadding='0' width='750' cellspacing='0' bgcolor='#CCCCCC'>\n");
/*sb.append("<tr align='center' bgcolor='#FAE8CC'>\n");
sb.append("<td colspan='10' height='58' id='companydest' style='border-left: 1px solid #CCCCCC; border-right: 1px solid #CCCCCC; border-top: 1px solid #CCCCCC; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px'>\n");
sb.append("</td></tr>");
*/
sb.append("<tr><td align='center'>\n");
sb.append("<table border='0' cellpadding='4' width='750' cellspacing='1' bgcolor='#CCCCCC'>\n");
sb.append("<tr bgcolor='#FAE8CC' align='center'>\n");
sb.append(" <td colspan='10'><font size=3>【" + strYear + "年" + strMonth + "月】<font color='red'>销售经理誓言目标</font>签单数及部门进度(单位:元) </font></td>\n");
sb.append("</tr>\n");
sb.append("<tr bgcolor='#FAE8CC' align='center'>\n");
sb.append(" <td width='10%'>部门名称</td>\n");
sb.append(" <td width='8%'>部门经理</td>\n");
sb.append(" <td width='4%'>分机</td>\n");
sb.append(" <td width='12%'>销售经理誓言目标签单数① </td>\n");
sb.append(" <td width='10%'>本月已签单数②</td>\n");
sb.append(" <td width='10%'>本日签单数</td>\n");
sb.append(" <td width='10%'>部门达成率 ②/①</td>\n");
sb.append(" <td width='12%'>达成率图示</td>\n");
sb.append(" <td width='6%'>是否<br>达标</td>\n");
sb.append(" <td width='10%'>部门名称</td>\n");
sb.append("</tr>\n");
RS1 = stmt.executeQuery(SQL + " order by aa.sequence, DestAchieveRate desc");
while (RS1.next()) {
DepartName = RS1.getString("DepartName");
PersonName = RS1.getString("PersonName");
PersonExt = RS1.getString("PersonExt");
ManagerDestMoney = 0;//RS1.getInt("ManagerDestMoney");
TractMoney = RS1.getInt("TractMoney");
TractMoney_Today = RS1.getInt("TractMoney_Today");
DestAchieveRate = RS1.getDouble("DestAchieveRate");
ManagerDestMoneyTotal += ManagerDestMoney;
TractMoneyTotal += TractMoney;
TractMoney_TodayTotal += TractMoney_Today;
sb.append("<tr align='center' bgcolor='#FFFFFF' onmouseover=\"this.bgColor='#c8ca74';\" onmouseout=\"this.bgColor='#ffffff';\">\n");
sb.append("<td >" + DepartName + "</td>\n");
sb.append("<td>" + PersonName + "</td>\n");
sb.append("<td>" + PersonExt + "</td>\n");
sb.append("<td align='right'>" + nf.format(ManagerDestMoney) + "</td>\n");
sb.append("<td align='right'>" + nf.format(TractMoney) + "</td>\n");
sb.append("<td align='right'>" + nf.format(TractMoney_Today) + "</td>\n");
if (ManagerDestMoney == 0) {
sb.append("<td><font color=gray>没定目标额</font></td>\n");
} else
sb.append("<td>" + Pernf.format(DestAchieveRate * 100) + "%</td>\n");
sb.append("<td><table border='0' width='100%' height='100%' cellpadding='0' cellspacing='0' style='border-collapse: collapse'><tr><td><img src='/boss_util/JavaImaging_Percent.jsp?width=90&height=12&percent="
+ Pernf.format(DestAchieveRate) + "'></td></tr></table></td>\n");
if (ManagerDestMoney == 0)
sb.append("<td ></td>\n");
else if (TractMoney >= ManagerDestMoney)
sb.append("<td ><font color=blue size=3><b>√</b></font></td>\n");//★√×
else
sb.append("<td ><font color=red size=3><b>×</b></font></td>\n");
sb.append("<td >" + DepartName + "</td></tr>\n");
sb.append("</tr>\n");
}
//公司整体目标达成率
ComDestAchieveRate = (double) TractMoneyTotal / (double) ComDestTractMoney;
sb.append("<tr align='center' bgcolor='#FAE8CC'><td colspan='3'>总 计</td>\n");
sb.append("<td align='right'>" + nf.format(ManagerDestMoneyTotal) + "</td>\n");
sb.append("<td align='right'>" + nf.format(TractMoneyTotal) + "</td>\n");
sb.append("<td align='right'>" + nf.format(TractMoney_TodayTotal) + "</td>\n");
sb.append("<td align='right' colspan=4> </td>\n");
sb.append("</tr>\n");
sb.append("<tr align='center' bgcolor='#FAE8CC'>\n");
sb.append("<td colspan=3 nowrap>本月整体销售目标为:" + nf.format(ComDestTractMoney) + "</td><td colspan=2 align='right'>本月已签单额为:" + nf.format(TractMoneyTotal) + "</td>\n");
sb.append("<td nowrap>总体达成率:</td>\n");
if (ComDestTractMoney == 0) {
sb.append("<td><font color=red>没定目标额</font></td>\n");
} else
sb.append("<td>" + Pernf.format(ComDestAchieveRate * 100) + "%</td>\n");
sb.append("<td><table border='0' width='100%' height='100%' cellpadding='0' cellspacing='0' style='border-collapse: collapse'><tr><td><img src='/boss_util/JavaImaging_Percent.jsp?width=90&height=12&percent="
+ Pernf.format(ComDestAchieveRate) + "'> </td></tr></table></td>\n");
sb.append("<td colspan=2 align='center' >排序方式:部门达成率</td>\n");
sb.append("</tr>\n");
sb.append("</table></td></tr></table>\n");
/*
sb.append("<br><table align='center' cellSpacing='1' cellPadding='4' width='600' bgColor='#cccccc' border='0' >");
sb.append(" <tr bgColor='#ffffff'>");
sb.append(" <td align='middle' bgColor='#fae8cc' width='75'><font size='3' color='red'>备注</font></td>");
sb.append(" <td ><font color='blue'>应有进度=当月已过天数/当月整月天数<br>应有进度额=当月目标额×当月已过天数/当月整月天数<br>实际进度=当月实际签单额/当月目标额<br>实际进度额=当月实际签单额<br>进度差额=应有进度额-实际进度额<br>1、剩余天数平均每天应该签单(不含当天、含余下的星期六,日)<br> =(当月目标额-当月实际签单额)/(当月整月天数-当月已过天数)<br>2、剩余天数平均每天应该签单(不含当天、不含余下的星期日)<br> =(当月目标额-当月实际签单额)/(当月整月天数-当月已过天数-余下的周日)<br>3、剩余天数平均每天应该签单(不含当天、不含余下的星期六,日)<br> =(当月目标额-当月实际签单额)/(当月整月天数-当月已过天数-余下的周六,日)</font></td>");
sb.append(" </tr>");
sb.append(" </table><br>");
*/
sb.append("<br><br></form>\n");
sb.append("</body>\n");
/*sb.append("<script language=\"javaScript\">\n");
sb.append(" window.companydest.innerHTML=\"<b><font color='red' size='6'>本月销售目标倒数:" + nf.format(ComDestTractMoney - TractMoneyTotal) + "元</font> </b><a name='top0'></a>\";\n");
sb.append("</script>\n");*/
RS1.close();
stmt.close();
DBConn.close();
} catch (Exception e) {
System.out.println(e.getMessage());
try {
RS1.close();
stmt.close();
DBConn.close();
} catch (SQLException sqle) {
System.out.println(sqle.getMessage());
}
}
}
public static void main(String[] args) {
String localPath = "html\\";
String fileName = "SALEDeptCusTractList_dest.html";
long times = System.currentTimeMillis();
String strDate = (new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm")).format(new java.util.Date());
SALEDeptCusTractList_dest creator = new SALEDeptCusTractList_dest(new StringBuffer(10240));
boolean ret = creator.create(localPath, fileName);
if (ret) {
String message = "";
times= (System.currentTimeMillis()-times)/1000;
System.out.println(localPath+fileName+"生成成功,时间:" + strDate + " 耗时" + times + "秒");
message += "文件:"+localPath+fileName+"生成成功! 时间:" + strDate + " 耗时" + times + "秒\r\n";
try {
Runtime rt = Runtime.getRuntime();
String[] cmd = new String[3];
cmd[0] = "cmd.exe";
cmd[1] = "/C";
cmd[2] = "bat\\copySALEDeptCusTractList_dest.bat";
Process proc = rt.exec(cmd);
BufferedReader brError = new BufferedReader(
new InputStreamReader(proc.getErrorStream()));
BufferedReader brOutput = new BufferedReader(
new InputStreamReader(proc.getInputStream()));
int retc = proc.waitFor();
if(retc==0){
System.out.println(cmd[2]+"执行成功");
message += cmd[2]+"执行成功\r\n";
String line = null;
while ((line = brOutput.readLine()) != null) {
System.out.println(">>" + line);
message += ">>" + line + "\r\n";
}
}
else{
System.out.println(cmd[2]+"执行失败");
message += cmd[2]+"执行失败\r\n";
String line = null;
while ((line = brError.readLine()) != null){
System.out.println(">>" + line);
message += ">>" + line + "\r\n";
}
// 当任务运行过程中出现异常时,以EMAIL方式通知管理员。
String[] sendAdds = new String[]{"daibing@jobcn.com", args[0], args[1], ""};
new MessageCenter().sendHtmlWithImg(
"任务执行异常", message, null, sendAdds);
}
brError.close();
brOutput.close();
MessageCenter.writeLog(Constant.logPath, message);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -