username@email.com
2025-02-06 0cf6336668b925fa891b12e464ba4bdfc555a200
总经理可以批量审批

批量付款
6个文件已修改
6个文件已添加
867 ■■■■■ 已修改文件
CY_ECommercePlatform/CY.WebForm/CY.WebForm.csproj 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/financial/BaoxiaoFukuanPiliang.aspx 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/financial/BaoxiaoFukuanPiliang.aspx.cs 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/financial/BaoxiaoFukuanPiliang.aspx.designer.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/front/InquiryOnLine.aspx.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/personnel/StaffEdit.aspx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoFukuanList.aspx 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoPiliangReply.aspx 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoPiliangReply.aspx.cs 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoPiliangReply.aspx.designer.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoReplyList.aspx 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoReplyList.aspx.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/CY.WebForm.csproj
@@ -2046,6 +2046,7 @@
    <Content Include="Pages\common\U_Info.ascx" />
    <Content Include="Pages\common\U_Link.ascx" />
    <Content Include="Pages\common\U_Login.ascx" />
    <Content Include="Pages\financial\BaoxiaoFukuanPiliang.aspx" />
    <Content Include="Pages\financial\DepositsCustomershouruqueren.aspx" />
    <Content Include="Pages\financial\DepositsCustomerFapiao.aspx" />
    <Content Include="Pages\financial\BaozhengjinIncome.aspx" />
@@ -2771,6 +2772,7 @@
    <Content Include="Pages\workcar\MemberDictionaryEdit.aspx" />
    <Content Include="Pages\workcar\MemberDictionaryList.aspx" />
    <Content Include="Pages\work\BaoxiaoFukuanList.aspx" />
    <Content Include="Pages\work\BaoxiaoPiliangReply.aspx" />
    <Content Include="Pages\work\BaoxiaoReplyList.aspx" />
    <Content Include="Pages\work\MyPlanAdd.aspx" />
    <Content Include="Pages\work\MyPlanList.aspx" />
@@ -4453,6 +4455,13 @@
    </Compile>
    <Compile Include="Pages\common\U_Login.ascx.designer.cs">
      <DependentUpon>U_Login.ascx</DependentUpon>
    </Compile>
    <Compile Include="Pages\financial\BaoxiaoFukuanPiliang.aspx.cs">
      <DependentUpon>BaoxiaoFukuanPiliang.aspx</DependentUpon>
      <SubType>ASPXCodeBehind</SubType>
    </Compile>
    <Compile Include="Pages\financial\BaoxiaoFukuanPiliang.aspx.designer.cs">
      <DependentUpon>BaoxiaoFukuanPiliang.aspx</DependentUpon>
    </Compile>
    <Compile Include="Pages\financial\DepositsCustomershouruqueren.aspx.cs">
      <DependentUpon>DepositsCustomershouruqueren.aspx</DependentUpon>
@@ -8937,6 +8946,13 @@
    <Compile Include="Pages\work\BaoxiaoFukuanList.aspx.designer.cs">
      <DependentUpon>BaoxiaoFukuanList.aspx</DependentUpon>
    </Compile>
    <Compile Include="Pages\work\BaoxiaoPiliangReply.aspx.cs">
      <DependentUpon>BaoxiaoPiliangReply.aspx</DependentUpon>
      <SubType>ASPXCodeBehind</SubType>
    </Compile>
    <Compile Include="Pages\work\BaoxiaoPiliangReply.aspx.designer.cs">
      <DependentUpon>BaoxiaoPiliangReply.aspx</DependentUpon>
    </Compile>
    <Compile Include="Pages\work\BaoxiaoReplyList.aspx.cs">
      <DependentUpon>BaoxiaoReplyList.aspx</DependentUpon>
      <SubType>ASPXCodeBehind</SubType>
CY_ECommercePlatform/CY.WebForm/Pages/financial/BaoxiaoFukuanPiliang.aspx
New file
@@ -0,0 +1,129 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BaoxiaoFukuanPiliang.aspx.cs" Inherits="CY.WebForm.Pages.financial.BaoxiaoFukuanPiliang" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>添加支出记录</title>
    <uc:CMSHead ID="CMSHead1" runat="server" />
