This commit is contained in:
ljw 2024-08-28 17:38:58 +08:00
parent fab8a9cd9f
commit 12ba81e92a

View File

@ -5,6 +5,7 @@ import com.yem.wm.utils.DynamicObjectUtil;
import com.yem.wm.utils.YEM;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.BillEntityType;
import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
import kd.bos.entity.botp.plugin.args.AfterConvertEventArgs;
@ -28,9 +29,9 @@ public class DeclareDocxToExportinvoiceConvert extends AbstractConvertPlugIn {
public void afterConvert(AfterConvertEventArgs e) {
super.afterConvert(e);
String targetName = this.getTgtMainType().getName();
//上游
String name = this.getSrcMainType().getName();
ExtendedDataEntity[] findByEntityKeys = e.getTargetExtDataEntitySet().FindByEntityKey(targetName);
for (ExtendedDataEntity findByEntityKey : findByEntityKeys) {
//携带合同中的佣金率
setRate(findByEntityKey);
@ -90,9 +91,67 @@ public class DeclareDocxToExportinvoiceConvert extends AbstractConvertPlugIn {
// }
calculatePremium(dataEntity);
}
ExtendedDataEntity[] findByname = e.getTargetExtDataEntitySet().FindByEntityKey(targetName);
yemCushscode(findByname);
}
private void yemCushscode(ExtendedDataEntity[] findByname) {
for (ExtendedDataEntity extendedDataEntity : findByname) {
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
long aLong2 = dataEntity.getLong("yem_sourcebillid");
String yem_es_declare = DynamicObjectUtil.getSelectfields("yem_es_declaredocx", false);
String yem_es_declare_ec = DynamicObjectUtil.getEntrySelectfields(yem_es_declare, "yem_es_declaredocx", "yem_es_declare_ec", false);
DynamicObject dynamicObject2 = BusinessDataServiceHelper.loadSingle("yem_es_declaredocx", yem_es_declare_ec, new QFilter[]{new QFilter("id", QCP.equals, aLong2)});
DynamicObjectCollection dynamicObjectCollection = dynamicObject2.getDynamicObjectCollection("yem_es_declare_ec");
//出口发票
for (DynamicObject dynamicObject : dynamicObjectCollection) {
DynamicObject yemCushscode = dynamicObject.getDynamicObject("yem_cushscode");
long aLong1 = dynamicObject.getLong("id");
if (yemCushscode != null) {
String yemCushscodeString = yemCushscode.getString("number");
String yemDecmatericalname = dynamicObject.getString("yem_decmatericalname");
BigDecimal yemCusconsalesprice = dynamicObject.getBigDecimal("yem_cusconsalesprice");
QFilter qFilter = new QFilter("yem_ca_cddetailedentry.yem_codets.number", QCP.equals, yemCushscodeString);
qFilter.and(new QFilter("yem_ca_cddetailedentry.yem_codetsname", QCP.equals, yemDecmatericalname));
qFilter.and(new QFilter("yem_ca_cddetailedentry.yem_declprice", QCP.equals, yemCusconsalesprice));
String selectfield = DynamicObjectUtil.getSelectfields("yem_ca_cusdec", false);
String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_ca_cusdec", "yem_ca_cddetailedentry", false);
//单一窗口报关单
DynamicObject load = BusinessDataServiceHelper.loadSingle("yem_ca_cusdec", selectfields, new QFilter[]{qFilter});
if (load != null) {
DynamicObjectCollection dynamicObjectCollection1 = load.getDynamicObjectCollection("yem_ca_cddetailedentry");
for (DynamicObject object : dynamicObjectCollection1) {
DynamicObject yemCodets = object.getDynamicObject("yem_codets");
BigDecimal bigDecimal = object.getBigDecimal("yem_declprice");
String string = object.getString("yem_codetsname");
DynamicObject yemGunit = object.getDynamicObject("yem_gunit");
DynamicObject yemunit = object.getDynamicObject("yem_unit1");
DynamicObject yemUnit = object.getDynamicObject("yem_unit2");
if (yemCodets != null) {
String yemCodetsString = yemCodets.getString("number");
if (yemCodetsString.equals(yemCushscodeString) && bigDecimal.compareTo(yemCusconsalesprice) == 0 && yemDecmatericalname.equals(string)) {
DynamicObjectCollection dynamicObjectCollection2 = dataEntity.getDynamicObjectCollection("yem_exportinvoice_c");
for (DynamicObject dynamicObject1 : dynamicObjectCollection2) {
long aLong = dynamicObject1.getLong("yem_sourcebillentryid");
if (aLong1 == aLong) {
dynamicObject1.set("yem_customsdeclaration", yemGunit);
dynamicObject1.set("yem_unitmeasurement", yemunit);
dynamicObject1.set("yem_measurement", yemUnit);
}
}
}
}
}
}
}
}
}
}
/**
* 获取出口日期的海运费汇率 保费汇率
*
@ -163,9 +222,9 @@ public class DeclareDocxToExportinvoiceConvert extends AbstractConvertPlugIn {
//汇率
BigDecimal yem_seatransfeerate = dataEntity.getBigDecimal("yem_seatransfeerate");
//海运费原币
BigDecimal multiply1 = yem_count.multiply(yem_localamountsum).setScale(2,BigDecimal.ROUND_HALF_UP);
BigDecimal multiply1 = yem_count.multiply(yem_localamountsum).setScale(2, BigDecimal.ROUND_HALF_UP);
//海运费本位币
BigDecimal yem_seatransfeebase = yem_seatransfeerate.multiply(multiply1).setScale(2,BigDecimal.ROUND_HALF_UP);
BigDecimal yem_seatransfeebase = yem_seatransfeerate.multiply(multiply1).setScale(2, BigDecimal.ROUND_HALF_UP);
//佣金
BigDecimal yem_commissionba = dataEntity.getBigDecimal("yem_commissionba");
BigDecimal ybz = yem_seatransfeebase.add(yem_insurefeebase).add(yem_commissionba);