コード例 #1
0
        /// <summary>
        /// 对象转换
        /// </summary>
        /// <param name="srmTranOutInfo"></param>
        /// <returns></returns>
        private static BFDATranOutInfo GetSrmTranOutInfo(SrmTranOutInfo srmTranOutInfo)
        {
            BFDATranOutInfo info = new BFDATranOutInfo();

            ///原始单据号
            info.SourceOrderCode = srmTranOutInfo.SourceOrderCode;
            ///原始单据类型
            info.SourceOrderType = srmTranOutInfo.SourceOrderType.GetValueOrDefault().ToString();
            ///物料编号
            info.PartNo = srmTranOutInfo.PartNo;
            ///实收数量
            info.DeliveryQty = srmTranOutInfo.DeliveryQty.GetValueOrDefault().ToString();
            ///
            return(info);
        }
コード例 #2
0
 public long InsertInfo(SrmTranOutInfo info)
 {
     return(dal.Add(info));
 }
コード例 #3
0
        /// <summary>
        /// CreateSrmTranData
        /// </summary>
        /// <param name="tranDetailsInfo"></param>
        private string CreateSrmTranData(TranDetailsInfo tranDetailsInfo, SupplierInfo supplierInfo, WarehouseInfo warehouseInfo)
        {
            ///若未启用外部供应商系统,TODO:考虑内部供应商模块如何处理
            if (string.IsNullOrEmpty(srmTranDataEnableFlag) || srmTranDataEnableFlag.ToLower() != "true")
            {
                return(string.Empty);
            }
            ///若不是物料供应商则不需要生成记录
            if (supplierInfo.SupplierType.GetValueOrDefault() != (int)SupplierTypeConstants.MaterialSupplier)
            {
                return(string.Empty);
            }
            ///交易记录NULL,肯定生成不了记录
            if (tranDetailsInfo == null)
            {
                return(string.Empty);
            }
            if (warehouseInfo == null)
            {
                return(string.Empty);
            }
            ///不是RDC类型的仓库的数据不发送给SRM
            if (warehouseInfo.WarehouseType.GetValueOrDefault() != (int)WarehouseTypeConstants.RDC)
            {
                return(string.Empty);
            }
            ///非物料入库不传SRM
            if (tranDetailsInfo.TranType.GetValueOrDefault() != (int)WmmTranTypeConstants.Inbound)
            {
                return(string.Empty);
            }
            ///SRM单据类型
            int orderType = 0;

            switch (tranDetailsInfo.TranOrderType.GetValueOrDefault())
            {
            case (int)InboundTypeConstants.RebateInbound + 1000:
                if (string.IsNullOrEmpty(rebateInboundReceiveReleaseToSrm) || rebateInboundReceiveReleaseToSrm.ToLower() != "true")
                {
                    return(string.Empty);
                }
                orderType = (int)SrmOrderTypeConstants.Reserve;    ///TODO:返利
                break;

            ///采购订单
            case (int)InboundTypeConstants.PurchaseOrder + 1000: orderType = (int)SrmOrderTypeConstants.Purchase; break;

            ///预留
            case (int)InboundTypeConstants.ReserveInbound + 1000: orderType = (int)SrmOrderTypeConstants.Reserve; break;

            default:
                switch (tranDetailsInfo.RunsheetType.GetValueOrDefault())
                {
                case (int)PullModeConstants.Jis: orderType = (int)SrmOrderTypeConstants.Jis; break;

                case (int)PullModeConstants.Plan: orderType = (int)SrmOrderTypeConstants.Plan; break;

                case (int)PullModeConstants.Twd: orderType = (int)SrmOrderTypeConstants.Twd; break;

                default: return(string.Empty);
                }
                break;
            }
            ///
            SrmTranOutInfo srmTranOutInfo = new SrmTranOutInfo();

            srmTranOutInfo.SourceOrderCode = tranDetailsInfo.TranNo;///TODO:SRM要哪个编号?
            srmTranOutInfo.SourceOrderType = orderType;
            srmTranOutInfo.PartNo          = tranDetailsInfo.PartNo;
            srmTranOutInfo.DeliveryQty     = tranDetailsInfo.ActualQty;
            srmTranOutInfo.ProcessFlag     = (int)ProcessFlagConstants.Untreated;
            srmTranOutInfo.CreateUser      = loginUser;
            return(SrmTranOutDAL.GetInsertSql(srmTranOutInfo));
        }