</head>
<body>
    <form id="form1" runat="server" class="form2">
    <div class="scrollCotent">
        <table class="tableStyle">
            <tr>
                <td class="ali03 ">
                    账户类型:
                </td>
                <td>
                    <select class="Sreq" id="selAcoountType" runat="server" datatextfield="Name" datavaluefield="Name" onchange="ChangeThisType(this);" keepdefaultstyle="true" msg="请选择账户类型">
                    </select>
                </td>
            </tr>
            <tr>
                <td class="ali03 ">
                    账户名称:
                </td>
                <td>
                    <select class="Sreq" id="selAccountName" runat="server" datatextfield="AccountName" datavaluefield="Keyid" keepdefaultstyle="true" msg="请选择账户名称">
                        <option value="">请选择</option>
                    </select>
                </td>
            </tr>
           <%-- <tr>
                <td class="ali03 ">
                    科目名称:
                </td>
                <td>
                   <input type="hidden" id="selSubject"  runat="server" />
                     <input runat="server" id="selSubjectName" type="text" readonly ="readonly"  />
                </td>
            </tr>--%>
            <tr>
                <td class="ali03 ">
                    付款金额:
                </td>
                <td>
                    <input runat="server" id="txtMoney" type="text" class=" float req" maxlength="12" minNot="0" readonly="readonly"  />(元)
                </td>
            </tr>
           <%-- <tr>
                <td class="ali03 ">
                    部门:
                </td>
                <td>
                    <input runat="server" id="txtDepartment" maxlength="50" type="text" style="width: 259px" readonly="readonly" />
                </td>
            </tr>
            <tr>
                <td class="ali03 ">
                    收款人(单位):
                </td>
                <td>
                    <input runat="server" id="txtPaymentUnit" type="text" style="width: 259px" readonly="readonly"  />
                </td>
            </tr>
            <tr>
                <td class="ali03 ">
                    摘要:
                </td>
                <td>
                    <textarea runat="server" class="req" id="txtOperationalMatters" style="height: 40px"  msg="请填写摘要" readonly="readonly"  ></textarea>
                </td>
            </tr>--%>
            <tr style="display: none">
                <td class="ali03 ">
                    备注:
                </td>
                <td>
                    <textarea runat="server" id="txtRemark" style="width: 400px;"></textarea>
                </td>
            </tr>
            <tr>
                <td class="ali03">
                </td>
                <td>
                    <asp:Button ID="btn_Submit" Text="提交" runat="server" OnClick="btn_Submit_Click" />
                </td>
            </tr>
        </table>
    </div>
    </form>
    <script language="javascript" type="text/javascript">
        function ChangeThisType(obj) {
            $("#selAccountName").html("<option value=''>请选择</option>");
            $.ajax({
                url: "/Pages/financial/BaoxiaoFukuanPiliang.aspx",
                type: "POST",
                dataType: "html",
                data: { TypeName: $(obj).val(), DataType: "change" },
                global: false,
                cache: false,
                success: function (data) {
                    var myobj = eval('(' + data + ')');
                    if (myobj != null && myobj.length > 0) {
                        for (var i = 0; i < myobj.length; i++) {
                            var city_keyid = myobj[i].Keyid;
                            var city_name = myobj[i].AccountName + "-" + myobj[i].UserName;
                            var option = "";
                            option = "<option value = '" + city_keyid + "'>" + city_name + "</option>";
                            $(option).appendTo($("#selAccountName"));
                        }
                    }
                }
            });
        }
    </script>
    <script type="text/javascript">
        $(function () {
            ChangeThisType("#selAcoountType");
        });
    </script>
