📄 singlesaleconditionpane.java
字号:
}
countGetOfToday++;
}
String queryStr = "SELECT distinct To_Third_name AS third_name FROM operationRecord,"
+ "Third_Catalog WHERE To_Third_name=Third_name and Third_name='"
+ classToQuery + "' and " + "operationState = '1'";
ResultSet set = con.executeSelect1(queryStr);
int count = 0;
try {
while (set.next()) {
count++;
}
if (count == 0) {
dataForTable = new String[1][4];
dataForTable[count][0] = "无";
dataForTable[count][1] = "0";
dataForTable[count][2] = "0";
dataForTable[count][3] = "0";
} else {
set.beforeFirst();
dataForTable = new String[count][4];
count = 0;
while (set.next()) {
dataForTable[count][0] = set.getString(1);// 取得商品名称
dataForTable[count][1] = "0";
dataForTable[count][2] = "0";
dataForTable[count][3] = "0";
count++;
}
// 取得商品本月的销售数量.销售额.赢利额
String query = "SELECT To_Third_name AS third_name,quantity,(price*quantity) as saled,((price-cost)*quantity) as profit,"
+ "operateTime FROM operationRecord ,Third_Catalog where To_Third_name=Third_name and Third_name='"
+ classToQuery
+ "' and "
+ "operationState = '1'";
set = null;
set = con.executeSelect1(query);
while (set.next()) {
String name = set.getString(1);
int quantity = set.getInt(2);
float saled = set.getFloat(3);
float profit = set.getFloat(4);
java.util.Date date = set.getDate(5);
String dateStr = formatter.format(date);
StringTokenizer st1 = new StringTokenizer(dateStr,
"-");
int yearGet = 0;
int monthGet = 0;
int countGet = 0;
while (st1.hasMoreTokens()) {
if (countGet == 0)
yearGet = (new Integer(st1.nextToken()))
.intValue();
if (countGet == 1) {
monthGet = (new Integer(st1.nextToken()))
.intValue();
break;
}
countGet++;
}
if (yearGet == year && monthGet == month)
for (int i = 0; i < count; i++)
if (dataForTable[i][0].equals(name)) {
int numNew1 = (new Integer(
dataForTable[i][1])).intValue();
dataForTable[i][1] = (new Integer(
numNew1 + quantity)).toString();// 把该记录的出货量加到原数量上并转化为字符串存储到原数组单元上
float numNew2 = (new Float(
dataForTable[i][2]))
.floatValue();
dataForTable[i][2] = (new Float(numNew2
+ saled)).toString();// 把该记录的销售额加到原数量上并转化为字符串存储到原数组单元上
float numNew3 = (new Float(
dataForTable[i][3]))
.floatValue();
dataForTable[i][3] = (new Float(numNew3
+ profit)).toString();// 把该记录的赢利额加到原数量上并转化为字符串存储到原数组单元上
break;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
// 以下查询的是本年的统计数据
if (tip1 == 3) {
tip = new JLabel("本年商品销售情况");
if (tip2 == 1) {// 说明查询的是大类的统计数据
con = new DBConnection();
tipPane.add(tip);
java.util.Date todayNew = new java.util.Date();
SimpleDateFormat formatterNew = new SimpleDateFormat(
"yyyy-MM-dd");
String todayStrNew = formatterNew.format(todayNew);
int year = 0;
int countGetOfToday = 0;
StringTokenizer st = new StringTokenizer(todayStrNew, "-");
while (st.hasMoreTokens()) {
if (countGetOfToday == 0) {
year = (new Integer(st.nextToken())).intValue();
break;
}
}
String queryStr = "SELECT distinct To_Third_name AS third_name FROM operationRecord,"
+ "Third_Catalog,Second_Catalog,First_Catalog WHERE To_Third_name=Third_name and To_Second_ID="
+ "Second_ID and To_First_ID=First_ID and First_name='"
+ classToQuery
+ "' and "
+ "operationState = '1' order by To_Third_name";
ResultSet set = con.executeSelect1(queryStr);
int count = 0;
try {
while (set.next()) {
count++;
}
if (count == 0) {
dataForTable = new String[1][4];
dataForTable[count][0] = "无";
dataForTable[count][1] = "0";
dataForTable[count][2] = "0";
dataForTable[count][3] = "0";
} else {
set.beforeFirst();
dataForTable = new String[count][4];
count = 0;
while (set.next()) {
dataForTable[count][0] = set.getString(1);// 取得商品名称
dataForTable[count][1] = "0";
dataForTable[count][2] = "0";
dataForTable[count][3] = "0";
count++;
}
// 取得该大类商品本年的销售数量.销售额.赢利额
String query = "SELECT To_Third_name AS third_name,quantity,(price*quantity) as saled,((price-cost)*quantity) as profit,"
+ "operateTime FROM operationRecord ,Third_Catalog,Second_Catalog,First_Catalog"
+ " WHERE To_Third_name=Third_name and To_Second_ID="
+ "Second_ID and To_First_ID=First_ID and First_name='"
+ classToQuery
+ "' and "
+ "operationState = '1' order by To_Third_name";
set = null;
set = con.executeSelect1(query);
while (set.next()) {
String name = set.getString(1);
int quantity = set.getInt(2);
float saled = set.getFloat(3);
float profit = set.getFloat(4);
java.util.Date date = set.getDate(5);
String dateStr = formatter.format(date);
StringTokenizer st1 = new StringTokenizer(dateStr,
"-");
int yearGet = 0;
int countGet = 0;
while (st1.hasMoreTokens()) {
if (countGet == 0) {
yearGet = (new Integer(st1.nextToken()))
.intValue();
break;
}
}
if (yearGet == year)
for (int i = 0; i < count; i++)
if (dataForTable[i][0].equals(name)) {
int numNew1 = (new Integer(
dataForTable[i][1])).intValue();
dataForTable[i][1] = (new Integer(
numNew1 + quantity)).toString();// 把该记录的出货量加到原数量上并转化为字符串存储到原数组单元上
float numNew2 = (new Float(
dataForTable[i][2]))
.floatValue();
dataForTable[i][2] = (new Float(numNew2
+ saled)).toString();// 把该记录的销售额加到原数量上并转化为字符串存储到原数组单元上
float numNew3 = (new Float(
dataForTable[i][3]))
.floatValue();
dataForTable[i][3] = (new Float(numNew3
+ profit)).toString();// 把该记录的赢利额加到原数量上并转化为字符串存储到原数组单元上
break;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
if (tip2 == 2) {// 说明查询的是明细类本年的统计数据
con = new DBConnection();
tipPane.add(tip);
java.util.Date todayNew = new java.util.Date();
SimpleDateFormat formatterNew = new SimpleDateFormat(
"yyyy-MM-dd");
String todayStrNew = formatterNew.format(todayNew);
int year = 0;
int countGetOfToday = 0;
StringTokenizer st = new StringTokenizer(todayStrNew, "-");
while (st.hasMoreTokens()) {
if (countGetOfToday == 0) {
year = (new Integer(st.nextToken())).intValue();
break;
}
}
String queryStr = "SELECT distinct To_Third_name AS third_name FROM operationRecord,"
+ "Third_Catalog,Second_Catalog WHERE To_Third_name=Third_name and To_Second_ID="
+ "Second_ID and Second_name='"
+ classToQuery
+ "' and "
+ "operationState = '1' order by To_Third_name";
ResultSet set = con.executeSelect1(queryStr);
int count = 0;
try {
while (set.next()) {
count++;
}
if (count == 0) {
dataForTable = new String[1][4];
dataForTable[count][0] = "无";
dataForTable[count][1] = "0";
dataForTable[count][2] = "0";
dataForTable[count][3] = "0";
} else {
set.beforeFirst();
dataForTable = new String[count][4];
count = 0;
while (set.next()) {
dataForTable[count][0] = set.getString(1);// 取得商品名称
dataForTable[count][1] = "0";
dataForTable[count][2] = "0";
dataForTable[count][3] = "0";
count++;
}
// 取得该明细类商品本年的销售数量.销售额. 赢利额
String query = "SELECT To_Third_name AS third_name,quantity,(price*quantity)"
+ " as saled,((price-cost)*quantity) as profit,"
+ "operateTime FROM operationRecord ,Third_Catalog,Second_Catalog"
+ " WHERE To_Third_name=Third_name and To_Second_ID="
+ "Second_ID and Second_name='"
+ classToQuery
+ "' and "
+ "operationState = '1' order by To_Third_name";
set = null;
set = con.executeSelect1(query);
while (set.next()) {
String name = set.getString(1);
int quantity = set.getInt(2);
float saled = set.getFloat(3);
float profit = set.getFloat(4);
java.util.Date date = set.getDate(5);
String dateStr = formatter.format(date);
StringTokenizer st1 = new StringTokenizer(dateStr,
"-");
int yearGet = 0;
int countGet = 0;
while (st1.hasMoreTokens()) {
if (countGet == 0) {
yearGet = (new Integer(st1.nextToken()))
.intValue();
break;
}
}
if (yearGet == year)
for (int i = 0; i < count; i++)
if (dataForTable[i][0].equals(name)) {
int numNew1 = (new Integer(
dataForTable[i][1])).intValue();
dataForTable[i][1] = (new Integer(
numNew1 + quantity)).toString();// 把该记录的出货量加到原数量上并转化为字符串存储到原数组单元上
float numNew2 = (new Float(
dataForTable[i][2]))
.floatValue();
dataForTable[i][2] = (new Float(numNew2
+ saled)).toString();// 把该记录的销售额加到原数量上并转化为字符串存储到原数组单元上
float numNew3 = (new Float(
dataForTable[i][3]))
.floatValue();
dataForTable[i][3] = (new Float(numNew3
+ profit)).toString();// 把该记录的赢利额加到原数量上并转化为字符串存储到原数组单元上
break;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
if (tip2 == 3) {// 说明查询的是具体商品的本年的统计数据
con = new DBConnection();
tipPane.add(tip);
java.util.Date todayNew = new java.util.Date();
SimpleDateFormat formatterNew = new SimpleDateFormat(
"yyyy-MM-dd");
String todayStrNew = formatterNew.format(todayNew);
int year = 0;
int countGetOfToday = 0;
StringTokenizer st = new StringTokenizer(todayStrNew, "-");
while (st.hasMoreTokens()) {
if (countGetOfToday == 0) {
year = (new Integer(st.nextToken())).intValue();
break;
}
}
String queryStr = "SELECT distinct To_Third_name AS third_name FROM operationRecord,"
+ "Third_Catalog WHERE To_Third_name=Third_name and Third_name='"
+ classToQuery + "' and " + "operationState = '1'";
ResultSet set = con.executeSelect1(queryStr);
int count = 0;
try {
while (set.next()) {
count++;
}
if (count == 0) {
dataForTable = new String[1][4];
dataForTable[count][0] = "无";
dataForTable[count][1] = "0";
dataForTable[count][2] = "0";
dataForTable[count][3] = "0";
} else {
set.beforeFirst();
dataForTable = new String[count][4];
count = 0;
while (set.next()) {
dataForTable[count][0] = set.getString(1);// 取得商品名称
dataForTable[count][1] = "0";
dataForTable[count][2] = "0";
dataForTable[count][3] = "0";
count++;
}
// 取得该商品本年的销售数量.销售额.赢利额
String query = "SELECT To_Third_name AS third_name,quantity,(price*quantity)"
+ " as saled,((price-cost)*quantity) as profit,"
+ "operateTime FROM operationRecord,Third_Catalog where To_Third_name=Third_name and To_Third_name='"
+ classToQuery
+ "' and "
+ "operationState = '1'";
set = null;
set = con.executeSelect1(query);
while (set.next()) {
String name = set.getString(1);
int quantity = set.getInt(2);
float saled = set.getFloat(3);
float profit = set.getFloat(4);
java.util.Date date = set.getDate(5);
String dateStr = formatter.format(date);
StringTokenizer st1 = new StringTokenizer(dateStr,
"-");
int yearGet = 0;
int countGet = 0;
while (st1.hasMoreTokens()) {
if (countGet == 0) {
yearGet = (new Integer(st1.nextToken()))
.intValue();
break;
}
}
if (yearGet == year)
for (int i = 0; i < count; i++)
if (dataForTable[i][0].equals(name)) {
int numNew1 = (new Integer(
dataForTable[i][1])).intValue();
dataForTable[i][1] = (new Integer(
numNew1 + quantity)).toString();// 把该记录的出货量加到原数量上并转化为字符串存储到原数组单元上
float numNew2 = (new Float(
dataForTable[i][2]))
.floatValue();
dataForTable[i][2] = (new Float(numNew2
+ saled)).toString();// 把该记录的销售额加到原数量上并转化为字符串存储到原数组单元上
float numNew3 = (new Float(
dataForTable[i][3]))
.floatValue();
dataForTable[i][3] = (new Float(numNew3
+ profit)).toString();// 把该记录的赢利额加到原数量上并转化为字符串存储到原数组单元上
break;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
// 添加到主面版
table = new JTable(dataForTable, titleForTable);
tablePane = new JScrollPane(table);
this.setLayout(new GridLayout(2, 1));
this.add(tipPane);
this.add(tablePane);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -