Attribute Auto Generate from AJU ( KYOWA Usage ).

Note : Could be used by other client.

--HG--
branch : EDII
This commit is contained in:
hodianto 2019-06-30 09:43:13 +07:00
parent 6257b6b0ed
commit 254ad8a60d
1 changed files with 47 additions and 38 deletions

View File

@ -51,6 +51,53 @@ public class MID_OrderValidator {
if(line.getQtyOrdered().compareTo(totalQtyOrdered)!=0)
throw new AdempiereException("Cek kembali jumlah lot untuk produk "+line.getM_Product().getName());
}
}
if (order.isSOTrx()) return "";
MOrderLine[] lines = order.getLines();
if(order.get_ValueAsInt("MID_AJUDocumentType_ID")==0)
return "";
int M_AttributeSetInstance_ID = DB.getSQLValue(order.get_TrxName(), "SELECT M_AttributeSetInstance_ID FROM M_AttributeSetInstance WHERE SerNo=?", new Object[] { order.get_ValueAsString("NoAju1") });
int M_AttributeSet_ID = DB.getSQLValue(order.get_TrxName(), "SELECT M_AttributeSet_ID FROM M_AttributeSet WHERE IsActive=? AND AD_Client_ID =? ", new Object[] { true, order.getAD_Client_ID() });
MAttributeSet aSet = new MAttributeSet(order.getCtx(), M_AttributeSet_ID, order.get_TrxName());
if(M_AttributeSetInstance_ID <=0) {
MAttributeSetInstance ASI = new MAttributeSetInstance(order.getCtx(), 0, order.get_TrxName());
ASI.setSerNo(order.get_ValueAsString("NoAju1"));
ASI.setMAttributeSet(aSet);
ASI.setDescription();
ASI.saveEx();
M_AttributeSetInstance_ID = ASI.get_ID();
}
for(MOrderLine line : lines) {
String noAju = line.get_ValueAsString("NoAju");
if(order.get_ValueAsInt("MID_AJUDocumentType_ID")>0 && noAju==null)
return "Silahkan isi dokumen AJU terlebih dahulu !!!";
List<X_C_OrderLineMA> attLines = new Query(order.getCtx(), X_C_OrderLineMA.Table_Name, "C_OrderLine_ID =?", order.get_TrxName())
.setParameters(new Object[] { line.getC_OrderLine_ID() })
.setOnlyActiveRecords(true)
.list();
if(attLines.size()<=0)
if(line.getM_AttributeSetInstance_ID()>0) {
MAttributeSetInstance ASI = new MAttributeSetInstance(order.getCtx(), line.getM_AttributeSetInstance_ID(), order.get_TrxName());
ASI.setSerNo(line.get_ValueAsString("NoAju"));
ASI.setDescription();
ASI.saveEx();
}else {
order.get_Logger().severe("MASUK SINI");
line.setM_AttributeSetInstance_ID(M_AttributeSetInstance_ID);
line.saveEx();
}
for(X_C_OrderLineMA attLine : attLines) {
MAttributeSetInstance ASI = new MAttributeSetInstance(order.getCtx(), attLine.getM_AttributeSetInstance_ID(), order.get_TrxName());
ASI.setSerNo(line.get_ValueAsString("NoAju"));
ASI.setDescription();
ASI.saveEx();
}
}
return "";
}
@ -164,44 +211,6 @@ public class MID_OrderValidator {
}
public static String beforeComplete(MOrder Order) {
if (Order.isSOTrx()) return "";
MOrderLine[] lines = Order.getLines();
if(Order.get_ValueAsInt("MID_AJUDocumentType_ID")==0)
return "";
for(MOrderLine line : lines) {
String noAju = line.get_ValueAsString("NoAju");
if(Order.get_ValueAsInt("MID_AJUDocumentType_ID")>0 && noAju==null)
return "Silahkan isi dokumen AJU terlebih dahulu !!!";
List<X_C_OrderLineMA> attLines = new Query(Order.getCtx(), X_C_OrderLineMA.Table_Name, "C_OrderLine_ID =?", Order.get_TrxName())
.setParameters(new Object[] { line.getC_OrderLine_ID() })
.setOnlyActiveRecords(true)
.list();
if(attLines.size()<=0)
if(line.getM_AttributeSetInstance_ID()>0) {
MAttributeSetInstance ASI = new MAttributeSetInstance(Order.getCtx(), line.getM_AttributeSetInstance_ID(), Order.get_TrxName());
ASI.setSerNo(line.get_ValueAsString("NoAju"));
ASI.setDescription();
ASI.saveEx();
}else {
MAttributeSetInstance ASI = new MAttributeSetInstance(Order.getCtx(), 0, Order.get_TrxName());
ASI.setSerNo(line.get_ValueAsString("NoAju"));
ASI.setMAttributeSet((MAttributeSet)line.getM_Product().getM_AttributeSet());
ASI.setDescription();
ASI.saveEx();
line.setM_AttributeSetInstance_ID(ASI.getM_AttributeSetInstance_ID());
line.saveEx();
}
for(X_C_OrderLineMA attLine : attLines) {
MAttributeSetInstance ASI = new MAttributeSetInstance(Order.getCtx(), attLine.getM_AttributeSetInstance_ID(), Order.get_TrxName());
ASI.setSerNo(line.get_ValueAsString("NoAju"));
ASI.setDescription();
ASI.saveEx();
}
}
return "";
}
}