From 22bd5bc1ce2b49284cc2f042c7f4f48619fcf85b Mon Sep 17 00:00:00 2001
From: duan <dante@isaints.net>
Date: 星期三, 21 八月 2024 17:09:36 +0800
Subject: [PATCH] Merge branch 'master' of http://121.37.232.241:10101/r/DIXWeb

---
 src/DIXWeb.Web/Scripts/Workflow/WorkflowRoute.js                                  |   10 
 src/DIXWeb.Business/Workflow/WorkflowNodeDetailBusiness.cs                        |    1 
 src/DIXWeb.Web/Scripts/Workflow/WorkflowSearch.js                                 |   12 
 src/DIXWeb.Web/Areas/GlobalM/Views/WorkflowNodeDetail/Index.cshtml                |    5 
 src/DIXWeb.Web/DIXWeb.Web.csproj                                                  |   16 
 src/DIXWeb.Web/DLL/DMC.dll                                                        |    0 
 src/DIXWeb.Web/Scripts/Organize/User/Index.js                                     |   10 
 src/DIXPadWPF/App.config                                                          |    2 
 src/DIXWeb.Web/Scripts/Workflow/InRepair.js                                       |    2 
 src/DIXWeb.Web/Scripts/Bill/PartialInspectFalseDetail.js                          |   18 
 src/DIXWeb.Web/Web.config                                                         |   98 ++-
 src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkListController.cs           |   35 +
 src/DIXWeb.Web/Scripts/Bill/BillInspectFinished.js                                |    4 
 src/WindowsFormsApp1/WindowsFormsApp1.csproj                                      |    8 
 src/DIXWeb.Web/Areas/GlobalM/Views/WorkList/MyNeedDealt.cshtml                    |    4 
 src/DIXWeb.Web/Scripts/Workflow/Workflow.js                                       |   12 
 src/DIXWeb.Web/Scripts/Workflow/MyApproved.js                                     |    2 
 src/DIXWeb.Web/Areas/GlobalM/Controllers/DownloadController.cs                    |    3 
 src/DIXWeb.Web/Areas/GlobalM/Views/Statement/InspectCheckedSelect.cshtml          |    5 
 src/DIXWeb.Business/Common/ToExcelTemplate.cs                                     |   19 
 src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkflowNodeDetailController.cs |    2 
 src/DIXWeb.Business/Power/HomeBusiness.cs                                         |    3 
 src/DIXWeb.Business/Workflow/WorkListBusiness.cs                                  |   15 
 src/DIXWeb.Business/GlobalM/StatementBusiness.cs                                  |    5 
 src/DIXWeb.Web/Scripts/Statement/ObjectInspectDetail.js                           |   11 
 src/DIXWeb.Web/Scripts/Statement/InspectCheckedSelect.js                          |   16 
 src/DIXPad.DAL/SQLDataProvider.cs                                                 |    3 
 src/DIXWeb.Web/Scripts/Workflow/WorkflowNDetail.js                                |   16 
 src/DIXWeb.Web/Scripts/Bill/StartDIX.js                                           |    2 
 src/DIXWeb.Web/Scripts/Workflow/MyNeedDealt.js                                    |   21 
 src/DIXWeb.Web/Scripts/Workflow/WorkflowNodeSearch.js                             |   10 
 src/DIXWeb.Web/Controllers/HomeController.cs                                      |   27 +
 src/DIXWeb.Entity/Workflow/ReceiveBillProcess.cs                                  |    1 
 src/DIXWeb.Business/MySQLBiz/MySQLInspectBaseBiz.cs                               |   24 
 src/DIXPad.DAS/Web.config                                                         |    4 
 src/DIXWeb.Web/Scripts/Bill/StartFCDIX.js                                         |    3 
 src/DIXWeb.Web/Template/InspectObjectTemplate.xls                                 |    0 
 src/DIXWeb.DAL/DBContext.cs                                                       |    1 
 src/DIXWeb.Business/Common/ExcelHelper.cs                                         |  419 ++++++++++++++++
 src/DIXWeb.Entity/Workflow/ReceiveNodeDetail.cs                                   |    1 
 src/DIXWeb.Web/Scripts/Bill/StartDIXQuality.js                                    |  270 ++++++++++
 src/DIXWeb.Util/Helper/LogHelper.cs                                               |    2 
 src/DIXWeb.Web/Areas/GlobalM/Views/Bill/InspectFalseDetail.cshtml                 |    2 
 src/DIXWeb.Web/Areas/GlobalM/Views/Bill/StartDIXQuality.cshtml                    |   30 +
 src/DIXWeb.Web/Scripts/Workflow/WorkflowNode.js                                   |   13 
 src/DIXWeb.Business/Workflow/BillBusiness.cs                                      |    5 
 src/DIXWeb.Web/Areas/GlobalM/Views/Statement/ObjectInspectDetail.cshtml           |    5 
 src/DIXWeb.Business/Workflow/WorkflowNodeBusiness.cs                              |    4 
 src/DIXWeb.Entity/Workflow/WorkflowNodeDetail.cs                                  |    3 
 src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/BillController.cs               |   11 
 src/DIXWeb.Web/Config/system.config                                               |    1 
 src/DIXWeb.Web/Areas/GlobalM/Controllers/StatementController.cs                   |    4 
 src/DIXWeb.Web/Scripts/Bill/BillUpdate.js                                         |    2 
 src/DIXWeb.Web/Areas/GlobalM/Views/InspectObjectType/Item.cshtml                  |    4 
 src/DIXPadWPF/DIXPadInspectItemPage.xaml                                          |    2 
 src/DIXPadWPF/DixPadUpLoad.xaml.cs                                                |  255 +++++----
 56 files changed, 1,194 insertions(+), 269 deletions(-)

