parent
							
								
									dcb862d3c7
								
							
						
					
					
						commit
						9dccfbc335
					
				| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
package shkd.sys.sys.plugin.operation;
 | 
			
		||||
 | 
			
		||||
import dm.jdbc.util.StringUtil;
 | 
			
		||||
import kd.bos.algo.DataSet;
 | 
			
		||||
import kd.bos.algo.Row;
 | 
			
		||||
import kd.bos.dataentity.OperateOption;
 | 
			
		||||
| 
						 | 
				
			
			@ -113,12 +114,14 @@ public class DrafttradebillOP extends AbstractOperationServicePlugIn {
 | 
			
		|||
                    if (operationResult.getAllErrorInfo().size()!=0) {
 | 
			
		||||
                        logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单失败,原因:"+operationResult.getAllErrorInfo().get(0).getMessage());
 | 
			
		||||
                        String targetpkvalue = operationResult.getAllErrorInfo().get(0).getErrorCustInfos().get("targetpkvalue");
 | 
			
		||||
                        DynamicObject cdm_drafttradebill = BusinessDataServiceHelper.loadSingle(targetpkvalue, "cdm_drafttradebill");
 | 
			
		||||
                        OperationResult delete = OperationServiceHelper.executeOperate("delete", "cdm_drafttradebill", new DynamicObject[]{cdm_drafttradebill}, OperateOption.create());
 | 
			
		||||
                        if (delete.isSuccess()==true){
 | 
			
		||||
                            logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"成功");
 | 
			
		||||
                        }else {
 | 
			
		||||
                            logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"失败,原因:"+delete.getMessage());
 | 
			
		||||
                        if (!StringUtil.isEmpty(targetpkvalue)){
 | 
			
		||||
                            DynamicObject cdm_drafttradebill = BusinessDataServiceHelper.loadSingle(targetpkvalue, "cdm_drafttradebill");
 | 
			
		||||
                            OperationResult delete = OperationServiceHelper.executeOperate("delete", "cdm_drafttradebill", new DynamicObject[]{cdm_drafttradebill}, OperateOption.create());
 | 
			
		||||
                            if (delete.isSuccess()==true){
 | 
			
		||||
                                logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"成功");
 | 
			
		||||
                            }else {
 | 
			
		||||
                                logger.info("删除单据编号:"+cdm_payablebill.getString("billno")+"失败,原因:"+delete.getMessage());
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }else {
 | 
			
		||||
//                        logger.info("单据编号:"+cdm_payablebill.getString("billno")+"后台生单成功");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@
 | 
			
		|||
 | 
			
		||||
package shkd.sys.sys.plugin.other;
 | 
			
		||||
 | 
			
		||||
import kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
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.args.AfterBuildQueryParemeterEventArgs;
 | 
			
		||||
import kd.bos.entity.botp.plugin.args.AfterFieldMappingEventArgs;
 | 
			
		||||
import kd.bos.entity.botp.runtime.ConvertConst;
 | 
			
		||||
import kd.bos.logging.Log;
 | 
			
		||||
import kd.bos.logging.LogFactory;
 | 
			
		||||
import kd.bos.orm.query.QFilter;
 | 
			
		||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
			
		||||
import kd.tmc.cdm.common.enums.DraftTradeTypeEnum;
 | 
			
		||||
import kd.tmc.cdm.common.enums.SettleMentTypeEnum;
 | 
			
		||||
import kd.tmc.cdm.common.helper.TradeBillAmountHelper;
 | 
			
		||||
| 
						 | 
				
			
			@ -47,6 +50,7 @@ public class newDraftBillToTradeBillConvertPlugin extends AbstractConvertPlugIn
 | 
			
		|||
 | 
			
		||||
    public void afterFieldMapping(AfterFieldMappingEventArgs e) {
 | 
			
		||||
        super.afterFieldMapping(e);
 | 
			
		||||
        Map<String, DynamicProperty> fldProperties = e.getFldProperties();
 | 
			
		||||
        String tradeType = this.getOption().getVariableValue("tradeType");
 | 
			
		||||
        boolean isFromAuto = this.getOption().containsVariable("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");
 | 
			
		||||
            targetBill.set("billtype", billType);
 | 
			
		||||
            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 {
 | 
			
		||||
                remarks = this.getOption().getVariableValue("remarks");
 | 
			
		||||
            } catch (Exception ex) {
 | 
			
		||||
                targetBill.set("payeetypetext", "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 {
 | 
			
		||||
                targetBill.set("payeetypetext", "bd_supplier");
 | 
			
		||||
                targetBill.set("payeetype", "bd_supplier");
 | 
			
		||||
                targetBill.set("beendorsor", (Object)null);
 | 
			
		||||
                targetBill.set("beendorsor", (Object) null);
 | 
			
		||||
            }
 | 
			
		||||
            this.initFeilds(targetBill);
 | 
			
		||||
            TradeBillAmountHelper.calcTradeBillAmount(targetBill);
 | 
			
		||||
| 
						 | 
				
			
			@ -321,4 +333,28 @@ public class newDraftBillToTradeBillConvertPlugin extends AbstractConvertPlugIn
 | 
			
		|||
 | 
			
		||||
    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