Ejemplo n.º 1
0
        /// <summary>
        /// 删除凭证
        /// </summary>
        /// <param name="id"></param>
        /// <param name="username"></param>
        /// <param name="realname"></param>
        /// <returns></returns>
        public string deleteCertificate(int id, string username, string realname)
        {
            Model.certificates model = GetModel(id);
            if (model == null)
            {
                return("凭证不存在");
            }
            if (model.ce_flag == 2)
            {
                return("审批通过的不能删除");
            }

            //判断是否被使用
            DataSet ds = new BLL.ReceiptPay().GetList(0, "rp_ceid=" + id, "");

            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                return("该凭证已被使用,不能删除");
            }
            if (dal.Delete(id))
            {
                Model.business_log logmodel = new Model.business_log();
                logmodel.ol_relateID    = id;
                logmodel.ol_title       = "删除凭证";
                logmodel.ol_content     = "凭证号:" + model.ce_num + "<br/>凭证日期:" + model.ce_date.Value.ToString("yyyy-MM-dd") + "";
                logmodel.ol_operateDate = DateTime.Now;
                new business_log().Add(DTEnums.ActionEnum.Delete.ToString(), logmodel, username, realname);
                return("");
            }
            return("删除失败");
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public string Add(Model.certificates model, out int id)
 {
     id = 0;
     if (string.IsNullOrEmpty(model.ce_num))
     {
         return("请填写凭证号");
     }
     if (model.ce_date == null)
     {
         return("请填写凭证日期");
     }
     if (Exists(model.ce_num, model.ce_date))
     {
         return("凭证号、凭证日期重复");
     }
     model.ce_flag = 0;
     id            = dal.Add(model);
     if (id > 0)
     {
         Model.business_log logmodel = new Model.business_log();
         logmodel.ol_relateID    = id;
         logmodel.ol_title       = "添加凭证";
         logmodel.ol_content     = "凭证号:" + model.ce_num + "<br/>凭证日期:" + model.ce_date.Value.ToString("yyyy-MM-dd") + "";
         logmodel.ol_operateDate = DateTime.Now;
         new business_log().Add(DTEnums.ActionEnum.Audit.ToString(), logmodel, model.ce_personNum, model.ce_personName);
         return("添加成功");
     }
     return("添加失败");
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Model.certificates model)
        {
            StringBuilder strSql = new StringBuilder();
            StringBuilder str1   = new StringBuilder();

            //利用反射获得属性的所有公共属性
            PropertyInfo[]      pros  = model.GetType().GetProperties();
            List <SqlParameter> paras = new List <SqlParameter>();

            strSql.Append("update MS_certificates set ");
            foreach (PropertyInfo pi in pros)
            {
                //如果不是主键则追加sql字符串
                if (!pi.Name.Equals("ce_id"))
                {
                    //判断属性值是否为空
                    if (pi.GetValue(model, null) != null)
                    {
                        str1.Append(pi.Name + "=@" + pi.Name + ",");                          //声明参数
                        paras.Add(new SqlParameter("@" + pi.Name, pi.GetValue(model, null))); //对参数赋值
                    }
                }
            }
            strSql.Append(str1.ToString().Trim(','));
            strSql.Append(" where ce_id=@id ");
            paras.Add(new SqlParameter("@id", model.ce_id));
            return(DbHelperSQL.ExecuteSql(strSql.ToString(), paras.ToArray()) > 0);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model.certificates GetModel(string num, DateTime?date)
        {
            StringBuilder strSql = new StringBuilder();
            StringBuilder str1   = new StringBuilder();

            Model.certificates model = new Model.certificates();
            //利用反射获得属性的所有公共属性
            PropertyInfo[] pros = model.GetType().GetProperties();
            foreach (PropertyInfo p in pros)
            {
                str1.Append(p.Name + ",");//拼接字段
            }
            strSql.Append("select top 1 " + str1.ToString().Trim(','));
            strSql.Append(" from MS_certificates");
            strSql.Append(" where ce_num=@num and ce_date=@date");
            SqlParameter[] parameters =
            {
                new SqlParameter("@num",  SqlDbType.VarChar,  20),
                new SqlParameter("@date", SqlDbType.DateTime, 20)
            };
            parameters[0].Value = num;
            parameters[1].Value = date;
            DataTable dt = DbHelperSQL.Query(strSql.ToString(), parameters).Tables[0];

            if (dt.Rows.Count > 0)
            {
                return(DataRowToModel(dt.Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model.certificates GetModel(int id)
        {
            StringBuilder strSql = new StringBuilder();
            StringBuilder str1   = new StringBuilder();

            Model.certificates model = new Model.certificates();
            //利用反射获得属性的所有公共属性
            PropertyInfo[] pros = model.GetType().GetProperties();
            foreach (PropertyInfo p in pros)
            {
                str1.Append(p.Name + ",");//拼接字段
            }
            strSql.Append("select top 1 " + str1.ToString().Trim(','));
            strSql.Append(" from MS_certificates");
            strSql.Append(" where ce_id=@id");
            SqlParameter[] parameters =
            {
                new SqlParameter("@id", SqlDbType.Int, 4)
            };
            parameters[0].Value = id;
            DataTable dt = DbHelperSQL.Query(strSql.ToString(), parameters).Tables[0];

            if (dt.Rows.Count > 0)
            {
                return(DataRowToModel(dt.Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 6
0
        private void ShowInfo(int _id)
        {
            BLL.certificates   bll   = new BLL.certificates();
            Model.certificates model = bll.GetModel(_id);

            txtNum.Text    = model.ce_num;
            txtDate.Text   = model.ce_date.Value.ToString("yyyy-MM-dd");
            txtRemark.Text = model.ce_remark;
        }
Ejemplo n.º 7
0
 /// <summary>
 /// 将对象转换实体
 /// </summary>
 public Model.certificates DataRowToModel(DataRow row)
 {
     Model.certificates model = new Model.certificates();
     if (row != null)
     {
         //利用反射获得属性的所有公共属性
         Type modelType = model.GetType();
         for (int i = 0; i < row.Table.Columns.Count; i++)
         {
             //查找实体是否存在列表相同的公共属性
             PropertyInfo proInfo = modelType.GetProperty(row.Table.Columns[i].ColumnName);
             if (proInfo != null && row[i] != DBNull.Value)
             {
                 proInfo.SetValue(model, row[i], null);//用索引值设置属性值
             }
         }
     }
     return(model);
 }
Ejemplo n.º 8
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Model.certificates model)
        {
            StringBuilder strSql = new StringBuilder();
            StringBuilder str1   = new StringBuilder(); //数据字段
            StringBuilder str2   = new StringBuilder(); //数据参数

            //利用反射获得属性的所有公共属性
            PropertyInfo[]      pros  = model.GetType().GetProperties();
            List <SqlParameter> paras = new List <SqlParameter>();

            strSql.Append("insert into MS_certificates(");
            foreach (PropertyInfo pi in pros)
            {
                //如果不是主键则追加sql字符串
                if (!pi.Name.Equals("ce_id"))
                {
                    //判断属性值是否为空
                    if (pi.GetValue(model, null) != null)
                    {
                        str1.Append(pi.Name + ",");                                           //拼接字段
                        str2.Append("@" + pi.Name + ",");                                     //声明参数
                        paras.Add(new SqlParameter("@" + pi.Name, pi.GetValue(model, null))); //对参数赋值
                    }
                }
            }
            strSql.Append(str1.ToString().Trim(','));
            strSql.Append(") values (");
            strSql.Append(str2.ToString().Trim(','));
            strSql.Append(") ");
            strSql.Append(";select @@IDENTITY;");
            object obj = DbHelperSQL.GetSingle(strSql.ToString(), paras.ToArray());

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
Ejemplo n.º 9
0
        private string DoAdd()
        {
            Model.certificates model = new Model.certificates();
            BLL.certificates   bll   = new BLL.certificates();
            manager = GetAdminInfo();

            model.ce_num        = txtNum.Text.Trim();
            model.ce_date       = ConvertHelper.toDate(txtDate.Text.Trim());
            model.ce_remark     = txtRemark.Text.Trim();
            model.ce_personNum  = manager.user_name;
            model.ce_personName = manager.real_name;
            int    _naid  = 0;
            string result = bll.Add(model, out _naid);

            if (_naid > 0)
            {
                return("");
            }

            return("添加失败");
        }
Ejemplo n.º 10
0
 /// <summary>
 /// 审批凭证
 /// </summary>
 /// <param name="id"></param>
 /// <param name="status"></param>
 /// <param name="remark"></param>
 /// <param name="username"></param>
 /// <param name="realname"></param>
 /// <returns></returns>
 public string checkCertificate(int id, byte?status, string remark, string username, string realname)
 {
     Model.certificates model = GetModel(id);
     if (model == null)
     {
         return("凭证不存在");
     }
     if (model.ce_flag == status)
     {
         return("状态未变更");
     }
     if (dal.checkCertificate(id, status, remark, username, realname))
     {
         Model.business_log logmodel = new Model.business_log();
         logmodel.ol_relateID    = id;
         logmodel.ol_title       = "审批凭证";
         logmodel.ol_content     = "凭证号:" + model.ce_num + "<br/>凭证日期:" + model.ce_date.Value.ToString("yyyy-MM-dd") + "<br/>状态:" + Common.BusinessDict.checkStatus()[model.ce_flag.Value] + "→<font color='red'>" + Common.BusinessDict.checkStatus()[status] + "</font>";
         logmodel.ol_operateDate = DateTime.Now;
         new business_log().Add(DTEnums.ActionEnum.Audit.ToString(), logmodel, username, realname);
         return("");
     }
     return("审批失败");
 }
Ejemplo n.º 11
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Model.certificates model)
 {
     return(dal.Update(model));
 }
Ejemplo n.º 12
0
        private string DoEdit(int _id)
        {
            BLL.certificates   bll   = new BLL.certificates();
            Model.certificates model = bll.GetModel(_id);
            if (model.ce_flag == 2)
            {
                return("凭证号已经审批通过,不能编辑");
            }
            if (string.IsNullOrEmpty(txtNum.Text.Trim()))
            {
                return("请填写凭证号");
            }
            if (string.IsNullOrEmpty(txtDate.Text.Trim()))
            {
                return("请填写凭证日期");
            }
            string _content = string.Empty;
            bool   _update  = false;

            if (model.ce_num != txtNum.Text.Trim())
            {
                _update   = true;
                _content += "凭证号:" + model.ce_num + "→<font color='red'>" + txtNum.Text.Trim() + "</font><br/>";
            }
            model.ce_num = txtNum.Text.Trim();
            if (model.ce_date != Convert.ToDateTime(txtDate.Text.Trim()))
            {
                _update   = true;
                _content += "凭证日期:" + model.ce_date.Value.ToString("yyyy-MM-dd") + "→<font color='red'>" + txtNum.Text.Trim() + "</font><br/>";
            }
            model.ce_date = Convert.ToDateTime(txtDate.Text.Trim());
            if (_update)
            {
                //判断是否被使用
                DataSet ds = new BLL.ReceiptPay().GetList(0, "rp_ceid=" + id, "");
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    return("该凭证已被使用,不能修改凭证号和凭证日期,只能修改备注");
                }
            }

            if (model.ce_remark != txtRemark.Text.Trim())
            {
                _content += "备注:" + model.ce_remark + "→<font color='red'>" + txtRemark.Text.Trim() + "</font><br/>";
            }
            model.ce_remark = txtRemark.Text.Trim();
            if (bll.Exists(model.ce_num, model.ce_date, _id))
            {
                return("凭证号、凭证日期重复");
            }
            if (bll.Update(model))
            {
                if (!string.IsNullOrEmpty(_content))
                {
                    logmodel                = new Model.business_log();
                    logmodel.ol_relateID    = _id;
                    logmodel.ol_title       = "修改凭证";
                    logmodel.ol_content     = _content;
                    logmodel.ol_operateDate = DateTime.Now;
                    AddBusinessLog(DTEnums.ActionEnum.Edit.ToString(), logmodel); //记录日志
                }
                return("");
            }

            return("修改失败");
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 标记凭证
        /// </summary>
        /// <param name="id"></param>
        /// <param name="num"></param>
        /// <param name="date"></param>
        /// <param name="username"></param>
        /// <param name="realname"></param>
        /// <returns></returns>
        public string signCertificate(int id, string num, string date, Model.manager manager)
        {
            if (new BLL.department().getGroupArea() != manager.area || (!new permission().checkHasPermission(manager, "0404") && !new permission().checkHasPermission(manager, "0406")))
            {
                return("无权限标记");
            }
            Model.certificates model = new BLL.certificates().GetModel(num, Convert.ToDateTime(date));
            int ceid = 0;

            if (model == null)
            {
                Model.certificates cemodel = new Model.certificates();
                cemodel.ce_num        = num;
                cemodel.ce_date       = ConvertHelper.toDate(date);
                cemodel.ce_personNum  = manager.user_name;
                cemodel.ce_personName = manager.real_name;
                new BLL.certificates().Add(cemodel, out ceid);
                if (ceid > 0)
                {
                    cemodel.ce_id = ceid;
                    model         = cemodel;
                }
            }
            else
            {
                ceid = model.ce_id.Value;
            }
            if (model.ce_flag == 2)
            {
                return("凭证号和凭证日期已经审批通过,不能使用");
            }
            Model.ReceiptPay rp = GetModel(id);
            if (rp == null)
            {
                return("记录不存在");
            }
            string text = "收款";

            if (!rp.rp_type.Value)
            {
                text = "付款";
            }
            if (!rp.rp_isConfirm.Value)
            {
                return("必须确认" + text + "后才能标记凭证");
            }
            //如果已经存在凭证,且该凭证已经审核通过,则不能标记新凭证
            if (rp.rp_ceid > 0)
            {
                Model.certificates oldcert = new BLL.certificates().GetModel(rp.rp_ceid.Value);
                if (oldcert.ce_flag == 2)
                {
                    return("前面标记的凭证已经审核通过,不能再标记新的凭证");
                }
            }

            rp.rp_ceid = ceid;

            if (dal.Update(rp))
            {
                Model.business_log logmodel = new Model.business_log();
                logmodel.ol_relateID    = id;
                logmodel.ol_cid         = rp.rp_cid.Value;
                logmodel.ol_title       = "标记凭证";
                logmodel.ol_content     = "凭证号:" + num + "<br/>凭证日期:" + date;
                logmodel.ol_operateDate = DateTime.Now;
                new business_log().Add(DTEnums.ActionEnum.Sign.ToString(), logmodel, manager.user_name, manager.real_name);
                return("");
            }
            return("标记失败");
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public string Add(Model.ReceiptPay model, Model.manager manager, string num, string date, out int rpid, bool flag = true)
        {
            rpid = 0;
            string typeText = "收款";

            if (!model.rp_type.Value)
            {
                typeText = "付款";
            }
            if (flag)
            {
                model.rp_isExpect = true;
            }
            else
            {
                model.rp_isExpect = false;
            }
            if (model.rp_isExpect.Value && !new BLL.permission().checkHasPermission(manager, "0406"))
            {
                return("无权限添加");
            }
            if (model.rp_cid == 0)
            {
                return("请选择" + typeText + "对象");
            }
            if (model.rp_money == 0)
            {
                return("请填写" + typeText + "金额");
            }
            if (model.rp_foredate == null)
            {
                return("请选择" + (model.rp_type.Value?"预收":"预付") + "日期");
            }
            //预收款的收款方式是必填的,预付款的付款方式是非必填的
            if (model.rp_type.Value && model.rp_method == 0)
            {
                return("请选择" + typeText + "方式");
            }
            else
            {
                if (model.rp_method != 0)
                {
                    Model.payMethod method = new BLL.payMethod().GetModel(model.rp_method.Value);
                    if (method.pm_type.Value)
                    {
                        model.rp_cbid = 0;
                        if (string.IsNullOrEmpty(num))
                        {
                            return("请填写凭证号");
                        }
                        if (string.IsNullOrEmpty(date))
                        {
                            return("请填写凭证日期");
                        }
                        Model.certificates ce = new BLL.certificates().GetModel(num, Convert.ToDateTime(date));
                        int ceid = 0;
                        if (ce == null)
                        {
                            Model.certificates cemodel = new Model.certificates();
                            cemodel.ce_num        = num;
                            cemodel.ce_date       = ConvertHelper.toDate(date);
                            cemodel.ce_personNum  = manager.user_name;
                            cemodel.ce_personName = manager.real_name;
                            new BLL.certificates().Add(cemodel, out ceid);
                            if (ceid > 0)
                            {
                                cemodel.ce_id = ceid;
                            }
                        }
                        else
                        {
                            ceid = ce.ce_id.Value;
                        }
                        model.rp_ceid = ceid;
                    }
                    else
                    {
                        if (model.rp_cbid == 0 && model.rp_money < 0)
                        {
                            return("请选择客户银行账号");
                        }
                    }
                }
                else
                {
                    if (model.rp_cbid == 0)
                    {
                        return("请选择客户银行账号");
                    }
                }
            }
            model.rp_isConfirm = false;

            bool isChongzhang = false;

            if (model.rp_type.Value)
            {
                model.rp_flag  = 0;
                model.rp_flag1 = 0;
                if (model.rp_money >= 0)
                {
                    model.rp_flag       = 2;
                    model.rp_checkTime  = DateTime.Now;
                    model.rp_flag1      = 2;
                    model.rp_checkTime1 = DateTime.Now;
                    isChongzhang        = model.rp_method.Value > 0 && new BLL.payMethod().GetModel(model.rp_method.Value).pm_type.Value;
                    if (isChongzhang)
                    {
                        model.rp_isConfirm     = true;
                        model.rp_date          = model.rp_foredate;
                        model.rp_confirmerName = manager.real_name;
                        model.rp_confirmerNum  = manager.user_name;
                    }
                }
                else
                {
                    isChongzhang = model.rp_method.Value > 0 && new BLL.payMethod().GetModel(model.rp_method.Value).pm_type.Value;
                    if (isChongzhang)
                    {
                        model.rp_flag          = 2;
                        model.rp_checkTime     = DateTime.Now;
                        model.rp_flag1         = 2;
                        model.rp_checkTime1    = DateTime.Now;
                        model.rp_isConfirm     = true;
                        model.rp_date          = model.rp_foredate;
                        model.rp_confirmerName = manager.real_name;
                        model.rp_confirmerNum  = manager.user_name;
                    }
                    else
                    {
                        if (model.rp_cbid == 0)
                        {
                            return("请选择客户银行账号");
                        }
                    }
                }
            }
            else
            {
                model.rp_isExpect = true;
                model.rp_flag     = 0;
                model.rp_flag1    = 0;
                isChongzhang      = model.rp_method.Value > 0 && new BLL.payMethod().GetModel(model.rp_method.Value).pm_type.Value;
                if (isChongzhang || model.rp_money < 0)
                {
                    model.rp_flag          = 2;
                    model.rp_checkTime     = DateTime.Now;
                    model.rp_flag1         = 2;
                    model.rp_checkTime1    = DateTime.Now;
                    model.rp_isConfirm     = true;
                    model.rp_date          = model.rp_foredate;
                    model.rp_confirmerName = manager.real_name;
                    model.rp_confirmerNum  = manager.user_name;
                }
            }

            model.rp_personNum  = manager.user_name;
            model.rp_personName = manager.real_name;
            model.rp_adddate    = DateTime.Now;
            model.rp_area       = manager.area;
            rpid = dal.Add(model);
            if (rpid > 0)
            {
                StringBuilder content = new StringBuilder();
                content.Append("" + typeText + "对象ID:" + model.rp_cid + "<br/>");
                content.Append("预收款:是<br/>");
                content.Append("" + typeText + "金额:" + model.rp_money + "<br/>");
                content.Append("" + (model.rp_type.Value ? "预收" : "预付") + "日期:" + model.rp_foredate.Value.ToString("yyyy-MM-dd") + "<br/>");
                content.Append("收款方式ID:" + model.rp_method + "<br/>");
                content.Append("收款内容:" + model.rp_content + "<br/>");
                content.Append("客户银行账号:" + model.rp_cbid + "<br/>");

                Model.business_log logmodel = new Model.business_log();
                logmodel.ol_relateID    = rpid;
                logmodel.ol_cid         = model.rp_cid.Value;
                logmodel.ol_title       = "添加" + typeText + "";
                logmodel.ol_content     = content.ToString();
                logmodel.ol_operateDate = DateTime.Now;
                new business_log().Add(DTEnums.ActionEnum.Add.ToString(), logmodel, manager.user_name, manager.real_name);

                //钉钉通知
                if (!model.rp_type.Value && model.rp_money >= 0 && (model.rp_method == 0 || !isChongzhang))
                {
                    DataTable userDt = new BLL.manager().getUserByPermission("0402").Tables[0];
                    if (userDt != null)
                    {
                        string replaceContent = model.rp_money + "," + model.rp_content;
                        string replaceUser    = model.rp_personNum + "," + model.rp_personName;
                        foreach (DataRow dr in userDt.Rows)
                        {
                            //钉钉推送通知
                            if (!string.IsNullOrEmpty(Utils.ObjectToStr(dr["oauth_userid"])))
                            {
                                new BLL.selfMessage().sentDingMessage("添加预付款", dr["oauth_userid"].ToString(), replaceContent, replaceUser);
                            }
                        }
                    }
                }

                //退款订单通知
                if (model.rp_type.Value && model.rp_money < 0 && !isChongzhang)
                {
                    DataTable userDt = new BLL.manager().getUserByPermission("0402").Tables[0];
                    if (userDt != null)
                    {
                        string replaceContent = model.rp_money + "," + model.rp_content;
                        string replaceUser    = model.rp_personNum + "," + model.rp_personName;
                        foreach (DataRow dr in userDt.Rows)
                        {
                            //钉钉推送通知
                            if (!string.IsNullOrEmpty(Utils.ObjectToStr(dr["oauth_userid"])))
                            {
                                new BLL.selfMessage().sentDingMessage("添加退款", dr["oauth_userid"].ToString(), replaceContent, replaceUser);
                            }
                        }
                    }
                }

                return("");
            }
            return("添加失败");
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public string Update(Model.ReceiptPay model, string content, Model.manager manager, string num, string date, bool updateMoney = false)
        {
            if (!new BLL.permission().checkHasPermission(manager, "0401"))//如果不是财务
            {
                return("无权限编辑");
            }
            else
            {
                if (model.rp_personNum != manager.user_name && !new BLL.permission().checkHasPermission(manager, "0403"))
                {
                    return("无权限编辑");
                }
            }
            string typeText = "收款";

            if (model.rp_type.Value)
            {
                if (model.rp_isConfirm.Value)
                {
                    return("已经确认收款,不能再编辑");
                }
            }
            else
            {
                typeText = "付款";
                if (updateMoney)
                {
                    if (model.rp_money < 0)
                    {
                        model.rp_flag          = 2;
                        model.rp_checkTime     = DateTime.Now;
                        model.rp_flag1         = 2;
                        model.rp_checkTime1    = DateTime.Now;
                        model.rp_isConfirm     = true;
                        model.rp_date          = model.rp_foredate;
                        model.rp_confirmerName = manager.real_name;
                        model.rp_confirmerNum  = manager.user_name;
                    }
                    else
                    {
                        model.rp_flag         = 0;
                        model.rp_checkNum     = "";
                        model.rp_checkName    = "";
                        model.rp_checkRemark  = "";
                        model.rp_checkTime    = null;
                        model.rp_flag1        = 0;
                        model.rp_checkNum1    = "";
                        model.rp_checkName1   = "";
                        model.rp_checkRemark1 = "";
                        model.rp_checkTime1   = null;
                        model.rp_isConfirm    = false;
                    }
                }
                else
                {
                    if (model.rp_money >= 0 && model.rp_flag == 2 && model.rp_flag1 != 1 && !new BLL.payMethod().GetModel(model.rp_method.Value).pm_type.Value)
                    {
                        return("财务已经审批通过,不能再编辑");
                    }
                    if (model.rp_flag == 1 || model.rp_flag1 == 1)
                    {
                        model.rp_flag         = 0;
                        model.rp_checkNum     = "";
                        model.rp_checkName    = "";
                        model.rp_checkRemark  = "";
                        model.rp_checkTime    = null;
                        model.rp_flag1        = 0;
                        model.rp_checkNum1    = "";
                        model.rp_checkName1   = "";
                        model.rp_checkRemark1 = "";
                        model.rp_checkTime1   = null;
                    }
                }
            }
            if (model.rp_cid == 0)
            {
                return("请选择" + typeText + "对象");
            }
            if (model.rp_money == 0)
            {
                return("请填写" + typeText + "金额");
            }
            if (model.rp_foredate == null)
            {
                return("请选择" + (model.rp_type.Value ? "预收" : "预付") + "日期");
            }
            if (model.rp_type.Value && model.rp_method == 0)
            {
                return("请选择" + typeText + "方式");
            }
            else
            {
                if (model.rp_method != 0)
                {
                    Model.payMethod method = new BLL.payMethod().GetModel(model.rp_method.Value);
                    if (method.pm_type.Value)
                    {
                        model.rp_cbid = 0;
                        if (string.IsNullOrEmpty(num))
                        {
                            return("请填写凭证号");
                        }
                        if (string.IsNullOrEmpty(date))
                        {
                            return("请填写凭证日期");
                        }
                        Model.certificates ce = new BLL.certificates().GetModel(num, Convert.ToDateTime(date));
                        int ceid = 0;
                        if (ce == null)
                        {
                            Model.certificates cemodel = new Model.certificates();
                            cemodel.ce_num        = num;
                            cemodel.ce_date       = ConvertHelper.toDate(date);
                            cemodel.ce_personNum  = manager.user_name;
                            cemodel.ce_personName = manager.real_name;
                            new BLL.certificates().Add(cemodel, out ceid);
                            if (ceid > 0)
                            {
                                cemodel.ce_id = ceid;
                            }
                        }
                        else
                        {
                            ceid = ce.ce_id.Value;
                        }
                        model.rp_ceid = ceid;
                    }
                    else
                    {
                        model.rp_ceid = 0;
                        if (model.rp_cbid == 0)
                        {
                            return("请选择客户银行账号");
                        }
                    }
                }
                else
                {
                    if (model.rp_cbid == 0)
                    {
                        return("请选择客户银行账号");
                    }
                }
            }
            if (dal.Update(model))
            {
                Model.business_log logmodel = new Model.business_log();
                logmodel.ol_relateID    = model.rp_id.Value;
                logmodel.ol_cid         = model.rp_cid.Value;
                logmodel.ol_title       = "编辑" + typeText + "";
                logmodel.ol_content     = content.ToString();
                logmodel.ol_operateDate = DateTime.Now;
                new business_log().Add(DTEnums.ActionEnum.Edit.ToString(), logmodel, manager.user_name, manager.real_name);

                //钉钉通知
                if (!model.rp_type.Value)
                {
                    DataTable userDt = new BLL.manager().getUserByPermission("0402").Tables[0];
                    if (userDt != null)
                    {
                        string replaceContent = model.rp_money + "," + model.rp_content;
                        string replaceUser    = model.rp_personNum + "," + model.rp_personName;
                        foreach (DataRow dr in userDt.Rows)
                        {
                            //钉钉推送通知
                            if (!string.IsNullOrEmpty(Utils.ObjectToStr(dr["oauth_userid"])))
                            {
                                new BLL.selfMessage().sentDingMessage("添加预付款", dr["oauth_userid"].ToString(), replaceContent, replaceUser);
                            }
                        }
                    }
                }

                return("");
            }
            return("编辑失败");
        }