diff --git a/src/DIXPad.DAL/SQLDataProvider.cs b/src/DIXPad.DAL/SQLDataProvider.cs
index c80f5a8..b82a81f 100644
--- a/src/DIXPad.DAL/SQLDataProvider.cs
+++ b/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)
                 {
diff --git a/src/DIXPad.DAS/Web.config b/src/DIXPad.DAS/Web.config
index b51dfd5..f208df7 100644
--- a/src/DIXPad.DAS/Web.config
+++ b/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\"/>
diff --git a/src/DIXPadWPF/App.config b/src/DIXPadWPF/App.config
index 24df6df..ac78a10 100644
--- a/src/DIXPadWPF/App.config
+++ b/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>
diff --git a/src/DIXPadWPF/DIXPadInspectItemPage.xaml b/src/DIXPadWPF/DIXPadInspectItemPage.xaml
index 778b6d6..a497722 100644
--- a/src/DIXPadWPF/DIXPadInspectItemPage.xaml
+++ b/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"/>
diff --git a/src/DIXPadWPF/DixPadUpLoad.xaml.cs b/src/DIXPadWPF/DixPadUpLoad.xaml.cs
index 48b8e16..2644ca8 100644
--- a/src/DIXPadWPF/DixPadUpLoad.xaml.cs
+++ b/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)
         {
diff --git a/src/DIXWeb.Business/Common/ExcelHelper.cs b/src/DIXWeb.Business/Common/ExcelHelper.cs
index b39c955..44eb110 100644
--- a/src/DIXWeb.Business/Common/ExcelHelper.cs
+++ b/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)
+        {
+            //鍏堝垱寤轰竴涓猄heet涓撻棬鐢ㄤ簬瀛樺偍涓嬫媺椤圭殑鍊�       
+            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("璁惧鐘舵�両D");
+            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涓璈涓璤鎹㈣_鍏ㄦ缁�", 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涓璈鍙砡鎹㈣_鍏ㄦ缁�", 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涓璈宸鎹㈣_鍏ㄦ缁哶钃濆瓧", 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涓璈涓璤鎹㈣_鍏ㄦ缁哶涓婇攣", 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涓璈涓璤鎹㈣_鍏ㄦ缁�", 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涓璈涓璤鎹㈣_鍏ㄦ缁哶钃濊儗鏅�", 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涓璈涓璤鎹㈣_鍏ㄦ缁哶钃濊儗鏅痏涓婇攣", 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涓璈涓璤鎹㈣_鍏ㄦ缁哶钃濊儗鏅痏涓婇攣", 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涓璈鍙砡鎹㈣_鍏ㄦ缁哶缁胯儗鏅�", 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涓璈涓璤鎹㈣_鍏ㄦ缁哶鏌犳榛勮儗鏅�", 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涓璈鍙砡鎹㈣_鍏ㄦ缁哶鏌犳榛勮儗鏅�", 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涓璈涓璤鎹㈣_鍏ㄦ缁哶鏌犳榛勮儗鏅痏涓婇攣", 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涓璈涓璤涓嶆崲琛宊鍏ㄦ缁哶鏌犳榛勮儗鏅痏鏃ユ湡", 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涓璈涓璤鎹㈣_鍏ㄦ缁哶娣¤摑鑳屾櫙", 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涓璈涓璤涓嶆崲琛宊鍏ㄦ缁哶娣¤摑鑳屾櫙_鏃ユ湡", 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;      //瀛椾綋楂樺害锛孹LSX涓嬫湁瀛椾綋澶у皬闂
+            //Bold_15_Black_Font.FontHeightInPoints = 10; //瀛椾綋楂樺害锛孹LS涓嬫湁澶у皬闂
+            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;      //瀛椾綋楂樺害锛孹LSX涓嬫湁瀛椾綋澶у皬闂
+            //Bold_15_Black_Font.FontHeightInPoints = 10; //瀛椾綋楂樺害锛孹LS涓嬫湁澶у皬闂
+            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涓璈涓璤鍏ㄦ缁哶涓婇攣", 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;
+        }
     }
 }
