|
@@ -21,14 +21,22 @@ public class tinvoiceapplyorder extends PaoCust {
|
|
|
if ("机瞄".equals(getOwner().getString("fstatus"))) {
|
|
if ("机瞄".equals(getOwner().getString("fstatus"))) {
|
|
|
setFieldFlag(new String[]{"finvoiceamount", "finvoiceqty"}, READONLY, true);
|
|
setFieldFlag(new String[]{"finvoiceamount", "finvoiceqty"}, READONLY, true);
|
|
|
}
|
|
}
|
|
|
|
|
+ boolean fcheckordermakeinv = getOwner().getPaoSet("tagents").getPao(0).getBoolean("fcheckordermakeinv");
|
|
|
PaoRemote saorderdetail = getPaoSet("saorderdetail").getPao(0);
|
|
PaoRemote saorderdetail = getPaoSet("saorderdetail").getPao(0);
|
|
|
- PaoSetRemote saorder_receivedviewSet = saorderdetail.getPaoSet("saorder_receivedview");
|
|
|
|
|
- double freceivedamount = 0;
|
|
|
|
|
- if (!saorder_receivedviewSet.isEmpty()) {
|
|
|
|
|
- freceivedamount = saorder_receivedviewSet.getPao(0).getDouble("freceivedamount");//隆等眒彶億踢塗
|
|
|
|
|
|
|
+ if (fcheckordermakeinv) {
|
|
|
|
|
+ double frateamount = saorderdetail.getDouble("frateamount");//隆等踢塗
|
|
|
|
|
+ double finvoiceamount_order = saorderdetail.getDouble("finvoiceamount");//隆等眒羲⑺踢塗
|
|
|
|
|
+ setValue("funinvoiceamount", Math.sub(frateamount, finvoiceamount_order), 11L);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ PaoSetRemote saorder_receivedviewSet = saorderdetail.getPaoSet("saorder_receivedview");
|
|
|
|
|
+ double freceivedamount = 0;
|
|
|
|
|
+ if (!saorder_receivedviewSet.isEmpty()) {
|
|
|
|
|
+ freceivedamount = saorder_receivedviewSet.getPao(0).getDouble("freceivedamount");//隆等眒彶億踢塗
|
|
|
|
|
+ }
|
|
|
|
|
+ double finvoiceamount_order = saorderdetail.getDouble("finvoiceamount");//隆等眒羲⑺踢塗
|
|
|
|
|
+ setValue("funinvoiceamount", Math.sub(freceivedamount, finvoiceamount_order), 11L);
|
|
|
}
|
|
}
|
|
|
- double finvoiceamount_order = saorderdetail.getDouble("finvoiceamount");//隆等眒羲⑺踢塗
|
|
|
|
|
- setValue("funinvoiceamount", Math.sub(freceivedamount, finvoiceamount_order), 11L);
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -47,19 +55,26 @@ public class tinvoiceapplyorder extends PaoCust {
|
|
|
public void fieldAction(Object paoField, String fieldname) throws P2Exception {
|
|
public void fieldAction(Object paoField, String fieldname) throws P2Exception {
|
|
|
super.fieldAction(paoField, fieldname);
|
|
super.fieldAction(paoField, fieldname);
|
|
|
if ("SAORDERDETAILID".equals(fieldname)) {
|
|
if ("SAORDERDETAILID".equals(fieldname)) {
|
|
|
|
|
+ boolean fcheckordermakeinv = getOwner().getPaoSet("tagents").getPao(0).getBoolean("fcheckordermakeinv");
|
|
|
PaoRemote saorderdetail = getPaoSet("saorderdetail").getPao(0);
|
|
PaoRemote saorderdetail = getPaoSet("saorderdetail").getPao(0);
|
|
|
- PaoSetRemote saorder_receivedviewSet = saorderdetail.getPaoSet("saorder_receivedview");
|
|
|
|
|
- double freceivedamount = 0;
|
|
|
|
|
- if (!saorder_receivedviewSet.isEmpty()) {
|
|
|
|
|
- freceivedamount = saorder_receivedviewSet.getPao(0).getDouble("freceivedamount");//隆等眒彶億踢塗
|
|
|
|
|
- }
|
|
|
|
|
double finvoiceamount_order = saorderdetail.getDouble("finvoiceamount");//隆等眒羲⑺踢塗
|
|
double finvoiceamount_order = saorderdetail.getDouble("finvoiceamount");//隆等眒羲⑺踢塗
|
|
|
double frateprice = saorderdetail.getDouble("frateprice");//等歎
|
|
double frateprice = saorderdetail.getDouble("frateprice");//等歎
|
|
|
- setValue("funinvoiceamount", Math.sub(freceivedamount, finvoiceamount_order), 11L);
|
|
|
|
|
- setValue("finvoiceamount", Math.sub(freceivedamount, finvoiceamount_order), 11L);
|
|
|
|
|
|
|
+ if (fcheckordermakeinv) {
|
|
|
|
|
+ double frateamount = saorderdetail.getDouble("frateamount");//隆等踢塗
|
|
|
|
|
+ setValue("funinvoiceamount", Math.sub(frateamount, finvoiceamount_order), 11L);
|
|
|
|
|
+ setValue("finvoiceamount", Math.sub(frateamount, finvoiceamount_order), 11L);
|
|
|
|
|
+
|
|
|
|
|
+ } else {
|
|
|
|
|
+ PaoSetRemote saorder_receivedviewSet = saorderdetail.getPaoSet("saorder_receivedview");
|
|
|
|
|
+ double freceivedamount = 0;
|
|
|
|
|
+ if (!saorder_receivedviewSet.isEmpty()) {
|
|
|
|
|
+ freceivedamount = saorder_receivedviewSet.getPao(0).getDouble("freceivedamount");//隆等眒彶億踢塗
|
|
|
|
|
+ }
|
|
|
|
|
+ setValue("funinvoiceamount", Math.sub(freceivedamount, finvoiceamount_order), 11L);
|
|
|
|
|
+ setValue("finvoiceamount", Math.sub(freceivedamount, finvoiceamount_order), 11L);
|
|
|
|
|
+ }
|
|
|
setValue("fprice", frateprice, 11L);
|
|
setValue("fprice", frateprice, 11L);
|
|
|
setValue("finvoiceqty", getDouble("finvoiceamount") / frateprice, 11L);
|
|
setValue("finvoiceqty", getDouble("finvoiceamount") / frateprice, 11L);
|
|
|
-
|
|
|
|
|
} else if ("FINVOICEAMOUNT".equals(fieldname)) {
|
|
} else if ("FINVOICEAMOUNT".equals(fieldname)) {
|
|
|
setValue("finvoiceqty", getDouble("finvoiceamount") / getDouble("fprice"), 11L);
|
|
setValue("finvoiceqty", getDouble("finvoiceamount") / getDouble("fprice"), 11L);
|
|
|
} else if ("FINVOICEQTY".equals(fieldname)) {
|
|
} else if ("FINVOICEQTY".equals(fieldname)) {
|