/// <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() }); } }
/// <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() }); } }