Example #1
0
        /// <summary>
        /// 向Dict[709]中插入一行
        /// </summary>
        /// <param name="pEntity">带插入的实体</param>
        /// <param name="pMsg">返回错误描述</param>
        /// <returns>返回操作成功的行数,若失败则返回DefaultResult[int].RetInt</returns>
        static public int AddRow_Order(Product_WMS_Interface pEntity, out string pMsg)
        {
            #region  validate parameters
            if (null == pEntity)
            {
                pMsg = "AddRow结束,非法入参";
                return(TError.Post_ParamError.Int());
            }
            #endregion
            // WCF操作
            var retRslt = WCF <Product_WMS_Interface> .Add(pEntity);

            #region Handle result
            if (null == retRslt)
            {
                pMsg = "WCF插入记录行失败,返回null对象";
                return(TError.WCF_RunError.Int());
            }
            else
            {
                pMsg = string.Format("WCF插入记录行结束, retRslt.RetInt={0}, retRslt.RETData={1}, retRslt.Data={2}", retRslt.RetInt, retRslt.RETData, retRslt.Data);
                return(retRslt.RetInt);
            }
            #endregion
        }
Example #2
0
        /// <summary>
        /// 更新Dict[709]中pEntity对应的行。若Dict【709】没有对应行则插入
        /// </summary>
        /// <param name="pEntity">被插入的实体</param>
        /// <param name="pMsg">返回错误描述</param>
        /// <returns>若成功则返回成功操作的行数;否则返回TError</returns>
        static public int UpdateRowA_Order(Product_WMS_Interface pEntity, out string pMsg)
        {
            #region  validate parameters
            //int ret = TError.WCF_RunError.Int();
            pMsg = string.Empty;
            DefaultResult <List <Product_WMS_Interface> > queryRslt = null;
            DefaultResult <int> rslt = null;
            if (null == pEntity)
            {
                return(TError.Post_ParamError.Int());
            }
            #endregion
            #region 在Dict[709]中找pEntity, var wcfPWI
            var filter = new List <CommonFilterModel>()
            {
            };                                              // query filter
            filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId1, "=", pEntity.MapId1.ToString()));
            filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId2, "=", pEntity.MapId2.ToString()));
            queryRslt = WCF <Product_WMS_Interface> .QueryAll(filter); // query,只取第一页第一条(同一个子单据不应该有2条数据)

            if (null == queryRslt)
            {
                pMsg = "尝试获取符合条件的实体,WCF操作失败,返回null对象";
                return(TError.WCF_RunError.Int());
            }
            else if (null == queryRslt.Data)
            {
                pMsg = string.Format("WCF操作失败, queryRslt.RetInt={0}, queryRslt.RetData={1}, queryRslt.Data={2}", queryRslt.RetInt, queryRslt.RETData, queryRslt.Data);
                return(queryRslt.RetInt);
            }
            #endregion
            #region WCF操作,更新或插入
            if (0 == queryRslt.Data.Count)
            {
                rslt = WCF <Product_WMS_Interface> .Add(pEntity);
            } // Dict[709]中没有符合条件的行,添加
            else
            {
                pEntity.WMS_InterfaceId = queryRslt.Data[0].WMS_InterfaceId;
                rslt = WCF <Product_WMS_Interface> .Update(pEntity);
            } // Dict[709]中有符合条件的行,更新
            #endregion
            #region Handle result
            if (null == rslt)
            {
                pMsg = "更新或插入,WCF操作记录行失败,返回null对象";
                return(TError.WCF_RunError.Int());
            }
            else
            {
                pMsg = string.Format("UpdateRowA(Product_WMS_Interface pEntity)结束, rslt.RetInt={0}, rslt.RetData={1}, rslt.Data={2}", rslt.RetInt, rslt.RETData, rslt.Data);
                return(1);
            }
            #endregion
        }
Example #3
0
        /// <summary>
        /// 添加商品
        /// </summary>
        /// <returns></returns>
        /// <remarks>
        /// ------+++++++++-------
        /// --姓名:dongtianyi时间:2018/5/29 16:25
        /// --操作简单描述:
        /// --本次操作需求来源URL:
        ///  --当前设备:DONGTIANYI
        /// ------+++++++++-------
        /// </remarks>
        static public int AddRow_Product(Product_WMS_Interface row)
        {
            var ret = new ThirdResult <List <object> >("向表Product_WMS_Interface插入一行商品");

            row.IsDel     = 1;
            row.AddTime   = DateTime.Now;
            row.AddUserid = MangoMis.Frame.Frame.CommonFrame.userid;
            var wcfPWI = WCF <Product_WMS_Interface> .Add(row);

            InnerDebug(ret, wcfPWI, "添加商品");
            ret.End();
            return(wcfPWI.RetInt);
        }
Example #4
0
        /// <summary>
        /// 向709批量插入数据,废弃
        /// </summary>
        /// <param name="rowlist"></param>
        /// <returns></returns>
        static public int AddRow_Product(List <Product_WMS_Interface> rowlist)
        {
            var ret    = new ThirdResult <List <object> >("向表Product_WMS_Interface插入多条商品");
            var renInt = 0;

            foreach (var row in rowlist)
            {
                row.IsDel     = 2;
                row.AddTime   = DateTime.Now;
                row.AddUserid = MangoMis.Frame.Frame.CommonFrame.userid;
                var wcfPWI = WCF <Product_WMS_Interface> .Add(row); // TODO: 不能add整个list

                InnerDebug(ret, wcfPWI, "向709批量插入数据,废弃");
                renInt += wcfPWI.RetInt;
            }

            ret.End();
            return(renInt);
        }
Example #5
0
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public DefaultResult <int> Add(TEntity entity)
        {
            try
            {
                var rslt = WCF <TEntity> .Add(entity);

                if (null == rslt)
                {
                    C_WMS.Data.Utility.MyLog.Instance.Warning("WCF(V2),添加实体[{0}]失败", entity);
                    return(null);
                }
                return(rslt);
            }
            catch (Exception ex)
            {
                C_WMS.Data.Utility.MyLog.Instance.Fatal(ex, "WCF(V2),添加实体[{0}]异常", entity);
                return(null);
            }
        }
Example #6
0
        /// <summary>
        /// 新增一条创建出库订单的记录
        /// </summary>
        /// <param name="pData">待插入的记录</param>
        /// <param name="pMsg">返回错误描述信息</param>
        /// <returns>返回成功操作的记录行数,若失败则返回0</returns>
        static protected int AddRow_StockoutCreate(Product_WMS_Interface pData, out string pMsg)
        {
            if (null == pData)
            {
                pMsg = "非法入参, pMsg=null";
                return(0);
            }

            int rslt    = 0;
            var retRslt = WCF <Product_WMS_Interface> .Add(pData);

            if (null == retRslt)
            {
                pMsg = "WCF插入记录行失败,返回null对象";
                return(0);
            }
            else
            {
                rslt = retRslt.RetInt;
                pMsg = retRslt.RETData;
                return(rslt);
            }
        }
Example #7
0
        /// <summary>
        /// 更新子出库订单的记录, 若没找到记录则新增一条
        /// </summary>
        /// <param name="pOrderId">主出库单Id</param>
        /// <param name="pUpdateOk">记录的更新状态,遵照Dict[285]</param>
        /// <param name="pDel">Dict[285]</param>
        /// <param name="pCount">返回成功更新的行数</param>
        /// <param name="pMsg">返回错误描述信息</param>
        /// <returns>若更新成功则返回操作的行数;其他错误返回TError.WCF_RunError</returns>
        static public int UpdateRow_StockoutCreate(string pOrderId, TDict285_Values pUpdateOk, TDict285_Values pDel, out int pCount, out string pMsg)
        {
            pCount = 0; pMsg = string.Empty;
            CWmsStockOrder        order     = null;
            Product_WMS_Interface tmpEntity = null;

            try
            {
                // get order instance
                if (null == (order = CWms.CWmsDataFactory.GetCWmsStockoutOrder(pOrderId)))
                {
                    return(TError.WCF_RunError.Int());
                }

                #region prepare updated rows
                foreach (var subOrder in order.SubOrders)
                {
                    // 根据主单据Id和子单据Id找到行
                    var filter = new List <CommonFilterModel>()
                    {
                    };                                              // query filter
                    filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId1, "=", order.GetId()));
                    filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId2, "=", subOrder.Value.GetId()));
                    var wcfPWI = WCF <Product_WMS_Interface> .QueryAll(filter); // query,只取第一页第一条(同一个子单据不应该有2条数据)

                    if (null == wcfPWI || null == wcfPWI.Data)
                    {
                        pCount = TError.WCF_RunError.Int(); pMsg = "WCF返回null异常";
                        break;
                    } // TODO: 系统异常
                    else if (0 >= wcfPWI.RetInt)
                    {
                        tmpEntity = new Product_WMS_Interface();
                    }                                                                         // 没有找到
                    else
                    {
                        tmpEntity = wcfPWI.Data[0];
                    }                                    // 找到了一条

                    #region 实例赋值并更新
                    tmpEntity.MapCalssID   = TDict709_Value.EExwarehouseOrder.Int();
                    tmpEntity.MapId1       = (order.MangoOrder as MangoStockouOrder).ProductOutputMainId;
                    tmpEntity.MapId2       = (subOrder.Value.MangoOrder as MangoSubStockoutOrder).ProductOutputId;
                    tmpEntity.IsUpdateOK   = pUpdateOk.Int();
                    tmpEntity.IsDel        = pDel.Int();
                    tmpEntity.LastTime     = DateTime.Now;
                    tmpEntity.UpdateUserID = MangoMis.Frame.Frame.CommonFrame.userid;
                    var updateRslt = (0 >= wcfPWI.RetInt) ? WCF <Product_WMS_Interface> .Add(tmpEntity) : WCF <Product_WMS_Interface> .Update(tmpEntity);

                    if (null == updateRslt)
                    {
                        pCount = TError.WCF_RunError.Int(); pMsg = "WCF返回null异常"; break;
                    }                                                                                            // TODO: 系统异常
                    else
                    {
                        pCount++; pMsg = updateRslt.RETData;
                    }
                    #endregion
                }
                #endregion

                return(pCount);
            }
            catch (Exception ex)
            {
                var ret = new ThirdResult <List <object> >("");
                if (null != ex.InnerException)
                {
                    ret.Append(string.Format("InnerException: {0}", ex.InnerException.Message));
                }
                ret.Append(string.Format("发生异常: {0}\r\n调用堆栈:{1}", ex.Message, ex.StackTrace));
                ret.End();
                return(pCount = TError.WCF_RunError.Int());
            }
        }