Esempio n. 1
0
        /// <summary>
        /// 审批
        /// </summary>
        /// <param name="F_OrderNo"></param>
        /// <param name="TruckWeight"></param>
        /// <param name="GrossWeight"></param>
        /// <param name="NetWeight"></param>
        /// <returns></returns>
        public object AuditForm(string F_OrderNo, string TruckWeight, string GrossWeight, string NetWeight)
        {
            try
            {
                if (string.IsNullOrEmpty(F_OrderNo) || string.IsNullOrEmpty(TruckWeight) || string.IsNullOrEmpty(GrossWeight) || string.IsNullOrEmpty(NetWeight))
                {
                    return(new { state = false, message = "参数不正确" });
                }
                var op = OperatorProvider.Provider.GetCurrent();
                if (string.IsNullOrEmpty(op.UserCode))
                {
                    return(new { state = false, message = "当前登录失效,请重新登录!" });
                }
                var result = ValidateData(TruckWeight, GrossWeight, NetWeight);
                if (!result.Item1)
                {
                    return(new { state = false, message = result.Item2 });
                }
                var order = _repository.FindEntity <T_Order>(p => p.F_OrderNo == F_OrderNo);
                if (order == null)
                {
                    return(new { state = false, message = "实体查询失败" });
                }
                TransactionOptions to = new TransactionOptions();
                to.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, to))
                {
                    order.F_OrderStatus = (int)OrderStatus.过毛重;
                    order.F_TruckWeight = ConvertVal.GetValFloat(TruckWeight);
                    order.F_GrossWeight = ConvertVal.GetValFloat(GrossWeight);
                    float?fNetWeight = order.F_GrossWeight - order.F_TruckWeight;
                    order.F_NetWeight   = fNetWeight;
                    order.F_BillWeight  = fNetWeight;
                    order.F_OBillStatus = (int)BillStatus.已通过;
                    order.F_LogoutTime  = DateTime.Now;
                    order.F_OpOut       = op.UserCode;
                    _repository.Update(order);

                    var approve = new T_Approve()
                    {
                        F_OrderNo        = order.F_OrderNo,
                        F_WMSCode        = order.F_WMSCode,
                        F_EnterpriseCode = order.F_EnterpriseCode,
                        F_UserID         = op.UserCode,
                        F_TruckWeight    = order.F_TruckWeight,
                        F_GrossWeight    = order.F_GrossWeight,
                        F_NetWeight      = order.F_NetWeight,
                        F_BillWeight     = order.F_BillWeight,
                        F_DateTime       = DateTime.Now
                    };
                    _repository.Insert(approve);
                }

                return(new { state = true });
            }
            catch (Exception ex)
            {
                return(new { state = false, message = "审批失败,原因:" + ex.ToString() });
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 结算
        /// </summary>
        /// <param name="F_OrderNo"></param>
        /// <returns></returns>
        public object Accounts(string F_OrderNo)
        {
            var op = OperatorProvider.Provider.GetCurrent();

            if (string.IsNullOrEmpty(op.UserCode))
            {
                return(new { state = false, message = "当前登录失效,请重新登录!" });
            }
            var order = _repository.FindEntity <T_Order>(p => p.F_OrderNo == F_OrderNo);

            if (order == null)
            {
                return(new { state = false, message = "查询提单数据失败!" });
            }
            try
            {
                TransactionOptions to = new TransactionOptions();
                to.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, to))
                {
                    order.F_OpOut       = op.UserCode;
                    order.F_OrderStatus = (int)OrderStatus.已结算;
                    _repository.Update(order);
                    var approve = new T_Approve()
                    {
                        F_OrderNo        = order.F_OrderNo,
                        F_WMSCode        = order.F_WMSCode,
                        F_EnterpriseCode = order.F_EnterpriseCode,
                        F_UserID         = op.UserCode,
                        F_TruckWeight    = order.F_TruckWeight,
                        F_GrossWeight    = order.F_GrossWeight,
                        F_NetWeight      = order.F_NetWeight,
                        F_BillWeight     = order.F_BillWeight,
                        F_DateTime       = DateTime.Now
                    };
                    _repository.Insert(approve);
                    scope.Complete();
                }
                return(new { state = true });
            }
            catch (Exception ex)
            {
                return(new { state = false, message = "结算失败!,原因:" + ex.ToString() });
            }
        }