Exemplo n.º 1
0
        /// <summary>
        /// 获取某种表单类型的所有状态
        /// </summary>
        /// <param name="loggingSession">当前登录的信息</param>
        /// <param name="billKindID">表单类型ID</param>
        /// <returns></returns>
        public IList <BillStatusModel> GetAllBillStatusesByBillKindID(string billKindID)
        {
            IList <BillStatusModel> billStatusInfoList = new List <BillStatusModel>();

            if (this.loggingSessionInfo.CurrentLoggingManager.IsApprove == null || this.loggingSessionInfo.CurrentLoggingManager.IsApprove.Equals(""))
            {
                BillStatusModel billStatusInfo = new BillStatusModel();
                billStatusInfo.Status      = "-1";
                billStatusInfo.Description = "删除";
                billStatusInfoList.Add(billStatusInfo);
                BillStatusModel billStatusInfo1 = new BillStatusModel();
                billStatusInfo1.Status      = "1";
                billStatusInfo1.Description = "未审批";
                billStatusInfoList.Add(billStatusInfo1);
                BillStatusModel billStatusInfo2 = new BillStatusModel();
                billStatusInfo2.Status      = "10";
                billStatusInfo2.Description = "已审批";
                billStatusInfoList.Add(billStatusInfo2);
            }
            else
            {
                DataSet ds = billService.GetAllBillStatusesByBillKindID(billKindID);
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    billStatusInfoList = DataTableToObject.ConvertToList <BillStatusModel>(ds.Tables[0]);
                }
            }

            return(billStatusInfoList);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 新建一个Bill
        /// </summary>
        /// <param name="loggingSession">当前登录用户的Session信息</param>
        /// <param name="bill">Bill</param>
        /// <returns>操作的状态</returns>
        public BillOperateStateService InsertBill(LoggingSessionInfo loggingSession, BillModel bill)
        {
            //获取表单类别
            BillKindModel billKind = GetBillKindById(loggingSession, bill.KindId);

            if (billKind == null)
            {
                return(BillOperateStateService.NotExistKind);
            }
            //获取表单状态
            BillStatusModel beginBillStatus = GetBillBeginStatus(loggingSession, bill.KindId);

            if (beginBillStatus == null)
            {
                return(BillOperateStateService.NotSetBeginStatus);
            }
            BillActionModel billCreateAction = GetBillAction(loggingSession, bill.KindId, BillActionType.Create);

            if (billCreateAction == null)
            {
                return(BillOperateStateService.NotSetCreateAction);
            }
            Hashtable hashTable = new Hashtable();

            hashTable.Add("RoleId", GetBasicRoleId(loggingSession.CurrentUserRole.RoleId));
            hashTable.Add("BillKindId", bill.KindId);
            hashTable.Add("BillActionId", billCreateAction.Id);
            hashTable.Add("PreviousBillStatus", beginBillStatus.Status);
            hashTable.Add("LanguageKindId", loggingSession.CurrentLanguageKindId);
            BillActionRoleModel billCreateActionRole = cSqlMapper.Instance(loggingSession.CurrentLoggingManager).QueryForObject <BillActionRoleModel>("BillActionRole.SelectByKindIdAndActionIdAndRoleIdAndPreviousStatus", hashTable);

            if (billCreateActionRole == null)
            {
                return(BillOperateStateService.NotAllowCreate);
            }
            ////判断是否超出系统设置时间
            //if (billCreateActionRole.ValidateDate == 0)
            //{
            //    return BillOperateStateService.OutDateTime;
            //}
            if (billKind.MoneyFlag == 1)
            {
                if ((bill.Money < billCreateActionRole.MinMoney) || (bill.Money > billCreateActionRole.MaxMoney))
                {
                    return(BillOperateStateService.OutOfMoneyScope);
                }
            }

            bill.AddUserId = loggingSession.CurrentUser.User_Id;
            bill.AddDate   = GetCurrentDateTime();
            bill.Status    = billCreateActionRole.CurrentStatus;
            cSqlMapper.Instance(loggingSession.CurrentLoggingManager).Insert("Bill.Insert", bill);
            InsertBillActionLog(loggingSession, bill, billCreateAction, billCreateActionRole, null);
            return(BillOperateStateService.CreateSuccessful);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 新建一个Bill
        /// </summary>
        /// <param name="loggingSession">当前登录用户的Session信息</param>
        /// <param name="bill">Bill</param>
        /// <returns>操作的状态</returns>
        public BillOperateStateService InsertBill(BillModel bill)
        {
            //获取表单类别
            BillKindModel billKind = GetBillKindById(bill.KindId);

            if (billKind == null)
            {
                return(BillOperateStateService.NotExistKind);
            }
            //获取表单状态
            BillStatusModel beginBillStatus = GetBillBeginStatus(bill.KindId);

            if (beginBillStatus == null)
            {
                return(BillOperateStateService.NotSetBeginStatus);
            }
            BillActionModel billCreateAction = GetBillAction(bill.KindId, BillActionType.Create);

            if (billCreateAction == null)
            {
                return(BillOperateStateService.NotSetCreateAction);
            }
            //获取角色与操作集合
            BillActionRoleModel billCreateActionRole = new BillActionRoleModel();
            DataSet             ds = new DataSet();

            ds = billService.GetbillCreateActionRole(bill.KindId, billCreateAction.Id, GetBasicRoleId(this.loggingSessionInfo.CurrentUserRole.RoleId), beginBillStatus.Status);
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                billCreateActionRole = DataTableToObject.ConvertToObject <BillActionRoleModel>(ds.Tables[0].Rows[0]);
            }
            if (billCreateActionRole == null)
            {
                return(BillOperateStateService.NotAllowCreate);
            }

            //if (billKind.MoneyFlag == 1)
            //{
            //    if ((bill.Money < billCreateActionRole.MinMoney) || (bill.Money > billCreateActionRole.MaxMoney))
            //    {
            //        return BillOperateStateService.OutOfMoneyScope;
            //    }
            //}

            bill.AddUserId = this.loggingSessionInfo.CurrentUser.User_Id;
            bill.AddDate   = GetCurrentDateTime();
            bill.Status    = billCreateActionRole.CurrentStatus;
            //插入bill信息
            billService.InsertBill(bill);

            //InsertBillActionLog(loggingSession, bill, billCreateAction, billCreateActionRole, null);

            return(BillOperateStateService.CreateSuccessful);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取某种表单的删除状态
        /// </summary>
        /// <param name="loggingSession">语言</param>
        /// <param name="billKindId">Bill的种类</param>
        /// <returns></returns>
        private BillStatusModel GetBillDeleteStatus(string billKindId)
        {
            BillStatusModel billStatusInfo = new BillStatusModel();
            DataSet         ds             = new DataSet();

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                billStatusInfo = DataTableToObject.ConvertToObject <BillStatusModel>(ds.Tables[0].Rows[0]);
            }
            return(billStatusInfo);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 获取某种Bill的某种状态
        /// </summary>
        /// <param name="loggingSession">当前登录用户的Session信息</param>
        /// <param name="billKindId">Bill的种类</param>
        /// <param name="billStatus">Bill的某种状态</param>
        /// <returns></returns>
        public BillStatusModel GetBillStatusByKindIdAndStatus(string billKindId, string billStatus)
        {
            BillStatusModel billStatusInfo = new BillStatusModel();
            DataSet         ds             = billService.GetBillStatusByKindIdAndStatus(billKindId, billStatus);

            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                billStatusInfo = DataTableToObject.ConvertToObject <BillStatusModel>(ds.Tables[0].Rows[0]);
            }
            return(billStatusInfo);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 添加一个表单的状态
        /// </summary>
        /// <param name="loggingSession">当前登录信息</param>
        /// <param name="billStatus">要添加的表单状态的信息</param>
        /// <returns></returns>
        public bool InsertBillStatus(BillStatusModel billStatus)
        {
            if (string.IsNullOrEmpty(billStatus.Id))
            {
                billStatus.Id = this.NewGuid();
            }

            billStatus.CreateUserID = this.loggingSessionInfo.CurrentUser.User_Id;
            billStatus.CreateTime   = this.GetCurrentDateTime();
            billStatus.customer_id  = loggingSessionInfo.CurrentLoggingManager.Customer_Id;
            return(billService.InsertBillStatus(billStatus));
        }
Exemplo n.º 7
0
        /// <summary>
        /// 新建表单状态
        /// </summary>
        /// <param name="billStatus"></param>
        /// <returns></returns>
        public bool InsertBillStatus(BillStatusModel billStatus)
        {
            string sql = "insert into t_def_bill_status "
                         + " (bill_status_id, bill_kind_id, bill_status, bill_status_name, begin_flag, end_flag, delete_flag, custom_flag, "
                         + " status, create_user_id, create_time,customer_id) "
                         + " values "
                         + " ('" + billStatus.Id + "', '" + billStatus.KindId + "', '" + billStatus.Status + "' , '" + billStatus.Description + "' , '" + billStatus.BeginFlag + "' , '" + billStatus.EndFlag + "' , '" + billStatus.DeleteFlag + "' , '" + billStatus.CustomFlag + "' , "
                         + " 1, '" + billStatus.CreateUserID + "' , '" + billStatus.CreateTime + "' ,'" + billStatus.customer_id + "' )";

            this.SQLHelper.ExecuteNonQuery(sql);
            return(true);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 添加一个表单的状态
        /// </summary>
        /// <param name="loggingSession">当前登录信息</param>
        /// <param name="billStatus">要添加的表单状态的信息</param>
        /// <returns></returns>
        public bool InsertBillStatus(LoggingSessionInfo loggingSession, BillStatusModel billStatus)
        {
            if (string.IsNullOrEmpty(billStatus.Id))
            {
                billStatus.Id = this.NewGuid();
            }

            billStatus.CreateUserID = loggingSession.CurrentUser.User_Id;
            billStatus.CreateTime   = this.GetCurrentDateTime();
            billStatus.customer_id  = loggingSession.CurrentLoggingManager.Customer_Id;
            cSqlMapper.Instance(loggingSession.CurrentLoggingManager).Insert("BillStatus.Insert", billStatus);
            return(true);
        }
Exemplo n.º 9
0
    //当前表单状态的数据
    private BillStatusModel currBillStatusData()
    {
        BillStatusModel billStatusModel = new BillStatusModel();

        billStatusModel.BillKindDescription = this.cbBillKind.SelectedItem.ToString();
        billStatusModel.KindId      = this.cbBillKind.SelectedValue;
        billStatusModel.BeginFlag   = int.Parse(this.cbBeginFlag.SelectedValue);
        billStatusModel.EndFlag     = int.Parse(this.cbEndFlag.SelectedValue);
        billStatusModel.DeleteFlag  = int.Parse(this.cbDeleteFlag.SelectedValue);
        billStatusModel.Status      = this.tbStatus.Text;
        billStatusModel.Description = this.tbDescription.Text;
        billStatusModel.CustomFlag  = int.Parse(this.tbCustomerFlag.Text);
        return(billStatusModel);
    }
Exemplo n.º 10
0
    //保存表单状态数据。
    private void saveBillStatusData(BillStatusModel data)
    {
        bool save = new cBillService().InsertBillStatus(loggingSessionInfo, data);

        if (save)
        {
            this.Redirect("保存成功", InfoType.Info, this.Request.QueryString["from"] ?? "bill_status_query.aspx");
            //this.InfoBox.ShowPopInfo("保存成功");
            //this.Page.ClientScript.RegisterStartupScript(this.GetType(), "key", "<script>go_back();</script>");
        }
        else
        {
            this.InfoBox.ShowPopError("保存失败");
        }
    }
Exemplo n.º 11
0
        /// <summary>
        /// 批准一个Bill(事务由调用方负责) Jermyn2012-09-17
        /// </summary>
        /// <param name="loggingSession">当前登录用户的Session信息</param>
        /// <param name="billId">Bill</param>
        /// <param name="remark">批注</param>
        /// <param name="strBillActionType">状态</param>
        /// <param name="strError">输出错误参数</param>
        /// <returns>操作的状态</returns>
        public BillOperateStateService ApproveBill(string billId, string remark, BillActionType strBillActionType, out string strError)
        {
            if (strBillActionType.Equals(""))
            {
                strError          = "BillActionType.Approve";
                strBillActionType = BillActionType.Approve;
            }
            BillModel bill = GetBillById(billId);

            if (bill == null)
            {
                strError = "BillOperateStateService.NotExist";
                return(BillOperateStateService.NotExist);
            }

            BillKindModel billKind = GetBillKindById(bill.KindId);

            if (billKind == null)
            {
                strError = "BillOperateStateService.NotExistKind";
                return(BillOperateStateService.NotExistKind);
            }
            BillStatusModel currentBillStatus = GetBillStatusByKindIdAndStatus(billKind.Id, bill.Status);

            if (currentBillStatus == null)
            {
                strError = "BillOperateStateService.NotExistStatus";
                return(BillOperateStateService.NotExistStatus);
            }
            BillActionModel billApproveAction = GetBillAction(bill.KindId, strBillActionType);

            if (billApproveAction == null)
            {
                strError = "BillOperateStateService.NotSetApproveAction";
                return(BillOperateStateService.NotSetApproveAction);
            }
            //获取审批权限
            DataSet             ds = billService.GetbillCreateActionRole(bill.KindId, billApproveAction.Id, GetBasicRoleId(this.loggingSessionInfo.CurrentUserRole.RoleId), currentBillStatus.Status);
            BillActionRoleModel billApproveActionRole = new BillActionRoleModel();

            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                billApproveActionRole = DataTableToObject.ConvertToObject <BillActionRoleModel>(ds.Tables[0].Rows[0]);
            }
            if (billApproveActionRole == null)
            {
                strError = "BillOperateStateService.NotAllowApprove--"
                           //+ "RoleId:" + GetBasicRoleId(loggingSession.CurrentUserRole.RoleId).ToString() + "----"
                           //+ "BillKindId:" + bill.KindId + "----"
                           //+ "BillActionId:" + billApproveAction.Id + "----"
                           //+ "PreviousBillStatus:" + currentBillStatus.Status + "----"
                           + "InoutStatus" + bill.Status + "--" + bill.BillStatusDescription + "--" + bill.Id
                ;
                return(BillOperateStateService.NotAllowApprove);
            }

            //if (billKind.MoneyFlag == 1)
            //{
            //    if ((bill.Money < billApproveActionRole.MinMoney) || (bill.Money > billApproveActionRole.MaxMoney))
            //    {
            //        strError = "BillOperateStateService.OutOfMoneyScope";
            //        return BillOperateStateService.OutOfMoneyScope;
            //    }
            //}

            bill.ModifyUserId = this.loggingSessionInfo.CurrentUser.User_Id;
            bill.ModifyDate   = GetCurrentDateTime();
            bill.Status       = billApproveActionRole.CurrentStatus;

            BillStatusModel nextBillStatus = GetBillStatusByKindIdAndStatus(billKind.Id, billApproveActionRole.CurrentStatus);

            if (nextBillStatus == null)
            {
                strError = "BillOperateStateService.NotExistStatus";
                return(BillOperateStateService.NotExistStatus);
            }
            //修改bill
            billService.UpdateBill(bill);
            //InsertBillActionLog(loggingSession, bill, billApproveAction, billApproveActionRole, remark);
            strError = "BillOperateStateService.ApproveSuccessful";
            return(BillOperateStateService.ApproveSuccessful);
        }
Exemplo n.º 12
0
        /// <summary>
        /// 批准一个Bill(事务由调用方负责)
        /// </summary>
        /// <param name="loggingSession">当前登录用户的Session信息</param>
        /// <param name="billId">Bill</param>
        /// <param name="remark">批注</param>
        /// <param name="strBillActionType">状态</param>
        /// <returns>操作的状态</returns>
        public BillOperateStateService ApproveBill(string billId, string remark, BillActionType strBillActionType)
        {
            if (strBillActionType.Equals(""))
            {
                strBillActionType = BillActionType.Approve;
            }
            BillModel bill = GetBillById(billId);

            if (bill == null)
            {
                return(BillOperateStateService.NotExist);
            }

            BillKindModel billKind = GetBillKindById(bill.KindId);

            if (billKind == null)
            {
                return(BillOperateStateService.NotExistKind);
            }
            BillStatusModel currentBillStatus = GetBillStatusByKindIdAndStatus(billKind.Id, bill.Status);

            if (currentBillStatus == null)
            {
                return(BillOperateStateService.NotExistStatus);
            }
            BillActionModel billApproveAction = GetBillAction(bill.KindId, strBillActionType);

            if (billApproveAction == null)
            {
                return(BillOperateStateService.NotSetApproveAction);
            }
            Hashtable           hashTable             = new Hashtable();
            BillActionRoleModel billApproveActionRole = new BillActionRoleModel();
            DataSet             ds = new DataSet();

            ds = billService.GetbillCreateActionRole(bill.KindId, billApproveAction.Id, GetBasicRoleId(this.loggingSessionInfo.CurrentUserRole.RoleId), currentBillStatus.Status);
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                billApproveActionRole = DataTableToObject.ConvertToObject <BillActionRoleModel>(ds.Tables[0].Rows[0]);
            }

            if (billApproveActionRole == null)
            {
                return(BillOperateStateService.NotAllowApprove);
            }

            //if (billKind.MoneyFlag == 1)
            //{
            //    if ((bill.Money < billApproveActionRole.MinMoney) || (bill.Money > billApproveActionRole.MaxMoney))
            //    {
            //        return BillOperateStateService.OutOfMoneyScope;
            //    }
            //}

            bill.ModifyUserId = this.loggingSessionInfo.CurrentUser.User_Id;
            bill.ModifyDate   = GetCurrentDateTime();
            bill.Status       = billApproveActionRole.CurrentStatus;

            BillStatusModel nextBillStatus = GetBillStatusByKindIdAndStatus(billKind.Id, billApproveActionRole.CurrentStatus);

            if (nextBillStatus == null)
            {
                return(BillOperateStateService.NotExistStatus);
            }
            billService.UpdateBill(bill);
            //InsertBillActionLog(loggingSession, bill, billApproveAction, billApproveActionRole, remark);

            return(BillOperateStateService.ApproveSuccessful);
        }
