📄 stockmanagementdata.java
字号:
//更新商品分拆调出单数组,9表示调出单
orderOutLedger[0] = stockLedger[2];
orderOutLedger[1] = "9";
orderOutLedger[2] = stockLedger[0]; //调出单的关联标识
orderOutLedger[4] = stockLedger[8]; //调入仓库
orderOutLedger[8] = stockLedger[4]; //调出仓库
//更新商品分拆调出单
stockManagementData.updateStockLedgerAndSub(ledgerDate, orderOutLedger, stockSubLedgerOut);
result = 1;
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//撤消或者恢复商品分拆或者组合单的方法
public int cancelOrRestoreRearrangeOrder(String ledgerDate, String inOrderId,
String outOrderId, String userName,
int onProcess, String remark) {
int result = 0;
try{
if(onProcess == 2){
//恢复调入单
stockManagementData.signStockLedgerAndSubForFinish(ledgerDate,
"submitUser", userName, inOrderId, 2, remark);
//恢复调出单
stockManagementData.signStockLedgerAndSubForFinish(ledgerDate,
"submitUser", userName, outOrderId, 2, remark);
}else{
//取消调入单
stockManagementData.cancelStockLedgerAndSub(ledgerDate, inOrderId, remark);
//取消调出单
stockManagementData.cancelStockLedgerAndSub(ledgerDate, outOrderId, remark);
}
result = 1;
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//创建商品组合单的方法
public int createCombineOrder(String ledgerDate, String[] stockLedger,
String[][] stockSubLedgerOut, String[][] stockSubLedgerIn){
int result = 0;
try{
//创建商品组合调入单数组
String[] orderInLedger = new String[stockLedger.length];
System.arraycopy(stockLedger, 0, orderInLedger, 0, stockLedger.length);
//创建商品组合调入单
stockManagementData.createStockLedgerAndSub(ledgerDate,
orderInLedger, stockSubLedgerIn);
//根据商品组合管理用户名字取得商品组合调入单,12表示商品组合调入单
String[][] orderInLedgers = stockManagementData.
getStockLedgerByStringField(ledgerDate, "submitUser", stockLedger[3], 12);
//取得商品组合调入单标识,最后一条记录便是新创建的商品组合调入单
String orderInId = orderInLedgers[orderInLedgers.length -1][0];
//创建商品组合调出单数组
String[] orderOutLedger = new String[stockLedger.length];
System.arraycopy(stockLedger, 0, orderOutLedger, 0, stockLedger.length);
//更新商品组合调出单数组,将商品调入单标识放在供货商字段,11表示商品组合调出单
orderOutLedger[2] = orderInId;
orderOutLedger[1] = "11";
orderOutLedger[4] = stockLedger[8]; //调入仓库
orderOutLedger[8] = stockLedger[4]; //调出仓库
//创建商品组合调出单
stockManagementData.createStockLedgerAndSub(ledgerDate,
orderOutLedger, stockSubLedgerOut);
//根据商品组合管理用户名字取得商品组合调出单
String[][] orderOutLedgers = stockManagementData.
getStockLedgerByStringField(ledgerDate, "submitUser", orderOutLedger[3], 11);
//取得商品组合调出单标识,最后一条记录便是新创建的商品组合调出单
String orderOutId = orderOutLedgers[orderOutLedgers.length -1][0];
//更新商品组合调入单数组的标识和关联标识
orderInLedger[0] = orderInId;
orderInLedger[2] = orderOutId;
//根据标识重新取得商品组合调入单明细数组
String[][] orderInSubLedger = stockManagementData.getStockSubLedgerByOrderId(
ledgerDate, orderInLedger[0]);
//更新商品组合调入单,将调出单的关联标识写入调入单
stockManagementData.updateStockLedgerAndSub(ledgerDate,
orderInLedger, orderInSubLedger);
result = 1;
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//更新商品组合单的方法
public int updateCombineOrder(String ledgerDate, String[] stockLedger,
String[][] stockSubLedgerOut, String[][] stockSubLedgerIn){
int result = 0;
try{
//更新商品组合调入单
stockManagementData.updateStockLedgerAndSub(ledgerDate,
stockLedger, stockSubLedgerIn);
//创建商品组合调出单数组
String[] orderOutLedger = new String[stockLedger.length];
System.arraycopy(stockLedger, 0, orderOutLedger, 0, stockLedger.length);
//更新商品组合调出单数组,11表示调出单
orderOutLedger[0] = stockLedger[2];
orderOutLedger[1] = "11";
orderOutLedger[2] = stockLedger[0]; //调出单的关联标识
orderOutLedger[4] = stockLedger[8]; //调入仓库
orderOutLedger[8] = stockLedger[4]; //调出仓库
//更新商品组合调出单
stockManagementData.updateStockLedgerAndSub(ledgerDate,
orderOutLedger, stockSubLedgerOut);
result = 1;
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//根据仓库名字取得盘点数据的方法
public String[][] getStocktakeQuantityByWarehouse(String ledgerDate, String warehouse, int onProcess) {
String[][] data = new String[0][2];
try {
data = stockManagementData.getStocktakeQuantityByWarehouse(ledgerDate,
warehouse, onProcess);
}
catch (Exception ex) {
ex.printStackTrace();
}
return data;
}
//根据仓库名字汇总显示商品数量和金额的方法
public String[][] getStockByWarehouse(String ledgerDate, String warehouse, int onProcess) {
String[][] data = new String[0][5];
try {
data = stockManagementData.getStockByWarehouse(ledgerDate, warehouse, onProcess);
}
catch (Exception ex) {
ex.printStackTrace();
}
return data;
}
//根据商品条形码汇总显示商品在各个仓库的数量和金额的方法
public String[][] getStockByGoodsBarcode(String ledgerDate, String goodsBarcode, int onProcess) {
String[][] data = new String[0][5];
try {
data = stockManagementData.getStockByGoodsBarcode(ledgerDate, goodsBarcode, onProcess);
}
catch (Exception ex) {
ex.printStackTrace();
}
return data;
}
//查询过期商品的方法
public String[][] getStockByUsefulLife(String ledgerDate, String usefulLife, int onProcess) {
String[][] data = new String[0][6];
try {
data = stockManagementData.getStockByUsefulLife(ledgerDate, usefulLife, onProcess);
}
catch (Exception ex) {
ex.printStackTrace();
}
return data;
}
//创建销售账套数据表和销售账套明细数据表记录的方法
public int createSaleLedgerAndSub(String ledgerDate, String[] saleLedger,
String[][] saleSubLedger) {
int result = 0;
try{
result = stockManagementData.createSaleLedgerAndSub(ledgerDate,
saleLedger, saleSubLedger);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//更新销售账套数据表和销售账套明细数据表记录的方法
public int updateSaleLedgerAndSub(String ledgerDate, String[] saleLedger,
String[][] saleSubLedger) {
int result = 0;
try{
result = stockManagementData.updateSaleLedgerAndSub(ledgerDate,
saleLedger, saleSubLedger);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//销售账套数据表电子签名和更新完成状态的方法
public int signSaleLedgerAndSub(String ledgerDate, String fieldName,
String userName, String saleId, int onProcess,
String remark) {
int result = 0;
try{
result = stockManagementData.signSaleLedgerAndSub(ledgerDate, fieldName,
userName, saleId, onProcess, remark);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//根据单据编号取得销售账套明细数据表的记录
public String[][] getSaleSubLedgerBySaleId(String ledgerDate, String saleId) {
String[][] data = new String[0][5];
try {
data = stockManagementData.getSaleSubLedgerBySaleId(ledgerDate, saleId);
}
catch (Exception ex) {
ex.printStackTrace();
}
return data;
}
//根据字符串字段取得销售账套数据表记录的方法
public String[][] getSaleLedgerByStringField(String ledgerDate,
String fieldName,
String fieldValue, int saleType) {
String[][] data = new String[0][11];
try {
data = stockManagementData.getSaleLedgerByStringField(ledgerDate,
fieldName, fieldValue, saleType);
}
catch (Exception ex) {
ex.printStackTrace();
}
return data;
}
//根据完成状态取得销售账套数据表记录的方法
public String[][] getSaleLedgerByOnProcess(String ledgerDate, int saleType,
int onProcess) {
String[][] data = new String[0][11];
try {
data = stockManagementData.getSaleLedgerByOnProcess(ledgerDate, saleType,
onProcess);
}
catch (Exception ex) {
ex.printStackTrace();
}
return data;
}
//根据订单日期取得销售账套数据表记录的方法
public String[][] getSaleLedgerByOrderDate(String ledgerDate,
java.sql.Timestamp startDate,
java.sql.Timestamp endDate,
int saleType) {
String[][] data = new String[0][11];
try {
data = stockManagementData.getSaleLedgerByOrderDate(ledgerDate, startDate,
endDate, saleType);
}
catch (Exception ex) {
ex.printStackTrace();
}
return data;
}
//前台销售员进行销售账套数据表电子签名的方法
public int counterUserSignSaleLedgerAndSub(String ledgerDate, String userName,
String remark, String warehouse) {
int result = 0;
try{
result = stockManagementData.counterUserSignSaleLedgerAndSub(ledgerDate,
userName, remark, warehouse);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//根据商品的条形码取得销售价和折扣
public double[] getGoodsPriceAndDiscount(String goodsBarcode){
double[] data = new double[2];
data[0] = 0;
data[1] = 0;
try{
//取得商品数据
String[][] goods = stockManagementData.getGoodsByGoodsBarCode(
goodsBarcode);
if(goods.length == 1){
data[0] = Double.parseDouble(goods[0][11]);
data[1] = Double.parseDouble(goods[0][12]);
}
}catch(Exception ex){
ex.printStackTrace();
}
return data;
}
//根据条形码、仓库取得商品的数量,然后检查卖出商品的数量是否足够
public int checkGoodsSaleQuantity(String ledgerDate, String goodsBarcode,
int saleQuantity, String warehouse) {
int result = 0;
try{
//取得商品的库存数组
String[][] data = stockManagementData.getStocktakeQuantityByWarehouse(ledgerDate, warehouse, 2);
int stockQuantity = 0;
for(int i = 0; i < data.length; i++){
if(data[i][0].equals(goodsBarcode)){
stockQuantity = Integer.parseInt(data[i][1]);
break;
}
}
//如果库存数大于等于销售数返回1,否则返回0
if(stockQuantity >= saleQuantity){
result = 1;
}
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//信用销售用户进行销售账套数据表电子签名的方法
public int creditUserSignSaleLedgerAndSub(String ledgerDate, String userName,
String remark, String warehouse,
String saleId, String customerName) {
int result = 0;
try{
result = stockManagementData.creditUserSignSaleLedgerAndSub(ledgerDate,
userName, remark, warehouse, saleId, customerName);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//检查客户的方法
public int checkCustomer(String customerName){
int result = 0;
String[][] detail = this.getCustomersByCustomerName(customerName);
for(int i = 0; i < detail.length; i++){
if(detail[i][0].equals(customerName)){
result = 1;
break;
}
}
return result;
}
//检查客户信用限额的方法
public int checkCustomerCreditLimit(String customerName, double amount){
int result = 0;
double creditLimit = 0;
String[][] detail = this.getCustomersByCustomerName(customerName);
for(int i = 0; i < detail.length; i++){
if(detail[i][0].equals(customerName)){
creditLimit = Double.parseDouble(detail[i][15]);
//如果客户信用限额大于或者等于客户单次购买的金额,通过测试
if(creditLimit >= amount){
result = 1;
}
break;
}
}
return result;
}
//现金管理员对应收票据进行电子签名的方法
public int cashUserSignAccountReceivable(String ledgerDate, String userName,
String[] currentAccountLedger) {
int result = 0;
try{
result = stockManagementData.cashUserSignAccountReceivable(ledgerDate,
userName, currentAccountLedger);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//根据关联标识、退货单的商品条形码取得库存账套的销售出库单明细账的数据
public String[][] getStockSaleOutBySaleOrderLink(String ledgerDate,
String saleOrderLink, String saleId) {
String[][] data = new String[0][4];
try {
data = stockManagementData.getStockSaleOutBySaleOrderLink(ledgerDate,
saleOrderLink, saleId);
}
catch (Exception ex) {
ex.printStackTrace();
}
return data;
}
//前台销售员进行销售退货单电子签名的方法
public int counterUserSignSaleReturn(String ledgerDate, String saleId,
String userName, String remark,
String warehouse,
String[][] stockSubLedger) {
int result = 0;
try{
result = stockManagementData.counterUserSignSaleReturn(ledgerDate, saleId,
userName, remark, warehouse, stockSubLedger);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
//信用销售员进行信用销售退货单电子签名的方法
public int creditUserSignSaleReturn(String ledgerDate, String saleId,
String userName, String remark,
String warehouse, String customerName,
String[][] stockSubLedger, boolean isPay) {
int result = 0;
try{
result = stockManagementData.creditUserSignSaleReturn(ledgerDate, saleId,
userName, remark, warehouse, customerName, stockSubLedger, isPay);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -