Merge remote-tracking branch 'orinin/test' into test

This commit is contained in:
ljw 2025-03-04 20:28:36 +08:00
commit 94a7b54425
6 changed files with 87 additions and 56 deletions

View File

@ -1,5 +1,6 @@
package com.yem.wm.es.declaredocx.op; package com.yem.wm.es.declaredocx.op;
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;
@ -175,12 +176,24 @@ public class DeclaredocxComparisonOp extends AbstractOperationServicePlugIn {
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_cyreightamt", user.getDynamicObject("yem_feecurrbase"));//海运费币别
declaredocx.set("yem_despportcodebase",user.getDynamicObject("yem_despportcodebase") );
declaredocx.set("yem_distinateportbase", user.getDynamicObject("yem_distinateportbase"));
declaredocx.set("yem_transmodbase", user.getDynamicObject("yem_transmodbase"));
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)) {

View File

@ -235,13 +235,15 @@ public class StorageTransEdit extends AbstractBillPlugIn implements BeforeF7Sele
String yemProducts = loadSingle.getString("yem_products.number"); String yemProducts = loadSingle.getString("yem_products.number");
String aLong = loadSingle.getString("yem_productmodel.yem_products.number"); String aLong = loadSingle.getString("yem_productmodel.yem_products.number");
BigDecimal yemQty = loadSingle.getBigDecimal("yem_qty"); BigDecimal yemQty = loadSingle.getBigDecimal("yem_qty");
BigDecimal yemSinglepartgiftmat = loadSingle.getBigDecimal("yem_singlepartgiftmat");
if (yemSinglepartgiftmat.compareTo(BigDecimal.ZERO) != 0) {
if (map.get(yemContractnumbersM + yemShipmentnumbersM + yemProducts + aLong) != null) { if (map.get(yemContractnumbersM + yemShipmentnumbersM + yemProducts + aLong) != null) {
BigDecimal bigDecimal = map.get(yemContractnumbersM+yemShipmentnumbersM+yemProducts+aLong); map.compute(yemContractnumbersM + yemShipmentnumbersM + yemProducts + aLong, (k, bigDecimal) -> bigDecimal.add(yemQty));
map.put(yemContractnumbersM+yemShipmentnumbersM+yemProducts+aLong, bigDecimal.add(yemQty));
} else { } else {
map.put(yemContractnumbersM + yemShipmentnumbersM + yemProducts + aLong, yemQty); map.put(yemContractnumbersM + yemShipmentnumbersM + yemProducts + aLong, yemQty);
} }
} }
}
DynamicObjectCollection yemEsSalesorderL = this.getModel().getEntryEntity("yem_es_salesorder_l"); DynamicObjectCollection yemEsSalesorderL = this.getModel().getEntryEntity("yem_es_salesorder_l");
if (yemEsSalesorderL != null) { if (yemEsSalesorderL != null) {
for (int i = 0; i < yemEsSalesorderL.size(); i++) { for (int i = 0; i < yemEsSalesorderL.size(); i++) {

View File

@ -255,6 +255,14 @@ public class StorageTransZJEdit extends AbstractBillPlugIn implements BeforeF7Se
public void selectF7CustomClass(BeforeF7SelectEvent e) { public void selectF7CustomClass(BeforeF7SelectEvent e) {
//1过滤报关分类时整机行只能过滤业务分类为整机的报关分类配件行只能过滤业务分类为配件的报关分类 //1过滤报关分类时整机行只能过滤业务分类为整机的报关分类配件行只能过滤业务分类为配件的报关分类
int row = e.getRow(); int row = e.getRow();
String businesssort = (String) this.getModel().getValue("yem_businesssort", row);
if (businesssort == null) {
e.addCustomQFilter(new QFilter("yem_businessclassify", QCP.equals, null));
}
if ("Z".equals(businesssort)) {
e.addCustomQFilter(new QFilter("yem_businessclassify", QCP.equals, "Z"));
}
if ("P".equals(businesssort)) {
List<Long> ids = new ArrayList(); List<Long> ids = new ArrayList();
IDataModel model = this.getModel(); IDataModel model = this.getModel();
DynamicObject materiel = (DynamicObject) model.getValue("yem_materiel", row); DynamicObject materiel = (DynamicObject) model.getValue("yem_materiel", row);
@ -269,15 +277,6 @@ public class StorageTransZJEdit extends AbstractBillPlugIn implements BeforeF7Se
} }
} }
e.addCustomQFilter(new QFilter("id", QCP.in, ids)); e.addCustomQFilter(new QFilter("id", QCP.in, ids));
String businesssort = (String) this.getModel().getValue("yem_businesssort", row);
if (businesssort == null) {
e.addCustomQFilter(new QFilter("yem_businessclassify", QCP.equals, null));
}
if ("Z".equals(businesssort)) {
e.addCustomQFilter(new QFilter("yem_businessclassify", QCP.equals, "Z"));
}
if ("P".equals(businesssort)) {
e.addCustomQFilter(new QFilter("yem_businessclassify", QCP.equals, "P")); e.addCustomQFilter(new QFilter("yem_businessclassify", QCP.equals, "P"));
} }

View File

@ -36,6 +36,7 @@ public class DeliverNoticeSubmitValidator extends AbstractValidator {
/** /**
* 最后一笔出库的时候判断出库金额是否和合同金额相等 * 最后一笔出库的时候判断出库金额是否和合同金额相等
*
* @param dataEntitie * @param dataEntitie
*/ */
private void checkAmountAligned(ExtendedDataEntity dataEntitie) { private void checkAmountAligned(ExtendedDataEntity dataEntitie) {
@ -147,10 +148,10 @@ public class DeliverNoticeSubmitValidator extends AbstractValidator {
/** /**
* 校验当前客户是否有信保逾期 * 校验当前客户是否有信保逾期
* 信保限额申请单分录的应收款日期1小于当前时间并且有欠款金额 * 信保限额申请单分录的应收款日期1小于当前时间并且有欠款金额
*
* @param entry * @param entry
*/ */
private void creditInsuranceOverdueVerification(ExtendedDataEntity entry) private void creditInsuranceOverdueVerification(ExtendedDataEntity entry) {
{
DynamicObject dataEntity = entry.getDataEntity(); DynamicObject dataEntity = entry.getDataEntity();
dataEntity = BusinessDataServiceHelper.loadSingle(dataEntity.getPkValue(), dataEntity.getDynamicObjectType().getName()); dataEntity = BusinessDataServiceHelper.loadSingle(dataEntity.getPkValue(), dataEntity.getDynamicObjectType().getName());
DynamicObject customer = dataEntity.getDynamicObject("yem_customer"); DynamicObject customer = dataEntity.getDynamicObject("yem_customer");
@ -161,9 +162,11 @@ public class DeliverNoticeSubmitValidator extends AbstractValidator {
DynamicObject method = TotalUtil.getSettlementMethod(shippingdetails); DynamicObject method = TotalUtil.getSettlementMethod(shippingdetails);
DynamicObject company = dataEntity.getDynamicObject("yem_company.yem_erporg"); DynamicObject company = dataEntity.getDynamicObject("yem_company.yem_erporg");
String swiftCode = TotalUtil.getSwiftCode(shippingdetails); String swiftCode = TotalUtil.getSwiftCode(shippingdetails);
BigDecimal yemArrearsamtapply = shippingdetails.getBigDecimal("yem_arrearsamtapply");
DynamicObject creditLine = TotalUtil.getCsrCreditLine(customer, method, company, swiftCode); DynamicObject creditLine = TotalUtil.getCsrCreditLine(customer, method, company, swiftCode);
if (creditLine == null) return; if (creditLine == null) return;
DynamicObjectCollection collection = creditLine.getDynamicObjectCollection("yem_im_info"); DynamicObjectCollection collection = creditLine.getDynamicObjectCollection("yem_im_info");
BigDecimal amountoweds = BigDecimal.ZERO;
for (DynamicObject dynamicObject : collection) { for (DynamicObject dynamicObject : collection) {
// 应收款日期1 // 应收款日期1
Date paydate = dynamicObject.getDate("yem_paydate1"); Date paydate = dynamicObject.getDate("yem_paydate1");
@ -171,9 +174,22 @@ public class DeliverNoticeSubmitValidator extends AbstractValidator {
Date now = new Date(); Date now = new Date();
if (paydate == null) continue; if (paydate == null) continue;
if (amountowed.compareTo(BigDecimal.ZERO) > 0 && paydate.before(now)) { if (amountowed.compareTo(BigDecimal.ZERO) > 0 && paydate.before(now)) {
this.addErrorMessage(entry, String.format("客户 %s 信保逾期,请确认!", customer.getString("name"))); amountoweds = amountowed.add(amountoweds);
} }
} }
String string = "";
if (amountoweds.compareTo(BigDecimal.ZERO) > 0 || yemArrearsamtapply.compareTo(BigDecimal.ZERO) > 0) {
string = "客户" + customer.getString("name") + "信保逾期,";
}
if (amountoweds.compareTo(BigDecimal.ZERO) > 0) {
string = string + "欠款金额:" + amountoweds;
} else if (yemArrearsamtapply.compareTo(BigDecimal.ZERO) > 0) {
string = string + "欠条金额:" + yemArrearsamtapply;
}
if (!string.isEmpty()) {
string = string+",请确认!";
}
this.addErrorMessage(entry ,string);
} }
@ -256,10 +272,10 @@ public class DeliverNoticeSubmitValidator extends AbstractValidator {
/** /**
* 1销售出库对应的合同非本次发运明细单--欠条是否有核销掉 * 1销售出库对应的合同非本次发运明细单--欠条是否有核销掉
*
* @param dataEntities * @param dataEntities
*/ */
private void hasArrearsValidator(ExtendedDataEntity dataEntities) private void hasArrearsValidator(ExtendedDataEntity dataEntities) {
{
// 销售出库单 // 销售出库单
DynamicObject dataEntity = dataEntities.getDataEntity(); DynamicObject dataEntity = dataEntities.getDataEntity();
long shipDetailId = dataEntity.getLong("yem_sourcebillid"); long shipDetailId = dataEntity.getLong("yem_sourcebillid");
@ -304,6 +320,7 @@ public class DeliverNoticeSubmitValidator extends AbstractValidator {
/** /**
* 销售出库提交时如果有已审核的发货特殊申请不需要校验是否信保预期是否由未核销掉的欠条否则需要核销 * 销售出库提交时如果有已审核的发货特殊申请不需要校验是否信保预期是否由未核销掉的欠条否则需要核销
*
* @param dataEntitie * @param dataEntitie
* @return * @return
*/ */

View File

@ -90,7 +90,7 @@ public class DelivernoticeSynEAS extends AbstractOperationServicePlugIn {
json.put("BusinessType", setJson("number", "510")); json.put("BusinessType", setJson("number", "510"));
//是否跨事业部 //是否跨事业部
boolean isacrossdept = dataEntitie.getBoolean("yem_isacrossdept"); boolean isacrossdept = dataEntitie.getBoolean("yem_isacrossdept");
json.put("isAcross", isacrossdept ? "" : ""); json.put("isAcross", isacrossdept ? "" : "不是");
//业务日期 //业务日期
SimpleDateFormat fmtDate = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat fmtDate = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat fmtTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat fmtTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

View File

@ -17,17 +17,17 @@ public class Application {
cosmic.setWebPath("E:/Cosmic/Comics_YXZG/YXZG-server/webapp"); cosmic.setWebPath("E:/Cosmic/Comics_YXZG/YXZG-server/webapp");
////152 ////152
cosmic.setClusterNumber("yxzg-topview-dev"); // cosmic.setClusterNumber("yxzg-topview-dev");
cosmic.setTenantNumber("yxzg-topview-dev"); // cosmic.setTenantNumber("yxzg-topview-dev");
cosmic.setServerIP("10.64.112.152"); // cosmic.setServerIP("10.64.112.152");
cosmic.setFileServerPathIPAndPort("", ""); // cosmic.setFileServerPathIPAndPort("", "");
cosmic.setConfigUrl("10.64.112.152:2181", "zookeeper", "Cosmic@5092"); // cosmic.setConfigUrl("10.64.112.152:2181", "zookeeper", "Cosmic@5092");
System.setProperty("mq.debug.queue.tag", "wrxtest"); System.setProperty("mq.debug.queue.tag", "wrxtest");
////134 ////134
// cosmic.setClusterNumber("yxzg-prod"); cosmic.setClusterNumber("yxzg-prod");
// cosmic.setTenantNumber("yxzg-prod"); cosmic.setTenantNumber("yxzg-prod");
// cosmic.setServerIP("10.64.111.134"); cosmic.setServerIP("10.64.111.134");
// cosmic.setConfigUrl("10.64.111.134:2181","zookeeper","d@f*g:SGVsbG8==U4HRwjlqTOp0p9b60T+T8D2fQ8ThQgJLu/qgfLyLgknPa2RwYXNzd29yZA=="); cosmic.setConfigUrl("10.64.111.134:2181","zookeeper","d@f*g:SGVsbG8==U4HRwjlqTOp0p9b60T+T8D2fQ8ThQgJLu/qgfLyLgknPa2RwYXNzd29yZA==");
cosmic.setStartWithQing(false); cosmic.setStartWithQing(false);
cosmic.start(); cosmic.start();