diff --git a/src/main/java/com/yem/tws/task/CusdecToDeclaredocxTask.java b/src/main/java/com/yem/tws/task/CusdecToDeclaredocxTask.java index 65e92f3c..c1450200 100644 --- a/src/main/java/com/yem/tws/task/CusdecToDeclaredocxTask.java +++ b/src/main/java/com/yem/tws/task/CusdecToDeclaredocxTask.java @@ -1,6 +1,7 @@ package com.yem.tws.task; import com.yem.wm.task.YunZhiJaGetOpenidTask; +import com.yem.wm.utils.BigDecimalUtils; import com.yem.wm.utils.DynamicObjectUtil; import com.yem.wm.utils.YEM; import kd.bos.coderule.api.CodeRuleInfo; @@ -90,7 +91,7 @@ public class CusdecToDeclaredocxTask extends AbstractTask { String string = yemCodets + "-" + yemGname + "-" + yemGqty + "-" + yemDeclprice + "-" + yemDecltotal + "-" + number; maps.put(string, dynamicObject); } - //出口报关单 + //出口报关单//海运费(原币)、保费(原表)取单一窗口的的海运费、保费 QFilter yemRealbringbillno = new QFilter("yem_realbringbillno", QCP.equals, yemBillno); yemRealbringbillno.or(new QFilter("yem_bringbillno", QCP.equals, yemBillno)); String selectfield = DynamicObjectUtil.getSelectfields("yem_es_declaredocx", false); @@ -154,6 +155,7 @@ public class CusdecToDeclaredocxTask extends AbstractTask { String yemErroriskey = billno + "-" + yemDecmatericalname + "-" + yemCusqty + "-" + yemCusconsalesprice + "-" + yemCusamount + "-" + aLong; DynamicObject dynamicObject = maps.get(yemErroriskey); if (dynamicObject != null) { + object.set("yem_gmodel",dynamicObject.getString("yem_gmodel")); i = i - 1; } else { seq = seq + object.getString("seq") + ","; @@ -169,30 +171,40 @@ public class CusdecToDeclaredocxTask extends AbstractTask { declaredocx.set("yem_customsnumber", yemEntryid); declaredocx.set("yem_exportdate", yemFiedatets); declaredocx.set("yem_customsdocumentid", id); + declaredocx.set("yem_reightamt", user.getBigDecimal("yem_feerate")); + declaredocx.set("yem_premiumamt", user.getBigDecimal("yem_insurrate")); + declaredocx.set("yem_reightamtbase", user.getBigDecimal("yem_feerate").multiply(declaredocx.getBigDecimal("yem_reightamtrate"))); + declaredocx.set("yem_premiumamtbase", user.getBigDecimal("yem_insurrate").multiply(declaredocx.getBigDecimal("yem_pmamtrate"))); + declaredocx.set("yem_reightamtend" + , BigDecimalUtils.div((user.getBigDecimal("yem_feerate").multiply(declaredocx.getBigDecimal("yem_reightamtrate"))) + ,declaredocx.getBigDecimal("yem_exrate"),2)); + BigDecimal exchangeRate = YEM.getExchangeRate(declaredocx.getDynamicObject("yem_exratetable") , declaredocx.getDynamicObject("yem_currencybase") , declaredocx.getDynamicObject("yem_usdcurrency") , yemFiedatets); declaredocx.set("yem_usbexrate", exchangeRate); - - List userList = new ArrayList<>(); - DynamicObjectCollection userColl = declaredocx.getDynamicObjectCollection("yem_shipports"); - userList.add(user.getDynamicObject("yem_despportcodebase")); - for (DynamicObject users: userList) { - DynamicObject newUser = new DynamicObject(userColl.getDynamicObjectType()); - newUser.set("fbasedataId", users); - userColl.add(newUser); - } - declaredocx.set("yem_shipports",userColl); - List userLists = new ArrayList<>(); - DynamicObjectCollection userColls = declaredocx.getDynamicObjectCollection("yem_destports"); - userLists.add(user.getDynamicObject("yem_distinateportbase")); - for (DynamicObject users: userLists) { - DynamicObject newUser = new DynamicObject(userColls.getDynamicObjectType()); - newUser.set("fbasedataId", users); - userColls.add(newUser); - } - declaredocx.set("yem_destports",userColls); + declaredocx.set("yem_despportcodebase",user.getDynamicObject("yem_despportcodebase") ); + declaredocx.set("yem_distinateportbase", user.getDynamicObject("yem_distinateportbase")); + declaredocx.set("yem_transmodbase", user.getDynamicObject("yem_transmodbase")); +// List userList = new ArrayList<>(); +// DynamicObjectCollection userColl = declaredocx.getDynamicObjectCollection("yem_shipports"); +// userList.add(user.getDynamicObject("yem_despportcodebase")); +// for (DynamicObject users: userList) { +// DynamicObject newUser = new DynamicObject(userColl.getDynamicObjectType()); +// newUser.set("fbasedataId", users); +// userColl.add(newUser); +// } +// declaredocx.set("yem_shipports",userColl); +// List userLists = new ArrayList<>(); +// DynamicObjectCollection userColls = declaredocx.getDynamicObjectCollection("yem_destports"); +// userLists.add(user.getDynamicObject("yem_distinateportbase")); +// for (DynamicObject users: userLists) { +// DynamicObject newUser = new DynamicObject(userColls.getDynamicObjectType()); +// newUser.set("fbasedataId", users); +// userColls.add(newUser); +// } +// declaredocx.set("yem_destports",userColls); SaveServiceHelper.update(declaredocx); SaveServiceHelper.save(new DynamicObject[]{declaredocx}); if ("结关".equals(yemCusdecstatusname) && !YEM.isEmpty(yemFiedatets)) {