Development TPB PEB

--HG--
branch : EDII
This commit is contained in:
hodianto 2018-12-10 20:31:53 +07:00
parent 5c579568f9
commit b8bdd0ff64
8 changed files with 239 additions and 126 deletions

View File

@ -5,3 +5,4 @@ andromeida.midsuit.project/bin/andromedia/midsuit/factory/*.rej
andromeida.midsuit.project/src/andromedia/midsuit/factory/*.orig
*.rej
*.orig
*.jar

View File

@ -23,11 +23,4 @@
version="0.0.0"
unpack="false"/>
<plugin
id="jpiere.plugin.delete"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View File

@ -1,7 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="lib" path="META-INF/apache-commons-lang.jar"/>
<classpathentry exported="true" kind="lib" path="META-INF/bcprov-ext-jdk15on-160.jar"/>
<classpathentry exported="true" kind="lib" path="META-INF/hsqldb.jar"/>
<classpathentry exported="true" kind="lib" path="META-INF/jackcess-2.2.0.jar"/>
<classpathentry exported="true" kind="lib" path="META-INF/jackcess-encrypt-2.1.4.jar"/>
<classpathentry exported="true" kind="lib" path="META-INF/org-apache-commons-logging.jar"/>
<classpathentry exported="true" kind="lib" path="META-INF/poi-ooxml-3.9.jar"/>
<classpathentry exported="true" kind="lib" path="META-INF/ucanaccess-4.0.4.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -21,12 +21,12 @@ Import-Package: org.compiere.apps,
org.compiere.minigrid,
org.compiere.process
Bundle-Activator: org.adempiere.plugin.utils.AdempiereActivator
Bundle-ClassPath: META-INF/poi-ooxml-3.9.jar,
.,
META-INF/ucanaccess-4.0.4.jar,
META-INF/jackcess-2.2.0.jar,
META-INF/hsqldb.jar,
META-INF/org-apache-commons-logging.jar,
META-INF/jackcess-encrypt-2.1.4.jar,
Bundle-ClassPath: .,
META-INF/apache-commons-lang.jar,
META-INF/bcprov-ext-jdk15on-160.jar,
META-INF/apache-commons-lang.jar
META-INF/hsqldb.jar,
META-INF/jackcess-2.2.0.jar,
META-INF/jackcess-encrypt-2.1.4.jar,
META-INF/org-apache-commons-logging.jar,
META-INF/poi-ooxml-3.9.jar,
META-INF/ucanaccess-4.0.4.jar

View File

@ -7,12 +7,12 @@ bin.includes = .,\
OSGI-INF/MID_CreateFromFactory.xml,\
OSGI-INF/MID_FormFactory.xml,\
OSGI-INF/MID_DocFactory.xml,\
META-INF/poi-ooxml-3.9.jar,\
META-INF/ucanaccess-4.0.4.jar,\
META-INF/jackcess-2.2.0.jar,\
META-INF/hsqldb.jar,\
META-INF/org-apache-commons-logging.jar,\
META-INF/jackcess-encrypt-2.1.4.jar,\
META-INF/apache-commons-lang.jar,\
META-INF/bcprov-ext-jdk15on-160.jar,\
META-INF/apache-commons-lang.jar
META-INF/hsqldb.jar,\
META-INF/jackcess-2.2.0.jar,\
META-INF/jackcess-encrypt-2.1.4.jar,\
META-INF/org-apache-commons-logging.jar,\
META-INF/poi-ooxml-3.9.jar,\
META-INF/ucanaccess-4.0.4.jar
source.. = src/

View File

@ -1,55 +1,55 @@
//package andromedia.midsuit.process;
//
//import java.io.File;
//import java.sql.Connection;
//import java.sql.DriverManager;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import java.sql.Statement;
//
//import org.compiere.process.ProcessInfoParameter;
//import org.compiere.process.SvrProcess;
//
//import net.ucanaccess.jdbc.UcanaccessDriver;
//
//public class MID_UploadPEB extends SvrProcess{
//
// String p_File = "";
// @Override
// protected void prepare() {
// // TODO Auto-generated method stub
// ProcessInfoParameter[] para = getParameter();
// for (int i = 0; i < para.length; i++)
// {
// if(para[i].getParameterName().equals("FileName"))
// p_File = para[i].getParameterAsString();
// }
// }
//
// @Override
// protected String doIt() throws Exception {
// File TPB = new File(p_File);
// Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
// UcanaccessDriver driver = new UcanaccessDriver();
// String databaseURL = "jdbc:ucanaccess://"+TPB.getPath()+";jackcessOpener=andromedia.midsuit.process.CryptCodecOpener";
// try (Connection connection = DriverManager.getConnection(databaseURL)) {
//
// String sql = "SELECT CAR FROM tblResPebUr";
//
// Statement statement = connection.createStatement();
// ResultSet result = statement.executeQuery(sql);
//
// while (result.next()) {
// String id = result.getString(1);
// System.out.println(id);
// }
//
// } catch (SQLException ex) {
// ex.printStackTrace();
// }
// return "";
//
// }
//
//}
package andromedia.midsuit.process;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.compiere.process.ProcessInfoParameter;
import org.compiere.process.SvrProcess;
import net.ucanaccess.jdbc.UcanaccessDriver;
public class MID_UploadPEB extends SvrProcess{
String p_File = "";
@Override
protected void prepare() {
// TODO Auto-generated method stub
ProcessInfoParameter[] para = getParameter();
for (int i = 0; i < para.length; i++)
{
if(para[i].getParameterName().equals("FileName"))
p_File = para[i].getParameterAsString();
}
}
@Override
protected String doIt() throws Exception {
File TPB = new File(p_File);
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
UcanaccessDriver driver = new UcanaccessDriver();
String databaseURL = "jdbc:ucanaccess://"+TPB.getPath()+";jackcessOpener=andromedia.midsuit.process.CryptCodecOpener";
try (Connection connection = DriverManager.getConnection(databaseURL)) {
String sql = "SELECT CAR FROM tblResPebUr";
Statement statement = connection.createStatement();
ResultSet result = statement.executeQuery(sql);
while (result.next()) {
String id = result.getString(1);
System.out.println(id);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
return "";
}
}

View File

@ -1,32 +1,150 @@
//package andromedia.midsuit.process;
//
//import java.io.File;
//
//import org.apache.poi.hssf.model.WorkbookRecordList;
//import org.apache.poi.ss.usermodel.*;
//import org.compiere.process.ProcessInfoParameter;
//import org.compiere.process.SvrProcess;
//
//public class MID_UploadTPB extends SvrProcess{
//
// String p_File = "";
// @Override
// protected void prepare() {
// // TODO Auto-generated method stub
// ProcessInfoParameter[] para = getParameter();
// for (int i = 0; i < para.length; i++)
// {
// if(para[i].getParameterName().equals("FileName"))
// p_File = para[i].getParameterAsString();
// }
// }
//
// @Override
// protected String doIt() throws Exception {
// File TPB = new File(p_File);
// Workbook workbook = WorkbookFactory.create(TPB);
// return String.valueOf(workbook.getNumberOfSheets());
//
// }
//
//}
package andromedia.midsuit.process;
import java.io.File;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.compiere.model.MBPartner;
import org.compiere.model.MBPartnerLocation;
import org.compiere.model.MOrder;
import org.compiere.model.MOrderLine;
import org.compiere.process.ProcessInfoParameter;
import org.compiere.process.SvrProcess;
import org.compiere.util.DB;
import org.compiere.util.Env;
import org.compiere.util.Msg;
public class MID_UploadTPB extends SvrProcess{
String p_File = "";
@Override
protected void prepare() {
// TODO Auto-generated method stub
ProcessInfoParameter[] para = getParameter();
for (int i = 0; i < para.length; i++)
{
if(para[i].getParameterName().equals("FileName"))
p_File = para[i].getParameterAsString();
}
}
@Override
protected String doIt() throws Exception {
File TPB = new File(p_File);
Workbook workbook = WorkbookFactory.create(TPB);
Sheet header = workbook.getSheet("Header");
Iterator<Row> rows = header.rowIterator();
int rowNum = 0;
while(rows.hasNext()){
Row row = rows.next();
if(rowNum==0) {
rowNum++;
continue;
}
MOrder order = new MOrder(getCtx(), 0, get_TrxName());
order.setAD_Org_ID(Env.getContextAsInt(getCtx(), "#AD_Org_ID"));
order.set_ValueNoCheck("RegisterNo", row.getCell(103).getStringCellValue());
order.setIsSOTrx(false);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMM yyyy");
Date parsedDate = dateFormat.parse(row.getCell(117).getStringCellValue());
Timestamp registerDate = new Timestamp(parsedDate.getTime());
order.set_ValueNoCheck("RegisterDate", registerDate);
order.set_ValueNoCheck("NoAju1", row.getCell(0).getStringCellValue());
String AJU_DocType_Value = row.getCell(5).getStringCellValue();
int MID_AJUDocType_ID = DB.getSQLValue(get_TrxName(), "SELECT MID_AJUDocumentType_ID FROM MID_AjuDocumentType WHERE Value =?", new Object[] { AJU_DocType_Value });
order.set_ValueNoCheck("MID_AJUDocumentType_ID", MID_AJUDocType_ID);
int C_BPartner_ID = DB.getSQLValue(get_TrxName(), "SELECT C_BPartner_ID FROM C_Bpartner WHERE Name =? AND AD_Client_ID =?", new Object[] { row.getCell(3).getStringCellValue(), getAD_Client_ID()});
int C_Currency_ID = DB.getSQLValue(get_TrxName(), "SELECT C_Currency_ID FROM C_Currency WHERE ISO_Code =? ", new Object[] { row.getCell(88).getStringCellValue(), getAD_Client_ID()});
order.setC_BPartner_ID(C_BPartner_ID);
order.setC_BPartner_Location_ID(MBPartnerLocation.getForBPartner(getCtx(), C_BPartner_ID, get_TrxName())[0].getC_BPartner_Location_ID());
order.setC_DocTypeTarget_ID();
order.setSalesRep_ID(30178);
order.setM_Warehouse_ID(30045);
int M_PriceList_ID = DB.getSQLValue(get_TrxName(), "SELECT M_PriceList_ID FROM M_PriceList WHERE C_Currency_ID =? AND AD_Client_ID =?", new Object[] { C_Currency_ID, getAD_Client_ID() });
order.setC_Currency_ID(C_Currency_ID);
order.setM_PriceList_ID(M_PriceList_ID);
order.saveEx();
Sheet Barang = workbook.getSheet("Barang");
Iterator<Row> rowsBarang = Barang.rowIterator();
int rowBarangNum = 0;
while(rowsBarang.hasNext()){
Row rowBarang = rowsBarang.next();
if(rowBarangNum == 0){
rowBarangNum++;
continue;
}
MOrderLine oLine = createOrderLine(order, rowBarang, AJU_DocType_Value);
rowBarangNum++;
}
rowNum++;
String message = Msg.parseTranslation(getCtx(), "@OrderCreated@ " + order.getDocumentNo());
addBufferLog(order.getC_Order_ID(), order.getDateOrdered(), null, message,
order.get_Table_ID(), order.getC_Order_ID());
}
return String.valueOf(workbook.getNumberOfSheets());
}
private MOrderLine createOrderLine(MOrder order, Row rowBarang, String aJU_DocType_Value) {
MOrderLine retValue = new MOrderLine(order);
int M_Product_ID =0;
BigDecimal Qty = Env.ZERO;
int C_UOM_ID = 0;
BigDecimal PriceList = Env.ZERO;
BigDecimal Discount = Env.ZERO;
BigDecimal PriceActual = Env.ZERO;
if(aJU_DocType_Value.equals("23") || aJU_DocType_Value.equals("40")){
M_Product_ID = DB.getSQLValue(get_TrxName(), "SELECT M_Product_ID FROM M_Product WHERE Value =?", new Object[] { rowBarang.getCell(20).getStringCellValue() });
C_UOM_ID = DB.getSQLValue(get_TrxName(), " SELECT C_UOM_ID FROM C_UOM WHERE UOMSymbol =?", new Object[] { rowBarang.getCell(27).getStringCellValue()});
}else{
M_Product_ID = DB.getSQLValue(get_TrxName(), "SELECT M_Product_ID FROM M_Product WHERE Value =?", new Object[] { rowBarang.getCell(10).getStringCellValue() });
C_UOM_ID = DB.getSQLValue(get_TrxName(), " SELECT C_UOM_ID FROM C_UOM WHERE UOMSymbol =?", new Object[] { rowBarang.getCell(7).getStringCellValue()});
}
if(aJU_DocType_Value.equals("23")){
Qty = new BigDecimal(rowBarang.getCell(16).getNumericCellValue());
PriceList = new BigDecimal(rowBarang.getCell(3).getNumericCellValue());
Discount = new BigDecimal(rowBarang.getCell(5).getNumericCellValue());
PriceActual = PriceList;
}else if (aJU_DocType_Value.equals("40")){
Qty = new BigDecimal(rowBarang.getCell(32).getNumericCellValue());
PriceList = new BigDecimal(rowBarang.getCell(29).getNumericCellValue());
PriceActual = PriceList;
}else{
Qty = new BigDecimal(rowBarang.getCell(8).getNumericCellValue());
PriceList = new BigDecimal(rowBarang.getCell(3).getNumericCellValue());
PriceActual = new BigDecimal(rowBarang.getCell(5).getNumericCellValue());
}
if(aJU_DocType_Value.equals("27")){
Discount = new BigDecimal(rowBarang.getCell(22).getNumericCellValue());
}
retValue.setM_Product_ID(M_Product_ID);
retValue.setC_UOM_ID(C_UOM_ID);
retValue.setQty(Qty);
retValue.setPriceList(PriceList);
retValue.setPriceEntered(PriceActual);
retValue.setDiscount(Discount);
retValue.saveEx();
return retValue;
}
}

View File

@ -25,25 +25,18 @@ public class EDI_OrderLineValidator {
orderLine.set_ValueNoCheck("NoAju", "");
}
else {
String noAju = order.get_ValueAsString("NoAju1")+"/"
+ order.get_ValueAsString("NoAju2") + "/"
+ order.get_ValueAsString("NoAju3") + "/"
+ order.get_ValueAsString("NoAju4");
String noAju = order.get_ValueAsString("NoAju1");
orderLine.set_ValueNoCheck("NoAju", noAju);
}
return "";
}
public static String beforeNew(MOrderLine line, MOrder order) {
if(order.get_ValueAsString("NoAju1").equals("") || order.get_ValueAsString("NoAju2").equals("")
|| order.get_ValueAsString("NoAju3").equals("") || order.get_ValueAsString("NoAju4").equals("")) {
if(order.get_ValueAsString("NoAju1").equals("")) {
line.set_ValueOfColumn("NoAju", "");
}
else if(line.get_ValueAsString("NoAju").equals("")) {
String noAju = order.get_ValueAsString("NoAju1")+"/"
+ order.get_ValueAsString("NoAju2") + "/"
+ order.get_ValueAsString("NoAju3") + "/"
+ order.get_ValueAsString("NoAju4");
String noAju = order.get_ValueAsString("NoAju1");
line.set_ValueNoCheck("NoAju", noAju);
}
return "";