</body>
</html>
CY_ECommercePlatform/CY.WebForm/Pages/financial/BaoxiaoFukuanPiliang.aspx.cs
New file
@@ -0,0 +1,194 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CY.Model;
using CY.Infrastructure.Common;
using CY.BLL.OA;
using CY.BLL.Sys;
using CY.BLL;
using System.Transactions;
namespace CY.WebForm.Pages.financial
{
    public partial class BaoxiaoFukuanPiliang : BasePage
    {
        Sys_DictionaryBLL _Sys_DictionaryBLL = null;
        OA_SubjectSetBLL _OA_SubjectSetBLL = null;
        OA_FirmAccountBLL _OA_FirmAccountBLL = null;
        OA_FirmAccountRecordBLL _OA_FirmAccountRecordBLL = null;
        OA_FirmAccountRecord firmAccountRecord = null;
        OA_FirmAccount firmAccount = null;
        OA_BaozhengjinBLL oA_BaozhengjinBLL = null;
        OA_StaffBLL staffBLL = null;
        OA_WorkPlanBll bll_OA_WorkPlanBll = null;
        OA_DepartmentBll oA_DepartmentBll = null;
        public BaoxiaoFukuanPiliang()
        {
            firmAccount = new OA_FirmAccount();
            _Sys_DictionaryBLL = new Sys_DictionaryBLL();
            _OA_FirmAccountBLL = new OA_FirmAccountBLL();
            _OA_FirmAccountRecordBLL = new OA_FirmAccountRecordBLL();
            _OA_SubjectSetBLL = new OA_SubjectSetBLL();
            firmAccountRecord = new OA_FirmAccountRecord();
            oA_BaozhengjinBLL = new OA_BaozhengjinBLL();
            staffBLL = new OA_StaffBLL();
            bll_OA_WorkPlanBll = new OA_WorkPlanBll();
            oA_DepartmentBll = new OA_DepartmentBll();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                switch (Request["DataType"])
                {
                    case "change":
                        Response.Write(reLoadAccountName(Request["TypeName"].ToString2()));
                        break;
                    default://一般情况不处理
                        if (IsPostBack || IsCallback)
                            return;
                        else
                        {
                            InitialData();
                        }
                        return;
                }
            }
            catch (Exception ex)
            {
                PAGEHandleException(ex);
                Response.Clear();
                Response.Write("-1");
            }
            Response.End();
        }
        protected void InitialData()
        {
            var keyids = Request["keyids"].Trim(',').Split(',');
            ///账户类型
            selAcoountType.DataSource = _Sys_DictionaryBLL.GetDataByType("账户类型");
            selAcoountType.DataBind();
            if (keyids.Length > 0)
            {
                decimal PlanMoney = 0;
                foreach (var keyid in keyids)
                {
                    var oA_WorkPlan = bll_OA_WorkPlanBll.GetModelByKeyid(keyid.ToInt32());
                    PlanMoney += oA_WorkPlan.PlanMoney.Value;
                }
                //this.selSubject.Value = oA_WorkPlan.RewardResult;
                //this.selSubjectName.Value = oA_WorkPlan.RewardContent;
                this.txtMoney.Value = PlanMoney.ToString("0.00");
                //this.txtPaymentUnit.Value = oA_WorkPlan.PlanPeople;
                //var oA_Department = oA_DepartmentBll.GetModelByKeyid(oA_WorkPlan.DepartId);
                //if (oA_Department != null)
                //    this.txtDepartment.Value = oA_Department.Name;
                //this.txtOperationalMatters.Value = oA_WorkPlan.PlanContent;
            }
        }
        protected string reLoadAccountName(string selAcoountType)
        {
            return JsonHelper.GetJsonStringByObject(_OA_FirmAccountBLL.getAllSubject(CurrentUser.MemberId, selAcoountType));
        }
        protected void btn_Submit_Click(object sender, EventArgs e)
        {
            var keyids = Request["keyids"].Trim(',').Split(',');
            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
   new TransactionOptions
   {
       IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted,
       Timeout = TransactionManager.MaximumTimeout
   }
   )
            )
            {
                try
                {
                    firmAccount = _OA_FirmAccountBLL.getSingleSubject(Request["selAccountName"].ToInt32());
                    foreach (var keyid in keyids)
                    {
                        var oA_WorkPlan = bll_OA_WorkPlanBll.GetModelByKeyid(keyid.ToInt32());
                        if (oA_WorkPlan.EvaluationStatus == 1)
                        {
                            JavaScript.MessageBox(oA_WorkPlan.EvaluationContent + "该报销已经付款,不能重复付款", this);
                            return;
                        }
                        firmAccountRecord = new OA_FirmAccountRecord();
                        firmAccountRecord.AccountId = Request["selAccountName"].ToInt32();
                        firmAccountRecord.LastUpdateTime = DateTime.Now;
                        firmAccountRecord.Money = oA_WorkPlan.PlanMoney;//this.txtMoney.Value.ToDecimal2();
                        firmAccountRecord.OperationalMatters = oA_WorkPlan.PlanContent;// this.txtOperationalMatters.Value;
                        firmAccountRecord.Operator = CurrentUser.ShortName;
                        firmAccountRecord.PaymentUnit = oA_WorkPlan.PlanPeople; //this.txtPaymentUnit.Value;
                        firmAccountRecord.RecordTypeId = 2;//支出
                        firmAccountRecord.Remark = this.txtRemark.Value;
                        firmAccountRecord.SubjectId = oA_WorkPlan.RewardResult.ToInt32(); //this.selSubject.Value.ToInt32();
                        firmAccountRecord.ResidualAmount = firmAccount.Balance - this.txtMoney.Value.ToDecimal2();
                        var oA_Department = oA_DepartmentBll.GetModelByKeyid(oA_WorkPlan.DepartId);
                        if (oA_Department != null)
                            firmAccountRecord.Department = oA_Department.Name; //this.txtDepartment.Value;
                        firmAccount.AllExpenses = this.txtMoney.Value.ToDecimal2() + firmAccount.AllExpenses;
                        firmAccount.Balance = firmAccount.Balance - this.txtMoney.Value.ToDecimal2();
                        if (_OA_FirmAccountRecordBLL.AddModel(firmAccountRecord, firmAccount))
                        {
                            //修改OA_WorkPlan的状态未已报销
                            if (keyid.ToInt32() > 0)
                            {
                                oA_WorkPlan.EvaluationStatus = 1;
                                oA_WorkPlan.Operator = CurrentUser.ShortName;
                                oA_WorkPlan.LastUpdateTime = DateTime.Now;
                                var res = bll_OA_WorkPlanBll.UpdateModel(oA_WorkPlan);
                            }
                        }
                    }
                        scope.Complete();
                        JavaScript.MessageBox("添加成功", this, true, true);
                }
                catch (Exception ex)
                {
                    PAGEHandleException(ex);
                    JavaScript.MessageBox("添加失败", this);
                }
                finally
                {
                    // 释放资源
                    scope.Dispose();
                }
            }
        }
    }
}
CY_ECommercePlatform/CY.WebForm/Pages/financial/BaoxiaoFukuanPiliang.aspx.designer.cs
New file
@@ -0,0 +1,80 @@
//------------------------------------------------------------------------------
// <自动生成>
//     此代码由工具生成。
//
//     对此文件的更改可能导致不正确的行为,如果
//     重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace CY.WebForm.Pages.financial
{
    public partial class BaoxiaoFukuanPiliang
    {
        /// <summary>
        /// CMSHead1 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::CY.WebForm.Pages.common.CMSHead CMSHead1;
        /// <summary>
        /// form1 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
        /// <summary>
        /// selAcoountType 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlSelect selAcoountType;
        /// <summary>
        /// selAccountName 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlSelect selAccountName;
        /// <summary>
        /// txtMoney 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlInputText txtMoney;
        /// <summary>
        /// txtRemark 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlTextArea txtRemark;
        /// <summary>
        /// btn_Submit 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.WebControls.Button btn_Submit;
    }
}
CY_ECommercePlatform/CY.WebForm/Pages/front/InquiryOnLine.aspx.cs
@@ -2512,7 +2512,7 @@
            {
                if (!string.IsNullOrEmpty(model.JTWZ))
                {
                    afterWorkStr = "装订:" + model.JTWZ  ;
                    afterWorkStr = /*"装订:" +*/ model.JTWZ  ;
                    if (model.JTWZ != "胶头" && model.JTWZ != "胶左" && model.JTWZ != "其他")
                    {
                        afterWorkStr   += ",封面印刷要求:" + model.jtWZFM;
@@ -2534,7 +2534,7 @@
                    {
                        afterWorkStr += ",";
                    }
                    afterWorkStr += "装订:" + model.JTWZ;
                    afterWorkStr += /*"装订:" +*/ model.JTWZ;
                    if (model.JTWZ != "胶头" && model.JTWZ != "胶左" && model.JTWZ != "其他" && model.JTWZ != "散页")
                    {
                        if (!string.IsNullOrEmpty(model.jtWZFM))
CY_ECommercePlatform/CY.WebForm/Pages/personnel/StaffEdit.aspx
@@ -246,10 +246,10 @@
                  </tr>--%>
            <tr>
                <td class="ali03">
                    手机号码:
                    工作手机:
                </td>
                <td>
                    <input type="text" id="txtMobieNum" runat="server" class="phone" maxlength="20" />
                    <input type="text" id="txtMobieNum" runat="server" class="" maxlength="20" />
                </td>
                <td class="ali03">
                    薪资待遇:
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoFukuanList.aspx
@@ -39,14 +39,15 @@
                }
            )
            if (deleteKeyIds == "") {
                top.Dialog.alert("请选择要删除的记录", function () {
                top.Dialog.alert("请选择要付款的记录", function () {
                });
                return;
            }
            else {
                deleteKeyIds = deleteKeyIds.substring(0, deleteKeyIds.length - 1);
                top.Dialog.confirm("确定要删除所选记录吗?", function () {
                    window.location = "/Pages/work/BaoxiaoFukuanList.aspx?deleteKeyIds=" + deleteKeyIds;
                top.Dialog.confirm("确定要付款所选记录吗?", function () {
                    /*  window.location = "/Pages/work/BaoxiaoFukuanList.aspx?deleteKeyIds=" + deleteKeyIds;*/
                    top.Dialog.open({ URL: "/Pages/financial/BaoxiaoFukuanPiliang.aspx?keyids=" + deleteKeyIds, Title: "批量报销付款", Width: 800, Height: 600 });
                });
            }
        }
@@ -114,8 +115,8 @@
                        <div class="padding_top5 padding_left10">
                             <%-- <a href="javascript:;" onclick="addModel()" class="aaddModel" menu_member_case_id="case_addModel" menu_member_case_name="新增报销"><span class="icon_add">新增报销</span></a>
                          <div class="box_tool_line">
                            </div>
                            <a href="javascript:;" onclick="onAllDelete()" menu_member_case_id="case_onAllDeleteList" menu_member_case_name="批量删除"><span class="icon_delete">批量删除</span></a>--%>
                            </div>--%>
                            <a href="javascript:;" onclick="onAllDelete()" menu_member_case_id="case_onAllDeleteList" menu_member_case_name="批量付款"><span class="">批量付款</span></a>
                            <div class="clear">
                            </div>
                        </div>
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoPiliangReply.aspx
New file
@@ -0,0 +1,68 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BaoxiaoPiliangReply.aspx.cs" Inherits="CY.WebForm.Pages.work.BaoxiaoPiliangReply" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>批复报销</title>
    <uc:CMSHead ID="CMSHead1" runat="server" />
    <style type="text/css">
        .w70px{ width:70px;}
        .wx100px{ width:100px;}
        fieldset{ padding:3px; margin:5px auto;}
    </style>
</head>
<body>
    <form id="form1" class="form2" runat="server">
    <div>
        <fieldset>
           <legend>报销信息</legend>
            <table class="tableStyle" style="margin: 0px auto;" cellpadding="0" cellspacing="0">
                <tr>
                     <td class="ali03" colspan="3" style="width:30%; ">
                        报销单号:
                    </td>
                    <td style="width:70%; ">
                        <span id="spanDepart" runat="server"></span>
                    </td>
                </tr>
            </table>
        </fieldset>
        <fieldset>
            <legend>批复操作</legend>
            <table class="tableStyle" style="margin: 0px auto;" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="ali03 w70px">
                        审批结果:
                    </td>
                    <td colspan="3">
                        <select keepDefaultStyle="true" runat="server" id="selApprovalStatus" class="wx100px Sreq" msg="请选择审批结果">
                        <option value="">请选择</option>
                        <option value="1" selected="selected" >批准</option>
                        <option value="2">不批准</option>
                    </select>
                    </td>
                </tr>
                <tr>
                    <td class="ali03">
                        审批回复:
                    </td>
                    <td colspan="3">
                        <textarea id="txtApprovalContent" runat="server" style="width: 460px; height: 40px;" ></textarea>
                    </td>
                </tr>
                <td colspan="4" style="text-align: center;">
                    <asp:Button ID="btn_submit" runat="server" OnClick="btn_submit_form" Text="提交" />
                </td>
            </table>
        </fieldset>
    </div>
    </form>
</body>
</html>
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoPiliangReply.aspx.cs
New file
@@ -0,0 +1,259 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using CY.Model;
using CY.BLL;
using CY.Infrastructure.Common;
using CY.BLL.Sys;
using CY.BLL.EC;
using CY.Infrastructure.DESEncrypt;
using CY.Infrastructure.Query;
using System.Transactions;
using CY.BLL.OA;
namespace CY.WebForm.Pages.work
{
    //吴辉
    //工作考评
    public partial class BaoxiaoPiliangReply : BasePage
    {
        OA_WorkPlanBll oA_WorkReminderBll = null;
        OA_KaipiaoshenqingBLL _oA_KaipiaoshenqingBLL = null;
        EC_OrderBLL _eC_OrderBLL = null;
        OA_FukuanshenqingBLL _oA_FukuanshenqingBLL = null;
        EC_MemberBasicBLL _eC_MemberBasicBLL = null;
        OA_WorkPlan_attachmentBLL oA_WorkPlan_AttachmentBLL = null;
        OA_WorkPlan_shenpiBLL oA_WorkPlan_ShenpiBLL = null;
        OA_StaffBLL oA_StaffBLL = null;
        OA_DepartmentBll oA_DepartmentBll = null;
        public string planDataType = "";
        OA_SubjectSetBLL _OA_SubjectSetBLL = null;
        public BaoxiaoPiliangReply()
        {
            oA_WorkReminderBll = new OA_WorkPlanBll();
            _oA_KaipiaoshenqingBLL = new OA_KaipiaoshenqingBLL();
            _eC_OrderBLL = new EC_OrderBLL();
            _oA_FukuanshenqingBLL = new OA_FukuanshenqingBLL();
            _eC_MemberBasicBLL = new EC_MemberBasicBLL();
            oA_WorkPlan_AttachmentBLL = new OA_WorkPlan_attachmentBLL();
            oA_WorkPlan_ShenpiBLL = new OA_WorkPlan_shenpiBLL();
            oA_StaffBLL = new OA_StaffBLL();
            oA_DepartmentBll = new OA_DepartmentBll();
            _OA_SubjectSetBLL = new OA_SubjectSetBLL();
        }
        //页面加载
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                InitData();
            }
        }
        //数据加载
        public void InitData()
        {
            //科目名称
            var keyids = Request["keyids"].Trim(',').Split(',');
            var sss = "";
            foreach (var keyid in keyids)
            {
                OA_WorkPlan m_OA_WorkPlan = oA_WorkReminderBll.GetModelByKeyid(keyid.ToInt32());
                if (m_OA_WorkPlan != null)
                {
                    sss += m_OA_WorkPlan.EvaluationContent + ",";
                }
            }
            this.spanDepart.InnerText = sss;
        }
        //表单提交
        protected void btn_submit_form(object sender, EventArgs e)
        {
            var keyids = Request["keyids"].Trim(',').Split(',');
            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
    new TransactionOptions
    {
        IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted,
        Timeout = TransactionManager.MaximumTimeout
    }
    )
             )
            {
                try
                {
                    string Messagezhuguan = null;
                    string Messagejingli = null;
                    var res = false;
                    var oA_Staff = oA_StaffBLL.GetModelByMemberId(CurrentUser.TrueMemberId);
                    if (!oA_Staff.BF_IsBaoxiaozhuguan && !oA_Staff.BF_Isbaoxiaojingli)
                    {
                        JavaScript.MessageBox("你没有审批权限", this);
                        return;
                    }
                    foreach (var keyid in keyids)
                    {
                        OA_WorkPlan m_OA_WorkPlan = oA_WorkReminderBll.GetModelByKeyid(keyid.ToInt32());
                        if (m_OA_WorkPlan.ApprovalStatus == 1 || m_OA_WorkPlan.ApprovalStatus == 2)
                        {
                            JavaScript.MessageBox(m_OA_WorkPlan.EvaluationContent + "该报销已经审批完成", this);
                            return;
                        }
                        var oA_WorkPlan_Shenpis = oA_WorkPlan_ShenpiBLL.GetModelByKaipiaoId(keyid.ToInt32().Value).ToList();
                        if (oA_Staff.BF_IsBaoxiaozhuguan)
                        {
                            var oA_WorkPlan_Shenpis1 = oA_WorkPlan_Shenpis.Where(x => x.Buzhou == 1).ToList();
                            if (oA_WorkPlan_Shenpis1.Count > 1)
                            {
                                Messagezhuguan = m_OA_WorkPlan.EvaluationContent + "该流程已经不在主管审批步骤!";
                            }
                            var shenpicount = oA_WorkPlan_Shenpis1.Count(x => x.ApprovalStaffId == CurrentUser.TrueMemberId);
                            if (shenpicount > 0)
                            {
                                Messagezhuguan = m_OA_WorkPlan.EvaluationContent + "你已经审批过该流程!";
                            }
                        }
                        if (oA_Staff.BF_IsBaoxiaozhuguan && !oA_Staff.BF_Isbaoxiaojingli)
                        {
                            if (!string.IsNullOrEmpty(Messagezhuguan))
                            {
                                JavaScript.MessageBox(Messagezhuguan, this);
                                return;
                            }
                        }
                        if (oA_Staff.BF_Isbaoxiaojingli)
                        {
                            if (oA_WorkPlan_Shenpis.Count > 2)
                            {
                                Messagejingli = "该流程已经审批完成!";
                            }
                            if (oA_WorkPlan_Shenpis.Count < 2)
                            {
                                Messagejingli = "没到经理审批步骤!";
                            }
                        }
                        if (!oA_Staff.BF_IsBaoxiaozhuguan && oA_Staff.BF_Isbaoxiaojingli)
                        {
                            if (!string.IsNullOrEmpty(Messagejingli))
                            {
                                JavaScript.MessageBox(Messagejingli, this);
                                return;
                            }
                        }
                        if (oA_Staff.BF_IsBaoxiaozhuguan && oA_Staff.BF_Isbaoxiaojingli)
                        {
                            if (!string.IsNullOrEmpty(Messagezhuguan) && !string.IsNullOrEmpty(Messagejingli))
                            {
                                JavaScript.MessageBox(Messagezhuguan + Messagejingli, this);
                                return;
                            }
                        }
                        DateTime nowTime = DateTime.Now;
                        OA_WorkPlan_shenpi oA_WorkPlan_Shenpi = new OA_WorkPlan_shenpi();
                        oA_WorkPlan_Shenpi.OA_WorkPlanId = keyid.ToInt32();
                        oA_WorkPlan_Shenpi.ApprovalStaffId = CurrentUser.TrueMemberId;
                        oA_WorkPlan_Shenpi.ApprovalStatus = this.selApprovalStatus.Value.ToInt32();
                        oA_WorkPlan_Shenpi.ApprovalTime = nowTime;
                        oA_WorkPlan_Shenpi.ApprovalContent = this.txtApprovalContent.Value.Trim();
                        oA_WorkPlan_Shenpi.CreateTime = nowTime;
                        oA_WorkPlan_Shenpi.Operator = CurrentUser.TrueName;
                        if (oA_WorkPlan_Shenpis.Count == 2)
                        {
                            oA_WorkPlan_Shenpi.Buzhou = 2;
                        }
                        else
                        {
                            oA_WorkPlan_Shenpi.Buzhou = 1;
                        }
                        res = oA_WorkPlan_ShenpiBLL.InsertModel(oA_WorkPlan_Shenpi);
                        if (oA_WorkPlan_Shenpis.Count == 2 || this.selApprovalStatus.Value == "2")
                        {
                            m_OA_WorkPlan.ApprovalContent = this.txtApprovalContent.Value.Trim();
                            m_OA_WorkPlan.ApprovalStaffId = CurrentUser.TrueMemberId;
                            m_OA_WorkPlan.ApprovalStaffName = CurrentUser.TrueName;
                            m_OA_WorkPlan.ApprovalStatus = this.selApprovalStatus.Value.ToInt32();
                            m_OA_WorkPlan.ApprovalTime = nowTime;
                            m_OA_WorkPlan.PlanStatus = 2;
                            m_OA_WorkPlan.Operator = CurrentUser.ShortName;
                            m_OA_WorkPlan.LastUpdateTime = nowTime;
                            res = oA_WorkReminderBll.UpdateModel(m_OA_WorkPlan);
                        }
                        else
                        {
                            res = oA_WorkReminderBll.UpdateModel(m_OA_WorkPlan);
                        }
                    }
                    if (keyids.Length > 0)
                    {
                        if (res)
                        {
                            scope.Complete();
                            JavaScript.MessageBox("审批成功", this, true, true);
                        }
                        else
                            JavaScript.MessageBox("操作失败", this);
                    }
                    else
                        JavaScript.MessageBox("操作失败", this);
                }
                catch (Exception ex)
                {
                    PAGEHandleException(ex);
                    JavaScript.MessageBox("操作失败", this);
                }
                finally
                {
                    // 释放资源
                    scope.Dispose();
                }
            }
        }
    }
}
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoPiliangReply.aspx.designer.cs
New file
@@ -0,0 +1,80 @@
//------------------------------------------------------------------------------
// <自动生成>
//     此代码由工具生成。
//
//     对此文件的更改可能导致不正确的行为,如果
//     重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace CY.WebForm.Pages.work
{
    public partial class BaoxiaoPiliangReply
    {
        /// <summary>
        /// Head1 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
        /// <summary>
        /// CMSHead1 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::CY.WebForm.Pages.common.CMSHead CMSHead1;
        /// <summary>
        /// form1 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
        /// <summary>
        /// spanDepart 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlGenericControl spanDepart;
        /// <summary>
        /// selApprovalStatus 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlSelect selApprovalStatus;
        /// <summary>
        /// txtApprovalContent 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlTextArea txtApprovalContent;
        /// <summary>
        /// btn_submit 控件。
        /// </summary>
        /// <remarks>
        /// 自动生成的字段。
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.WebControls.Button btn_submit;
    }
}
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoReplyList.aspx
@@ -39,14 +39,15 @@
                }
            )
            if (deleteKeyIds == "") {
                top.Dialog.alert("请选择要删除的记录", function () {
                top.Dialog.alert("请选择要批复的记录", function () {
                });
                return;
            }
            else {
                deleteKeyIds = deleteKeyIds.substring(0, deleteKeyIds.length - 1);
                top.Dialog.confirm("确定要删除所选记录吗?", function () {
                    window.location = "/Pages/work/BaoxiaoReplyList.aspx?deleteKeyIds=" + deleteKeyIds;
                top.Dialog.confirm("确定要批复所选记录吗?", function () {
                    /*  window.location = "/Pages/work/BaoxiaoReplyList.aspx?deleteKeyIds=" + deleteKeyIds;*/
                    top.Dialog.open({ URL: "/Pages/work/BaoxiaoPiliangReply.aspx?keyids=" + deleteKeyIds, Title: "批复报销", Width: 800, Height: 600 });
                });
            }
        }
@@ -113,8 +114,8 @@
                        <div class="padding_top5 padding_left10">
                             <%-- <a href="javascript:;" onclick="addModel()" class="aaddModel" menu_member_case_id="case_addModel" menu_member_case_name="新增报销"><span class="icon_add">新增报销</span></a>
                          <div class="box_tool_line">
                            </div>
                            <a href="javascript:;" onclick="onAllDelete()" menu_member_case_id="case_onAllDeleteList" menu_member_case_name="批量删除"><span class="icon_delete">批量删除</span></a>--%>
                            </div>--%>
                            <a href="javascript:;" onclick="onAllDelete()"  class="<%=(piliangpifu!="1"?"AlreadyReply":"")%>" ><span class="">批量批复</span></a>
                            <div class="clear">
                            </div>
                        </div>
CY_ECommercePlatform/CY.WebForm/Pages/work/BaoxiaoReplyList.aspx.cs
@@ -22,6 +22,7 @@
        OA_DepartmentBll oA_DepartmentBll = null;
        OA_StaffBLL oA_StaffBLL = null;
        OA_WorkPlan_shenpiBLL oA_WorkPlan_ShenpiBLL = null;
        public string piliangpifu = null;
        //初始化
        public BaoxiaoReplyList()
        {
@@ -109,7 +110,15 @@
            pa.PageIndex = UCPager1.AspNetPager.CurrentPageIndex;
            var oA_WorkPlans = bll_OA_WorkPlanBll.SelectModelPage(pa, CurrentUser.MemberId, Guid.Empty, Guid.Empty, 3, 17, "", null, null, string.IsNullOrEmpty(this.txtRegTimeStart.Value) ? beginTime : Convert.ToDateTime(this.txtRegTimeStart.Value), string.IsNullOrEmpty(this.txtRegTimeEnd.Value) ? endTime : Convert.ToDateTime(this.txtRegTimeEnd.Value), this.txtPlanPeople.Value.Trim(), -1, this.selApprovalStatus.Value.ToInt32(), null, null,this.TxtRewardContent.Value.Trim(), this.txtPlanContent.Value.Trim(),"3");
            var oA_Staff = oA_StaffBLL.GetModelByMemberId(CurrentUser.TrueMemberId);
            if (oA_Staff.BF_Isbaoxiaojingli)
            {
                piliangpifu = "1";
            }
            else
            {
                piliangpifu = "0";
            }
            foreach (var oA_WorkPlan in oA_WorkPlans)
            {
                var sss = oA_WorkPlan_AttachmentBLL.GetModelByKaipiaoId(oA_WorkPlan.Keyid.Value);