+
diff --git a/src/DIXWeb.Business/Common/ToExcelTemplate.cs b/src/DIXWeb.Business/Common/ToExcelTemplate.cs
index 7558fa6..03179fb 100644
--- a/src/DIXWeb.Business/Common/ToExcelTemplate.cs
+++ b/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())
diff --git a/src/DIXWeb.Business/GlobalM/StatementBusiness.cs b/src/DIXWeb.Business/GlobalM/StatementBusiness.cs
index af2679c..3a67617 100644
--- a/src/DIXWeb.Business/GlobalM/StatementBusiness.cs
+++ b/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());
 
diff --git a/src/DIXWeb.Business/MySQLBiz/MySQLInspectBaseBiz.cs b/src/DIXWeb.Business/MySQLBiz/MySQLInspectBaseBiz.cs
index d32f021..8324133 100644
--- a/src/DIXWeb.Business/MySQLBiz/MySQLInspectBaseBiz.cs
+++ b/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)
         {
diff --git a/src/DIXWeb.Business/Power/HomeBusiness.cs b/src/DIXWeb.Business/Power/HomeBusiness.cs
index 1307f24..16cf7dd 100644
--- a/src/DIXWeb.Business/Power/HomeBusiness.cs
+++ b/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;
         }
diff --git a/src/DIXWeb.Business/Workflow/BillBusiness.cs b/src/DIXWeb.Business/Workflow/BillBusiness.cs
index ac030f3..5216dca 100644
--- a/src/DIXWeb.Business/Workflow/BillBusiness.cs
+++ b/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;
diff --git a/src/DIXWeb.Business/Workflow/WorkListBusiness.cs b/src/DIXWeb.Business/Workflow/WorkListBusiness.cs
index e7704cf..249b5c9 100644
--- a/src/DIXWeb.Business/Workflow/WorkListBusiness.cs
+++ b/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;
diff --git a/src/DIXWeb.Business/Workflow/WorkflowNodeBusiness.cs b/src/DIXWeb.Business/Workflow/WorkflowNodeBusiness.cs
index 9d60296..20bdcc7 100644
--- a/src/DIXWeb.Business/Workflow/WorkflowNodeBusiness.cs
+++ b/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;
diff --git a/src/DIXWeb.Business/Workflow/WorkflowNodeDetailBusiness.cs b/src/DIXWeb.Business/Workflow/WorkflowNodeDetailBusiness.cs
index afbd074..d680a84 100644
--- a/src/DIXWeb.Business/Workflow/WorkflowNodeDetailBusiness.cs
+++ b/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();
diff --git a/src/DIXWeb.DAL/DBContext.cs b/src/DIXWeb.DAL/DBContext.cs
index 77b4e33..58e53e1 100644
--- a/src/DIXWeb.DAL/DBContext.cs
+++ b/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); }
 
diff --git a/src/DIXWeb.Entity/Workflow/ReceiveBillProcess.cs b/src/DIXWeb.Entity/Workflow/ReceiveBillProcess.cs
index ef43c26..a4f14c7 100644
--- a/src/DIXWeb.Entity/Workflow/ReceiveBillProcess.cs
+++ b/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; }
     }
 }
diff --git a/src/DIXWeb.Entity/Workflow/ReceiveNodeDetail.cs b/src/DIXWeb.Entity/Workflow/ReceiveNodeDetail.cs
index 6ac29de..2d47209 100644
--- a/src/DIXWeb.Entity/Workflow/ReceiveNodeDetail.cs
+++ b/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; }
diff --git a/src/DIXWeb.Entity/Workflow/WorkflowNodeDetail.cs b/src/DIXWeb.Entity/Workflow/WorkflowNodeDetail.cs
index 6c0ce0c..c3f93ca 100644
--- a/src/DIXWeb.Entity/Workflow/WorkflowNodeDetail.cs
+++ b/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; }
         
     }
 }