Exemplo n.º 13
0
        /// <summary>
        /// 判断能否添加一个表单状态
        /// </summary>
        /// <param name="loggingSession">当前登录的信息</param>
        /// <param name="billStatus">要添加的表单状态</param>
        /// <returns></returns>
        public BillStatusCheckState CheckAddBillStatus(LoggingSessionInfo loggingSession, BillStatusModel billStatus)
        {
            //获取表单类型下的所有的表单状态
            IList <BillStatusModel> bill_stauts_lst = this.GetAllBillStatusesByBillKindID(billStatus.KindId);

            //为空,可以添加
            if (bill_stauts_lst == null || bill_stauts_lst.Count == 0)
            {
                return(BillStatusCheckState.Successful);
            }

            //检查状态
            foreach (BillStatusModel m in bill_stauts_lst)
            {
                if (m.Status == billStatus.Status)
                {
                    return(BillStatusCheckState.ExistBillStatus);
                }
            }

            //一个表单类型下,只能有一个开始标志为1的表单状态
            if (billStatus.BeginFlag == 1)
            {
                foreach (BillStatusModel m in bill_stauts_lst)
                {
                    if (m.BeginFlag == 1)
                    {
                        return(BillStatusCheckState.ExistBegin);
                    }
                }
                return(BillStatusCheckState.Successful);
            }

            //一个表单类型下,只能有一个结束标志为1的表单状态
            if (billStatus.EndFlag == 1)
            {
                foreach (BillStatusModel m in bill_stauts_lst)
                {
                    if (m.EndFlag == 1)
                    {
                        return(BillStatusCheckState.ExistEnd);
                    }
                }
                return(BillStatusCheckState.Successful);
            }
            //一个表单类型下,只能有一个删除标志为1的表单状态
            if (billStatus.DeleteFlag == 1)
            {
                foreach (BillStatusModel m in bill_stauts_lst)
                {
                    if (m.DeleteFlag == 1)
                    {
                        return(BillStatusCheckState.ExistDelete);
                    }
                }
                return(BillStatusCheckState.Successful);
            }
            //一个表单类型下,只能有一个自定义标志的表单状态
            foreach (BillStatusModel m in bill_stauts_lst)
            {
                if (m.CustomFlag == billStatus.CustomFlag)
                {
                    return(BillStatusCheckState.ExistCustom);
                }
            }
            return(BillStatusCheckState.Successful);
        }
