示例#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() });
            }
        }
示例#2
0
        private Tuple <bool, string> ValidateData(string TruckWeight, string GrossWeight, string NetWeight)
        {
            float fTruckWeight = ConvertVal.GetValFloat(TruckWeight);

            if (fTruckWeight <= 0.1)
            {
                return(new Tuple <bool, string>(false, "皮重输入有误,请重新输入!"));
            }

            float fGrossWeight = ConvertVal.GetValFloat(GrossWeight);

            if (fGrossWeight <= 0.1)
            {
                return(new Tuple <bool, string>(false, "毛重输入有误,请重新输入!"));
            }
            if (string.IsNullOrEmpty(NetWeight.Trim()))
            {
                return(new Tuple <bool, string>(false, "净重数据有误,请重新输入!"));
            }
            return(new Tuple <bool, string>(true, ""));
        }