diff --git a/src/DIXWeb.Util/Helper/LogHelper.cs b/src/DIXWeb.Util/Helper/LogHelper.cs
index b3a5535..bb8bcd6 100644
--- a/src/DIXWeb.Util/Helper/LogHelper.cs
+++ b/src/DIXWeb.Util/Helper/LogHelper.cs
@@ -40,7 +40,7 @@
                 {
                     Directory.CreateDirectory(directory);
                 }
-                catch (Exception er)
+                catch (Exception)
                 {
                     //鐩樼涓嶅瓨鍦ㄦ儏鍐�
                     logFolder = "c:\\logs\\";
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Controllers/DownloadController.cs b/src/DIXWeb.Web/Areas/GlobalM/Controllers/DownloadController.cs
index 8b70fe5..05779c1 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Controllers/DownloadController.cs
+++ b/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);
         }
 
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Controllers/StatementController.cs b/src/DIXWeb.Web/Areas/GlobalM/Controllers/StatementController.cs
index a92be7c..5e8b8dc 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Controllers/StatementController.cs
+++ b/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);
         }
 
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/BillController.cs b/src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/BillController.cs
index 5f2031d..77b2d31 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/BillController.cs
+++ b/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);
         }
 
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkListController.cs b/src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkListController.cs
index de542eb..3ee3e98 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkListController.cs
+++ b/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
\ No newline at end of file
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkflowNodeDetailController.cs b/src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkflowNodeDetailController.cs
index bebc2c1..ccd5f6a 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Controllers/Workflow/WorkflowNodeDetailController.cs
+++ b/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;
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Views/Bill/InspectFalseDetail.cshtml b/src/DIXWeb.Web/Areas/GlobalM/Views/Bill/InspectFalseDetail.cshtml
index ab5ff35..bdb1f01 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Views/Bill/InspectFalseDetail.cshtml
+++ b/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>
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Views/Bill/StartDIXQuality.cshtml b/src/DIXWeb.Web/Areas/GlobalM/Views/Bill/StartDIXQuality.cshtml
new file mode 100644
index 0000000..6ec950b
--- /dev/null
+++ b/src/DIXWeb.Web/Areas/GlobalM/Views/Bill/StartDIXQuality.cshtml
@@ -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>
+
+
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Views/InspectObjectType/Item.cshtml b/src/DIXWeb.Web/Areas/GlobalM/Views/InspectObjectType/Item.cshtml
index c3fca6b..7bb8cd1 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Views/InspectObjectType/Item.cshtml
+++ b/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>
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Views/Statement/InspectCheckedSelect.cshtml b/src/DIXWeb.Web/Areas/GlobalM/Views/Statement/InspectCheckedSelect.cshtml
index 99ffcb0..0709ebd 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Views/Statement/InspectCheckedSelect.cshtml
+++ b/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>
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Views/Statement/ObjectInspectDetail.cshtml b/src/DIXWeb.Web/Areas/GlobalM/Views/Statement/ObjectInspectDetail.cshtml
index 1222b4a..4471ca2 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Views/Statement/ObjectInspectDetail.cshtml
+++ b/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 {
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Views/WorkList/MyNeedDealt.cshtml b/src/DIXWeb.Web/Areas/GlobalM/Views/WorkList/MyNeedDealt.cshtml
index 9b92972..b91a569 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Views/WorkList/MyNeedDealt.cshtml
+++ b/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>
diff --git a/src/DIXWeb.Web/Areas/GlobalM/Views/WorkflowNodeDetail/Index.cshtml b/src/DIXWeb.Web/Areas/GlobalM/Views/WorkflowNodeDetail/Index.cshtml
index ff2c747..827a610 100644
--- a/src/DIXWeb.Web/Areas/GlobalM/Views/WorkflowNodeDetail/Index.cshtml
+++ b/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>
 
diff --git a/src/DIXWeb.Web/Config/system.config b/src/DIXWeb.Web/Config/system.config
index d6be4f4..81eafc8 100644
--- a/src/DIXWeb.Web/Config/system.config
+++ b/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>
\ No newline at end of file
diff --git a/src/DIXWeb.Web/Controllers/HomeController.cs b/src/DIXWeb.Web/Controllers/HomeController.cs
index 8b99ad8..eb6f05b 100644
--- a/src/DIXWeb.Web/Controllers/HomeController.cs
+++ b/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)
diff --git a/src/DIXWeb.Web/DIXWeb.Web.csproj b/src/DIXWeb.Web/DIXWeb.Web.csproj
index 617e357..f782573 100644
--- a/src/DIXWeb.Web/DIXWeb.Web.csproj
+++ b/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" />
diff --git a/src/DIXWeb.Web/DLL/DMC.dll b/src/DIXWeb.Web/DLL/DMC.dll
new file mode 100644
index 0000000..e649f61
--- /dev/null
+++ b/src/DIXWeb.Web/DLL/DMC.dll
Binary files differ
diff --git a/src/DIXWeb.Web/Scripts/Bill/BillInspectFinished.js b/src/DIXWeb.Web/Scripts/Bill/BillInspectFinished.js
index 1e09e37..77f6056 100644
--- a/src/DIXWeb.Web/Scripts/Bill/BillInspectFinished.js
+++ b/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);
                 //灏唗r娣诲姞鍒拌〃鏍�
                 $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();