Exemplo n.º 14
0
        /// <summary>
        /// 批准一个Bill(事务由调用方负责) Jermyn2012-09-17
        /// </summary>
        /// <param name="loggingSession">当前登录用户的Session信息</param>
        /// <param name="billId">Bill</param>
        /// <param name="remark">批注</param>
        /// <param name="strBillActionType">状态</param>
        /// <param name="strError">输出错误参数</param>
        /// <returns>操作的状态</returns>
        public BillOperateStateService ApproveBill(LoggingSessionInfo loggingSession, string billId, string remark, BillActionType strBillActionType, out string strError)
        {
            if (strBillActionType.Equals(""))
            {
                strError          = "BillActionType.Approve";
                strBillActionType = BillActionType.Approve;
            }
            BillModel bill = GetBillById(loggingSession, billId);

            if (bill == null)
            {
                strError = "BillOperateStateService.NotExist";
                return(BillOperateStateService.NotExist);
            }

            BillKindModel billKind = GetBillKindById(loggingSession, bill.KindId);

            if (billKind == null)
            {
                strError = "BillOperateStateService.NotExistKind";
                return(BillOperateStateService.NotExistKind);
            }
            BillStatusModel currentBillStatus = GetBillStatusByKindIdAndStatus(loggingSession, billKind.Id, bill.Status);

            if (currentBillStatus == null)
            {
                strError = "BillOperateStateService.NotExistStatus";
                return(BillOperateStateService.NotExistStatus);
            }
            BillActionModel billApproveAction = GetBillAction(loggingSession, bill.KindId, strBillActionType);

            if (billApproveAction == null)
            {
                strError = "BillOperateStateService.NotSetApproveAction";
                return(BillOperateStateService.NotSetApproveAction);
            }
            Hashtable hashTable = new Hashtable();

            //hashTable.Add("RoleId", loggingSession.CurrentUserRole.RoleId);
            hashTable.Add("RoleId", GetBasicRoleId(loggingSession.CurrentUserRole.RoleId));
            hashTable.Add("BillKindId", bill.KindId);
            hashTable.Add("BillActionId", billApproveAction.Id);
            hashTable.Add("PreviousBillStatus", currentBillStatus.Status);
            hashTable.Add("LanguageKindId", loggingSession.CurrentLanguageKindId);
            BillActionRoleModel billApproveActionRole = cSqlMapper.Instance(loggingSession.CurrentLoggingManager).QueryForObject <BillActionRoleModel>("BillActionRole.SelectByKindIdAndActionIdAndRoleIdAndPreviousStatus", hashTable);

            if (billApproveActionRole == null)
            {
                strError = "BillOperateStateService.NotAllowApprove--"
                           //+ "RoleId:" + GetBasicRoleId(loggingSession.CurrentUserRole.RoleId).ToString() + "----"
                           //+ "BillKindId:" + bill.KindId + "----"
                           //+ "BillActionId:" + billApproveAction.Id + "----"
                           //+ "PreviousBillStatus:" + currentBillStatus.Status + "----"
                           + "InoutStatus" + bill.Status + "--" + bill.BillStatusDescription + "--" + bill.Id
                ;
                return(BillOperateStateService.NotAllowApprove);
            }
            //判断是否超出系统设置时间
            //if (billApproveActionRole.ValidateDate == 0)
            //{
            //    return BillOperateStateService.OutDateTime;
            //}
            if (billKind.MoneyFlag == 1)
            {
                if ((bill.Money < billApproveActionRole.MinMoney) || (bill.Money > billApproveActionRole.MaxMoney))
                {
                    strError = "BillOperateStateService.OutOfMoneyScope";
                    return(BillOperateStateService.OutOfMoneyScope);
                }
            }

            bill.ModifyUserId = loggingSession.CurrentUser.User_Id;
            bill.ModifyDate   = GetCurrentDateTime();
            bill.Status       = billApproveActionRole.CurrentStatus;

            BillStatusModel nextBillStatus = GetBillStatusByKindIdAndStatus(loggingSession, billKind.Id, billApproveActionRole.CurrentStatus);

            if (nextBillStatus == null)
            {
                strError = "BillOperateStateService.NotExistStatus";
                return(BillOperateStateService.NotExistStatus);
            }

            cSqlMapper.Instance(loggingSession.CurrentLoggingManager).Update("Bill.Update", bill);
            InsertBillActionLog(loggingSession, bill, billApproveAction, billApproveActionRole, remark);
            strError = "BillOperateStateService.ApproveSuccessful";
            return(BillOperateStateService.ApproveSuccessful);
        }
