57个文件已修改
3个文件已添加
1477 ■■■■ 已修改文件
src/DIXPad.DAL/SQLDataProvider.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXPad.DAS/Web.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXPadWPF/App.config 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXPadWPF/DIXPadInspectItemPage.xaml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXPadWPF/DixPadUpLoad.xaml.cs 255 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Business/Common/ExcelHelper.cs 419 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Business/Common/ToExcelTemplate.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Business/GlobalM/StatementBusiness.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Business/MySQLBiz/MySQLInspectBaseBiz.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Business/Power/HomeBusiness.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Business/Workflow/BillBusiness.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Business/Workflow/WorkListBusiness.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Business/Workflow/WorkflowNodeBusiness.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Business/Workflow/WorkflowNodeDetailBusiness.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.DAL/DBContext.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Entity/GlobalM/Toprie.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Entity/Workflow/ReceiveBillProcess.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Entity/Workflow/ReceiveNodeDetail.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Entity/Workflow/WorkflowNodeDetail.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Util/Helper/LogHelper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Controllers/DownloadController.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Controllers/StatementController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/BillController.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkListController.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkflowNodeDetailController.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Views/Bill/InspectFalseDetail.cshtml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Views/Bill/StartDIXQuality.cshtml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Views/InspectObjectType/Item.cshtml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Views/Statement/InspectCheckedSelect.cshtml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Views/Statement/ObjectInspectDetail.cshtml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Views/WorkList/MyNeedDealt.cshtml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Areas/GlobalM/Views/WorkflowNodeDetail/Index.cshtml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Config/system.config 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Controllers/HomeController.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/DIXWeb.Web.csproj 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/DLL/DMC.dll 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Bill/BillInspectFinished.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Bill/BillUpdate.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Bill/PartialInspectFalseDetail.js 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Bill/StartDIX.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Bill/StartDIXQuality.js 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Bill/StartFCDIX.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Organize/User/Index.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Statement/InspectCheckedSelect.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Statement/ObjectInspectDetail.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Workflow/InRepair.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Workflow/MyApproved.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Workflow/MyNeedDealt.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Workflow/Workflow.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Workflow/WorkflowNDetail.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Workflow/WorkflowNode.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Workflow/WorkflowNodeSearch.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Workflow/WorkflowRoute.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Scripts/Workflow/WorkflowSearch.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Template/InspectObjectTemplate.xls 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXWeb.Web/Web.config 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/WindowsFormsApp1/Entity/Toprie_Motif.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/WindowsFormsApp1/Form1.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/WindowsFormsApp1/Helper/FlagHelp.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/WindowsFormsApp1/WindowsFormsApp1.csproj 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DIXPad.DAL/SQLDataProvider.cs
@@ -230,7 +230,8 @@
                }
                transaction = connection.BeginTransaction();
                bcp = new SqlBulkCopy(connection, SqlBulkCopyOptions.Default, transaction);
                bcp.BatchSize = 500;
                bcp.BatchSize = 10000;
                bcp.BulkCopyTimeout = 60;
                //依次使用数据库连接导入数据
                foreach (KeyValuePair<string, string> kv in sourceToDestinationFieldsMapping)
                {
src/DIXPad.DAS/Web.config
@@ -1,8 +1,8 @@
<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="DIX" connectionString="data source=121.37.232.241;initial catalog=DIX;Pooling=true;Max Pool Size=100;Min Pool Size=0;integrated security=false;persist security info=True;User ID=developer;Password=p@d2010"/>
    <add name="DIXLOG" connectionString="data source=121.37.232.241;initial catalog=DIXLog;Pooling=true;Max Pool Size=100;Min Pool Size=0;integrated security=false;persist security info=True;User ID=developer;Password=p@d2010"/>
    <add name="DIX" connectionString="data source=43.98.47.159;initial catalog=DIX;Pooling=true;Max Pool Size=100;Min Pool Size=0;integrated security=false;persist security info=True;User ID=developer;Password=p@d201908"/>
    <add name="DIXLOG" connectionString="data source=43.98.47.159;initial catalog=DIXLog;Pooling=true;Max Pool Size=100;Min Pool Size=0;integrated security=false;persist security info=True;User ID=developer;Password=p@d201908"/>
  </connectionStrings>
  <appSettings>
    <add key="logfolder" value="c:\Lotlog\"/>
src/DIXPadWPF/App.config
@@ -17,7 +17,7 @@
  </appSettings>
  <connectionStrings>
    <add name="DIX" connectionString="data source=43.98.48.159;initial catalog=DIX;Pooling=true;Max Pool Size=100;Min Pool Size=0;integrated security=false;persist security info=True;User ID=developer;Password=p@d201908" providerName="System.Data.EntityClient"/>
    <add name="MySQLDIX" connectionString="Host=43.98.47.105;Port=3306;Database=DIX;Protocol=TCP;Compress=false;Pooling=true;
    <add name="MySQLDIX" connectionString="Host=43.98.47.84;Port=3306;Database=DIX;Protocol=TCP;Compress=false;Pooling=true;
                                                                         AllowLoadLocalInfile=true;ConnectionLifetime=0;UserID=root;Password=p@ssw0rd;" providerName="MySql.Data.MySqlClient"/>
  </connectionStrings>
  <entityFramework>
src/DIXPadWPF/DIXPadInspectItemPage.xaml
@@ -146,7 +146,7 @@
                                <RadioButton Grid.Column="1"  Content="{Binding NoRadioContent}" FontSize="20"  IsChecked="{Binding NoIsChecked}" Checked="NoRadioButtonChecked" Foreground="{Binding NoForeColor}"  FontWeight="Bold" HorizontalContentAlignment="Center"/>
                                <ser:NumInputButton x:Name="C2" DockPanel.Dock="Top" MinHeight="20"  Grid.Column="2" Background="{Binding txtbackcolor}" IsEnabled="{Binding IsEnabled}" 
                                         BorderBrush="Transparent" FontSize="25"
                              DecimalPlaces="3"  BorderThickness="0"  Margin="4"
                              DecimalPlaces="6"  BorderThickness="0"  Margin="4"
                                                  EnterClick="OnNumINputBtn_EnterClick"
                                                  CancelClick="OnBtnNputBtn_CancelClick"
                                                  PopupClosed="OnPopupCloseEvent"/>
src/DIXPadWPF/DixPadUpLoad.xaml.cs
@@ -99,148 +99,155 @@
        }
        private void btnUpLoad_Click(object sender, RoutedEventArgs e)
        {
            ResultMessage r = NetWorkCheck.NetWorkCheckResult();
            if (r.Count < 0)
            try
            {
                MessageBox.Show(r.Msg, "Warning!", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else
            {
                DataTable dtinfo = BBIZ.GetInspectedItems();
                if (dtinfo.Rows.Count > 0)
                ResultMessage r = NetWorkCheck.NetWorkCheckResult();
                if (r.Count < 0)
                {
                    string sn = Guid.NewGuid().ToString();
                    DIXPad.RSLC.BizServiceProxy localProxy = new DIXPad.RSLC.BizServiceProxy(_ServiceUrl);
                    DataTable table = new DataTable(Guid.NewGuid().ToString());
                    table.Columns.Add("sn", typeof(string));
                    table.Columns.Add("InspectObjectId", typeof(int));
                    table.Columns.Add("InspectItemId", typeof(int));
                    table.Columns.Add("CheckType", typeof(string));
                    table.Columns.Add("InspectLimit", typeof(double));
                    table.Columns.Add("NGReason", typeof(string));
                    table.Columns.Add("TotalJudge", typeof(bool));
                    table.Columns.Add("InspectTimes", typeof(int));
                    table.Columns.Add("CreateTime", typeof(DateTime));
                    table.Columns.Add("InspectOperator", typeof(string));
                    table.Columns.Add("IsImprovedOnSite", typeof(bool));
                    table.Columns.Add("DealDetial", typeof(string));
                    table.Columns.Add("ReInspectTimes", typeof(int));
                    table.Columns.Add("ImgString", typeof(string));
                    table.Columns.Add("IsBackup", typeof(int));
                    for (int i = 0; i < dtinfo.Rows.Count; i++)
                    MessageBox.Show(r.Msg, "Warning!", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
                else
                {
                    DataTable dtinfo = BBIZ.GetInspectedItems();
                    if (dtinfo.Rows.Count > 0)
                    {
                        DataRow dr = table.NewRow();
                        dr["sn"] = sn;
                        dr["InspectObjectId"] = Convert.ToInt32(dtinfo.Rows[i]["InspectObjectId"].ToString());
                        dr["InspectItemId"] = Convert.ToInt32(dtinfo.Rows[i]["InspectItemId"].ToString());
                        dr["CheckType"] = dtinfo.Rows[i]["CheckType"].ToString();
                        dr["InspectLimit"] = double.Parse(dtinfo.Rows[i]["InspectLimit"].ToString());
                        dr["NGReason"] = dtinfo.Rows[i]["NGReason"].ToString();
                        string judge = dtinfo.Rows[i]["TotalJudge"].ToString();
                        if (judge == "True")
                        string sn = Guid.NewGuid().ToString();
                        DIXPad.RSLC.BizServiceProxy localProxy = new DIXPad.RSLC.BizServiceProxy(_ServiceUrl);
                        DataTable table = new DataTable(Guid.NewGuid().ToString());
                        table.Columns.Add("sn", typeof(string));
                        table.Columns.Add("InspectObjectId", typeof(int));
                        table.Columns.Add("InspectItemId", typeof(int));
                        table.Columns.Add("CheckType", typeof(string));
                        table.Columns.Add("InspectLimit", typeof(double));
                        table.Columns.Add("NGReason", typeof(string));
                        table.Columns.Add("TotalJudge", typeof(bool));
                        table.Columns.Add("InspectTimes", typeof(int));
                        table.Columns.Add("CreateTime", typeof(DateTime));
                        table.Columns.Add("InspectOperator", typeof(string));
                        table.Columns.Add("IsImprovedOnSite", typeof(bool));
                        table.Columns.Add("DealDetial", typeof(string));
                        table.Columns.Add("ReInspectTimes", typeof(int));
                        table.Columns.Add("ImgString", typeof(string));
                        table.Columns.Add("IsBackup", typeof(int));
                        for (int i = 0; i < dtinfo.Rows.Count; i++)
                        {
                            dr["TotalJudge"] = true;
                            DataRow dr = table.NewRow();
                            dr["sn"] = sn;
                            dr["InspectObjectId"] = Convert.ToInt32(dtinfo.Rows[i]["InspectObjectId"].ToString());
                            dr["InspectItemId"] = Convert.ToInt32(dtinfo.Rows[i]["InspectItemId"].ToString());
                            dr["CheckType"] = dtinfo.Rows[i]["CheckType"].ToString();
                            dr["InspectLimit"] = double.Parse(dtinfo.Rows[i]["InspectLimit"].ToString());
                            dr["NGReason"] = dtinfo.Rows[i]["NGReason"].ToString();
                            string judge = dtinfo.Rows[i]["TotalJudge"].ToString();
                            if (judge == "True")
                            {
                                dr["TotalJudge"] = true;
                            }
                            else
                            {
                                dr["TotalJudge"] = false;
                            }
                            dr["InspectTimes"] = Convert.ToInt32(dtinfo.Rows[i]["InspectTimes"].ToString());
                            dr["CreateTime"] = Convert.ToDateTime(dtinfo.Rows[i]["CreateTime"].ToString());
                            dr["InspectOperator"] = dtinfo.Rows[i]["InspectOperator"];
                            string improved = dtinfo.Rows[i]["IsImprovedOnSite"].ToString();
                            if (improved == "1")
                            {
                                dr["IsImprovedOnSite"] = true;
                            }
                            else
                            {
                                dr["IsImprovedOnSite"] = false;
                            }
                            dr["DealDetial"] = dtinfo.Rows[i]["DealDetial"];
                            dr["ReInspectTimes"] = Convert.ToInt32(dtinfo.Rows[i]["ReInspectTimes"]);
                            if (dtinfo.Rows[i]["ImgString"].ToString() == "")
                            {
                                dr["ImgString"] = "";
                            }
                            else
                            {
                                dr["ImgString"] = dtinfo.Rows[i]["ImgString"].ToString();
                            }
                            dr["IsBackup"] = Convert.ToInt32(dtinfo.Rows[i]["isbackup"].ToString());
                            table.Rows.Add(dr);
                        }
                        else
                        {
                            dr["TotalJudge"] = false;
                        }
                        dr["InspectTimes"] = Convert.ToInt32(dtinfo.Rows[i]["InspectTimes"].ToString());
                        dr["CreateTime"] = Convert.ToDateTime(dtinfo.Rows[i]["CreateTime"].ToString());
                        dr["InspectOperator"] = dtinfo.Rows[i]["InspectOperator"];
                        string improved = dtinfo.Rows[i]["IsImprovedOnSite"].ToString();
                        if (improved == "1")
                        {
                            dr["IsImprovedOnSite"] = true;
                        }
                        else
                        {
                            dr["IsImprovedOnSite"] = false;
                        }
                        dr["DealDetial"] = dtinfo.Rows[i]["DealDetial"];
                        dr["ReInspectTimes"] = Convert.ToInt32(dtinfo.Rows[i]["ReInspectTimes"]);
                        if (dtinfo.Rows[i]["ImgString"].ToString() == "")
                        {
                            dr["ImgString"] = "";
                        }
                        else
                        {
                            dr["ImgString"] = dtinfo.Rows[i]["ImgString"].ToString();
                        }
                        dr["IsBackup"] = Convert.ToInt32(dtinfo.Rows[i]["isbackup"].ToString());
                        table.Rows.Add(dr);
                    }
                    Dictionary<string, string> dir = new Dictionary<string, string>();
                    dir.Add("sn", "sn");
                    dir.Add("InspectObjectId", "InspectObjectId");
                    dir.Add("InspectItemId", "InspectItemId");
                    dir.Add("CheckType", "CheckType");
                    dir.Add("InspectLimit", "InspectLimit");
                    dir.Add("NGReason", "NGReason");
                    dir.Add("TotalJudge", "TotalJudge");
                    dir.Add("InspectTimes", "InspectTimes");
                    dir.Add("CreateTime", "CreateTime");
                    dir.Add("InspectOperator", "InspectOperator");
                    dir.Add("IsImprovedOnSite", "IsImprovedOnSite");
                    dir.Add("DealDetial", "DealDetial");
                    dir.Add("ReInspectTimes", "ReInspectTimes");
                    dir.Add("ImgString", "ImgString");
                    dir.Add("IsBackup", "IsBackup");
                    Dictionary<string, object> pdir = new Dictionary<string, object>();
                    pdir.Add("@sn", sn);
                        Dictionary<string, string> dir = new Dictionary<string, string>();
                        dir.Add("sn", "sn");
                        dir.Add("InspectObjectId", "InspectObjectId");
                        dir.Add("InspectItemId", "InspectItemId");
                        dir.Add("CheckType", "CheckType");
                        dir.Add("InspectLimit", "InspectLimit");
                        dir.Add("NGReason", "NGReason");
                        dir.Add("TotalJudge", "TotalJudge");
                        dir.Add("InspectTimes", "InspectTimes");
                        dir.Add("CreateTime", "CreateTime");
                        dir.Add("InspectOperator", "InspectOperator");
                        dir.Add("IsImprovedOnSite", "IsImprovedOnSite");
                        dir.Add("DealDetial", "DealDetial");
                        dir.Add("ReInspectTimes", "ReInspectTimes");
                        dir.Add("ImgString", "ImgString");
                        dir.Add("IsBackup", "IsBackup");
                        Dictionary<string, object> pdir = new Dictionary<string, object>();
                        pdir.Add("@sn", sn);
                    string imgsn = Guid.NewGuid().ToString();
                    DataTable dtimg = BBIZ.GetImageItems();
                    DataTable imgtable = new DataTable(Guid.NewGuid().ToString());
                    imgtable.Columns.Add("TableSN", typeof(string));
                    imgtable.Columns.Add("SN", typeof(string));
                    imgtable.Columns.Add("ImgId", typeof(int));
                    imgtable.Columns.Add("ImgString", typeof(string));
                    for (int i = 0; i < dtimg.Rows.Count; i++)
                    {
                        DataRow dr = imgtable.NewRow();
                        dr["TableSN"] = imgsn;
                        dr["SN"] = dtimg.Rows[i]["SN"].ToString();
                        dr["ImgId"] = Convert.ToInt32(dtimg.Rows[i]["ImgId"].ToString());
                        dr["ImgString"] = dtimg.Rows[i]["ImgString"].ToString();
                        imgtable.Rows.Add(dr);
                    }
                    Dictionary<string, string> imgdir = new Dictionary<string, string>();
                    imgdir.Add("TableSN", "TableSN");
                    imgdir.Add("SN", "SN");
                    imgdir.Add("ImgId", "ImgId");
                    imgdir.Add("ImgString", "ImgString");
                    Dictionary<string, object> idir = new Dictionary<string, object>();
                    idir.Add("@sn", imgsn);
                    MsgObject msg = localProxy.WSBulkCopyDataToDBWithHook(table, "InspectItemInfoDetial", dir, pdir, "yp_InspectItemInfo_bk2", DIXPad.RSLC.DBKeys.DIX);
                    if (msg.Count > 0)
                    {
                        MsgObject msg1 = localProxy.WSBulkCopyDataToDBWithHook(imgtable, "ItemImgDetial", imgdir, idir, "yp_GetImageList", DIXPad.RSLC.DBKeys.DIX);
                        if (msg1.Count > 0)
                        string imgsn = Guid.NewGuid().ToString();
                        DataTable dtimg = BBIZ.GetImageItems();
                        DataTable imgtable = new DataTable(Guid.NewGuid().ToString());
                        imgtable.Columns.Add("TableSN", typeof(string));
                        imgtable.Columns.Add("SN", typeof(string));
                        imgtable.Columns.Add("ImgId", typeof(int));
                        imgtable.Columns.Add("ImgString", typeof(string));
                        for (int i = 0; i < dtimg.Rows.Count; i++)
                        {
                            BBIZ.UpdateInspectedItems();
                            MessageBox.Show("点检数据上传至服务端成功!", "上传成功", MessageBoxButton.OK, MessageBoxImage.Information);
                            DataTable dt = OBIZ.GetAllInspectedItem("", "", "");
                            UploadDataGrid.ItemsSource = dt.DefaultView;
                            DataRow dr = imgtable.NewRow();
                            dr["TableSN"] = imgsn;
                            dr["SN"] = dtimg.Rows[i]["SN"].ToString();
                            dr["ImgId"] = Convert.ToInt32(dtimg.Rows[i]["ImgId"].ToString());
                            dr["ImgString"] = dtimg.Rows[i]["ImgString"].ToString();
                            imgtable.Rows.Add(dr);
                        }
                        Dictionary<string, string> imgdir = new Dictionary<string, string>();
                        imgdir.Add("TableSN", "TableSN");
                        imgdir.Add("SN", "SN");
                        imgdir.Add("ImgId", "ImgId");
                        imgdir.Add("ImgString", "ImgString");
                        Dictionary<string, object> idir = new Dictionary<string, object>();
                        idir.Add("@sn", imgsn);
                        MsgObject msg = localProxy.WSBulkCopyDataToDBWithHook(table, "InspectItemInfoDetial", dir, pdir, "yp_InspectItemInfo_bk2", DIXPad.RSLC.DBKeys.DIX);
                        if (msg.Count > 0)
                        {
                            MsgObject msg1 = localProxy.WSBulkCopyDataToDBWithHook(imgtable, "ItemImgDetial", imgdir, idir, "yp_GetImageList", DIXPad.RSLC.DBKeys.DIX);
                            if (msg1.Count > 0)
                            {
                                BBIZ.UpdateInspectedItems();
                                MessageBox.Show("点检数据上传至服务端成功!", "上传成功", MessageBoxButton.OK, MessageBoxImage.Information);
                                DataTable dt = OBIZ.GetAllInspectedItem("", "", "");
                                UploadDataGrid.ItemsSource = dt.DefaultView;
                            }
                            else
                            {
                                MessageBox.Show("点检数据上传至服务端失败!" + msg1.Msg, "上传失败", MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }
                        else
                        {
                            MessageBox.Show("点检数据上传至服务端失败!" + msg1.Msg, "上传失败", MessageBoxButton.OK, MessageBoxImage.Error);
                            MessageBox.Show("点检数据上传至服务端失败!" + msg.Msg, "上传失败", MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                    else
                    {
                        MessageBox.Show("点检数据上传至服务端失败!" + msg.Msg, "上传失败", MessageBoxButton.OK, MessageBoxImage.Error);
                        MessageBox.Show("当前无可上传的点检数据!请点检其他设备后再进行上传!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                }
                else
                {
                    MessageBox.Show("当前无可上传的点检数据!请点检其他设备后再进行上传!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
        }
            catch (Exception er)
            {
                MessageBox.Show(er.Message, "Warning!", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
         }
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
src/DIXWeb.Business/Common/ExcelHelper.cs
@@ -6,13 +6,17 @@
using System.Threading.Tasks;
using DIXWeb.Entity.DIX;
using DIXWeb.Entity.GlobalM;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
namespace DIXWeb.Business.DIX
{
    public class ExcelHelper
    {
        public static void CreateExcel(List<ExcelEntity> list, string excelRealPath,string sheetName) {
        private bool IsXlsx=false;
        public static void CreateExcel(List<ExcelEntity> list, string excelRealPath, string sheetName)
        {
            new ToExcelTemplate(excelRealPath, sheetName).ExportTemplate(list);
        }
@@ -65,5 +69,418 @@
        }
        public void Create(string excelRealPath, string sheetName,bool IsXlsx)
        {
            this.IsXlsx = IsXlsx;
            HSSFWorkbook workbook = new HSSFWorkbook();
            ISheet sheet = workbook.CreateSheet("Sheet1");
            SetDefaultStyle(workbook, sheet);
            ToExcelTemplate data = new ToExcelTemplate();
            string[] orgArr = data.GetOrg();
            string[] iotArr = data.GetInspectObjectType();
            string[] iaArr = data.GetInspectArea();
            string[] itArr = data.GetInspectType();
            string[] ifArr = data.GetInspectFrequency();
            string[] isArr = data.GetInspectStatu();
            string InspectObjectIsNeedStr = System.Configuration.ConfigurationManager.AppSettings["InspectObjectIsNeedStr"].ToString();
            string[] iNArr = InspectObjectIsNeedStr.Split(',');
            SetCellDropdownList(workbook, sheet, "Org", 1, 0, 0, orgArr,1);
            SetCellDropdownList(workbook, sheet, "InspectObjectType", 1, 1, 1, iotArr,2);
            SetCellDropdownList(workbook, sheet, "InspectArea", 1, 4, 4, iaArr,3);
            SetCellDropdownList(workbook, sheet, "InspectType", 1, 6, 6, itArr,4);
            SetCellDropdownList(workbook, sheet, "InspectFrequency", 1, 7, 7, ifArr,5);
            SetCellDropdownList(workbook, sheet, "InspectStatu", 1, 8, 8, isArr,6);
            SetCellDropdownList(workbook, sheet, "IsNeed", 1, 9, 9, iNArr,7);
            WriteToFile(excelRealPath, workbook);
        }
        public static void SetCellDropdownList(HSSFWorkbook workbook, ISheet sheet, string name,int firstRow, int firstcol, int lastcol, string[] vals, int sheetindex = 1)
        {
            //先创建一个Sheet专门用于存储下拉项的值
            ISheet sheet2 = workbook.CreateSheet(name);
            //隐藏
            workbook.SetSheetHidden(sheetindex, true);
            int index = 0;
            foreach (var item in vals)
            {
                sheet2.CreateRow(index).CreateCell(0).SetCellValue(item);
                index++;
            }
            //创建的下拉项的区域:
            var rangeName = name + "Range";
            IName range = workbook.CreateName();
            range.RefersToFormula = name + "!$A$1:$A$" + index;
            range.NameName = rangeName;
            CellRangeAddressList regions = new CellRangeAddressList(firstRow, 65535, firstcol, lastcol);
            DVConstraint constraint = DVConstraint.CreateFormulaListConstraint(rangeName);
            HSSFDataValidation dataValidate = new HSSFDataValidation(regions, constraint);
            dataValidate.CreateErrorBox("输入不合法", "请输入或选择下拉列表中的值。");
            dataValidate.ShowPromptBox = true;
            sheet.AddValidationData(dataValidate);
        }
        private string WriteToFile(string fileName, HSSFWorkbook workbook)
        {
            string result = string.Empty;
            try
            {
                using (System.IO.FileStream file = new System.IO.FileStream(fileName, System.IO.FileMode.Create))
                {
                    workbook.Write(file);
                }
                result = "SUCCESS,";
            }
            catch (Exception ex)
            {
                result = "ERROR," + ex.Message;
            }
            return result;
        }
        private void SetDefaultStyle(IWorkbook workbook, ISheet sheet)
        {
            Dictionary<String, ICellStyle> styles = createCellStyles(workbook);
            if (!IsXlsx)
                sheet.TabColorIndex = NPOI.HSSF.Util.HSSFColor.CornflowerBlue.Index;
            NPOI.SS.UserModel.IPrintSetup printSetup = sheet.PrintSetup;
            sheet.DisplayGridlines = false;
            SetDefaultRowHeight(sheet, 28.0F);
            sheet.FitToPage = (true);
            sheet.HorizontallyCenter = (true);  //设置Sheet缩放
            sheet.SetZoom(82, 100);              // 100 percent magnification
            SetColumnWidth(sheet, 00, 25.00);
            SetColumnWidth(sheet, 01, 25.00);
            SetColumnWidth(sheet, 02, 25.00);
            SetColumnWidth(sheet, 03, 25.00);
            SetColumnWidth(sheet, 04, 25.00);
            SetColumnWidth(sheet, 05, 25.00);
            SetColumnWidth(sheet, 06, 25.00);
            SetColumnWidth(sheet, 07, 25.00);
            SetColumnWidth(sheet, 08, 25.00);
            SetColumnWidth(sheet, 09, 25.00);
            SetColumnWidth(sheet, 10, 25.00);
            sheet.SetColumnHidden(24, true);
            IRow curRow = sheet.CreateRow(0);
            ICell curCel = null;
            SetRowHeight(curRow, 33);//第一行行高
            //第一行 列头
            curCel = curRow.CreateCell(0);
            SetColumnWidth(sheet, 00, 15.00);
            curCel.SetCellValue("组织ID");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(1);
            SetColumnWidth(sheet, 01, 25.00);
            curCel.SetCellValue("设备类型ID");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(2);
            SetColumnWidth(sheet, 02, 15.00);
            curCel.SetCellValue("设备编号");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(3);
            SetColumnWidth(sheet, 03, 15.00);
            curCel.SetCellValue("设备名称");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(4);
            SetColumnWidth(sheet, 04, 25.00);
            curCel.SetCellValue("设备区域ID");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(5);
            SetColumnWidth(sheet, 05, 15.00);
            curCel.SetCellValue("设备位置");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(6);
            SetColumnWidth(sheet, 06, 25.00);
            curCel.SetCellValue("点检周期ID");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(7);
            SetColumnWidth(sheet, 07, 20.00);
            curCel.SetCellValue("点检频率ID");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(8);
            SetColumnWidth(sheet, 08, 20.00);
            curCel.SetCellValue("设备状态ID");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(9);
            SetColumnWidth(sheet, 09, 30.00);
            curCel.SetCellValue("是否需要点检");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(10);
            SetColumnWidth(sheet, 10, 25.00);
            curCel.SetCellValue("导入日期");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
            curCel = curRow.CreateCell(11);
            SetColumnWidth(sheet, 11, 25.00);
            curCel.SetCellValue("有效期(年)");
            curCel.CellStyle = styles["Bold_13_Black_Font"];
        }
        protected void SetDefaultRowHeight(ISheet sheet, float rowHeight)
        {
            sheet.DefaultRowHeight = Convert.ToInt16(rowHeight * 20);
        }
        protected void SetColumnWidth(ISheet sheet, int columnIndex, double width)
        {
            sheet.SetColumnWidth(columnIndex, (int)((width + 0.72) * 256));
        }
        protected void SetRowHeight(IRow targetRow, float rowHeight)
        {
            targetRow.Height = Convert.ToInt16(rowHeight * 20);
        }
        protected void SetFontHeight(IFont targetFont, double fontHeight)
        {
            if (IsXlsx == true)
            {
                targetFont.FontHeightInPoints = Convert.ToInt16(fontHeight);
            }
            else
            {
                targetFont.FontHeight = fontHeight * 20;
            }
        }
        protected Dictionary<string, ICellStyle> createCellStyles(IWorkbook wb)
        {
            //return base.createCellStyles(wb);
            Dictionary<string, ICellStyle> styles = new Dictionary<string, ICellStyle>();
            IDataFormat df = wb.CreateDataFormat();
            NPOI.SS.UserModel.IFont MsFont_9_Black_Font = wb.CreateFont();
            MsFont_9_Black_Font.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Normal;
            SetFontHeight(MsFont_9_Black_Font, 9);
            MsFont_9_Black_Font.FontName = "微软雅黑";
            NPOI.SS.UserModel.IFont MsFont_9_Blue_Font = wb.CreateFont();
            MsFont_9_Blue_Font.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Normal;
            MsFont_9_Blue_Font.Color = NPOI.HSSF.Util.HSSFColor.Blue.Index;
            SetFontHeight(MsFont_9_Blue_Font, 9);
            MsFont_9_Blue_Font.FontName = "微软雅黑";
            NPOI.SS.UserModel.IFont MsFont_9_Red_Font = wb.CreateFont();
            MsFont_9_Red_Font.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Normal;
            MsFont_9_Red_Font.Color = NPOI.HSSF.Util.HSSFColor.Red.Index;
            SetFontHeight(MsFont_9_Red_Font, 9);
            MsFont_9_Red_Font.FontName = "微软雅黑";
            NPOI.SS.UserModel.ICellStyle cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = false;
            styles.Add("微黑_9_V中H中_换行_全框细", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Right;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = false;
            styles.Add("微黑_9_V中H右_换行_全框细", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Left;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Blue_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = false;
            styles.Add("微黑_9_V中H左_换行_全框细_蓝字", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = true;  //上锁
            styles.Add("微黑_9_V中H中_换行_全框细_上锁", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Red_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = false;
            styles.Add("微黑_红9_V中H中_换行_全框细", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = false;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.PaleBlue.Index;
            styles.Add("微黑_9_V中H中_换行_全框细_蓝背景", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = true;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.PaleBlue.Index;
            styles.Add("微黑_9_V中H中_换行_全框细_蓝背景_上锁", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Blue_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = true;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.PaleBlue.Index;
            styles.Add("微黑_9蓝_V中H中_换行_全框细_蓝背景_上锁", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Right;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = false;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.BrightGreen.Index;
            styles.Add("微黑_9_V中H右_换行_全框细_绿背景", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = false;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LemonChiffon.Index;
            styles.Add("微黑_9_V中H中_换行_全框细_柠檬黄背景", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Right;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = false;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LemonChiffon.Index;
            styles.Add("微黑_9_V中H右_换行_全框细_柠檬黄背景", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = true;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LemonChiffon.Index;
            styles.Add("微黑_9_V中H中_换行_全框细_柠檬黄背景_上锁", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (false);
            cellStyle.IsLocked = false;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.DataFormat = (df.GetFormat("m-d h:mm"));
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LemonChiffon.Index;
            styles.Add("微黑_9_V中H中_不换行_全框细_柠檬黄背景_日期", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (true);
            cellStyle.IsLocked = false;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightTurquoise.Index;
            styles.Add("微黑_9_V中H中_换行_全框细_淡蓝背景", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_9_Black_Font);
            cellStyle.WrapText = (false);
            cellStyle.IsLocked = false;
            cellStyle.FillPattern = FillPattern.SolidForeground;
            cellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightTurquoise.Index;
            cellStyle.DataFormat = (df.GetFormat("m-d h:mm"));
            styles.Add("微黑_9_V中H中_不换行_全框细_淡蓝背景_日期", cellStyle);
            NPOI.SS.UserModel.IFont Bold_13_Black_Font = wb.CreateFont();
            Bold_13_Black_Font.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Bold;
            Bold_13_Black_Font.FontHeight = 13 * 20;      //字体高度,XLSX下有字体大小问题
            //Bold_15_Black_Font.FontHeightInPoints = 10; //字体高度,XLS下有大小问题
            Bold_13_Black_Font.FontName = "黑体";
            NPOI.SS.UserModel.IFont Bold_15_Black_Font = wb.CreateFont();
            Bold_15_Black_Font.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Bold;
            Bold_15_Black_Font.FontHeight = 15 * 20;      //字体高度,XLSX下有字体大小问题
            //Bold_15_Black_Font.FontHeightInPoints = 10; //字体高度,XLS下有大小问题
            Bold_15_Black_Font.FontName = "黑体";
            NPOI.SS.UserModel.IFont MsFont_12_Black_Font = wb.CreateFont();
            MsFont_12_Black_Font.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Normal;
            SetFontHeight(MsFont_12_Black_Font, 12);
            MsFont_12_Black_Font.FontName = "微软雅黑";
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(Bold_13_Black_Font);
            //cellStyle.WrapText = (false);//换行
            styles.Add("Bold_13_Black_Font", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(Bold_15_Black_Font);
            //cellStyle.WrapText = (false);
            styles.Add("Bold_15_Black_Font", cellStyle);
            cellStyle = CreateBorderedStyle(wb, BorderStyle.Thin);
            cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
            cellStyle.SetFont(MsFont_12_Black_Font);
            //cellStyle.WrapText = (true);//换行
            cellStyle.IsLocked = true;
            styles.Add("微黑_12_V中H中_全框细_上锁", cellStyle);
            return styles;
        }
        protected NPOI.SS.UserModel.ICellStyle CreateBorderedStyle(NPOI.SS.UserModel.IWorkbook wb,
            NPOI.SS.UserModel.BorderStyle defaltBorderStyle = NPOI.SS.UserModel.BorderStyle.Thin)
        {
            NPOI.SS.UserModel.ICellStyle style = wb.CreateCellStyle();
            style.BorderRight = defaltBorderStyle;
            style.BorderBottom = defaltBorderStyle;
            style.BorderLeft = defaltBorderStyle;
            style.BorderTop = defaltBorderStyle;
            style.RightBorderColor = (NPOI.SS.UserModel.IndexedColors.Black.Index);
            style.BottomBorderColor = (NPOI.SS.UserModel.IndexedColors.Black.Index);
            style.LeftBorderColor = (NPOI.SS.UserModel.IndexedColors.Black.Index);
            style.TopBorderColor = (NPOI.SS.UserModel.IndexedColors.Black.Index);
            return style;
        }
    }
}
src/DIXWeb.Business/Common/ToExcelTemplate.cs
@@ -13,7 +13,7 @@
{
    public class ToExcelTemplate:ExcelBaseNPOI
    {
        private ToExcelTemplate() { }
        public ToExcelTemplate() { }
        public ToExcelTemplate(string filePath, string sheetName = "") : base(filePath, sheetName) { }
        public static string FileName
@@ -505,28 +505,29 @@
        #endregion
        private string[] GetOrg() {
        public string[] GetOrg() {
            List<string> list = new List<string>();
            using (DBContext db = new DBContext())
            {
                list = db.Database.SqlQuery<string>("select CONVERT(varchar,Id)+'>'+[Name] as text from DIX.dbo.OrgInfo with(nolock) order by Id asc ").ToList();
                list = db.Database.SqlQuery<string>("select CONVERT(varchar,Id)+'>'+[Name] as text from DIX.dbo.OrgInfo with(nolock) where parentId = 0 order by Id asc ").ToList();
            }
            string[] arr = list.ToArray<string>();
            return arr;
        }
        private string[] GetInspectObjectType()
        public string[] GetInspectObjectType()
        {
            string GetInspectObjectTypeExcel = System.Configuration.ConfigurationManager.AppSettings["GetInspectObjectTypeExcel"].ToString();
            List<string> list = new List<string>();
            using (DBContext db = new DBContext())
            {
                list = db.Database.SqlQuery<string>("select CONVERT(varchar,Id)+'>'+[Name] as text from DIX.meta.InspectObjectType with(nolock) order by Id asc ").ToList();
                list = db.Database.SqlQuery<string>("meta.p_GetInspectObjectTypeExcel '"+ GetInspectObjectTypeExcel + "' ").ToList();
            }
            string[] arr = list.ToArray<string>();
            return arr;
        }
        private string[] GetInspectArea()
        public string[] GetInspectArea()
        {
            List<string> list = new List<string>();
            using (DBContext db = new DBContext())
@@ -537,7 +538,7 @@
            return arr;
        }
        private string[] GetInspectType()
        public string[] GetInspectType()
        {
            List<string> list = new List<string>();
            using (DBContext db = new DBContext())
@@ -548,7 +549,7 @@
            return arr;
        }
        private string[] GetInspectFrequency()
        public string[] GetInspectFrequency()
        {
            List<string> list = new List<string>();
            using (DBContext db = new DBContext())
@@ -559,7 +560,7 @@
            return arr;
        }
        private string[] GetInspectStatu()
        public string[] GetInspectStatu()
        {
            List<string> list = new List<string>();
            using (DBContext db = new DBContext())
src/DIXWeb.Business/GlobalM/StatementBusiness.cs
@@ -13,7 +13,7 @@
{
    public class StatementBusiness
    {
        public Receive GetICS(int InspectObjectTypeId, int InspectTypeId, DateTime TimeBegin, DateTime TimeEnd, int PageIndex, int PageSize)
        public Receive GetICS(int OrgId,int InspectObjectTypeId, int InspectTypeId, DateTime TimeBegin, DateTime TimeEnd, int PageIndex, int PageSize)
        {
            Receive receive = new Receive();
            try
@@ -21,6 +21,7 @@
                using (DBContext db = new DBContext())
                {
                    System.Data.SqlClient.SqlParameter[] paramList = new System.Data.SqlClient.SqlParameter[] {
                        new System.Data.SqlClient.SqlParameter("@OrgId", OrgId),
                        new System.Data.SqlClient.SqlParameter("@IspectObjectTypeId", InspectObjectTypeId),
                        new System.Data.SqlClient.SqlParameter("@InspectTypeId", InspectTypeId),
                        new System.Data.SqlClient.SqlParameter("@TimeBegin", TimeBegin),
@@ -31,7 +32,7 @@
                    };
                    int index = paramList.Length - 1;
                    paramList[index].Direction = ParameterDirection.Output;
                    List<EntityISC> list = db.Database.SqlQuery<EntityISC>("exec dbo.zp_GetICS @IspectObjectTypeId,@InspectTypeId,@TimeBegin,@TimeEnd,@pageIndex,@pageSize,@Total output ", paramList).ToList();
                    List<EntityISC> list = db.Database.SqlQuery<EntityISC>("exec dbo.zp_GetICS @OrgId,@IspectObjectTypeId,@InspectTypeId,@TimeBegin,@TimeEnd,@pageIndex,@pageSize,@Total output ", paramList).ToList();
                    receive.rows = list;
                    receive.total = int.Parse(paramList[index].Value.ToString());
src/DIXWeb.Business/MySQLBiz/MySQLInspectBaseBiz.cs
@@ -36,14 +36,28 @@
        public void UpdateInspectedItems()
        {
            string sql = "update dix.inspectiteminfo set IsInspected=1 where IsInspected=0;";
            Service.ExecuteSql(sql);
            UpdateInspectedjudge();
            try
            {
                string sql = "update dix.inspectiteminfo set IsInspected=1 where IsInspected=0;";
                Service.ExecuteSql(sql);
                UpdateInspectedjudge();
            }
            catch (Exception)
            {
                throw new Exception();
            }
        }
        public void UpdateInspectedjudge()
        {
            string sql = "update dix.inspectjudge set IsInspected=1 where IsInspected=0;";
            Service.ExecuteSql(sql);
            try
            {
                string sql = "update dix.inspectjudge set IsInspected=1 where IsInspected=0;";
                Service.ExecuteSql(sql);
            }
            catch (Exception)
            {
                throw new Exception();
            }
        }
        public ResultMessage CompareFreqLimit(int objectid, int freqid)
        {
src/DIXWeb.Business/Power/HomeBusiness.cs
@@ -49,7 +49,8 @@
                System.Data.SqlClient.SqlParameter[] paramList = new System.Data.SqlClient.SqlParameter[2];
                paramList[0] = new System.Data.SqlClient.SqlParameter("@UserCode", UserNo);
                paramList[1] = new System.Data.SqlClient.SqlParameter("@Password", psdTemp);
                r = db.Database.SqlQuery<RSP>("EXEC dbo.p_SonyUserUpload @UserCode,@Password ", paramList).FirstOrDefault();
                paramList[1] = new System.Data.SqlClient.SqlParameter("@PasswordStr", password);
                r = db.Database.SqlQuery<RSP>("EXEC dbo.p_SonyUserUpload @UserCode,@Password,@PasswordStr ", paramList).FirstOrDefault();
            }
            return r;
        }
src/DIXWeb.Business/Workflow/BillBusiness.cs
@@ -129,7 +129,7 @@
            return record;
        }
        public Receive GetInspectBook(string InspectObjectCode, DateTime TimeBegin, DateTime TimeEnd, int Status, int rows, int page,string filterType )
        public Receive GetInspectBook(string InspectObjectCode, DateTime TimeBegin, DateTime TimeEnd, int Status, int rows, int page,string filterType,int UserId )
        {
            int Total = 0;
            Receive record = new Receive();
@@ -145,11 +145,12 @@
                        new System.Data.SqlClient.SqlParameter("@pageSize", rows),
                        new System.Data.SqlClient.SqlParameter("@pageIndex", page),
                        new System.Data.SqlClient.SqlParameter("@FilterType", filterType),
                        new System.Data.SqlClient.SqlParameter("@UserId", UserId),
                        new System.Data.SqlClient.SqlParameter("@Total", Total),
                    };
                    int index = paramList.Length - 1;
                    paramList[index].Direction = ParameterDirection.Output;
                    record.rows = db.Database.SqlQuery<ReceiveInspectBook>("exec biz.p_getInspectBook @InspectObjectCode,@TimeBegin,@TimeEnd,@Status,@pageSize,@pageIndex,@FilterType,@Total output ", paramList).ToList();
                    record.rows = db.Database.SqlQuery<ReceiveInspectBook>("exec biz.p_getInspectBook @InspectObjectCode,@TimeBegin,@TimeEnd,@Status,@pageSize,@pageIndex,@FilterType,@UserId,@Total output ", paramList).ToList();
                    record.total = int.Parse(paramList[index].Value.ToString());
                }
                record.Code = 200;
src/DIXWeb.Business/Workflow/WorkListBusiness.cs
@@ -257,6 +257,21 @@
            return record;
        }
        public Receive ApproveAgreeAll(int UserId, string Remark, string AppendixUrl)
        {
            Receive record = null;
            using (DBContext db = new DBContext())
            {
                System.Data.SqlClient.SqlParameter[] paramList = new System.Data.SqlClient.SqlParameter[] {
                    new System.Data.SqlClient.SqlParameter("@UserId", UserId),
                    new System.Data.SqlClient.SqlParameter("@Remark", Remark),
                    new System.Data.SqlClient.SqlParameter("@AppendixUrl", AppendixUrl),
                };
                record = db.Database.SqlQuery<Receive>("EXEC meta.p_ApproveAgreeAll @UserId,@Remark,@AppendixUrl ", paramList).FirstOrDefault();
            }
            return record;
        }
        public Receive ApproveRefuse(int[] BillflowIdArr, int UserId,string Remark)
        {
            Receive record = null;
src/DIXWeb.Business/Workflow/WorkflowNodeBusiness.cs
@@ -230,9 +230,9 @@
                WorkflowNode tempRecord = db.WorkflowNode.Find(record.Id);
                tempRecord.Code = record.Code;
                tempRecord.Name = record.Name;
                //tempRecord.WorkflowId = record.WorkflowId;
                tempRecord.WorkflowId = record.WorkflowId;
                tempRecord.NodeTypeId = record.NodeTypeId;
                //tempRecord.NextNodeTypeId = record.NextNodeTypeId;
                tempRecord.NextNodeTypeId = record.NextNodeTypeId;
                tempRecord.MinRoleId = record.MinRoleId;
                tempRecord.MaxRoleId = record.MaxRoleId;
                tempRecord.OrderNo = record.OrderNo;
src/DIXWeb.Business/Workflow/WorkflowNodeDetailBusiness.cs
@@ -81,6 +81,7 @@
                tempRecord.RoleTypeId = record.RoleTypeId;
                tempRecord.RoleId = record.RoleId;
                tempRecord.DetailLevel = record.DetailLevel;
                tempRecord.ActiveType = record.ActiveType;
                tempRecord.ChTime = record.ChTime;
                tempRecord.ChUserId = record.ChUserId;
                db.SaveChanges();
src/DIXWeb.DAL/DBContext.cs
@@ -18,6 +18,7 @@
        public DBContext()
            : base(_ConnectionString)
        {
            this.Database.CommandTimeout = 5184000;
            //关闭初始化策略(Code First连接现有数据库)
            try { System.Data.Entity.Database.SetInitializer<DBContext>(null); } catch (Exception er) { throw new Exception("数据库连接失败:" + _ConnectionString + "," + er.Message); }
src/DIXWeb.Entity/GlobalM/Toprie.cs
@@ -18,7 +18,7 @@
        }
        [Key, Column(Order = 1), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }
        public Int64 Id { get; set; }
        /// <summary>
        /// Desc:主键
        /// Default:
src/DIXWeb.Entity/Workflow/ReceiveBillProcess.cs
@@ -17,5 +17,6 @@
        public string Remark { get; set; }
        public string AppendixUrl { get; set; }
        public string ApproveTimeStr { get; set; }
        public string ActiveTimeStr { get; set; }
    }
}
src/DIXWeb.Entity/Workflow/ReceiveNodeDetail.cs
@@ -23,6 +23,7 @@
        public string RoleName { get; set; }
        
        public int DetailLevel { get; set; }
        public string ActiveType { get; set; }
        public DateTime CreateTime { get; set; }
        public int CreateUserId { get; set; }
src/DIXWeb.Entity/Workflow/WorkflowNodeDetail.cs
@@ -28,6 +28,9 @@
        public int CreateUserId { get; set; }
        public DateTime ChTime { get; set; }
        public int ChUserId { get; set; }
        public string ActiveType { get; set; }
        
    }
}
src/DIXWeb.Util/Helper/LogHelper.cs
@@ -40,7 +40,7 @@
                {
                    Directory.CreateDirectory(directory);
                }
                catch (Exception er)
                catch (Exception)
                {
                    //盘符不存在情况
                    logFolder = "c:\\logs\\";
src/DIXWeb.Web/Areas/GlobalM/Controllers/DownloadController.cs
@@ -140,7 +140,8 @@
            string fileName = "InspectObjectTemplate.xls";
            string fullName = dir + fileName;
            if (System.IO.File.Exists(fullName)) System.IO.File.Delete(fullName);
            ExcelHelper.CreateExcel(fullName, "Sheet1");
            //ExcelHelper.CreateExcel(fullName, "Sheet1");
            new ExcelHelper().Create(fullName, "Sheet1", false);
            return File(fullName, "application/ms-excel", fileName);
        }
src/DIXWeb.Web/Areas/GlobalM/Controllers/StatementController.cs
@@ -70,9 +70,9 @@
        /// <param name="page"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        public ActionResult GetICS(int InspectObjectTypeId, int InspectTypeId, DateTime TimeBegin, DateTime TimeEnd, int page = 1, int rows = 200)
        public ActionResult GetICS(int OrgId,int InspectObjectTypeId, int InspectTypeId, DateTime TimeBegin, DateTime TimeEnd, int page = 1, int rows = 200)
        {
            Receive receive = this._statementBusiness.GetICS(InspectObjectTypeId, InspectTypeId, TimeBegin, TimeEnd, page, rows);
            Receive receive = this._statementBusiness.GetICS(OrgId,InspectObjectTypeId, InspectTypeId, TimeBegin, TimeEnd, page, rows);
            return Json(receive);
        }
src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/BillController.cs
@@ -50,6 +50,10 @@
            return View();
        }
        public ActionResult StartDIXQuality() {
            return View();
        }
        public ActionResult InspectDetail(int InspectBookId = 0,int ShowBtn = 0)
        {
            //<input id="tbxInspectBookId" readonly="readonly" value='@ViewData["InspectBookId"]' />
@@ -59,9 +63,11 @@
            return PartialView();
        }
        public ActionResult InspectFalseDetail(int InspectBookId = 0)
        public ActionResult InspectFalseDetail(int InspectBookId = 0, int ShowBtn = 0)
        {
            ViewData["InspectBookId"] = InspectBookId;
            ViewData["RoleNameString"] = Util.SessionHelper.Session["RoleNameString"].ToString();
            ViewData["ShowBtn"] = ShowBtn;
            return PartialView();
        }
@@ -105,7 +111,8 @@
        public ActionResult GetInspectBook(string InspectObjectCode, DateTime TimeBegin,DateTime TimeEnd,int Status,string filterType, int rows, int page) {
            object obj = this._billBusiness.GetInspectBook(InspectObjectCode,TimeBegin, TimeEnd, Status, rows, page, filterType);
            UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
            object obj = this._billBusiness.GetInspectBook(InspectObjectCode,TimeBegin, TimeEnd, Status, rows, page, filterType, ui.Id);
            return Json(obj);
        }
src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkListController.cs
@@ -9,6 +9,7 @@
using System.IO;
using System.Web;
using System.Web.Mvc;
using System.Web.Script.Serialization;
namespace DIXWeb.Web
{
@@ -137,7 +138,7 @@
        {
            UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
            Receive receive = this._workListBusiness.GetMyNeedDealt(Code, ui.Id, page, rows);
            return Json(receive);
            return GetResultMax(receive);
        }
        public ActionResult ApproveAgree(int[] BillflowIdArr, string Remark,string AppendixUrl = "")
        {
@@ -158,6 +159,27 @@
            }
            return Json(record);
        }
        public ActionResult ApproveAgreeAll(string Remark, string AppendixUrl = "")
        {
            Receive record = null;
            try
            {
                DateTime now = DateTime.Now;
                UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
                record = this._workListBusiness.ApproveAgreeAll(ui.Id, Remark, AppendixUrl);
            }
            catch (Exception ex)
            {
                record = new Receive()
                {
                    Code = 500,
                    Message = ex.Message
                };
            }
            return Json(record);
        }
        public ActionResult ApproveRefuse(int[] BillflowIdArr, string Remark)
        {
            Receive record = null;
@@ -323,6 +345,17 @@
            }
            return Json(receive);
        }
        private ContentResult GetResultMax(Receive receive) {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            serializer.MaxJsonLength = Int32.MaxValue;
            ContentResult result = new ContentResult
            {
                Content = serializer.Serialize(receive),
                ContentType = "application/json"
            };
            return result;
        }
    }
}
//5105955045    张小东     5105955047
src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkflowNodeDetailController.cs
@@ -56,6 +56,7 @@
        {
            try
            {
                if (string.IsNullOrEmpty(record.ActiveType)) record.ActiveType = "";
                DateTime now = DateTime.Now;
                UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
                record.ChUserId = ui.Id;
@@ -75,6 +76,7 @@
        {
            try
            {
                if (string.IsNullOrEmpty(record.ActiveType)) record.ActiveType = "";
                DateTime now = DateTime.Now;
                UserInfo ui = Util.SessionHelper.Session["UserInfo"] as UserInfo;
                record.ChUserId = ui.Id;
src/DIXWeb.Web/Areas/GlobalM/Views/Bill/InspectFalseDetail.cshtml
@@ -46,5 +46,7 @@
</style>
<script src="~/Scripts/Bill/PartialInspectFalseDetail.js"></script>
<input id="tbxInspectBookId" readonly="readonly" value='@ViewData["InspectBookId"]' style="overflow:hidden;width:0px;height:0px;border:none;display:block;" />
<input id="RoleNameStringInspectFalseDetail" readonly="readonly" value='@ViewData["RoleNameString"]' style="overflow:hidden;width:0px;height:0px;border:none;display:block;" />
<input id="ShowBtnInspectFalseDetail" readonly="readonly" value='@ViewData["ShowBtn"]' style="overflow:hidden;width:0px;height:0px;border:none;display:block;" />
<table id="tabPartialInspectFalseDetail"></table>
src/DIXWeb.Web/Areas/GlobalM/Views/Bill/StartDIXQuality.cshtml
New file
@@ -0,0 +1,30 @@

@{
    ViewBag.Title = "StartDIXQuality";
    Layout = "~/Views/Shared/_Layout_List.cshtml";
}
<link href="~/Scripts/TimePluggable/jquery.datetimepicker.css" rel="stylesheet" />
<script src="~/Scripts/TimePluggable/jquery.datetimepicker.full.min.js"></script>
<script src="~/Scripts/Bill/StartDIXQuality.js"></script>
<div id="divStartDIXQualityWhere">
    <a id="btnStartDIXQualitySubmit" class="easyui-linkbutton" href="#" data-options="iconCls:'icon-ok'">提交审批</a>
    &nbsp;&nbsp;&nbsp;&nbsp;
    设备编号:<input name="code" style="width:120px;" type="text" />
    &nbsp;&nbsp;&nbsp;&nbsp;
    点检日期:
    <input name="timeBegin" style="width:140px;" type="text" class="some_class" />
    &nbsp;&nbsp;至&nbsp;&nbsp;
    <input name="timeEnd" style="width:140px;" type="text" class="some_class" />
    &nbsp;&nbsp;&nbsp;&nbsp;
    状态:<input type="radio" name="StatuSubmit" value="0" checked="checked" />未提交&nbsp;&nbsp;<input type="radio" name="StatuSubmit" value="1" />已提交
    &nbsp;&nbsp;&nbsp;&nbsp;
    <a id="btnStartDIXQualitySearch" class="easyui-linkbutton" href="#" data-options="iconCls:'icon-search'">查询</a>
</div>
<input id="selectStartDIXQualitySelected" type="text" style="overflow:hidden;display:block;width:0px;height:0px;border:none;" />
<table id="tabStartDIXQualityTable" class="easyui-datagrid"></table>
<div id="StartDIXQualityDialog" style="width:80%;margin:auto;"></div>
src/DIXWeb.Web/Areas/GlobalM/Views/InspectObjectType/Item.cshtml
@@ -50,13 +50,13 @@
            <tr>
                <th>下限</th>
                <td>
                    <input id="UpdateLimit" value="@obj.LowLimit" class="easyui-combobox" data-options="width:'200px',required:true,align:'center'">
                    <input id="UpdateLimit" value="@obj.LowLimit" class="easyui-textbox" data-options="width:'200px',required:true,align:'center'">
                </td>
            </tr>
            <tr>
                <th>上限</th>
                <td>
                    <input id="UpdateLimit" value="@obj.TopLimit" class="easyui-combobox" data-options="width:'200px',required:true,align:'center'">
                    <input id="UpdateLimit" value="@obj.TopLimit" class="easyui-textbox" data-options="width:'200px',required:true,align:'center'">
                </td>
            </tr>
        </tbody>
src/DIXWeb.Web/Areas/GlobalM/Views/Statement/InspectCheckedSelect.cshtml
@@ -8,6 +8,11 @@
<table id="tabICSSearch">
    <tr>
        <td class="tabTitle">组织:</td>
        <td class="tabCBB">
            <select id="searchICSInspectOrgId"></select>
            &nbsp;&nbsp;&nbsp;&nbsp;
        </td>
        <td class="tabTitle">设备类别:</td>
        <td class="tabCBB">
            <select id="searchICSInspectObjectType"></select>
src/DIXWeb.Web/Areas/GlobalM/Views/Statement/ObjectInspectDetail.cshtml
@@ -29,8 +29,9 @@
        <td></td>
    </tr>
</table>
<table id="tabOIDTable" class="easyui-datagrid"></table>
<div id="divOIDShow">
    <table id="tabOIDTable" class="easyui-datagrid"></table>
</div>
<style type="text/css">
    #tabOIDSearch td {
src/DIXWeb.Web/Areas/GlobalM/Views/WorkList/MyNeedDealt.cshtml
@@ -6,9 +6,11 @@
<script src="~/Scripts/Workflow/MyNeedDealt.js"></script>
<div id="searchMyNeedDealtToolBar">
    <a id="btnMyNeedDealtAgree" class="easyui-linkbutton" href="#" data-options="iconCls:'icon-ok'">审批同意</a>
    <a id="btnMyNeedDealtAgree" class="easyui-linkbutton" href="#" data-options="iconCls:'icon-ok'">审批同意选中</a>
    <a id="btnMyNeedDealtRefuse" class="easyui-linkbutton" href="#" data-options="iconCls:'icon-no'">审批拒绝</a>
    <a id="btnMyNeedDealtProcess" class="easyui-linkbutton" href="#" data-options="iconCls:'icon-filter'">审批履历</a>
    &nbsp;&nbsp;
    <a id="btnMyNeedDealtAgreeAll" class="easyui-linkbutton" href="#" data-options="iconCls:'icon-ok'">审批同意全部</a>
    &nbsp;&nbsp;&nbsp;&nbsp;
    <input id="searchMyNeedDealtCode" type="text" style="" class="easyui-textbox" data-options="prompt:'编号'" />
    <a id="btnMyNeedDealtSearch" class="easyui-linkbutton" href="#" data-options="iconCls:'icon-search'">搜索</a>
src/DIXWeb.Web/Areas/GlobalM/Views/WorkflowNodeDetail/Index.cshtml
@@ -56,6 +56,11 @@
            <td><input style="width:100%" type="number" id="dgWorkflowNDetailLevel" class="easyui-textbox" data-options="prompt:'执行顺序'" /></td>
            <td><div class="errorMsg"></div></td>
        </tr>
        <tr>
            <th>激活类型:</th>
            <td><input style="width:100%" type="text" id="dgWorkflowNDetailActiveType" class="easyui-textbox" data-options="prompt:'激活类型'" /></td>
            <td><div class="errorMsg"></div></td>
        </tr>
    </table>
</div>
src/DIXWeb.Web/Config/system.config
@@ -6,4 +6,5 @@
  <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
  <add key="TwoDCodeSize" value="160"/>
  <add key="InspectObjectIsNeedStr" value="1>是,0>否"/>
  <add key="GetInspectObjectTypeExcel" value="2"/>
</appSettings>
src/DIXWeb.Web/Controllers/HomeController.cs
@@ -19,6 +19,7 @@
using DIXWeb.DataRepository;
using DIXWeb.Entity.EasyUI;
using DIXWeb.Business.Workflow;
using DMC;
namespace DIXWeb.Web
{
@@ -165,6 +166,32 @@
            }
            return record;
        }
        public RSP VerifyDomainUser(string user, string pwd)
        {
            RSP record = new RSP();
            try
            {
                DMC.DomainServiceProxy proxy = new DMC.DomainServiceProxy();
                Tuple<bool, string> r = proxy.VerifyDomainUser(user, pwd);
                if (r.Item1)
                {
                    record.Code = 200;
                    record.Message = "SUCCESS";
                }
                else
                {
                    record.Code = 500;
                    record.Message = r.Item2;
                }
            }
            catch (System.DirectoryServices.DirectoryServicesCOMException ex)
            {
                record.Code = 500;
                record.Message = ex.Message;
            }
            return record;
        }
        private void RememberUser(string UserNo, string password, bool IsCheck, UserInfo ui)
        {
            if (IsCheck)
src/DIXWeb.Web/DIXWeb.Web.csproj
@@ -14,7 +14,7 @@
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>ERPWeb.Web</RootNamespace>
    <AssemblyName>ERPWeb.Web</AssemblyName>
    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
    <UseIISExpress>true</UseIISExpress>
    <Use64BitIISExpress />
    <IISExpressSSLPort />
@@ -25,6 +25,7 @@
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
    <TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
    <TargetFrameworkProfile />
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
@@ -61,6 +62,9 @@
  <ItemGroup>
    <Reference Include="AutoMapper, Version=6.2.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
      <HintPath>..\packages\AutoMapper.6.2.1\lib\net45\AutoMapper.dll</HintPath>
    </Reference>
    <Reference Include="DMC">
      <HintPath>DLL\DMC.dll</HintPath>
    </Reference>
    <Reference Include="DotNetty.Buffers, Version=0.6.0.0, Culture=neutral, PublicKeyToken=bc13ca065fa06c29, processorArchitecture=MSIL">
      <HintPath>..\packages\DotNetty.Buffers.0.6.0\lib\net45\DotNetty.Buffers.dll</HintPath>
@@ -132,6 +136,7 @@
    <Reference Include="System.ComponentModel" />
    <Reference Include="System.ComponentModel.Composition" />
    <Reference Include="System.Configuration.Install" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="System.DirectoryServices" />
    <Reference Include="System.Drawing.Design" />
    <Reference Include="System.IO.Compression" />
@@ -161,16 +166,14 @@
    <Reference Include="System.ComponentModel.DataAnnotations" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Core" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="System.Web.Extensions" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Web" />
    <Reference Include="System.Xml" />
    <Reference Include="System.Configuration" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.EnterpriseServices" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="zxing, Version=0.16.9.0, Culture=neutral, PublicKeyToken=4e88037ac681fe60, processorArchitecture=MSIL">
      <HintPath>..\packages\ZXing.Net.0.16.9\lib\net45\zxing.dll</HintPath>
    </Reference>
@@ -770,6 +773,7 @@
    <Content Include="Scripts\Bill\PartialInspectFalseDetail.js" />
    <Content Include="Scripts\Bill\ReckUpdateHistory.js" />
    <Content Include="Scripts\Bill\StartDIX.js" />
    <Content Include="Scripts\Bill\StartDIXQuality.js" />
    <Content Include="Scripts\Bill\StartFCDIX.js" />
    <Content Include="Scripts\Bill\StartIndex.js" />
    <Content Include="Scripts\bootstrap.js" />
@@ -806,6 +810,8 @@
    <Content Include="Areas\GlobalM\Views\Bill\StartDIXFireControl.cshtml" />
    <Content Include="Areas\GlobalM\Views\Bill\InspectFalseDetail.cshtml" />
    <Content Include="Areas\GlobalM\Views\Statement\ObjectInspectDetail.cshtml" />
    <Content Include="Areas\GlobalM\Views\WorkflowRoute\EntrustIndex.cshtml" />
    <Content Include="Areas\GlobalM\Views\Bill\StartDIXQuality.cshtml" />
    <None Include="Scripts\jquery-1.10.2.intellisense.js" />
    <Content Include="Scripts\Download\TwoDCodeView.js" />
    <Content Include="Scripts\echarts.common.min.js" />
@@ -1367,6 +1373,7 @@
    <Content Include="Static\All.css" />
    <Content Include="Static\Css\All.css" />
    <Content Include="Static\Css\MinMaxImg.css" />
    <Content Include="Template\InspectObjectTemplate.xls" />
    <Content Include="Upload\FIle\_.txt" />
    <Content Include="Upload\Img\_.txt" />
    <Content Include="Upload\_.txt" />
@@ -1648,7 +1655,6 @@
    <Content Include="Views\User\Search.cshtml" />
    <Content Include="Scripts\jquery-1.10.2.min.map" />
    <Content Include="Views\UserInRole\Index.cshtml" />
    <Content Include="Template\InspectObjectTemplate.xls" />
    <Content Include="Views\MotifInfo\Form.cshtml" />
    <Content Include="Views\MotifInfo\Index.cshtml" />
    <Content Include="Views\MotifInfo\warningForm.cshtml" />
src/DIXWeb.Web/DLL/DMC.dll
Binary files differ
src/DIXWeb.Web/Scripts/Bill/BillInspectFinished.js
@@ -201,6 +201,8 @@
                $tr.append($td);
                $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ApproveTimeStr + '</td>');
                $tr.append($td);
                $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ActiveTimeStr + '</td>');
                $tr.append($td);
                //将tr添加到表格
                $table.append($tr);
            }
@@ -218,7 +220,7 @@
        var rows = $('#tabBillInspectFinishedTable').datagrid('getSelections');
        if (rows.length != 1) { show('查看表单只能选择一行!'); return; }
        var BookId = rows[0].Id
        var param = { InspectBookId: BookId };
        var param = { InspectBookId: BookId, ShowBtn: 1  };
        var data = ajaxSame('../../GlobalM/Bill/InspectFalseDetail', param, 'post', 'html');
        $('#processBillInspectFinished').empty();
src/DIXWeb.Web/Scripts/Bill/BillUpdate.js
@@ -183,6 +183,8 @@
                $tr.append($td);
                $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ApproveTimeStr + '</td>');
                $tr.append($td);
                $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ActiveTimeStr + '</td>');
                $tr.append($td);
                //将tr添加到表格
                $table.append($tr);
            }
src/DIXWeb.Web/Scripts/Bill/PartialInspectFalseDetail.js
@@ -6,6 +6,11 @@
    var bookId = $('#tbxInspectBookId').val();
    var $table = $('#tabPartialInspectFalseDetail');
    var $tr = $('');
    var roleNameStr = $('#RoleNameStringInspectFalseDetail').val();
    var showBtn = $('#ShowBtnInspectFalseDetail').val();
    var showIndex1 = roleNameStr.indexOf('单据修改者');
    var showIndex2 = roleNameStr.indexOf('流程发起角色');
    $.ajax({
        url: '../../GlobalM/Bill/GetInspectDetailByBookId',
        data: { BookId: bookId, FilterType: 'FALSE'  },
@@ -15,7 +20,11 @@
        success: function (data) {
            if (data.Code == 200) {
                $table.empty();
                $tr = $('<thead><tr><td>序号</td><td>点检项</td><td>基准</td><td>结果</td><td>结果</td><td>NG原因</td><td>改善?</td><td>对策</td><td>次数</td><td>时间</td><td>点检人</td><td>图片</td><td>修改</td></tr></thead>');
                var titleTd = '';
                if ((showIndex1 > 0 || showIndex2 > 0) && showBtn == '1') {
                    titleTd = '<td>备注</td>';
                }
                $tr = $('<thead><tr><td>序号</td><td>点检项</td><td>基准</td><td>结果</td><td>结果</td><td>NG原因</td><td>改善?</td><td>对策</td><td>次数</td><td>时间</td><td>点检人</td><td>图片</td>' + titleTd + '</tr></thead>');
                $table.append($tr);
                for (var i in data.rows) {
                    var detail = data.rows[i];
@@ -25,7 +34,10 @@
                    } else {
                        bgColor = 'class="bgWhite" ';
                    }
                    var btnTd = '';
                    if ((showIndex1 > 0 || showIndex2 > 0) && showBtn == '1') {
                        btnTd = '<td><button onclick="setDataPartialInspectFalseDetail(this);">数据<span class="spanHidden">' + detail.InspectReckId + '</span></button><button onclick="setImgPartialInspectFalseDetail(this);">图片<span class="spanHidden">' + detail.InspectReckId + '</span></button></td>';
                    }
                    $tr = $('<tbody><tr ' + bgColor + '>' +
                        '<td style="width:4%;">' + detail.InspectItemId + '</td>' +
                        '<td style="width:10%;">' + detail.InspectItemName + '</td>' +
@@ -41,7 +53,7 @@
                        '<td style="width:8%;">' + detail.InspectOperator + '</td>' +
                        '<td style="width:4%;">' + (detail.ImgCount > 0 ? '<button onclick="selImgPartialInspectFalseDetail(this);">检测<span class="spanHidden">' + detail.ImgString + '</span></button>' : '') + '</td>' +
                        '<td><button onclick="setDataPartialInspectFalseDetail(this);">数据<span class="spanHidden">' + detail.InspectReckId + '</span></button><button onclick="setImgPartialInspectFalseDetail(this);">图片<span class="spanHidden">' + detail.InspectReckId + '</span></button></td>' +
                        btnTd +
                        '</tr ></tbody > ');
                    $table.append($tr);
                }
src/DIXWeb.Web/Scripts/Bill/StartDIX.js
@@ -19,7 +19,7 @@
        pagination: true,
        rownumbers: true,
        pagePosition: 'bottom',
        pageSize: 10000,
        pageSize: 1000,
        pageNumber: 1,
        fitColumns: true,
        pageList: [2, 10, 15, 20, 30, 50,100,1000,10000],
src/DIXWeb.Web/Scripts/Bill/StartDIXQuality.js
New file
@@ -0,0 +1,270 @@
$(function () {
    initTimeControl();
    initStartDIXQualityTable();
    //initStartDIXQualityDialog();
    initStartDIXQualityClick();
})
function initStartDIXQualityTable() {
    $('#tabStartDIXQualityTable').empty();
    var param = getStartDIXQualitySearchParam();
    $('#tabStartDIXQualityTable').datagrid({
        singleSelect: false,
        url: '../../GlobalM/Bill/GetInspectBook',
        queryParams: param,
        idField: 'Id',
        animate: true,
        pagination: true,
        rownumbers: true,
        pagePosition: 'bottom',
        pageSize: 1000,
        pageNumber: 1,
        fitColumns: true,
        pageList: [2, 10, 15, 20, 30, 50, 100, 1000, 10000],
        toolbar: '#searchPowerToolBar',
        //数据格式
        columns: [[
            { title: '序号', width: 30, field: 'Id', hidden: true, },
            { checkbox: true, field: 'CreateDIXId', },
            { title: '设备类别', width: 80, field: 'MachineTypeName', },
            { title: '设备编码', width: 80, field: 'MachineCode', },
            { title: '设备名称', width: 80, field: 'MachineName', },
            { title: '设备区域', width: 80, field: 'MachineArea', },
            { title: '设备位置', width: 80, field: 'MachineLocation', },
            { title: '点检类别', width: 80, field: 'DIXTypeName', },
            { title: '点检频率', width: 80, field: 'DIXFrequencyName', },
            {
                title: '设备状态', width: 80, field: 'MachinaStatu', formatter: function (value, row, index) {
                    if (value == '1') {
                        return "使用中";
                    } else if (value == '2') {
                        return "备用中";
                    } else if (value == '3') {
                        return "维修中";
                    } else if (value == '4') {
                        return "闲置中";
                    } else if (value == '5') {
                        return "报废";
                    }
                },
            },
            {
                title: '点检时间', width: 160, field: 'DIXTime', fixed: true,
                formatter: function (value, row, index) {
                    return toDateStr(value);
                },
            },
            {
                title: '总判定', width: 80, field: 'FinalJudge', formatter: function (value, row, index) {
                    if (value == 1) {
                        return '<span>OK</span>';
                    } else if (value == 2) {
                        return '<span style="color:red;font-weight:bold;">NG</span>';
                    } else if (value == 3) {
                        return '<span style="color:gray;">维修</span>';
                    }
                },
            },
            {
                title: '状态', width: 80, field: 'Status', formatter: function (value, row, index) {
                    if (value == 1) {
                        return '已提交';
                    } else if (value == 0) {
                        return '未提交';
                    }
                },
            },
        ]],
        loadFilter: function (data) {
            if (data.Code == 200) {
                return data;
            } else {
                alert(data.Message);
            }
        },
        onLoadSuccess: function () {
            var selectedList = $('#selectStartDIXQualitySelected').val();
            var powerArray = selectedList.split(',');
            for (var i = 0; i < powerArray.length; i++) {
                if (powerArray[i] == '') continue;
                $(this).datagrid('selectRecord', powerArray[i]);
            }
        },
        onCheck: function (index, row) {
            var selectedList = $('#selectStartDIXQualitySelected').val();
            var oldStr = ',' + row.Id;
            if (isContainsArr(selectedList, oldStr, ',')) return;//当包含字串时,不再新增
            selectedList = selectedList + oldStr;
            $('#selectStartDIXQualitySelected').val(selectedList);
        },
        onUncheck: function (index, row) {
            var selectedList = $('#selectStartDIXQualitySelected').val();
            var oldStr = ',' + row.Id;
            if (isContainsArr(selectedList, oldStr, ',')) selectedList = arrStrRemoveStr(selectedList, oldStr, ',');
            $('#selectStartDIXQualitySelected').val(selectedList);
        },
        onSelectAll: function (rows) {
            var selectedList = $('#selectStartDIXQualitySelected').val();
            var oldStr = '';
            for (var i in rows) {
                oldStr = ',' + rows[i].Id;
                if (isContainsArr(selectedList, oldStr, ',')) continue;
                selectedList = selectedList + oldStr;
            }
            $('#selectStartDIXQualitySelected').val(selectedList);
        },
        onUnselectAll: function (rows) {
            var selectedList = $('#selectStartDIXQualitySelected').val();
            var oldStr = '';
            for (var i in rows) {
                oldStr = ',' + rows[i].Id;
                if (isContainsArr(selectedList, oldStr, ',')) selectedList = arrStrRemoveStr(selectedList, oldStr, ',');
            }
            $('#selectStartDIXQualitySelected').val(selectedList);
        },
    });
}
function initStartDIXQualityClick() {
    //点击提交按钮
    $('#btnStartDIXQualitySubmit').click(function () {
        if (confirm('确认提交单据?')) {
            var rows = $('#tabStartDIXQualityTable').datagrid('getSelections');
            var bookIdArr = new Array();
            var billTypeIdArr = new Array();
            if (rows.length <= 0) {
                alert('请选择至少一行数据!');
                return;
            }
            for (var i = 0; i < rows.length; i++) {
                if (!bookIdArr.includes(rows[i].Id)) {
                    bookIdArr.push(rows[i].Id);
                    billTypeIdArr.push(rows[i].BillTypeId);
                }
            }
            debugger;
            var param = { BookIdArr: bookIdArr, BillTypeArr: billTypeIdArr };
            var data = ajaxSame('../../GlobalM/Bill/StartDIXWorkflow', param, 'POST', 'json');
            if (data.Code == 200) {
                $('#selectStartDIXQualitySelected').val('');
                $('#tabStartDIXQualityTable').datagrid('clearSelections');
            } else {
                alert(data.Message);
            }
            initStartDIXQualityTable();
            reloadHomeIndexAttention();
        }
    });
    //点击查询按钮
    $('#btnStartDIXQualitySearch').click(function () {
        var param = getStartDIXQualitySearchParam();
        $('#tabStartDIXQualityTable').datagrid('reload', param);
    });
    //点击是否提交
    $('#divStartDIXQualityWhere input[type="radio"]').dblclick(function () {
        var isCheck = $(this).is(':checked');
        if (isCheck) {
            $(this).attr('checked', false);
        } else {
            $(this).attr('checked', true);
        }
    });
}
function getStartDIXQualitySearchParam() {
    var $div = $('div#divStartDIXQualityWhere');
    var code = $div.find('input[name=code]').first().val();
    var timeBegin = $div.find('input[name=timeBegin]').first().val();
    var timeEnd = $div.find('input[name=timeEnd]').first().val();
    if (timeBegin != '') {
        timeBegin += ':00';
    } else {
        timeBegin = '1900/01/01 00:00:00';
    }
    if (timeEnd != '') {
        timeEnd += ':00';
    } else {
        timeEnd = '1900/01/01 00:00:00';
    }
    var status = -1;
    $div.find('input[name=StatuSubmit]').each(function (index, element) {
        if ($(element).is(':checked')) {
            status = $(element).val();
        }
    });
    var param = { InspectObjectCode: code, TimeBegin: timeBegin, TimeEnd: timeEnd, Status: status, filterType: 'quality' }
    return param;
}
//初始化提示框
function initStartDIXQualityDialog() {
    $('#StartDIXQualityDialog').dialog({
        closed: true,//默认关闭状态
        closable: false,//不提供关闭页面
        top: 10,
        //left: 10,
        resizable: false,//是否可改变窗口大小
        modal: true,//模式化窗口,打开其他地方不可点击
        buttons: [{
            text: '关闭',
            iconCls: 'icon-cancel',
            handler: function () {
                $('#StartDIXQualityDialog').empty();
                $('#StartDIXQualityDialog').dialog({ closed: true, });
            }
        }],
    });
}
function initTimeControl() {
    $.datetimepicker.setLocale('zh');
    $('.some_class').datetimepicker();
}
function reloadHomeIndexAttention() {
    //return;
    $.ajax({
        url: '../../GlobalM/Bill/GetNeedDealtNum',
        data: null,
        type: 'POST',
        dataType: 'json',
        async: true,
        success: function (data) {
            var $span = $('#HomeIndexAttention', window.parent.document);
            $span.empty();
            console.info(data);
            if (data.Code == 200) {
                var arr = data.Message.split(',');
                var needDealt = parseInt(arr[0]);
                var isRepair = parseInt(arr[1]);
                var $temp = $('');
                if (needDealt > 0) {
                    $temp = $('<span>&nbsp;&nbsp;&nbsp;&nbsp;需待办:<span style="color:red;font-weight:bold;">' + needDealt + '<span><span>');
                } else {
                    $temp = $('<span>&nbsp;&nbsp;&nbsp;&nbsp;需待办:<span>' + needDealt + '<span><span>');
                }
                $span.append($temp);
                if (isRepair > 0) {
                    $temp = $('<span>&nbsp;&nbsp;&nbsp;&nbsp;需维修:<span style="color:red;font-weight:bold;">' + isRepair + '<span><span>');
                } else {
                    $temp = $('<span>&nbsp;&nbsp;&nbsp;&nbsp;需维修:<span>' + isRepair + '<span><span>');
                }
                $span.append($temp);
            } else {
            }
        },
        error: function (data) {
            result = data;
        },
    });
}
src/DIXWeb.Web/Scripts/Bill/StartFCDIX.js
@@ -19,7 +19,7 @@
        pagination: true,
        rownumbers: true,
        pagePosition: 'bottom',
        pageSize: 10000,
        pageSize: 1000,
        pageNumber: 1,
        fitColumns: true,
        pageList: [2, 10, 15, 20, 30, 50,100,1000,10000],
@@ -78,6 +78,7 @@
            },
        ]],
        loadFilter: function (data) {
            debugger;
            if (data.Code == 200) {
                return data;
            } else {
src/DIXWeb.Web/Scripts/Organize/User/Index.js
@@ -37,18 +37,19 @@
        pagePosition: 'bottom',
        pageSize: 10,
        pageNumber: 1,
        pageList: [2, 10, 15, 20, 30, 50],
        pageList: [2, 10, 15, 20, 30, 50,100,200,500,1000],
        toolbar: '#searchUserToolBar',
        columns: [[
            { title: '序号', width: 100, field: 'Id', hidden: true },
            { title: '编号', width: 80, field: 'UserNo', },
            { title: '名称', width: 80, field: 'UserName', },
            { title: '组织', width: 80, field: 'OrgName', },
            { title: '角色', width: 80, field: 'RoleName', },
            { title: '组织', width: 120, field: 'OrgName', },
            { title: '角色', width: 120, field: 'RoleName', },
            { title: '电话', width: 100, field: 'MobilePhone', },
            { title: '座机', width: 100, field: 'Tel', },
            { title: '邮件', width: 100, field: 'Email', },
            { title: '地址', width: 100, field: 'Address', },
            /*
            {
                title: '生日', width: 100, field: 'BirthDay',
                formatter: function (value, row, index) {
@@ -56,7 +57,8 @@
                    return time.getFullYear() + '-' + (time.getMonth()+1) + '-' + time.getDate();
                }
            },
            { title: '身份证', width: 100, field: 'IdCard', },
            */
            //{ title: '身份证', width: 100, field: 'IdCard', },
            {
                title: '状态', width: 100, field: 'UserStatu', formatter: function (value, row, index) {
                    if (value == 1) {
src/DIXWeb.Web/Scripts/Statement/InspectCheckedSelect.js
@@ -20,10 +20,23 @@
function initICSCombobox() {
    var $option = $('');
    var $inspectOrgId = $('#searchICSInspectOrgId');
    var $inspectObjectType = $('#searchICSInspectObjectType');
    var $inspectType = $('#searchICSInspectType');
    $inspectOrgId.empty();
    $inspectObjectType.empty();
    $inspectType.empty();
    var data = ajaxSame('../../GlobalM/Org/GetDropDownListOrg', null, 'post', 'json');
    if (typeof (data) == 'string') data = $.parseJSON(data);
    for (var i in data) {
        if (data[i].Id == -1) {
            $option = $('<option value = "' + data[i].Id + '" selected = "selected">' + data[i].Text + '</option>');
        } else {
            $option = $('<option value = "' + data[i].Id + '" >' + data[i].Text + '</option>');
        }
        $inspectOrgId.append($option);
    }
    var data = ajaxSame('../../GlobalM/Statement/GetInspectObjectType', null, 'post', 'json');
    for (var i in data) {
@@ -196,7 +209,8 @@
    var timeEnd = $('#searchICStimeEnd').val();
    var inspectObjectType = $('#searchICSInspectObjectType').val();
    var inspectType = $('#searchICSInspectType').val();
    var param = { TimeBegin: timeBegin, TimeEnd: timeEnd, InspectObjectTypeId: inspectObjectType, InspectTypeId: inspectType }
    var OrgId = $('#searchICSInspectOrgId').val();
    var param = { TimeBegin: timeBegin, TimeEnd: timeEnd, InspectObjectTypeId: inspectObjectType, InspectTypeId: inspectType, OrgId: OrgId }
    return param;
}
src/DIXWeb.Web/Scripts/Statement/ObjectInspectDetail.js
@@ -1,7 +1,7 @@
var dataOIDECharts = [];
$(function () {
    initOIDHeight()
    //initOIDHeight()
    initOIDTime();
    initOIDClick();
});
@@ -9,9 +9,10 @@
function initOIDHeight(){
    var pageHeight = $('#page', window.parent.document).height();
    var whereHeight = $('#tabOIDSearch').height();
    var showHeight = parseInt(pageHeight) - parseInt(whereHeight);
    debugger;
    $('#tabOIDTable').css({ "width": "100%", "height": showHeight + "px" });
    var showHeight = parseInt(pageHeight) - parseInt(whereHeight) - 50;
    $('#tabOIDTable').datagrid({
        height: showHeight,
    });
}
function initOIDTime() {
@@ -27,7 +28,6 @@
function initOIDTable() {
    initOIDHeight();
    $('#tabOIDTable').empty();
    var param = getOIDSearchParam();
    console.info(param);
@@ -63,6 +63,7 @@
            }
        },
    });
    initOIDHeight();
}
function getColumnsOID(colArr) {
    var title = [
src/DIXWeb.Web/Scripts/Workflow/InRepair.js
@@ -304,6 +304,8 @@
            $tr.append($td);
            $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ApproveTimeStr + '</td>');
            $tr.append($td);
            $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ActiveTimeStr + '</td>');
            $tr.append($td);
            //将tr添加到表格
            $table.append($tr);
        }
src/DIXWeb.Web/Scripts/Workflow/MyApproved.js
@@ -139,6 +139,8 @@
            $tr.append($td);
            $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ApproveTimeStr + '</td>');
            $tr.append($td);
            $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ActiveTimeStr + '</td>');
            $tr.append($td);
            //将tr添加到表格
            $table.append($tr);
        }
src/DIXWeb.Web/Scripts/Workflow/MyNeedDealt.js
@@ -22,7 +22,7 @@
        pagination: true,
        rownumbers: true,
        pagePosition: 'bottom',
        pageSize: 10000,
        pageSize: 1000,
        pageNumber: 1,
        pageList: [2, 5,10, 20, 50, 100,1000,10000],
        toolbar: '#searchMyNeedDealtToolBar',
@@ -62,6 +62,7 @@
            { title: '创建人', width: 100, field: 'CreateUserName', },
        ]],
        loadFilter: function (data) {
            debugger;
            if (data.Code == 200) {
                return data;
            } else {
@@ -105,6 +106,22 @@
        }
        clearPageMyNeedDealt();
        
    });
    //点击同意全部代办
    $('#btnMyNeedDealtAgreeAll').click(function () {
        if (confirm('确认审批同意全部代办?(若数据量大请耐心等待)')) {
            var remark = $('#MyNeedDealtRemark').val();
            var param = { Remark: remark };
            var data = ajaxSame('../../GlobalM/WorkList/ApproveAgreeAll', param, 'post', 'json');
            if (data.Code == 200) {
                reloadMyNeedDealtTable();
                reloadHomeIndexAttention();
                alert(data.Message);
            } else {
                alert(data.Message);
            }
        }
        clearPageMyNeedDealt();
    });
    //点击拒绝
    $('#btnMyNeedDealtRefuse,#btnMyNeedDealtRefuseControl').click(function () {
@@ -160,6 +177,8 @@
                $tr.append($td);
                $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ApproveTimeStr + '</td>');
                $tr.append($td);
                $td = $('<td style="padding:6px;text-align:center;">' + data.rows[i].ActiveTimeStr + '</td>');
                $tr.append($td);
                //将tr添加到表格
                $table.append($tr);
            }
src/DIXWeb.Web/Scripts/Workflow/Workflow.js
@@ -86,7 +86,7 @@
        pagination: true,
        rownumbers: true,
        pagePosition: 'bottom',
        pageSize: 10,
        pageSize: 20,
        pageNumber: 1,
        pageList: [2, 10, 15, 20, 30, 50,100],
        toolbar: '#searchWorkflowToolBar',
@@ -94,12 +94,12 @@
        columns: [[
            //{ checkbox: true, field: 'Id', fixed: true, },
            { title: '序号', width: 35, field: 'Id', hidden: true, },
            { title: '编号', width: 130, field: 'Code', },
            { title: '名称', width: 130, field: 'Name', },
            { title: '编号', width: 100, field: 'Code', },
            { title: '名称', width: 230, field: 'Name', },
            { title: '审计地址', width: 200, field: 'AuditUrl', },
            { title: '浏览地址', width: 200, field: 'BrowseUrl', },
            { title: '开始地址', width: 200, field: 'StartUrl',  },
            { title: '审计地址', width: 120, field: 'AuditUrl', },
            { title: '浏览地址', width: 120, field: 'BrowseUrl', },
            { title: '开始地址', width: 120, field: 'StartUrl',  },
            {
                title: '创建时间', width: 200, field: 'CreateTime', formatter: function (value, row, index) {
                    return toDateStr(value);
src/DIXWeb.Web/Scripts/Workflow/WorkflowNDetail.js
@@ -101,15 +101,15 @@
        pagePosition: 'bottom',
        pageSize: 10,
        pageNumber: 1,
        pageList: [2, 10, 15, 20, 30, 50],
        pageList: [2, 10, 15, 20, 30, 50,100],
        toolbar: '#searchWorkflowNDetailToolBar',
        //数据格式
        columns: [[
            { title: '序号', width: 35, field: 'Id', hidden: true, },
            { title: '节点序号', width: 35, field: 'NodeId', hidden: true, },
            { title: '节点名称', width: 180, field: 'NodeName', },
            { title: '节点名称', width: 230, field: 'NodeName', },
            { title: '组织类型序号', width: 35, field: 'OrgTypeId', hidden: true, },
            { title: '组织类型名称', width: 180, field: 'OrgTypeName', },
            //{ title: '组织类型名称', width: 180, field: 'OrgTypeName', },
            { title: '组织序号', width: 35, field: 'OrgId', hidden: true, },
            { title: '组织名称', width: 180, field: 'OrgName', },
            { title: '角色类型序号', width: 35, field: 'RoleTypeId', hidden: true, },
@@ -117,13 +117,14 @@
            { title: '角色序号', width: 35, field: 'RoleId', hidden: true, },
            { title: '角色名称', width: 180, field: 'RoleName', },
            { title: '执行顺序', width: 80, field: 'DetailLevel', },
            { title: '激活类型', width: 120, field: 'ActiveType', },
            {
                title: '创建时间', width: 200, field: 'CreateTime', formatter: function (value, row, index) {
                    return toDateStr(value);
                }
            },
            { title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            { title: '创建人', width: 100, field: 'CreateUserName', },
            //{ title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            //{ title: '创建人', width: 100, field: 'CreateUserName', },
            {
                title: '变更时间', width: 200, field: 'ChangeTime', formatter: function (value, row, index) {
                    return toDateStr(value);
@@ -150,6 +151,7 @@
    $('#dgWorkflowNDetailRoleId').val('');
    $('#dgWorkflowNDetailRoleName').text('');
    $('#dgWorkflowNDetailLevel').textbox('setValue', '');
    $('#dgWorkflowNDetailActiveType').textbox('setValue', '');
    $('.errorMsg').text('');
}
//获取dialog中的值
@@ -161,7 +163,8 @@
    var roleTypeId = $('#dgWorkflowNDetailRoleType').combobox('getValue');
    var roleId = $('#dgWorkflowNDetailRoleId').val();
    var level = $('#dgWorkflowNDetailLevel').textbox('getValue');
    var param = { Id: id, OrgTypeId: orgTypeId, OrgId: orgId, RoleTypeId: roleTypeId, RoleId: roleId, DetailLevel: level, NodeId: nodeId };
    var activeType = $('#dgWorkflowNDetailActiveType').textbox('getValue');
    var param = { Id: id, OrgTypeId: orgTypeId, OrgId: orgId, RoleTypeId: roleTypeId, RoleId: roleId, DetailLevel: level, NodeId: nodeId, ActiveType: activeType };
    console.info(param);
    return param;
}
@@ -208,6 +211,7 @@
            $('#dgWorkflowNDetailRoleId').val(data.rows.RoleId);
            $('#dgWorkflowNDetailRoleName').text(data.rows.RoleName);
            $('#dgWorkflowNDetailLevel').textbox('setValue', data.rows.DetailLevel);
            $('#dgWorkflowNDetailActiveType').textbox('setValue', data.rows.ActiveType);
        } else {
            alert(data.rows);
        }
src/DIXWeb.Web/Scripts/Workflow/WorkflowNode.js
@@ -56,6 +56,9 @@
                        var name = n.Name;
                        if (name == '本部门上级') {
                            $('#WorkflowNodeDialog td[title=WorkflowNodeRole]').removeClass('tdHidden');
                        } else if (name == '分组流向') {
                            $('#WorkflowNodeDialog td[title=WorkflowNodeRole]').addClass('tdHidden');
                            $('#WorkflowNodeDialog td[title=WorkflowNodeRole]:first').removeClass('tdHidden');
                        } else {
                            $('#WorkflowNodeDialog td[title=WorkflowNodeRole]').addClass('tdHidden');
                        }
@@ -136,7 +139,7 @@
        pagination: true,
        rownumbers: true,
        pagePosition: 'bottom',
        pageSize: 10,
        pageSize: 30,
        pageNumber: 1,
        pageList: [2, 10, 15, 20, 30, 50],
        toolbar: '#searchWorkflowNodeToolBar',
@@ -144,8 +147,8 @@
        columns: [[
            //{ checkbox: true, field: 'Id', fixed: true, },
            { title: '序号', width: 35, field: 'Id', hidden: true, },
            { title: '编号', width: 150, field: 'Code', },
            { title: '名称', width: 150, field: 'Name', },
            { title: '编号', width: 120, field: 'Code', },
            { title: '名称', width: 230, field: 'Name', },
            { title: '类型序号', width: 35, field: 'NodeTypeId', hidden: true, },
            { title: '类型', width: 180, field: 'NodeTypeName', },
            { title: '最小角色序号', width: 35, field: 'MinRoleId', hidden: true, },
@@ -158,8 +161,8 @@
                    return toDateStr(value);
                }
            },
            { title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            { title: '创建人', width: 100, field: 'CreateUserName', },
            //{ title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            //{ title: '创建人', width: 100, field: 'CreateUserName', },
            {
                title: '变更时间', width: 200, field: 'ChangeTime', formatter: function (value, row, index) {
                    return toDateStr(value);
src/DIXWeb.Web/Scripts/Workflow/WorkflowNodeSearch.js
@@ -25,8 +25,8 @@
        //数据格式
        columns: [[
            { title: '序号', width: 35, field: 'Id', hidden: true, },
            { title: '编号', width: 150, field: 'Code', },
            { title: '名称', width: 150, field: 'Name', },
            { title: '编号', width: 100, field: 'Code', },
            { title: '名称', width: 230, field: 'Name', },
            { title: '类型序号', width: 35, field: 'NodeTypeId', hidden: true, },
            { title: '类型', width: 180, field: 'NodeTypeName', },
            { title: '最小角色序号', width: 35, field: 'MinRoleId', hidden: true, },
@@ -35,12 +35,12 @@
            { title: '最大角色名称', width: 150, field: 'MaxRoleName', },
            { title: '执行顺序', width: 80, field: 'OrderNo', },
            {
                title: '创建时间', width: 200, field: 'CreateTime', formatter: function (value, row, index) {
                title: '创建时间', width: 120, field: 'CreateTime', formatter: function (value, row, index) {
                    return toDateStr(value);
                }
            },
            { title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            { title: '创建人', width: 100, field: 'CreateUserName', },
            //{ title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            //{ title: '创建人', width: 100, field: 'CreateUserName', },
            {
                title: '变更时间', width: 200, field: 'ChangeTime', formatter: function (value, row, index) {
                    return toDateStr(value);
src/DIXWeb.Web/Scripts/Workflow/WorkflowRoute.js
@@ -87,11 +87,11 @@
        columns: [[
            { title: '序号', width: 35, field: 'Id', hidden: true, },
            { title: '流程序号', width: 35, field: 'WorkflowId', hidden: true, },
            { title: '流程名称', width: 180, field: 'WorkflowName', },
            { title: '流程名称', width: 230, field: 'WorkflowName', },
            { title: '原指向节点序号', width: 35, field: 'FromNodeId', hidden: true, },
            { title: '原指向节点名称', width: 180, field: 'FromNodeName', },
            { title: '原指向节点名称', width: 230, field: 'FromNodeName', },
            { title: '被指向节点序号', width: 35, field: 'ToNodeId', hidden: true, },
            { title: '被指向节点名称', width: 180, field: 'ToNodeName', },
            { title: '被指向节点名称', width: 230, field: 'ToNodeName', },
            {
                title: '指向类型', width: 180, field: 'ActionType', formatter: function (value, row, index) {
                    if (value == '-1') {
@@ -106,8 +106,8 @@
                    return toDateStr(value);
                }
            },
            { title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            { title: '创建人', width: 100, field: 'CreateUserName', },
            //{ title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            //{ title: '创建人', width: 100, field: 'CreateUserName', },
            {
                title: '变更时间', width: 200, field: 'ChangeTime', formatter: function (value, row, index) {
                    return toDateStr(value);
src/DIXWeb.Web/Scripts/Workflow/WorkflowSearch.js
@@ -28,18 +28,18 @@
            //{ checkbox: true, field: 'Id', fixed: true, },
            { title: '序号', width: 35, field: 'Id', hidden: true, },
            { title: '编号', width: 130, field: 'Code', },
            { title: '名称', width: 130, field: 'Name', },
            { title: '名称', width: 230, field: 'Name', },
            { title: '审计地址', width: 200, field: 'AuditUrl', },
            { title: '浏览地址', width: 200, field: 'BrowseUrl', },
            { title: '开始地址', width: 200, field: 'StartUrl', },
            { title: '审计地址', width: 120, field: 'AuditUrl', },
            { title: '浏览地址', width: 120, field: 'BrowseUrl', },
            { title: '开始地址', width: 120, field: 'StartUrl', },
            {
                title: '创建时间', width: 200, field: 'CreateTime', formatter: function (value, row, index) {
                    return toDateStr(value);
                }
            },
            { title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            { title: '创建人', width: 100, field: 'CreateUserName', },
            //{ title: '创建人', width: 100, field: 'CreateUserId', hidden: true, },
            //{ title: '创建人', width: 100, field: 'CreateUserName', },
            {
                title: '变更时间', width: 200, field: 'ChangeTime', formatter: function (value, row, index) {
                    return toDateStr(value);
src/DIXWeb.Web/Template/InspectObjectTemplate.xls
Binary files differ
src/DIXWeb.Web/Web.config
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
  </configSections>
  <!--系统配置-->
  <appSettings configSource="Config\system.config" />
  <appSettings configSource="Config\system.config"/>
  <!--数据库连接字符串-->
  <connectionStrings configSource="Config\database.config" />
  <connectionStrings configSource="Config\database.config"/>
  <!--
    有关 web.config 更改的说明,请参见 http://go.microsoft.com/fwlink/?LinkId=235367。
@@ -21,103 +21,107 @@
    <!-- <identity impersonate="true"/> -->
    <!--<authentication mode="Windows" />-->
    <!--关闭系统自带Session-->
    <sessionState mode="Off" />
    <sessionState mode="Off"/>
    <!--globalization统一编码,使用UTF-8格式编码-->
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
    <compilation debug="true" defaultLanguage="c#" targetFramework="4.7.1" />
    <httpRuntime maxRequestLength="1073741824" targetFramework="4.5.2" requestPathInvalidCharacters="" />
    <pages validateRequest="false" />
    <customErrors mode="Off" />
    <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
    <compilation debug="true" defaultLanguage="c#" targetFramework="4.7.2"/>
    <httpRuntime maxRequestLength="1073741824" targetFramework="4.5.2" requestPathInvalidCharacters=""/>
    <pages validateRequest="false"/>
    <customErrors mode="Off"/>
  </system.web>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <!--允许跨域-->
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="*" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" />
        <add name="Access-Control-Allow-Origin" value="*"/>
        <add name="Access-Control-Allow-Headers" value="*"/>
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE"/>
      </customHeaders>
    </httpProtocol>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824" />
        <requestLimits maxAllowedContentLength="1073741824"/>
      </requestFiltering>
    </security>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
        <assemblyIdentity name="zxing" publicKeyToken="4E88037AC681FE60" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-0.16.9.0" newVersion="0.16.9.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.9.9.0" newVersion="6.9.9.0" />
        <assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <publisherPolicy apply="no" />
        <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
        <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-6.9.9.0" newVersion="6.9.9.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
        <publisherPolicy apply="no"/>
        <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.9.0.0" newVersion="1.9.0.0" />
        <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
        <assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-1.9.0.0" newVersion="1.9.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
        <parameter value="mssqllocaldb"/>
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
      <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
      <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework" />
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"/>
      <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql"/>
      <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework"/>
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
      <remove invariant="Npgsql" />
      <add name="Npgsql" invariant="Npgsql" description=".Net Framework Data Provider for Postgresql" type="Npgsql.NpgsqlFactory, Npgsql" />
      <remove invariant="Oracle.ManagedDataAccess.Client" />
      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess" />
      <remove invariant="MySql.Data.MySqlClient"/>
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"/>
      <remove invariant="Npgsql"/>
      <add name="Npgsql" invariant="Npgsql" description=".Net Framework Data Provider for Postgresql" type="Npgsql.NpgsqlFactory, Npgsql"/>
      <remove invariant="Oracle.ManagedDataAccess.Client"/>
      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess"/>
    </DbProviderFactories>
  </system.data>
  <oracle.manageddataaccess.client>
    <version number="*">
      <dataSources>
        <dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
        <dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) "/>
      </dataSources>
    </version>
  </oracle.manageddataaccess.client>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
    </compilers>
  </system.codedom>
</configuration>
src/WindowsFormsApp1/Entity/Toprie_Motif.cs
@@ -30,7 +30,7 @@
        public string MotifName { get; set; }
        
        /// <summary>
        /// 地址
        /// 地址
        /// </summary>
        public string Address { get; set; }
src/WindowsFormsApp1/Form1.cs
@@ -328,7 +328,7 @@
                client.MqttMsgUnsubscribed += client_MqttMsgUnsubscribed;  //取消订阅主题成功后调用
                client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;  //当接收到订阅主题的消息时调用
                client.ConnectionClosed += client_ConnectionClosed;  //连接断开后调用
                MessageBox.Show("连接成功。", "信息");
                MessageBox.Show("连接成功。", "信息");//
            }
            catch (Exception ex)
            {
@@ -377,12 +377,12 @@
                client.MqttMsgSubscribed += client_MqttMsgSubscribed;  //订阅主题成功后调用
                client.MqttMsgUnsubscribed += client_MqttMsgUnsubscribed;  //取消订阅主题成功后调用
                client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;  //当接收到订阅主题的消息时调用
                client.ConnectionClosed += client_ConnectionClosed;  //连接断开后调用
                client.ConnectionClosed += client_ConnectionClosed;//连接断开后调用
                string[] subscribeTopic = Toprie_MotifList().Split(',');  //可以同时订阅多个主题的消息,各主题之间用逗号分隔
                byte[] qosLevels = new byte[] { MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE };
                foreach (var item in subscribeTopic) {
                foreach (var item in subscribeTopic){
                    string[] MotifNameList ={ item };
                    client.Subscribe(MotifNameList, qosLevels);
                }
@@ -390,7 +390,7 @@
                MessageBox.Show("订阅主题成功。", "信息");
            }
            catch (Exception ex){
                MessageBox.Show(ex.Message.ToString(), "异常");
                MessageBox.Show(ex.Message.ToString(),"异常");
            }
           
        }
src/WindowsFormsApp1/Helper/FlagHelp.cs
@@ -9,7 +9,7 @@
    public static class FlagHelp
    {
        public const string  flag1 = "1";
        public const string flag1 = "1";
        public const string flag2 = "2";
        public const string flag3 = "3";
        public const string flag4 = "4";
src/WindowsFormsApp1/WindowsFormsApp1.csproj
@@ -159,11 +159,11 @@
    <Reference Include="ZstdNet, Version=1.4.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
      <HintPath>..\packages\MySql.Data.8.0.31\lib\net452\ZstdNet.dll</HintPath>
    </Reference>
    <Reference Include="zxing, Version=0.16.6.0, Culture=neutral, PublicKeyToken=4e88037ac681fe60, processorArchitecture=MSIL">
      <HintPath>..\packages\ZXing.Net.0.16.6\lib\net461\zxing.dll</HintPath>
    <Reference Include="zxing">
      <HintPath>..\DIXWeb.Web\DLL\zxing.dll</HintPath>
    </Reference>
    <Reference Include="zxing.presentation, Version=0.16.6.0, Culture=neutral, PublicKeyToken=4e88037ac681fe60, processorArchitecture=MSIL">
      <HintPath>..\packages\ZXing.Net.0.16.6\lib\net461\zxing.presentation.dll</HintPath>
    <Reference Include="zxing.presentation">
      <HintPath>..\DIXWeb.Web\DLL\zxing.presentation.dll</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>