出口报关生成出口发票时多选基础资料赋值
This commit is contained in:
ljw 2025-01-11 18:02:02 +08:00
parent 992ec1036b
commit d4334e9aaf

View File

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