Exemplo n.º 15
0
        /// <summary>
        /// 删除一个Bill(事务由调用方负责)
        /// </summary>
        /// <param name="loggingSession">当前登录用户的Session信息</param>
        /// <param name="billId">Bill</param>
        /// <param name="remark">批注</param>
        /// <returns>操作的状态</returns>
        private BillOperateStateService DeleteBill(LoggingSessionInfo loggingSession, string billId, string remark)
        {
            BillModel bill = GetBillById(loggingSession, billId);

            if (bill == null)
            {
                return(BillOperateStateService.NotExist);
            }

            BillKindModel billKind = GetBillKindById(loggingSession, bill.KindId);

            if (billKind == null)
            {
                return(BillOperateStateService.NotExistKind);
            }
            BillStatusModel billStatus = GetBillStatusByKindIdAndStatus(loggingSession, billKind.Id, bill.Status);

            if (billStatus == null)
            {
                return(BillOperateStateService.NotExistStatus);
            }
            BillStatusModel billDeleteStatus = GetBillDeleteStatus(loggingSession, billKind.Id);

            if (billDeleteStatus == null)
            {
                return(BillOperateStateService.NotSetDeleteStatus);
            }
            BillActionModel billDeleteAction = GetBillAction(loggingSession, bill.KindId, BillActionType.Cancel);

            if (billDeleteAction == null)
            {
                return(BillOperateStateService.NotSetModifyAction);
            }
            Hashtable hashTable = new Hashtable();

            //hashTable.Add("RoleId", loggingSession.CurrentUserRole.RoleId);
            hashTable.Add("RoleId", GetBasicRoleId(loggingSession.CurrentUserRole.RoleId));
            hashTable.Add("BillKindId", bill.KindId);
            hashTable.Add("BillActionId", billDeleteAction.Id);
            hashTable.Add("PreviousBillStatus", billStatus.Status);
            hashTable.Add("LanguageKindId", loggingSession.CurrentLanguageKindId);
            BillActionRoleModel billDeleteActionRole = cSqlMapper.Instance().QueryForObject <BillActionRoleModel>("BillActionRole.SelectByKindIdAndActionIdAndRoleIdAndPreviousStatus", hashTable);

            if (billDeleteActionRole == null)
            {
                return(BillOperateStateService.NotAllowCancel);
            }
            ////判断是否超出系统设置时间
            //if (billDeleteActionRole.ValidateDate == 0)
            //{
            //    return BillOperateStateService.OutDateTime;
            //}
            if (billKind.MoneyFlag == 1)
            {
                if ((bill.Money < billDeleteActionRole.MinMoney) || (bill.Money > billDeleteActionRole.MaxMoney))
                {
                    return(BillOperateStateService.OutOfMoneyScope);
                }
            }

            bill.ModifyUserId = loggingSession.CurrentUser.User_Id;
            bill.ModifyDate   = GetCurrentDateTime();
            bill.Status       = billDeleteActionRole.CurrentStatus;
            cSqlMapper.Instance().Update("Bill.Update", bill);
            InsertBillActionLog(loggingSession, bill, billDeleteAction, billDeleteActionRole, remark);

            return(BillOperateStateService.CancelSuccessful);
        }