diff --git a/src/DIXWeb.Web/Scripts/Bill/BillUpdate.js b/src/DIXWeb.Web/Scripts/Bill/BillUpdate.js
index eaa1925..f9309a5 100644
--- a/src/DIXWeb.Web/Scripts/Bill/BillUpdate.js
+++ b/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);
                 //灏唗r娣诲姞鍒拌〃鏍�
                 $table.append($tr);
             }
diff --git a/src/DIXWeb.Web/Scripts/Bill/PartialInspectFalseDetail.js b/src/DIXWeb.Web/Scripts/Bill/PartialInspectFalseDetail.js
index 3f873f1..a890210 100644
--- a/src/DIXWeb.Web/Scripts/Bill/PartialInspectFalseDetail.js
+++ b/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);
                 }
diff --git a/src/DIXWeb.Web/Scripts/Bill/StartDIX.js b/src/DIXWeb.Web/Scripts/Bill/StartDIX.js
index afea545..2bef2b1 100644
--- a/src/DIXWeb.Web/Scripts/Bill/StartDIX.js
+++ b/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],
diff --git a/src/DIXWeb.Web/Scripts/Bill/StartDIXQuality.js b/src/DIXWeb.Web/Scripts/Bill/StartDIXQuality.js
new file mode 100644
index 0000000..c6d59cc
--- /dev/null
+++ b/src/DIXWeb.Web/Scripts/Bill/StartDIXQuality.js
@@ -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,//鏄惁鍙敼鍙樼獥鍙eぇ灏�
+        modal: true,//妯″紡鍖栫獥鍙o紝鎵撳紑鍏朵粬鍦版柟涓嶅彲鐐瑰嚮
+        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;
+        },
+    });
+}
\ No newline at end of file
diff --git a/src/DIXWeb.Web/Scripts/Bill/StartFCDIX.js b/src/DIXWeb.Web/Scripts/Bill/StartFCDIX.js
index c535754..745f120 100644
--- a/src/DIXWeb.Web/Scripts/Bill/StartFCDIX.js
+++ b/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 {
diff --git a/src/DIXWeb.Web/Scripts/Organize/User/Index.js b/src/DIXWeb.Web/Scripts/Organize/User/Index.js
index 3034589..0fa3d31 100644
--- a/src/DIXWeb.Web/Scripts/Organize/User/Index.js
+++ b/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) {
diff --git a/src/DIXWeb.Web/Scripts/Statement/InspectCheckedSelect.js b/src/DIXWeb.Web/Scripts/Statement/InspectCheckedSelect.js
index bdb6b18..2b54ebd 100644
--- a/src/DIXWeb.Web/Scripts/Statement/InspectCheckedSelect.js
+++ b/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;
 }
 
diff --git a/src/DIXWeb.Web/Scripts/Statement/ObjectInspectDetail.js b/src/DIXWeb.Web/Scripts/Statement/ObjectInspectDetail.js
index f144211..0a3c76c 100644
--- a/src/DIXWeb.Web/Scripts/Statement/ObjectInspectDetail.js
+++ b/src/DIXWeb.Web/Scripts/Statement/ObjectInspectDetail.js
@@ -1,7 +1,7 @@
 锘縱ar 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 = [
diff --git a/src/DIXWeb.Web/Scripts/Workflow/InRepair.js b/src/DIXWeb.Web/Scripts/Workflow/InRepair.js
index 5925f44..252bd1e 100644
--- a/src/DIXWeb.Web/Scripts/Workflow/InRepair.js
+++ b/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);
             //灏唗r娣诲姞鍒拌〃鏍�
             $table.append($tr);
         }
