⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inventoryidoc.java

📁 SAP这个系统的一个转换器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.idoc.logic;

import com.idoc.face.InterfaceIDOC;
/**
 * <p>Title: IDOC Interface</p>
 * <p>Description: IDOC 转换器</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: SiChuan XinHua</p>
 * @author Richary
 * @version 1.0
 */
/**
 * 盘点数据解析类
 */
import java.sql.*;
import java.sql.Connection;
import java.sql.*;
import java.io.*;
import java.util.*;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.ResultSet;
import com.idoc.util.db.DBQueryBean;
import com.idoc.util.db.RowSet;
import com.idoc.util.db.Row;
import com.idoc.util.Operate;
import com.idoc.file.WriteData;
import com.idoc.util.db.BeanConn;
import com.idoc.util.GetProperty;
import java.lang.ArrayStoreException;
import com.idoc.util.LogManager;


public class InventoryIDOC
    implements InterfaceIDOC {
  Runtime runtime = null;
  private Vector Tv = new Vector();
  Operate Operate1 = new Operate();
  private DBQueryBean query = null;
  private ResultSet rowSet1 = null;
  private BeanConn BC = null;
  private Connection conn = null;
  private Statement stmt1 = null;
  private WriteData writeSAP = new WriteData();
  private String maxtime = "";
  private String time = "";
  private String endtimebak = ""; //保存本次循环取到的上次结束时间戳
  private int num = 0;
  private int rowCount = 0;
  private UpDataDispose UpDataDispase1 = new UpDataDispose();
  private LogManager log = new LogManager();
  private String store = "";
  private GetProperty getPro = new GetProperty();


//创建数据库连接
  public Connection sqlgetconn() {
    try {
      conn = new BeanConn().getConn();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    return conn;
  }

  public boolean buildIDOC() {
    int i = 0;
    rowCount = getPro.getRowInventory();
    RowSet rowset1 = null;
    String EDI_DC40 = "";
    String E2WVINH001 = "";
    String E2WVINI001 = "";
    String E2WXX01 = "";
    String E2WPB03002 = "";
    String E2WPB06002 = "";
    String idocdata = "";
    String Check_voucher_Codep = "";
    String Check_yearp = "";
    String Check_SAP_Nop = "";
    String Check_voucher_Code = "";
    String Check_year = "";
    String Check_time = "";
    String Check_SAP_No = "";
    String STORECODE = "";
    String Storage_Site = "";
    String Merch_CODE = "";
    String Merch_type = "";
    String Stock_Amount = "";
    String Fact_Amount = "";
    String COMP_UNIT = "";
    String sap_port = getPro.getSapPort().toString();
    if (rowSet1 == null) {
      return false;
    }
    int ii = 0;
    try {
      while (rowSet1.next()) {

        Check_voucher_Code = rowSet1.getString("Check_voucher_Code").trim(); //盘点凭证号,E2WVINH001
        Check_year = rowSet1.getString("Check_year").trim(); //财政年度,E2WVINH001
        Check_time = rowSet1.getString("Check_time").trim();
        Check_time = Operate1.getsubString(Check_time, 0, 4) +
            Operate1.getsubString(Check_time, 5, 7)
            + Operate1.getsubString(Check_time, 8, 10);
        Check_SAP_No = rowSet1.getString("Check_SAP_No").trim(); //盘点项目号,E2WVINI001
        STORECODE = rowSet1.getString("STORECODE").trim(); //门店
        Storage_Site = rowSet1.getString("Storage_Site").trim(); //库位,E2WVINH001
        Merch_CODE = rowSet1.getString("Merch_CODE").trim(); //商品编码,E2WVINI001
        Merch_type = rowSet1.getString("Merch_type").trim(); //商品类型,E2WVINI001
        //Stock_Amount = rowSet1.getString("Stock_Amount"); //账存数,E2WVINI001
        //如果盘点(实存)数为零XNULL为"x"
        Fact_Amount = rowSet1.getString("Fact_Amount").trim(); //实存数,E2WVINI001
        if (Fact_Amount == null) {
          Fact_Amount = "0";
        }
        COMP_UNIT = rowSet1.getString("COMP_UNIT").trim(); //计量单位,E2WVINI001
        //System.out.println("STORECODE"+STORECODE);
        //如果凭证号和财政年度不同则下一个结构类型开始
        if (!Check_voucher_Codep.equalsIgnoreCase(Check_voucher_Code) ||
            !Check_yearp.equalsIgnoreCase(Check_year)) {
          //当处理行大于rowCount时写idoc,清空vector,i置0,以便生成新的idoc
          if (i >= rowCount) {
            if (!writeidoc("idoc")) {
              Tv.removeAllElements();
              return false;
            }
            Tv.removeAllElements();
            i = 0;
          }
          if (i == 0) {
            EDI_DC40 = Operate1.addEmpty("EDI_DC40", 10) +
                Operate1.addEmpty("", 23) + "68"
                + "2" + "   " + Operate1.addEmpty("WVINVE03", 30) +
                Operate1.addEmpty("", 30)
                + Operate1.addEmpty("WVINVE", 30)
                + Operate1.addEmpty("", 13) + "WVINVE" +
                Operate1.addEmpty("WPUX", 10) +
                "KU" + "  "
                + Operate1.addEmpty("000000" + STORECODE, 10) +
                Operate1.addEmpty("", 91) +
                Operate1.addEmpty(sap_port, 10)
                + "KU" + "  " + Operate1.addEmpty("000000" + STORECODE, 10) +
                Operate1.addEmpty("", 237);
            Tv.addElement(EDI_DC40);
          }

          E2WVINH001 = Operate1.addEmpty("E2WVINH001", 63) +
              Operate1.addEmpty(Storage_Site, 10) +
              Operate1.addEmpty(Check_voucher_Code, 20)
              + Check_year + Operate1.addEmpty("", 64) +
              Operate1.addEmpty(Check_time, 8)
              + Operate1.addEmpty("", 42) + Operate1.addEmpty(STORECODE, 10)
              + Operate1.addEmpty("", 218);
          Tv.addElement(E2WVINH001);
          if (Fact_Amount.equalsIgnoreCase("0")) {
            E2WVINI001 = Operate1.addEmpty("E2WVINI001", 63) +
                Operate1.addEmpty(Check_SAP_No, 9) + "006 "
                + Operate1.addEmpty(Merch_CODE, 25) + Operate1.addEmpty("", 15) +
                Merch_type +
                Operate1.addEmpty(Fact_Amount, 20) +
                Operate1.addEmpty(COMP_UNIT, 3) + Operate1.addEmpty("", 20)
                + Operate1.addEmpty("", 20) + Operate1.addEmpty("", 19) +
                "x" + Operate1.addEmpty("", 413);
          }
          else {
            E2WVINI001 = Operate1.addEmpty("E2WVINI001", 63) +
                Operate1.addEmpty(Check_SAP_No, 9) + "006 "
                + Operate1.addEmpty(Merch_CODE, 25) + Operate1.addEmpty("", 15) +
                Merch_type +
                Operate1.addEmpty(Fact_Amount, 20) +
                Operate1.addEmpty(COMP_UNIT, 3) + Operate1.addEmpty("", 20)
                + Operate1.addEmpty("", 20) + Operate1.addEmpty("", 19) +
                " " + Operate1.addEmpty("", 413);

          }
          Tv.addElement(E2WVINI001);
          Check_voucher_Codep = Check_voucher_Code;
          Check_yearp = Check_year;
          Check_SAP_Nop = Check_SAP_No;
        }
        else {
          if ( (Check_voucher_Codep.equalsIgnoreCase(Check_voucher_Code) &&
                Check_yearp.equalsIgnoreCase(Check_year)) &&
              (!Check_SAP_Nop.equalsIgnoreCase(Check_SAP_No))) {
            if (Fact_Amount.equalsIgnoreCase("0")) {
              E2WVINI001 = Operate1.addEmpty("E2WVINI001", 63) +
                  Operate1.addEmpty(Check_SAP_No, 9) + "006 "
                  + Operate1.addEmpty(Merch_CODE, 25) +
                  Operate1.addEmpty("", 15) + Merch_type +
                  Operate1.addEmpty(Fact_Amount, 20) +
                  Operate1.addEmpty(COMP_UNIT, 3) + Operate1.addEmpty("", 20)
                  + Operate1.addEmpty("", 20) +
                  Operate1.addEmpty("", 19) +
                  "x" + Operate1.addEmpty("", 413);
            }
            else {
              E2WVINI001 = Operate1.addEmpty("E2WVINI001", 63) +
                  Operate1.addEmpty(Check_SAP_No, 9) + "006 "
                  + Operate1.addEmpty(Merch_CODE, 25) +
                  Operate1.addEmpty("", 15) + Merch_type +
                  Operate1.addEmpty(Fact_Amount, 20) +
                  Operate1.addEmpty(COMP_UNIT, 3) + Operate1.addEmpty("", 20)
                  + Operate1.addEmpty("", 20) +
                  Operate1.addEmpty("", 19) +
                  " " + Operate1.addEmpty("", 413);

            }
            Tv.addElement(E2WVINI001);
            Check_SAP_Nop = Check_SAP_No;
          }
        }
        i++;
      }
      if (!writeidoc("trigger")) {
        Tv.removeAllElements();
        return false;
      }
      Tv.removeAllElements();
    }
    catch (Exception e) {
      System.out.println("Inventory's buildIDOC!");
      e.printStackTrace();
      return false;
    }
    return true;
  }

  //处理正常情况
  public void disposeIDOC() {
    try {
      conn = sqlgetconn();
      if (conn == null) {
        // javax.swing.JOptionPane.showMessageDialog(null, "创建连接失败:", "conn等于null",
        // 0, null);
        return;
      }

      boolean suflag = false;
      boolean f = false;
      String[][] str = UpDataDispase1.getSyInfo("upinventory");
      for (int j = 0; j < str.length; j++) {
        try {
          store = str[j][0];
          time = str[j][1];
          endtimebak = time;
          maxtime = null;
          if (time == null || time.equalsIgnoreCase("null") ||
              time.equalsIgnoreCase("")) {
            time = String.valueOf( (int) (Math.random() * 1000));
          }
        }
        catch (Exception e) {
          System.out.println("time 结束时间戳" + e.toString());
          e.printStackTrace();
        }
        maxtime = UpDataDispase1.getMaxTime(store, "sapout_sy_checklist_down"); // 中间表的最大时间戳
        if (maxtime == null || maxtime.equalsIgnoreCase("null") ||
            maxtime.equalsIgnoreCase("")) {
          continue;
        }
        if (maxtime.equalsIgnoreCase(endtimebak)) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -