fix:禁用状态改为作废状态

This commit is contained in:
ljw 2024-09-24 21:44:20 +08:00
parent 97d090fe17
commit fc0b5a808f

View File

@ -49,19 +49,29 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
for (DynamicObject dataEntitie : dataEntities) { for (DynamicObject dataEntitie : dataEntities) {
Boolean billtype = billtype(dataEntitie); Boolean billtype = billtype(dataEntitie);
if (!billtype) continue; if (!billtype) continue;
productmodel(dataEntitie);
DynamicObjectCollection imDetailedinforColl = dataEntitie.getDynamicObjectCollection("yem_im_detailedinfor"); DynamicObjectCollection imDetailedinforColl = dataEntitie.getDynamicObjectCollection("yem_im_detailedinfor");
//多功能配置 //多功能配置
for (DynamicObject imDetailedinfor : imDetailedinforColl) { for (DynamicObject imDetailedinfor : imDetailedinforColl) {
DynamicObjectCollection yemMulticonfigColl = imDetailedinfor.getDynamicObjectCollection("yem_multiconfig"); DynamicObjectCollection yemMulticonfigColl = imDetailedinfor.getDynamicObjectCollection("yem_multiconfig");
optional(dataEntitie, yemMulticonfigColl); for (DynamicObject dynamicObject : yemMulticonfigColl) {
replace(dataEntitie, yemMulticonfigColl); String yemConfigurtype = dynamicObject.getString("yem_configurtype");
retrofitting(dataEntitie, yemMulticonfigColl); if ("A".equals(yemConfigurtype)) {
optional(dataEntitie, dynamicObject);
}
if ("B".equals(yemConfigurtype)) {
replace(dataEntitie, dynamicObject);
}
if ("C".equals(yemConfigurtype)) {
retrofitting(dataEntitie, dynamicObject);
}
}
} }
DynamicObjectCollection yemImDetailedinfor = dataEntitie.getDynamicObjectCollection("yem_im_detailedinfor"); DynamicObjectCollection yemImDetailedinfor = dataEntitie.getDynamicObjectCollection("yem_im_detailedinfor");
for (DynamicObject dynamicObject : yemImDetailedinfor) { for (DynamicObject dynamicObject : yemImDetailedinfor) {
DynamicObject yemProductmodel = dynamicObject.getDynamicObject("yem_productmodel"); DynamicObject yemProductmodel = dynamicObject.getDynamicObject("yem_productmodel");
BigDecimal yemQingdaounitprice = dynamicObject.getBigDecimal("yem_qingdaounitprice"); BigDecimal yemQingdaounitprice = dynamicObject.getBigDecimal("yem_qingdaounitprice");
BigDecimal yemUnitprice = dynamicObject.getBigDecimal("yem_unitprice");
BigDecimal yemForeigntradeprice = dynamicObject.getBigDecimal("yem_foreigntradeprice");
if (yemProductmodel != null) { if (yemProductmodel != null) {
DynamicObject yemProducts = yemProductmodel.getDynamicObject("yem_products"); DynamicObject yemProducts = yemProductmodel.getDynamicObject("yem_products");
if (yemProducts != null) { if (yemProducts != null) {
@ -78,8 +88,16 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
long yemModelLong = yemModel.getLong("id"); long yemModelLong = yemModel.getLong("id");
long yemProductmodelLong = yemProductmodel.getLong("id"); long yemProductmodelLong = yemProductmodel.getLong("id");
if (yemModelLong == yemProductmodelLong) { if (yemModelLong == yemProductmodelLong) {
if (yemQingdaounitprice.compareTo(BigDecimal.ZERO) > 0) {
Basic.set("yem_pricefob", yemQingdaounitprice); Basic.set("yem_pricefob", yemQingdaounitprice);
} }
if (yemUnitprice.compareTo(BigDecimal.ZERO) > 0) {
Basic.set("yem_fcafactoryprice", yemUnitprice);
}
if (yemForeigntradeprice.compareTo(BigDecimal.ZERO) > 0) {
Basic.set("yem_foreigntradeprice", yemForeigntradeprice);
}
}
} }
} }
} }
@ -87,26 +105,62 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
} }
} }
} }
// productmodel(dataEntitie);
} }
} }
private void productmodel(DynamicObject dataEntitie) { private void productmodel(DynamicObject dataEntitie) {
DynamicObjectCollection yemImDetailedinfor = dataEntitie.getDynamicObjectCollection("yem_im_detailedinfor"); DynamicObjectCollection yemImDetailedinfor = dataEntitie.getDynamicObjectCollection("yem_im_detailedinfor");
for (DynamicObject dynamicObject : yemImDetailedinfor) { for (DynamicObject dynamicObject : yemImDetailedinfor) {
DynamicObjectCollection yemMulticonfig = dynamicObject.getDynamicObjectCollection("yem_multiconfig");
DynamicObject yemProductmodel = dynamicObject.getDynamicObject("yem_productmodel"); DynamicObject yemProductmodel = dynamicObject.getDynamicObject("yem_productmodel");
if (yemProductmodel != null) { if (yemProductmodel != null) {
DynamicObject yemProducts = yemProductmodel.getDynamicObject("yem_products"); DynamicObject yemProducts = yemProductmodel.getDynamicObject("yem_products");
if (yemProducts != null) { if (yemProducts != null) {
long yemProductsLong = yemProducts.getLong("id"); long yemProductsLong = yemProducts.getLong("id");
String selectfield = DynamicObjectUtil.getSelectfields("yem_pricelibrary", false); DynamicObject loadSingle = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", "id,billno,yem_totaldisabledstatus,yem_bd_products" +
String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_pricelibrary", "yem_basicmodel", false); ",yem_optional,yem_optional.yem_disabledstate,yem_optional.yem_entryid_o,yem_optional.yem_salesprice_o,yem_optional.yem_salesmarkup_o" +
DynamicObject loadSingle = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", selectfields ",yem_replaceable,yem_replaceable.yem_disabledstate1,yem_replaceable.yem_entryid_re,yem_replaceable.yem_salesprice_re,yem_replaceable.yem_salesmarkup_re" +
",yem_retrofitting,yem_retrofitting.yem_disabledstate2,yem_retrofitting.yem_entryid_rt,yem_retrofitting.yem_salesprice_rt,yem_retrofitting.yem_salesmarkup_rt"
, new QFilter[]{new QFilter("yem_bd_products.id", QCP.equals, yemProductsLong)}); , new QFilter[]{new QFilter("yem_bd_products.id", QCP.equals, yemProductsLong)});
if (loadSingle != null) { if (loadSingle != null) {
loadSingle.set("yem_totaldisabledstatus", "0"); loadSingle.set("yem_totaldisabledstatus", "0");
DynamicObjectCollection yemOptional = loadSingle.getDynamicObjectCollection("yem_optional");
DynamicObjectCollection yem_replaceable = loadSingle.getDynamicObjectCollection("yem_replaceable");
DynamicObjectCollection yem_retrofitting = loadSingle.getDynamicObjectCollection("yem_retrofitting");
for (DynamicObject yemMulticonfigs : yemMulticonfig) {
long yemMulticonfigsLong = yemMulticonfigs.getLong("id");
BigDecimal yemMarketprice = yemMulticonfigs.getBigDecimal("yem_marketprice");
BigDecimal yem_marketraiseprice = yemMulticonfigs.getBigDecimal("yem_marketraiseprice");
for (DynamicObject yem_optionals : yemOptional) {
yem_optionals.set("yem_disabledstate", "0");
long aLong = yem_optionals.getLong("yem_entryid_o");
if (aLong == yemMulticonfigsLong) {
yem_optionals.set("yem_salesprice_o", yem_marketraiseprice);
yem_optionals.set("yem_salesmarkup_o", yemMarketprice);
} }
} }
for (DynamicObject yem_replaceables : yem_replaceable) {
yem_replaceables.set("yem_disabledstate1", "0");
long aLong = yem_replaceables.getLong("yem_entryid_re");
if (aLong == yemMulticonfigsLong) {
yem_replaceables.set("yem_salesprice_re", yem_marketraiseprice);
yem_replaceables.set("yem_salesmarkup_re", yemMarketprice);
}
}
for (DynamicObject yem_retrofittings : yem_retrofitting) {
yem_retrofittings.set("yem_disabledstate2", "0");
long aLong = yem_retrofittings.getLong("yem_entryid_rt");
if (aLong == yemMulticonfigsLong) {
yem_retrofittings.set("yem_salesprice_rt", yem_marketraiseprice);
yem_retrofittings.set("yem_salesmarkup_rt", yemMarketprice);
}
}
}
}
SaveServiceHelper.update(loadSingle);
}
} }
} }
} }
@ -125,13 +179,10 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
* 可加装 * 可加装
* *
* @param dataEntitie * @param dataEntitie
* @param yemMulticonfigColl * @param yemMulticonfig
*/ */
public void optional(DynamicObject dataEntitie, DynamicObjectCollection yemMulticonfigColl) { public void optional(DynamicObject dataEntitie, DynamicObject yemMulticonfig) {
//获取配置类型为可选装配置
Predicate<DynamicObject> predicate = dynamicObject -> dynamicObject.getString("yem_configurtype").equals("A");
List<DynamicObject> collect = yemMulticonfigColl.stream().filter(predicate).collect(Collectors.toList());
for (DynamicObject yemMulticonfig : collect) {
//产品机型 //产品机型
DynamicObject bdProducts = yemMulticonfig.getDynamicObject("yem_productstree"); DynamicObject bdProducts = yemMulticonfig.getDynamicObject("yem_productstree");
String bdProductNumber = bdProducts.getString("number"); String bdProductNumber = bdProducts.getString("number");
@ -157,19 +208,26 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
DynamicObject pricelibrary = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", new QFilter[]{new QFilter("yem_bd_products.number" DynamicObject pricelibrary = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", new QFilter[]{new QFilter("yem_bd_products.number"
, QCP.equals, bdProductNumber), new QFilter("billstatus", "=", "C")}); , QCP.equals, bdProductNumber), new QFilter("billstatus", "=", "C")});
if (pricelibrary == null) { if (pricelibrary == null) {
continue; return;
} }
pricelibrary.set("yem_totaldisabledstatus","0");
DynamicObjectCollection optionalColl = pricelibrary.getDynamicObjectCollection("yem_optional"); DynamicObjectCollection optionalColl = pricelibrary.getDynamicObjectCollection("yem_optional");
Predicate<DynamicObject> filter = dynamicObject -> dynamicObject.getLong("yem_entryid_o") == configentryid; Predicate<DynamicObject> filter = dynamicObject -> dynamicObject.getLong("yem_entryid_o") == configentryid;
List<DynamicObject> collects = optionalColl.stream().filter(filter).collect(Collectors.toList()); List<DynamicObject> collects = optionalColl.stream().filter(filter).collect(Collectors.toList());
if (collects.size() > 0) { if (collects.size() > 0) {
//更新 //更新
DynamicObject dynamicObject = collects.get(0); DynamicObject dynamicObject = collects.get(0);
dynamicObject.set("yem_disabledstate", "A");
if (marketprice.compareTo(BigDecimal.ZERO) > 0) {
dynamicObject.set("yem_salesprice_o", marketprice); dynamicObject.set("yem_salesprice_o", marketprice);
}
if (marketraiseprice.compareTo(BigDecimal.ZERO) > 0) {
dynamicObject.set("yem_salesmarkup_o", marketraiseprice); dynamicObject.set("yem_salesmarkup_o", marketraiseprice);
}
SaveServiceHelper.update(pricelibrary); SaveServiceHelper.update(pricelibrary);
} else { } else {
DynamicObject dynamicObject = new DynamicObject(optionalColl.getDynamicObjectType()); DynamicObject dynamicObject = new DynamicObject(optionalColl.getDynamicObjectType());
dynamicObject.set("yem_disabledstate", "A");
dynamicObject.set("yem_profilename_o", configurname); dynamicObject.set("yem_profilename_o", configurname);
dynamicObject.set("yem_english", configurtypeen); dynamicObject.set("yem_english", configurtypeen);
dynamicObject.set("yem_specification_o", specification_o); dynamicObject.set("yem_specification_o", specification_o);
@ -182,20 +240,15 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
SaveServiceHelper.save(new DynamicObject[]{pricelibrary}); SaveServiceHelper.save(new DynamicObject[]{pricelibrary});
} }
} }
}
/** /**
* 可替换 * 可替换
* *
* @param dataEntitie * @param dataEntitie
* @param yemMulticonfigColl * @param yemMulticonfig
*/ */
public void replace(DynamicObject dataEntitie, DynamicObjectCollection yemMulticonfigColl) { public void replace(DynamicObject dataEntitie, DynamicObject yemMulticonfig) {
//获取配置类型为可选装配置
Predicate<DynamicObject> predicate = dynamicObject -> dynamicObject.getString("yem_configurtype").equals("B");
List<DynamicObject> collect = yemMulticonfigColl.stream().filter(predicate).collect(Collectors.toList());
for (DynamicObject yemMulticonfig : collect) {
//产品机型 //产品机型
DynamicObject bdProducts = yemMulticonfig.getDynamicObject("yem_productstree"); DynamicObject bdProducts = yemMulticonfig.getDynamicObject("yem_productstree");
String bdProductNumber = bdProducts.getString("number"); String bdProductNumber = bdProducts.getString("number");
@ -221,19 +274,27 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
DynamicObject pricelibrary = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", new QFilter[]{new QFilter("yem_bd_products.number" DynamicObject pricelibrary = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", new QFilter[]{new QFilter("yem_bd_products.number"
, QCP.equals, bdProductNumber), new QFilter("billstatus", "=", "C")}); , QCP.equals, bdProductNumber), new QFilter("billstatus", "=", "C")});
if (pricelibrary == null) { if (pricelibrary == null) {
continue; return;
} }
pricelibrary.set("yem_totaldisabledstatus","0");
DynamicObjectCollection optionalColl = pricelibrary.getDynamicObjectCollection("yem_replaceable"); DynamicObjectCollection optionalColl = pricelibrary.getDynamicObjectCollection("yem_replaceable");
Predicate<DynamicObject> filter = dynamicObject -> dynamicObject.getLong("yem_entryid_re") == configentryid; Predicate<DynamicObject> filter = dynamicObject -> dynamicObject.getLong("yem_entryid_re") == configentryid;
List<DynamicObject> collects = optionalColl.stream().filter(filter).collect(Collectors.toList()); List<DynamicObject> collects = optionalColl.stream().filter(filter).collect(Collectors.toList());
if (collects.size() > 0) { if (collects.size() > 0) {
//更新 //更新
DynamicObject dynamicObject = collects.get(0); DynamicObject dynamicObject = collects.get(0);
dynamicObject.set("yem_disabledstate1", "A");
if (marketprice.compareTo(BigDecimal.ZERO) > 0) {
dynamicObject.set("yem_salesprice_re", marketprice); dynamicObject.set("yem_salesprice_re", marketprice);
}
if (marketraiseprice.compareTo(BigDecimal.ZERO) > 0) {
dynamicObject.set("yem_salesmarkup_re", marketraiseprice); dynamicObject.set("yem_salesmarkup_re", marketraiseprice);
}
SaveServiceHelper.update(pricelibrary); SaveServiceHelper.update(pricelibrary);
} else { } else {
DynamicObject dynamicObject = new DynamicObject(optionalColl.getDynamicObjectType()); DynamicObject dynamicObject = new DynamicObject(optionalColl.getDynamicObjectType());
dynamicObject.set("yem_disabledstate1", "A");
dynamicObject.set("yem_profilename_re", configurname); dynamicObject.set("yem_profilename_re", configurname);
dynamicObject.set("yem_englishname", configurtypeen); dynamicObject.set("yem_englishname", configurtypeen);
dynamicObject.set("yem_specification_re", specification_o); dynamicObject.set("yem_specification_re", specification_o);
@ -243,21 +304,17 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
dynamicObject.set("yem_entryid_re", configentryid); dynamicObject.set("yem_entryid_re", configentryid);
optionalColl.add(dynamicObject); optionalColl.add(dynamicObject);
SaveServiceHelper.save(new DynamicObject[]{pricelibrary}); SaveServiceHelper.save(new DynamicObject[]{pricelibrary});
}
} }
} }
/** /**
* *
* *
* @param dataEntitie * @param dataEntitie
* @param yemMulticonfigColl * @param yemMulticonfig
*/ */
public void retrofitting(DynamicObject dataEntitie, DynamicObjectCollection yemMulticonfigColl) { public void retrofitting(DynamicObject dataEntitie, DynamicObject yemMulticonfig) {
//获取配置类型为可选装配置
Predicate<DynamicObject> predicate = dynamicObject -> dynamicObject.getString("yem_configurtype").equals("C");
List<DynamicObject> collect = yemMulticonfigColl.stream().filter(predicate).collect(Collectors.toList());
for (DynamicObject yemMulticonfig : collect) {
//产品机型 //产品机型
DynamicObject bdProducts = yemMulticonfig.getDynamicObject("yem_productstree"); DynamicObject bdProducts = yemMulticonfig.getDynamicObject("yem_productstree");
String bdProductNumber = bdProducts.getString("number"); String bdProductNumber = bdProducts.getString("number");
@ -283,19 +340,26 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
DynamicObject pricelibrary = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", new QFilter[]{new QFilter("yem_bd_products.number" DynamicObject pricelibrary = BusinessDataServiceHelper.loadSingle("yem_pricelibrary", new QFilter[]{new QFilter("yem_bd_products.number"
, QCP.equals, bdProductNumber), new QFilter("billstatus", "=", "C")}); , QCP.equals, bdProductNumber), new QFilter("billstatus", "=", "C")});
if (pricelibrary == null) { if (pricelibrary == null) {
continue; return;
} }
pricelibrary.set("yem_totaldisabledstatus","0");
DynamicObjectCollection optionalColl = pricelibrary.getDynamicObjectCollection("yem_retrofitting"); DynamicObjectCollection optionalColl = pricelibrary.getDynamicObjectCollection("yem_retrofitting");
Predicate<DynamicObject> filter = dynamicObject -> dynamicObject.getLong("yem_entryid_rt") == configentryid; Predicate<DynamicObject> filter = dynamicObject -> dynamicObject.getLong("yem_entryid_rt") == configentryid;
List<DynamicObject> collects = optionalColl.stream().filter(filter).collect(Collectors.toList()); List<DynamicObject> collects = optionalColl.stream().filter(filter).collect(Collectors.toList());
if (collects.size() > 0) { if (collects.size() > 0) {
//更新 //更新
DynamicObject dynamicObject = collects.get(0); DynamicObject dynamicObject = collects.get(0);
dynamicObject.set("yem_disabledstate2", "A");
if (marketprice.compareTo(BigDecimal.ZERO) > 0) {
dynamicObject.set("yem_salesprice_rt", marketprice); dynamicObject.set("yem_salesprice_rt", marketprice);
}
if (marketraiseprice.compareTo(BigDecimal.ZERO) > 0) {
dynamicObject.set("yem_salesmarkup_rt", marketraiseprice); dynamicObject.set("yem_salesmarkup_rt", marketraiseprice);
}
SaveServiceHelper.update(pricelibrary); SaveServiceHelper.update(pricelibrary);
} else { } else {
DynamicObject dynamicObject = new DynamicObject(optionalColl.getDynamicObjectType()); DynamicObject dynamicObject = new DynamicObject(optionalColl.getDynamicObjectType());
dynamicObject.set("yem_disabledstate2", "A");
dynamicObject.set("yem_profilename_rt", configurname); dynamicObject.set("yem_profilename_rt", configurname);
dynamicObject.set("yem_englishnames", configurtypeen); dynamicObject.set("yem_englishnames", configurtypeen);
dynamicObject.set("yem_specification_rt", specification_o); dynamicObject.set("yem_specification_rt", specification_o);
@ -305,7 +369,7 @@ public class InquirylistAudit extends AbstractOperationServicePlugIn {
dynamicObject.set("yem_entryid_rt", configentryid); dynamicObject.set("yem_entryid_rt", configentryid);
optionalColl.add(dynamicObject); optionalColl.add(dynamicObject);
SaveServiceHelper.save(new DynamicObject[]{pricelibrary}); SaveServiceHelper.save(new DynamicObject[]{pricelibrary});
}
} }
} }