diff --git a/src/DIXWeb.Web/Scripts/Workflow/MyApproved.js b/src/DIXWeb.Web/Scripts/Workflow/MyApproved.js
index 43b38f4..11cfbe6 100644
--- a/src/DIXWeb.Web/Scripts/Workflow/MyApproved.js
+++ b/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);
             //灏唗r娣诲姞鍒拌〃鏍�
             $table.append($tr);
         }
diff --git a/src/DIXWeb.Web/Scripts/Workflow/MyNeedDealt.js b/src/DIXWeb.Web/Scripts/Workflow/MyNeedDealt.js
index a214d88..4141625 100644
--- a/src/DIXWeb.Web/Scripts/Workflow/MyNeedDealt.js
+++ b/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();
         
+    });
+    //鐐瑰嚮鍚屾剰鍏ㄩ儴浠e姙
+    $('#btnMyNeedDealtAgreeAll').click(function () {
+        if (confirm('纭瀹℃壒鍚屾剰鍏ㄩ儴浠e姙锛�(鑻ユ暟鎹噺澶ц鑰愬績绛夊緟)')) {
+            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);
                 //灏唗r娣诲姞鍒拌〃鏍�
                 $table.append($tr);
             }
diff --git a/src/DIXWeb.Web/Scripts/Workflow/Workflow.js b/src/DIXWeb.Web/Scripts/Workflow/Workflow.js
index f5cbe2b..6000133 100644
--- a/src/DIXWeb.Web/Scripts/Workflow/Workflow.js
+++ b/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);
diff --git a/src/DIXWeb.Web/Scripts/Workflow/WorkflowNDetail.js b/src/DIXWeb.Web/Scripts/Workflow/WorkflowNDetail.js
index 64edb1d..a123dad 100644
--- a/src/DIXWeb.Web/Scripts/Workflow/WorkflowNDetail.js
+++ b/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);
         }
diff --git a/src/DIXWeb.Web/Scripts/Workflow/WorkflowNode.js b/src/DIXWeb.Web/Scripts/Workflow/WorkflowNode.js
index 1017aa9..a231156 100644
--- a/src/DIXWeb.Web/Scripts/Workflow/WorkflowNode.js
+++ b/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);
diff --git a/src/DIXWeb.Web/Scripts/Workflow/WorkflowNodeSearch.js b/src/DIXWeb.Web/Scripts/Workflow/WorkflowNodeSearch.js
index e6fccec..e95b12a 100644
--- a/src/DIXWeb.Web/Scripts/Workflow/WorkflowNodeSearch.js
+++ b/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);
diff --git a/src/DIXWeb.Web/Scripts/Workflow/WorkflowRoute.js b/src/DIXWeb.Web/Scripts/Workflow/WorkflowRoute.js
index bba0a0f..ae3ab3a 100644
--- a/src/DIXWeb.Web/Scripts/Workflow/WorkflowRoute.js
+++ b/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);
diff --git a/src/DIXWeb.Web/Scripts/Workflow/WorkflowSearch.js b/src/DIXWeb.Web/Scripts/Workflow/WorkflowSearch.js
index 1ba5511..7f982de 100644
--- a/src/DIXWeb.Web/Scripts/Workflow/WorkflowSearch.js
+++ b/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);
diff --git a/src/DIXWeb.Web/Template/InspectObjectTemplate.xls b/src/DIXWeb.Web/Template/InspectObjectTemplate.xls
index a9ea449..e5a2c2a 100644
--- a/src/DIXWeb.Web/Template/InspectObjectTemplate.xls
+++ b/src/DIXWeb.Web/Template/InspectObjectTemplate.xls
Binary files differ
diff --git a/src/DIXWeb.Web/Web.config b/src/DIXWeb.Web/Web.config
index 5424e3c..c760aca 100644
--- a/src/DIXWeb.Web/Web.config
+++ b/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缁熶竴缂栫爜锛屼娇鐢║TF-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>
\ No newline at end of file
diff --git a/src/WindowsFormsApp1/WindowsFormsApp1.csproj b/src/WindowsFormsApp1/WindowsFormsApp1.csproj
index 65192b2..168419e 100644
--- a/src/WindowsFormsApp1/WindowsFormsApp1.csproj
+++ b/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>

--
Gitblit v1.8.0