parent
dcb862d3c7
commit
9dccfbc335
|
@ -1,5 +1,6 @@
|
||||||
package shkd.sys.sys.plugin.operation;
|
package shkd.sys.sys.plugin.operation;
|
||||||
|
|
||||||
|
import dm.jdbc.util.StringUtil;
|
||||||
import kd.bos.algo.DataSet;
|
import kd.bos.algo.DataSet;
|
||||||
import kd.bos.algo.Row;
|
import kd.bos.algo.Row;
|
||||||
import kd.bos.dataentity.OperateOption;
|
import kd.bos.dataentity.OperateOption;
|
||||||
|
@ -113,12 +114,14 @@ public class DrafttradebillOP extends AbstractOperationServicePlugIn {
|
||||||
if (operationResult.getAllErrorInfo().size()!=0) {
|
if (operationResult.getAllErrorInfo().size()!=0) {
|
||||||
logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单失败,原因:"+operationResult.getAllErrorInfo().get(0).getMessage());
|
logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单失败,原因:"+operationResult.getAllErrorInfo().get(0).getMessage());
|
||||||
String targetpkvalue = operationResult.getAllErrorInfo().get(0).getErrorCustInfos().get("targetpkvalue");
|
String targetpkvalue = operationResult.getAllErrorInfo().get(0).getErrorCustInfos().get("targetpkvalue");
|
||||||
DynamicObject cdm_drafttradebill = BusinessDataServiceHelper.loadSingle(targetpkvalue, "cdm_drafttradebill");
|
if (!StringUtil.isEmpty(targetpkvalue)){
|
||||||
OperationResult delete = OperationServiceHelper.executeOperate("delete", "cdm_drafttradebill", new DynamicObject[]{cdm_drafttradebill}, OperateOption.create());
|
DynamicObject cdm_drafttradebill = BusinessDataServiceHelper.loadSingle(targetpkvalue, "cdm_drafttradebill");
|
||||||
if (delete.isSuccess()==true){
|
OperationResult delete = OperationServiceHelper.executeOperate("delete", "cdm_drafttradebill", new DynamicObject[]{cdm_drafttradebill}, OperateOption.create());
|
||||||
logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"成功");
|
if (delete.isSuccess()==true){
|
||||||
}else {
|
logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"成功");
|
||||||
logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"失败,原因:"+delete.getMessage());
|
}else {
|
||||||
|
logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"失败,原因:"+delete.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
// logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单成功");
|
// logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单成功");
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
package shkd.sys.sys.plugin.other;
|
package shkd.sys.sys.plugin.other;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -25,9 +26,11 @@ import kd.bos.entity.ExtendedDataEntity;
|
||||||
import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
|
import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
|
||||||
import kd.bos.entity.botp.plugin.args.AfterBuildQueryParemeterEventArgs;
|
import kd.bos.entity.botp.plugin.args.AfterBuildQueryParemeterEventArgs;
|
||||||
import kd.bos.entity.botp.plugin.args.AfterFieldMappingEventArgs;
|
import kd.bos.entity.botp.plugin.args.AfterFieldMappingEventArgs;
|
||||||
|
import kd.bos.entity.botp.runtime.ConvertConst;
|
||||||
import kd.bos.logging.Log;
|
import kd.bos.logging.Log;
|
||||||
import kd.bos.logging.LogFactory;
|
import kd.bos.logging.LogFactory;
|
||||||
import kd.bos.orm.query.QFilter;
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.tmc.cdm.common.enums.DraftTradeTypeEnum;
|
import kd.tmc.cdm.common.enums.DraftTradeTypeEnum;
|
||||||
import kd.tmc.cdm.common.enums.SettleMentTypeEnum;
|
import kd.tmc.cdm.common.enums.SettleMentTypeEnum;
|
||||||
import kd.tmc.cdm.common.helper.TradeBillAmountHelper;
|
import kd.tmc.cdm.common.helper.TradeBillAmountHelper;
|
||||||
|
@ -47,6 +50,7 @@ public class newDraftBillToTradeBillConvertPlugin extends AbstractConvertPlugIn
|
||||||
|
|
||||||
public void afterFieldMapping(AfterFieldMappingEventArgs e) {
|
public void afterFieldMapping(AfterFieldMappingEventArgs e) {
|
||||||
super.afterFieldMapping(e);
|
super.afterFieldMapping(e);
|
||||||
|
Map<String, DynamicProperty> fldProperties = e.getFldProperties();
|
||||||
String tradeType = this.getOption().getVariableValue("tradeType");
|
String tradeType = this.getOption().getVariableValue("tradeType");
|
||||||
boolean isFromAuto = this.getOption().containsVariable("isfromauto");
|
boolean isFromAuto = this.getOption().containsVariable("isfromauto");
|
||||||
logger.info("tradeType is:" + tradeType + ",isFromAuto:" + isFromAuto);
|
logger.info("tradeType is:" + tradeType + ",isFromAuto:" + isFromAuto);
|
||||||
|
@ -62,18 +66,26 @@ public class newDraftBillToTradeBillConvertPlugin extends AbstractConvertPlugIn
|
||||||
DynamicObject billType = TmcDataServiceHelper.loadSingle(DraftTradeTypeEnum.getType(tradeType), "bos_billtype");
|
DynamicObject billType = TmcDataServiceHelper.loadSingle(DraftTradeTypeEnum.getType(tradeType), "bos_billtype");
|
||||||
targetBill.set("billtype", billType);
|
targetBill.set("billtype", billType);
|
||||||
String remarks = null;
|
String remarks = null;
|
||||||
|
Long draftbilltype = (Long) this.getSourceData(billDataEntity, fldProperties, "draftbilltype");
|
||||||
|
DynamicObject cdm_billtype = BusinessDataServiceHelper.loadSingle(draftbilltype, "cdm_billtype");
|
||||||
|
String settlementtype = cdm_billtype.getString("settlementtype");
|
||||||
|
boolean isproofofcredit = cdm_billtype.getBoolean("isproofofcredit");
|
||||||
try {
|
try {
|
||||||
remarks = this.getOption().getVariableValue("remarks");
|
remarks = this.getOption().getVariableValue("remarks");
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
targetBill.set("payeetypetext", "bd_supplier");
|
targetBill.set("payeetypetext", "bd_supplier");
|
||||||
targetBill.set("payeetype", "bd_supplier");
|
targetBill.set("payeetype", "bd_supplier");
|
||||||
targetBill.set("beendorsor", (Object)null);
|
targetBill.set("beendorsor", (Object) null);
|
||||||
}
|
}
|
||||||
if ("后台下推".equals(remarks)){
|
if ("后台下推".equals(remarks)) {
|
||||||
|
if ("5".equals(settlementtype) && isproofofcredit) {
|
||||||
|
targetBill.set("payeetypetext", "other");
|
||||||
|
targetBill.set("payeetype", (Object) null);
|
||||||
|
}
|
||||||
}else {
|
}else {
|
||||||
targetBill.set("payeetypetext", "bd_supplier");
|
targetBill.set("payeetypetext", "bd_supplier");
|
||||||
targetBill.set("payeetype", "bd_supplier");
|
targetBill.set("payeetype", "bd_supplier");
|
||||||
targetBill.set("beendorsor", (Object)null);
|
targetBill.set("beendorsor", (Object) null);
|
||||||
}
|
}
|
||||||
this.initFeilds(targetBill);
|
this.initFeilds(targetBill);
|
||||||
TradeBillAmountHelper.calcTradeBillAmount(targetBill);
|
TradeBillAmountHelper.calcTradeBillAmount(targetBill);
|
||||||
|
@ -321,4 +333,28 @@ public class newDraftBillToTradeBillConvertPlugin extends AbstractConvertPlugIn
|
||||||
|
|
||||||
private void calcDeInterestAmountAllEntry(DynamicObject targetBill) {
|
private void calcDeInterestAmountAllEntry(DynamicObject targetBill) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取源单字段数据
|
||||||
|
*
|
||||||
|
* @param billEntity 源单数据包
|
||||||
|
* @param fldProperties 源单字段
|
||||||
|
* @param name 字段标识
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Object getSourceData(ExtendedDataEntity billEntity, Map<String, DynamicProperty> fldProperties, String name) {
|
||||||
|
List<DynamicObject> sourceRows = (List<DynamicObject>) billEntity.getValue(ConvertConst.ConvExtDataKey_SourceRows);
|
||||||
|
if (sourceRows == null || sourceRows.isEmpty()) {
|
||||||
|
logger.warn("未获取到源单行数据,跳过处理。");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
DynamicObject srcRow = sourceRows.get(0);
|
||||||
|
// 获取源单 ID
|
||||||
|
DynamicProperty idProperty = fldProperties.get(name);
|
||||||
|
if (idProperty == null) {
|
||||||
|
logger.warn("未获取到源单 ID 属性,跳过处理。");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return idProperty.getValue(srcRow);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue