From d594a46c8212fc022c5f1dea7c9994d8b4a0d100 Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期四, 30 十月 2025 08:46:06 +0800
Subject: [PATCH] 增加计件明细,月度工资,月度出勤报表

---
 DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.resx          |  120 ++
 DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.resx          |  120 ++
 DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.resx        |  120 ++
 DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.cs            |   38 
 DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.cs            |   84 +
 DevApp/Gs.DevApp/Gs.DevApp.csproj                 |   45 +
 DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.Designer.cs |  226 +++++
 DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.Designer.cs   |  168 +++
 DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.Designer.cs   |  121 ++
 DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.resx        |  123 ++
 DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.cs          |  193 ++++
 DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.Designer.cs |  337 +++++++
 DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.cs          |  247 +++++
 DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.Designer.cs |  226 +++++
 DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.resx        |  123 ++
 DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.cs          |  254 +++++
 16 files changed, 2,545 insertions(+), 0 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.Designer.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.Designer.cs
new file mode 100644
index 0000000..61b246c
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.Designer.cs
@@ -0,0 +1,337 @@
+锘縩amespace Gs.DevApp.DevFrm.JJGZ
+{
+    partial class Frm_JJMX
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.toolBarMenu1 = new Gs.DevApp.UserControl.UcToolBarMenu();
+            this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
+            this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
+            this.split1 = new DevExpress.XtraEditors.SplitContainerControl();
+            this.gcMain1 = new DevExpress.XtraGrid.GridControl();
+            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.bandedGridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn2 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn3 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn4 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn5 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn6 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn7 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn8 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn9 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn10 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn11 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.bandedGridColumn12 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.pageBar1 = new UserControls.Data.UcPageBar();
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
+            this.xtraTabControl1.SuspendLayout();
+            this.xtraTabPage1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.split1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel1)).BeginInit();
+            this.split1.Panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel2)).BeginInit();
+            this.split1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // toolBarMenu1
+            // 
+            this.toolBarMenu1.chkParameter = null;
+            this.toolBarMenu1.currentAction = null;
+            this.toolBarMenu1.defaultActions = "鏌ヨ";
+            this.toolBarMenu1.Dock = System.Windows.Forms.DockStyle.Top;
+            this.toolBarMenu1.guidKey = null;
+            this.toolBarMenu1.isSetBtn = false;
+            this.toolBarMenu1.Location = new System.Drawing.Point(0, 0);
+            this.toolBarMenu1.Margin = new System.Windows.Forms.Padding(5);
+            this.toolBarMenu1.Name = "toolBarMenu1";
+            this.toolBarMenu1.rptParameter = null;
+            this.toolBarMenu1.Size = new System.Drawing.Size(1640, 98);
+            this.toolBarMenu1.TabIndex = 0;
+            this.toolBarMenu1.xlsInService = null;
+            this.toolBarMenu1.xlsOutParameter = null;
+            // 
+            // xtraTabControl1
+            // 
+            this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.xtraTabControl1.Location = new System.Drawing.Point(0, 98);
+            this.xtraTabControl1.Margin = new System.Windows.Forms.Padding(4);
+            this.xtraTabControl1.Name = "xtraTabControl1";
+            this.xtraTabControl1.SelectedTabPage = this.xtraTabPage1;
+            this.xtraTabControl1.Size = new System.Drawing.Size(1640, 736);
+            this.xtraTabControl1.TabIndex = 3;
+            this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
+            this.xtraTabPage1});
+            // 
+            // xtraTabPage1
+            // 
+            this.xtraTabPage1.Controls.Add(this.split1);
+            this.xtraTabPage1.Margin = new System.Windows.Forms.Padding(4);
+            this.xtraTabPage1.Name = "xtraTabPage1";
+            this.xtraTabPage1.Size = new System.Drawing.Size(1638, 698);
+            this.xtraTabPage1.Text = "鏁版嵁鍒楄〃";
+            // 
+            // split1
+            // 
+            this.split1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.split1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2;
+            this.split1.Horizontal = false;
+            this.split1.Location = new System.Drawing.Point(0, 0);
+            this.split1.Margin = new System.Windows.Forms.Padding(4);
+            this.split1.Name = "split1";
+            // 
+            // split1.Panel1
+            // 
+            this.split1.Panel1.Controls.Add(this.gcMain1);
+            this.split1.Panel1.Controls.Add(this.pageBar1);
+            this.split1.Panel1.Text = "Panel1";
+            // 
+            // split1.Panel2
+            // 
+            this.split1.Panel2.Text = "Panel2";
+            this.split1.ShowSplitGlyph = DevExpress.Utils.DefaultBoolean.True;
+            this.split1.Size = new System.Drawing.Size(1638, 698);
+            this.split1.SplitterPosition = 0;
+            this.split1.TabIndex = 0;
+            // 
+            // gcMain1
+            // 
+            this.gcMain1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.gcMain1.EmbeddedNavigator.Margin = new System.Windows.Forms.Padding(4);
+            this.gcMain1.Location = new System.Drawing.Point(0, 0);
+            this.gcMain1.MainView = this.gridView1;
+            this.gcMain1.Margin = new System.Windows.Forms.Padding(4);
+            this.gcMain1.Name = "gcMain1";
+            this.gcMain1.Size = new System.Drawing.Size(1638, 635);
+            this.gcMain1.TabIndex = 2;
+            this.gcMain1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gridView1});
+            // 
+            // gridView1
+            // 
+            this.gridView1.Appearance.Row.Options.UseFont = true;
+            this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
+            this.bandedGridColumn1,
+            this.bandedGridColumn2,
+            this.bandedGridColumn3,
+            this.bandedGridColumn4,
+            this.bandedGridColumn5,
+            this.bandedGridColumn6,
+            this.bandedGridColumn7,
+            this.bandedGridColumn8,
+            this.bandedGridColumn9,
+            this.bandedGridColumn10,
+            this.bandedGridColumn11,
+            this.bandedGridColumn12});
+            this.gridView1.DetailHeight = 428;
+            this.gridView1.GridControl = this.gcMain1;
+            this.gridView1.IndicatorWidth = 62;
+            this.gridView1.Name = "gridView1";
+            this.gridView1.OptionsFind.ShowSearchNavButtons = false;
+            this.gridView1.OptionsView.ShowAutoFilterRow = true;
+            this.gridView1.OptionsView.ShowFooter = true;
+            this.gridView1.OptionsView.ShowGroupPanel = false;
+            // 
+            // bandedGridColumn1
+            // 
+            this.bandedGridColumn1.Caption = "妫�楠屾棩鏈�";
+            this.bandedGridColumn1.FieldName = "attendate";
+            this.bandedGridColumn1.MinWidth = 30;
+            this.bandedGridColumn1.Name = "bandedGridColumn1";
+            this.bandedGridColumn1.Visible = true;
+            this.bandedGridColumn1.VisibleIndex = 0;
+            this.bandedGridColumn1.Width = 94;
+            // 
+            // bandedGridColumn2
+            // 
+            this.bandedGridColumn2.Caption = "浜х嚎缂栧彿";
+            this.bandedGridColumn2.FieldName = "lineNo";
+            this.bandedGridColumn2.MinWidth = 30;
+            this.bandedGridColumn2.Name = "bandedGridColumn2";
+            this.bandedGridColumn2.Visible = true;
+            this.bandedGridColumn2.VisibleIndex = 1;
+            this.bandedGridColumn2.Width = 94;
+            // 
+            // bandedGridColumn3
+            // 
+            this.bandedGridColumn3.Caption = "浜х嚎鍚嶇О";
+            this.bandedGridColumn3.FieldName = "lineName";
+            this.bandedGridColumn3.MinWidth = 30;
+            this.bandedGridColumn3.Name = "bandedGridColumn3";
+            this.bandedGridColumn3.Visible = true;
+            this.bandedGridColumn3.VisibleIndex = 2;
+            this.bandedGridColumn3.Width = 94;
+            // 
+            // bandedGridColumn4
+            // 
+            this.bandedGridColumn4.Caption = "宸ュ崟鍙�";
+            this.bandedGridColumn4.FieldName = "daa001";
+            this.bandedGridColumn4.MinWidth = 30;
+            this.bandedGridColumn4.Name = "bandedGridColumn4";
+            this.bandedGridColumn4.Visible = true;
+            this.bandedGridColumn4.VisibleIndex = 3;
+            this.bandedGridColumn4.Width = 94;
+            // 
+            // bandedGridColumn5
+            // 
+            this.bandedGridColumn5.Caption = "鐗╂枡缂栫爜";
+            this.bandedGridColumn5.FieldName = "itemNo";
+            this.bandedGridColumn5.MinWidth = 30;
+            this.bandedGridColumn5.Name = "bandedGridColumn5";
+            this.bandedGridColumn5.Visible = true;
+            this.bandedGridColumn5.VisibleIndex = 4;
+            this.bandedGridColumn5.Width = 94;
+            // 
+            // bandedGridColumn6
+            // 
+            this.bandedGridColumn6.Caption = "鐗╂枡鍚嶇О";
+            this.bandedGridColumn6.FieldName = "itemName";
+            this.bandedGridColumn6.MinWidth = 30;
+            this.bandedGridColumn6.Name = "bandedGridColumn6";
+            this.bandedGridColumn6.Visible = true;
+            this.bandedGridColumn6.VisibleIndex = 5;
+            this.bandedGridColumn6.Width = 94;
+            // 
+            // bandedGridColumn7
+            // 
+            this.bandedGridColumn7.Caption = "鐗╂枡瑙勬牸";
+            this.bandedGridColumn7.FieldName = "itemModel";
+            this.bandedGridColumn7.MinWidth = 30;
+            this.bandedGridColumn7.Name = "bandedGridColumn7";
+            this.bandedGridColumn7.Visible = true;
+            this.bandedGridColumn7.VisibleIndex = 6;
+            this.bandedGridColumn7.Width = 94;
+            // 
+            // bandedGridColumn8
+            // 
+            this.bandedGridColumn8.Caption = "宸ュ崟鏁伴噺";
+            this.bandedGridColumn8.FieldName = "num";
+            this.bandedGridColumn8.MinWidth = 30;
+            this.bandedGridColumn8.Name = "bandedGridColumn8";
+            this.bandedGridColumn8.Visible = true;
+            this.bandedGridColumn8.VisibleIndex = 7;
+            this.bandedGridColumn8.Width = 94;
+            // 
+            // bandedGridColumn9
+            // 
+            this.bandedGridColumn9.Caption = "鍏ュ簱鏁伴噺";
+            this.bandedGridColumn9.FieldName = "aCNum";
+            this.bandedGridColumn9.MinWidth = 30;
+            this.bandedGridColumn9.Name = "bandedGridColumn9";
+            this.bandedGridColumn9.Visible = true;
+            this.bandedGridColumn9.VisibleIndex = 8;
+            this.bandedGridColumn9.Width = 94;
+            // 
+            // bandedGridColumn10
+            // 
+            this.bandedGridColumn10.Caption = "鍗曚环";
+            this.bandedGridColumn10.FieldName = "salary";
+            this.bandedGridColumn10.MinWidth = 30;
+            this.bandedGridColumn10.Name = "bandedGridColumn10";
+            this.bandedGridColumn10.Visible = true;
+            this.bandedGridColumn10.VisibleIndex = 9;
+            this.bandedGridColumn10.Width = 94;
+            // 
+            // bandedGridColumn11
+            // 
+            this.bandedGridColumn11.Caption = "鎬诲伐璧�";
+            this.bandedGridColumn11.FieldName = "sumSalary";
+            this.bandedGridColumn11.MinWidth = 30;
+            this.bandedGridColumn11.Name = "bandedGridColumn11";
+            this.bandedGridColumn11.Visible = true;
+            this.bandedGridColumn11.VisibleIndex = 10;
+            this.bandedGridColumn11.Width = 94;
+            // 
+            // bandedGridColumn12
+            // 
+            this.bandedGridColumn12.Caption = "缁勭粐鍚嶇О";
+            this.bandedGridColumn12.FieldName = "orgName";
+            this.bandedGridColumn12.MinWidth = 30;
+            this.bandedGridColumn12.Name = "bandedGridColumn12";
+            this.bandedGridColumn12.Visible = true;
+            this.bandedGridColumn12.VisibleIndex = 11;
+            this.bandedGridColumn12.Width = 94;
+            // 
+            // pageBar1
+            // 
+            this.pageBar1.CurrentPage = 1;
+            this.pageBar1.Dock = System.Windows.Forms.DockStyle.Bottom;
+            this.pageBar1.Location = new System.Drawing.Point(0, 635);
+            this.pageBar1.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6);
+            this.pageBar1.Name = "pageBar1";
+            this.pageBar1.RecordCount = 0;
+            this.pageBar1.Size = new System.Drawing.Size(1638, 48);
+            this.pageBar1.TabIndex = 4;
+            this.pageBar1.TotalPages = 0;
+            // 
+            // Frm_JJMX
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1640, 834);
+            this.Controls.Add(this.xtraTabControl1);
+            this.Controls.Add(this.toolBarMenu1);
+            this.IconOptions.Image = global::Gs.DevApp.Properties.Resources.logo_png_black;
+            this.Margin = new System.Windows.Forms.Padding(4);
+            this.Name = "Frm_JJMX";
+            this.Text = "閲囪喘鏄庣粏";
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit();
+            this.xtraTabControl1.ResumeLayout(false);
+            this.xtraTabPage1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel1)).EndInit();
+            this.split1.Panel1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.split1)).EndInit();
+            this.split1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+        #endregion
+        private UserControl.UcToolBarMenu toolBarMenu1;
+        private DevExpress.XtraTab.XtraTabControl xtraTabControl1;
+        private DevExpress.XtraTab.XtraTabPage xtraTabPage1;
+        private DevExpress.XtraEditors.SplitContainerControl split1;
+        private DevExpress.XtraGrid.GridControl gcMain1;
+        private UserControls.Data.UcPageBar pageBar1;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn1;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn2;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn3;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn4;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn5;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn6;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn7;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn8;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn9;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn10;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn11;
+        private DevExpress.XtraGrid.Columns.GridColumn bandedGridColumn12;
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.cs
new file mode 100644
index 0000000..db273dd
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.cs
@@ -0,0 +1,193 @@
+锘縰sing DevExpress.Utils;
+using DevExpress.XtraEditors;
+using DevExpress.XtraRichEdit.Model;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Configuration;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Net;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Gs.DevApp.DevFrm.JJGZ
+{
+    public partial class Frm_JJMX : DevExpress.XtraEditors.XtraForm
+    {
+        string _webServiceName = "MesJjgzReport/";
+        List<FilterEntity> _filterList = new List<FilterEntity>();
+        public Frm_JJMX()
+        {
+            InitializeComponent();
+            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            this.toolBarMenu1.btnOutClick += ToolBarMenu1_btnOutClick;
+            this.toolBarMenu1.getXmlConfig();
+            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, this, "", "", (value) =>
+            {
+
+            });
+            Gs.DevApp.ToolBox.UtilityHelper.SetTabParameter(gridView1, xtraTabControl1, pageBar1, (value) =>
+            {
+            }, (value) =>
+            {
+                getPageList(this.pageBar1.CurrentPage);
+            });
+            getPageList(1);
+            pageBar1.PagerEvent += PageBar1_PagerEvent;
+        }
+        private async void GridView1_ColumnFilterChanged(object sender, EventArgs e)
+        {
+            _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns, gridView1);
+            await Task.Delay(100);
+            getPageList(1);
+        }
+
+        /// <summary>
+        /// 鍒嗛〉浜嬩欢
+        /// </summary>
+        /// <param name="curPage"></param>
+        /// <param name="pageSize"></param>
+        private void PageBar1_PagerEvent(int curPage, int pageSize)
+        {
+            getPageList(curPage);
+        }
+        /// <summary>
+        /// 鏌ヨ浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
+        {
+            gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
+            gridView1.ActiveFilter.Clear();
+            gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
+            var frm = new ShowFilter(gridView1.Columns, _filterList, this.GetType().FullName);
+            frm.UpdateParent += Frm_UpdateParent;
+            frm.ShowDialog();
+        }
+        /// <summary>
+        /// 鏌ヨ鍥炶皟
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void Frm_UpdateParent(object sender, UpdateParentEventArgs e)
+        {
+            _filterList = e.FilterList;
+            getPageList(1);
+        }
+
+        /// <summary>
+        /// 鍒锋柊浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
+        {
+            getPageList(this.pageBar1.CurrentPage);
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="curPage">绗嚑椤�</param>
+        /// <param name="pageSize">姣忛〉鍑犳潯</param>
+        private void getPageList(int curPage)
+        {
+            gcMain1.DataSource = null;
+            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
+            _sbSqlWhere.Append(" and a.OrgId in");
+            _sbSqlWhere.Append(ToolBox.UtilityHelper.GetOrgWhere());
+            _sbSqlWhere.Append(UtilityHelper.GetSearchWhere(_filterList));
+            PageQueryModel pgq = new PageQueryModel(curPage, this.pageBar1.RowsCount, "a.RKDate", "asc", "", _sbSqlWhere.ToString());
+            string json = JsonConvert.SerializeObject(pgq);
+            try
+            {
+                var strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPageJJMX", json);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
+                if (dd.rtnCode > 0)
+                {
+                    DataTable dt = dd.rtnData.list;
+                    gcMain1.BindingContext = new BindingContext();
+                    gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
+                    if (dt.Rows.Count > 0)
+                    {
+                        gcMain1.DataSource = dt;
+                        gcMain1.ForceInitialize();
+                        gridView1.BestFitColumns();
+                        Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
+                    }
+                    else
+                        UtilityHelper.SetDefaultTable(gcMain1, gridView1);
+                    gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
+                    pageBar1.TotalPages = dd.rtnData.pages;//鎬婚〉
+                    pageBar1.CurrentPage = curPage;//褰撳墠椤�
+                    pageBar1.RecordCount = dd.rtnData.total;//鎬昏褰曟暟
+                }
+                else
+                {
+                    ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + dd.rtnMsg);
+                }
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
+            }
+        }
+
+        private void ToolBarMenu1_btnOutClick(object sender, EventArgs e)
+        {
+            using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
+            {
+                folderBrowserDialog.Description = "閫夋嫨瀵煎嚭鏂囦欢鐨勪繚瀛樿矾寰�";
+                DialogResult dialogResult = folderBrowserDialog.ShowDialog();
+                System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
+                _sbSqlWhere.Append(" and a.OrgId in");
+                _sbSqlWhere.Append(ToolBox.UtilityHelper.GetOrgWhere());
+                _sbSqlWhere.Append(UtilityHelper.GetSearchWhere(_filterList));
+                if (dialogResult == DialogResult.OK)
+                {
+                    string _folder = folderBrowserDialog.SelectedPath;
+                    var _params = new
+                    {
+                        inSortName = "",
+                        inSortOrder = "",
+                        inQueryWhere = _sbSqlWhere.ToString()
+                    };
+                    var _obj = new Gs.DevApp.Entity.XlsOutModel("xlsout_jjmx", "", "", "", _params);
+                    try
+                    {
+                        string strJson = UtilityHelper.HttpPost("", "XlsInOut/XlsOutView_NEW", JsonConvert.SerializeObject(_obj));
+                        ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                        if (_rtn.rtnCode > 0)
+                        {
+                            string _file = _rtn.rtnData.fileUrl.ToString();
+                            string _folderName = _folder + "\\" + _file.Replace("down/", "");
+                            string _url = ConfigurationManager.AppSettings["WebApiUrl"].ToString() + _file;
+                            using (WebClient client = new WebClient())
+                            {
+                                client.DownloadFile(_url, _folderName);
+                            }
+                            ToolBox.MsgHelper.ShowInformation("瀵煎嚭鎴愬姛锛�");
+                        }
+                        else
+                        {
+                            ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.resx b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_JJMX.resx
@@ -0,0 +1,120 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.Designer.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.Designer.cs
new file mode 100644
index 0000000..bc2988a
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.Designer.cs
@@ -0,0 +1,226 @@
+锘縩amespace Gs.DevApp.DevFrm.JJGZ
+{
+    partial class Frm_YDCQ
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            this.toolBarMenu1 = new Gs.DevApp.UserControl.UcToolBarMenu();
+            this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
+            this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
+            this.split1 = new DevExpress.XtraEditors.SplitContainerControl();
+            this.gcMain1 = new DevExpress.XtraGrid.GridControl();
+            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.gridColumn2 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.gridColumn3 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.gridColumn4 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.tips = new DevExpress.Utils.ToolTipController(this.components);
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
+            this.xtraTabControl1.SuspendLayout();
+            this.xtraTabPage1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.split1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel1)).BeginInit();
+            this.split1.Panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel2)).BeginInit();
+            this.split1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // toolBarMenu1
+            // 
+            this.toolBarMenu1.chkParameter = null;
+            this.toolBarMenu1.currentAction = null;
+            this.toolBarMenu1.defaultActions = null;
+            this.toolBarMenu1.Dock = System.Windows.Forms.DockStyle.Top;
+            this.toolBarMenu1.guidKey = null;
+            this.toolBarMenu1.isSetBtn = false;
+            this.toolBarMenu1.Location = new System.Drawing.Point(0, 0);
+            this.toolBarMenu1.Margin = new System.Windows.Forms.Padding(5);
+            this.toolBarMenu1.Name = "toolBarMenu1";
+            this.toolBarMenu1.rptParameter = null;
+            this.toolBarMenu1.Size = new System.Drawing.Size(1450, 98);
+            this.toolBarMenu1.TabIndex = 0;
+            this.toolBarMenu1.xlsInService = null;
+            this.toolBarMenu1.xlsOutParameter = "xlsOut_items{}";
+            // 
+            // xtraTabControl1
+            // 
+            this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.xtraTabControl1.Location = new System.Drawing.Point(0, 98);
+            this.xtraTabControl1.Margin = new System.Windows.Forms.Padding(4);
+            this.xtraTabControl1.Name = "xtraTabControl1";
+            this.xtraTabControl1.SelectedTabPage = this.xtraTabPage1;
+            this.xtraTabControl1.Size = new System.Drawing.Size(1450, 736);
+            this.xtraTabControl1.TabIndex = 3;
+            this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
+            this.xtraTabPage1});
+            // 
+            // xtraTabPage1
+            // 
+            this.xtraTabPage1.Controls.Add(this.split1);
+            this.xtraTabPage1.Margin = new System.Windows.Forms.Padding(4);
+            this.xtraTabPage1.Name = "xtraTabPage1";
+            this.xtraTabPage1.Size = new System.Drawing.Size(1448, 698);
+            this.xtraTabPage1.Text = "鏁版嵁鍒楄〃";
+            // 
+            // split1
+            // 
+            this.split1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.split1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2;
+            this.split1.Horizontal = false;
+            this.split1.Location = new System.Drawing.Point(0, 0);
+            this.split1.Margin = new System.Windows.Forms.Padding(4);
+            this.split1.Name = "split1";
+            // 
+            // split1.Panel1
+            // 
+            this.split1.Panel1.Controls.Add(this.gcMain1);
+            this.split1.Panel1.Text = "Panel1";
+            // 
+            // split1.Panel2
+            // 
+            this.split1.Panel2.Text = "Panel2";
+            this.split1.ShowSplitGlyph = DevExpress.Utils.DefaultBoolean.True;
+            this.split1.Size = new System.Drawing.Size(1448, 698);
+            this.split1.SplitterPosition = 0;
+            this.split1.TabIndex = 0;
+            // 
+            // gcMain1
+            // 
+            this.gcMain1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.gcMain1.EmbeddedNavigator.Margin = new System.Windows.Forms.Padding(4);
+            this.gcMain1.Location = new System.Drawing.Point(0, 0);
+            this.gcMain1.MainView = this.gridView1;
+            this.gcMain1.Margin = new System.Windows.Forms.Padding(4);
+            this.gcMain1.Name = "gcMain1";
+            this.gcMain1.Size = new System.Drawing.Size(1448, 683);
+            this.gcMain1.TabIndex = 2;
+            this.gcMain1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gridView1});
+            // 
+            // gridView1
+            // 
+            this.gridView1.Appearance.HeaderPanel.Options.UseTextOptions = true;
+            this.gridView1.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
+            this.gridView1.Appearance.Row.Options.UseFont = true;
+            this.gridView1.Appearance.Row.Options.UseTextOptions = true;
+            this.gridView1.Appearance.Row.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
+            this.gridView1.ColumnPanelRowHeight = 61;
+            this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
+            this.gridColumn1,
+            this.gridColumn2,
+            this.gridColumn3,
+            this.gridColumn4});
+            this.gridView1.DetailHeight = 428;
+            this.gridView1.GridControl = this.gcMain1;
+            this.gridView1.HorzScrollVisibility = DevExpress.XtraGrid.Views.Base.ScrollVisibility.Always;
+            this.gridView1.IndicatorWidth = 62;
+            this.gridView1.Name = "gridView1";
+            this.gridView1.OptionsFind.ShowSearchNavButtons = false;
+            this.gridView1.OptionsView.RowAutoHeight = true;
+            this.gridView1.OptionsView.ShowAutoFilterRow = true;
+            this.gridView1.OptionsView.ShowGroupPanel = false;
+            // 
+            // gridColumn1
+            // 
+            this.gridColumn1.Caption = "浜х嚎缂栧彿";
+            this.gridColumn1.FieldName = "lineNo";
+            this.gridColumn1.MinWidth = 30;
+            this.gridColumn1.Name = "gridColumn1";
+            this.gridColumn1.Visible = true;
+            this.gridColumn1.VisibleIndex = 0;
+            this.gridColumn1.Width = 112;
+            // 
+            // gridColumn2
+            // 
+            this.gridColumn2.Caption = "浜х嚎鍚嶇О";
+            this.gridColumn2.FieldName = "lineName";
+            this.gridColumn2.MinWidth = 30;
+            this.gridColumn2.Name = "gridColumn2";
+            this.gridColumn2.Visible = true;
+            this.gridColumn2.VisibleIndex = 1;
+            this.gridColumn2.Width = 112;
+            // 
+            // gridColumn3
+            // 
+            this.gridColumn3.Caption = "鍛樺伐缂栧彿";
+            this.gridColumn3.FieldName = "staffNo";
+            this.gridColumn3.MinWidth = 30;
+            this.gridColumn3.Name = "gridColumn3";
+            this.gridColumn3.Visible = true;
+            this.gridColumn3.VisibleIndex = 2;
+            this.gridColumn3.Width = 112;
+            // 
+            // gridColumn4
+            // 
+            this.gridColumn4.Caption = "鍛樺伐鍚嶇О";
+            this.gridColumn4.FieldName = "staffName";
+            this.gridColumn4.MinWidth = 30;
+            this.gridColumn4.Name = "gridColumn4";
+            this.gridColumn4.Visible = true;
+            this.gridColumn4.VisibleIndex = 3;
+            this.gridColumn4.Width = 112;
+            // 
+            // Frm_YDCQ
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1450, 834);
+            this.Controls.Add(this.xtraTabControl1);
+            this.Controls.Add(this.toolBarMenu1);
+            this.Margin = new System.Windows.Forms.Padding(4);
+            this.Name = "Frm_YDCQ";
+            this.Text = "鏈堝害鑰冨嫟鎶ュ憡";
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit();
+            this.xtraTabControl1.ResumeLayout(false);
+            this.xtraTabPage1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel1)).EndInit();
+            this.split1.Panel1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.split1)).EndInit();
+            this.split1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+        #endregion
+        private UserControl.UcToolBarMenu toolBarMenu1;
+        private DevExpress.XtraTab.XtraTabControl xtraTabControl1;
+        private DevExpress.XtraTab.XtraTabPage xtraTabPage1;
+        private DevExpress.XtraEditors.SplitContainerControl split1;
+        private DevExpress.XtraGrid.GridControl gcMain1;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
+        private DevExpress.Utils.ToolTipController tips;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn2;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn3;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn4;
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.cs
new file mode 100644
index 0000000..e4b1155
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.cs
@@ -0,0 +1,247 @@
+锘縰sing DevExpress.XtraGrid.Columns;
+using Gs.DevApp.DevFrm.JJGZ;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Net;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Gs.DevApp.DevFrm.JJGZ
+{
+	public partial class Frm_YDCQ : DevExpress.XtraEditors.XtraForm
+	{
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesJjgzReport/";
+        private string beginDate;
+        private string endDate;
+        private string lineNo;
+
+        public Frm_YDCQ()
+        {
+            InitializeComponent();
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+          
+            this.toolBarMenu1.getXmlConfig();
+            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, "", "", (value) =>
+            {
+           
+            }, tips);
+
+            this.toolBarMenu1.btnOutClick += ToolBarMenu1_btnOutClick;
+        }
+
+        private void GridView1_ColumnFilterChanged(object sender, EventArgs e)
+        {
+            _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns, gridView1);
+            Task.Delay(100);
+            getPageList();
+        }
+
+
+        /// <summary>
+        ///     鏌ヨ浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
+        {
+            var frm = new YDCQCX(lineNo, beginDate, endDate);
+            //璧嬪�肩粰鏄庣粏琛�
+            frm.UpdateParent += (ss, ee) =>
+            {
+                var lst = new List<string>();
+                lst = ee.StringList;
+                lineNo = string.IsNullOrEmpty(lst[0]) ? "0" : lst[0];
+                beginDate = string.IsNullOrEmpty(lst[1])? DateTime.Now.AddMonths(-1).ToString() : lst[1];
+                endDate = string.IsNullOrEmpty(lst[2]) ? DateTime.Now.ToString() : lst[2];
+                getPageList();
+            };
+            frm.ShowDialog();
+        }
+
+        /// <summary>
+        ///     鍒锋柊浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
+        {
+
+            //getPageList(1);
+            getPageList();
+
+        }
+
+        /// <summary>
+        /// </summary>
+        /// <param name="curPage">绗嚑椤�</param>
+        /// <param name="pageSize">姣忛〉鍑犳潯</param>
+        private void getPageList()
+        {
+            if (string.IsNullOrEmpty(lineNo) || string.IsNullOrEmpty(beginDate) || string.IsNullOrEmpty(endDate))
+            {
+                return;
+            }
+
+            gcMain1.DataSource = null; var _sbSqlWhere = UtilityHelper.GetSearchWhere(_filterList);
+            var _obj = new
+            {
+                lineNo = lineNo,//涓诲缓
+                beginDate = beginDate,
+                endDate = endDate
+            };
+            try
+            {
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetYQCQList", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strReturn);
+                if (_rtn.rtnCode > 0)
+                {
+                    dynamic dy = _rtn.rtnData;
+                    JObject _job = JObject.Parse(strReturn);
+                    JArray array = new JArray();
+                    foreach (var a in _job["rtnData"]["list"])
+                    {
+                        array.Add(a);
+                    }
+                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+
+
+                    List<DateTime> allDates = new List<DateTime>();
+                    for (DateTime date = DateTime.Parse(beginDate); date < DateTime.Parse(endDate); date = date.AddDays(1))
+                    {
+                        allDates.Add(date);
+                    }
+                    gridView1.Columns.Clear();
+
+                    // 娣诲姞鍥哄畾鍒�
+                    AddFixedColumns();
+
+                    // 娣诲姞鏃ユ湡鍒�
+                    foreach (DateTime date in allDates)
+                    {
+                        string columnName = date.ToString("yyyy-MM-dd");
+
+                        // 濡傛灉鏁版嵁琛ㄤ腑瀛樺湪璇ュ垪
+                        if (dt.Columns.Contains(columnName))
+                        {
+                            GridColumn colDate = new GridColumn();
+                            colDate.FieldName = columnName;
+                            colDate.Caption = date.ToString("MM-dd");
+                            colDate.Visible = true;
+                            colDate.OptionsColumn.AllowEdit = false;
+                            colDate.Width = 60;
+
+                            gridView1.Columns.Add(colDate);
+                        }
+                    }
+
+
+                    gcMain1.BindingContext = new BindingContext();
+                    gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
+                    if (dt.Rows.Count > 0)
+                    {
+                        gcMain1.DataSource = dt;
+                        gcMain1.ForceInitialize();
+                        gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
+                    }
+                    else
+                        UtilityHelper.SetDefaultTable(gcMain1, gridView1);
+
+                }
+                else
+                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+            }
+            catch (Exception ex)
+            {
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
+
+        private void AddFixedColumns()
+        {
+            // 浜х嚎缂栫爜
+            GridColumn colMaterialCode = new GridColumn();
+            colMaterialCode.FieldName = "lineNo";
+            colMaterialCode.Caption = "浜х嚎缂栫爜";
+            colMaterialCode.Visible = true;
+            colMaterialCode.OptionsColumn.AllowEdit = false;
+            gridView1.Columns.Add(colMaterialCode);
+
+            // 浜х嚎鍚嶇О
+            GridColumn colMaterialName = new GridColumn();
+            colMaterialName.FieldName = "lineName";
+            colMaterialName.Caption = "浜х嚎鍚嶇О";
+            colMaterialName.Visible = true;
+            colMaterialName.OptionsColumn.AllowEdit = false;
+            gridView1.Columns.Add(colMaterialName);
+
+            // 鍛樺伐缂栫爜
+            GridColumn colMaterialSpec = new GridColumn();
+            colMaterialSpec.FieldName = "staffNo";
+            colMaterialSpec.Caption = "鍛樺伐缂栫爜";
+            colMaterialSpec.Visible = true;
+            colMaterialSpec.OptionsColumn.AllowEdit = false;
+            gridView1.Columns.Add(colMaterialSpec);
+
+            // 鍛樺伐鍚嶇О
+            GridColumn colTotalRequired = new GridColumn();
+            colTotalRequired.FieldName = "staffName";
+            colTotalRequired.Caption = "鍛樺伐鍚嶇О";
+            colTotalRequired.Visible = true;
+            colTotalRequired.OptionsColumn.AllowEdit = false;
+            gridView1.Columns.Add(colTotalRequired);
+        }
+
+        private void ToolBarMenu1_btnOutClick(object sender, EventArgs e)
+        {
+            using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
+            {
+                folderBrowserDialog.Description = "閫夋嫨瀵煎嚭鏂囦欢鐨勪繚瀛樿矾寰�";
+                DialogResult dialogResult = folderBrowserDialog.ShowDialog();
+                if (dialogResult == DialogResult.OK)
+                {
+                    string _folder = folderBrowserDialog.SelectedPath;
+                    var _params = new
+                    {
+                        LineNo = lineNo,//涓诲缓
+                        beginDate = beginDate,
+                        endDate = endDate
+                    };
+                    var _obj = new Gs.DevApp.Entity.XlsOutModel("xlsOut_YDCQ", "", "", "", _params);
+                    try
+                    {
+                        string strJson = UtilityHelper.HttpPost("", "XlsInOut/XlsOutView_NEW", JsonConvert.SerializeObject(_obj));
+                        ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                        if (_rtn.rtnCode > 0)
+                        {
+                            string _file = _rtn.rtnData.fileUrl.ToString();
+                            string _folderName = _folder + "\\" + _file.Replace("down/", "");
+                            string _url = ConfigurationManager.AppSettings["WebApiUrl"].ToString() + _file;
+                            using (WebClient client = new WebClient())
+                            {
+                                client.DownloadFile(_url, _folderName);
+                            }
+                            ToolBox.MsgHelper.ShowInformation("瀵煎嚭鎴愬姛锛�");
+                        }
+                        else
+                        {
+                            ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.resx b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.resx
new file mode 100644
index 0000000..5160e8b
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDCQ.resx
@@ -0,0 +1,123 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="tips.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+</root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.Designer.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.Designer.cs
new file mode 100644
index 0000000..0b00b39
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.Designer.cs
@@ -0,0 +1,226 @@
+锘縩amespace Gs.DevApp.DevFrm.JJGZ
+{
+    partial class Frm_YDGZ
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            this.toolBarMenu1 = new Gs.DevApp.UserControl.UcToolBarMenu();
+            this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
+            this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
+            this.split1 = new DevExpress.XtraEditors.SplitContainerControl();
+            this.gcMain1 = new DevExpress.XtraGrid.GridControl();
+            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.gridColumn2 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.gridColumn3 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.gridColumn4 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.tips = new DevExpress.Utils.ToolTipController(this.components);
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
+            this.xtraTabControl1.SuspendLayout();
+            this.xtraTabPage1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.split1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel1)).BeginInit();
+            this.split1.Panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel2)).BeginInit();
+            this.split1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // toolBarMenu1
+            // 
+            this.toolBarMenu1.chkParameter = null;
+            this.toolBarMenu1.currentAction = null;
+            this.toolBarMenu1.defaultActions = null;
+            this.toolBarMenu1.Dock = System.Windows.Forms.DockStyle.Top;
+            this.toolBarMenu1.guidKey = null;
+            this.toolBarMenu1.isSetBtn = false;
+            this.toolBarMenu1.Location = new System.Drawing.Point(0, 0);
+            this.toolBarMenu1.Margin = new System.Windows.Forms.Padding(5);
+            this.toolBarMenu1.Name = "toolBarMenu1";
+            this.toolBarMenu1.rptParameter = null;
+            this.toolBarMenu1.Size = new System.Drawing.Size(1450, 98);
+            this.toolBarMenu1.TabIndex = 0;
+            this.toolBarMenu1.xlsInService = null;
+            this.toolBarMenu1.xlsOutParameter = "xlsOut_items{}";
+            // 
+            // xtraTabControl1
+            // 
+            this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.xtraTabControl1.Location = new System.Drawing.Point(0, 98);
+            this.xtraTabControl1.Margin = new System.Windows.Forms.Padding(4);
+            this.xtraTabControl1.Name = "xtraTabControl1";
+            this.xtraTabControl1.SelectedTabPage = this.xtraTabPage1;
+            this.xtraTabControl1.Size = new System.Drawing.Size(1450, 736);
+            this.xtraTabControl1.TabIndex = 3;
+            this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
+            this.xtraTabPage1});
+            // 
+            // xtraTabPage1
+            // 
+            this.xtraTabPage1.Controls.Add(this.split1);
+            this.xtraTabPage1.Margin = new System.Windows.Forms.Padding(4);
+            this.xtraTabPage1.Name = "xtraTabPage1";
+            this.xtraTabPage1.Size = new System.Drawing.Size(1448, 698);
+            this.xtraTabPage1.Text = "鏁版嵁鍒楄〃";
+            // 
+            // split1
+            // 
+            this.split1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.split1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2;
+            this.split1.Horizontal = false;
+            this.split1.Location = new System.Drawing.Point(0, 0);
+            this.split1.Margin = new System.Windows.Forms.Padding(4);
+            this.split1.Name = "split1";
+            // 
+            // split1.Panel1
+            // 
+            this.split1.Panel1.Controls.Add(this.gcMain1);
+            this.split1.Panel1.Text = "Panel1";
+            // 
+            // split1.Panel2
+            // 
+            this.split1.Panel2.Text = "Panel2";
+            this.split1.ShowSplitGlyph = DevExpress.Utils.DefaultBoolean.True;
+            this.split1.Size = new System.Drawing.Size(1448, 698);
+            this.split1.SplitterPosition = 0;
+            this.split1.TabIndex = 0;
+            // 
+            // gcMain1
+            // 
+            this.gcMain1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.gcMain1.EmbeddedNavigator.Margin = new System.Windows.Forms.Padding(4);
+            this.gcMain1.Location = new System.Drawing.Point(0, 0);
+            this.gcMain1.MainView = this.gridView1;
+            this.gcMain1.Margin = new System.Windows.Forms.Padding(4);
+            this.gcMain1.Name = "gcMain1";
+            this.gcMain1.Size = new System.Drawing.Size(1448, 683);
+            this.gcMain1.TabIndex = 2;
+            this.gcMain1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gridView1});
+            // 
+            // gridView1
+            // 
+            this.gridView1.Appearance.HeaderPanel.Options.UseTextOptions = true;
+            this.gridView1.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
+            this.gridView1.Appearance.Row.Options.UseFont = true;
+            this.gridView1.Appearance.Row.Options.UseTextOptions = true;
+            this.gridView1.Appearance.Row.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
+            this.gridView1.ColumnPanelRowHeight = 61;
+            this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
+            this.gridColumn1,
+            this.gridColumn2,
+            this.gridColumn3,
+            this.gridColumn4});
+            this.gridView1.DetailHeight = 428;
+            this.gridView1.GridControl = this.gcMain1;
+            this.gridView1.HorzScrollVisibility = DevExpress.XtraGrid.Views.Base.ScrollVisibility.Always;
+            this.gridView1.IndicatorWidth = 62;
+            this.gridView1.Name = "gridView1";
+            this.gridView1.OptionsFind.ShowSearchNavButtons = false;
+            this.gridView1.OptionsView.RowAutoHeight = true;
+            this.gridView1.OptionsView.ShowAutoFilterRow = true;
+            this.gridView1.OptionsView.ShowGroupPanel = false;
+            // 
+            // gridColumn1
+            // 
+            this.gridColumn1.Caption = "浜х嚎缂栧彿";
+            this.gridColumn1.FieldName = "lineNo";
+            this.gridColumn1.MinWidth = 30;
+            this.gridColumn1.Name = "gridColumn1";
+            this.gridColumn1.Visible = true;
+            this.gridColumn1.VisibleIndex = 0;
+            this.gridColumn1.Width = 112;
+            // 
+            // gridColumn2
+            // 
+            this.gridColumn2.Caption = "浜х嚎鍚嶇О";
+            this.gridColumn2.FieldName = "lineName";
+            this.gridColumn2.MinWidth = 30;
+            this.gridColumn2.Name = "gridColumn2";
+            this.gridColumn2.Visible = true;
+            this.gridColumn2.VisibleIndex = 1;
+            this.gridColumn2.Width = 112;
+            // 
+            // gridColumn3
+            // 
+            this.gridColumn3.Caption = "鍛樺伐缂栧彿";
+            this.gridColumn3.FieldName = "staffNo";
+            this.gridColumn3.MinWidth = 30;
+            this.gridColumn3.Name = "gridColumn3";
+            this.gridColumn3.Visible = true;
+            this.gridColumn3.VisibleIndex = 2;
+            this.gridColumn3.Width = 112;
+            // 
+            // gridColumn4
+            // 
+            this.gridColumn4.Caption = "鍛樺伐鍚嶇О";
+            this.gridColumn4.FieldName = "staffName";
+            this.gridColumn4.MinWidth = 30;
+            this.gridColumn4.Name = "gridColumn4";
+            this.gridColumn4.Visible = true;
+            this.gridColumn4.VisibleIndex = 3;
+            this.gridColumn4.Width = 112;
+            // 
+            // Frm_YDCQ
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1450, 834);
+            this.Controls.Add(this.xtraTabControl1);
+            this.Controls.Add(this.toolBarMenu1);
+            this.Margin = new System.Windows.Forms.Padding(4);
+            this.Name = "Frm_YDCQ";
+            this.Text = "鏈堝害鑰冨嫟鎶ュ憡";
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit();
+            this.xtraTabControl1.ResumeLayout(false);
+            this.xtraTabPage1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel1)).EndInit();
+            this.split1.Panel1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.split1.Panel2)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.split1)).EndInit();
+            this.split1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+        #endregion
+        private UserControl.UcToolBarMenu toolBarMenu1;
+        private DevExpress.XtraTab.XtraTabControl xtraTabControl1;
+        private DevExpress.XtraTab.XtraTabPage xtraTabPage1;
+        private DevExpress.XtraEditors.SplitContainerControl split1;
+        private DevExpress.XtraGrid.GridControl gcMain1;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
+        private DevExpress.Utils.ToolTipController tips;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn2;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn3;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn4;
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.cs
new file mode 100644
index 0000000..5d83e4a
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.cs
@@ -0,0 +1,254 @@
+锘縰sing DevExpress.XtraGrid.Columns;
+using Gs.DevApp.DevFrm.JJGZ;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Net;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Gs.DevApp.DevFrm.JJGZ
+{
+	public partial class Frm_YDGZ : DevExpress.XtraEditors.XtraForm
+	{
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesJjgzReport/";
+        private string orgId;
+        private string date;
+
+        public Frm_YDGZ()
+        {
+            InitializeComponent();
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+          
+            this.toolBarMenu1.getXmlConfig();
+            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, "", "", (value) =>
+            {
+           
+            }, tips);
+
+            this.toolBarMenu1.btnOutClick += ToolBarMenu1_btnOutClick;
+        }
+
+        private void GridView1_ColumnFilterChanged(object sender, EventArgs e)
+        {
+            _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns, gridView1);
+            Task.Delay(100);
+            getPageList();
+        }
+
+
+        /// <summary>
+        ///     鏌ヨ浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
+        {
+            var frm = new YDGZCX(orgId,date);
+            //璧嬪�肩粰鏄庣粏琛�
+            frm.UpdateParent += (ss, ee) =>
+            {
+                var lst = new List<string>();
+                lst = ee.StringList;
+                orgId = string.IsNullOrEmpty(lst[0]) ? "" : lst[0];
+                date = string.IsNullOrEmpty(lst[1]) ? "" : lst[1];
+                getPageList();
+            };
+            frm.ShowDialog();
+        }
+
+        /// <summary>
+        ///     鍒锋柊浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
+        {
+
+            //getPageList(1);
+            getPageList();
+
+        }
+
+        /// <summary>
+        /// </summary>
+        /// <param name="curPage">绗嚑椤�</param>
+        /// <param name="pageSize">姣忛〉鍑犳潯</param>
+        private void getPageList()
+        {
+
+            if(string.IsNullOrEmpty(date) || string.IsNullOrEmpty(orgId))
+            {
+                return;
+            }
+
+            gcMain1.DataSource = null; var _sbSqlWhere = UtilityHelper.GetSearchWhere(_filterList);
+            var _obj = new
+            {
+                orgId = orgId,
+                date = date
+            };
+            try
+            {
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetYDGZList", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strReturn);
+                if (_rtn.rtnCode > 0)
+                {
+                    dynamic dy = _rtn.rtnData;
+                    JObject _job = JObject.Parse(strReturn);
+                    JArray array = new JArray();
+                    foreach (var a in _job["rtnData"]["list"])
+                    {
+                        array.Add(a);
+                    }
+                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+
+
+                    List<DateTime> allDates = new List<DateTime>();
+                    var nowdate = DateTime.Parse(date);
+                    DateTime monthStart = new DateTime(nowdate.Year, nowdate.Month, 1);
+                    DateTime monthEnd = monthStart.AddMonths(1).AddDays(-1);
+
+                    for (DateTime item = monthStart; item <= monthEnd; item = item.AddDays(1))
+                    {
+                        allDates.Add(item);
+                    }
+                    gridView1.Columns.Clear();
+
+                    // 娣诲姞鍥哄畾鍒�
+                    AddFixedColumns();
+
+                    // 娣诲姞鏃ユ湡鍒�
+                    foreach (DateTime date in allDates)
+                    {
+                        string columnName = date.ToString("yyyy-MM-dd");
+
+                        // 濡傛灉鏁版嵁琛ㄤ腑瀛樺湪璇ュ垪
+                        if (dt.Columns.Contains(columnName))
+                        {
+                            GridColumn colDate = new GridColumn();
+                            colDate.FieldName = columnName;
+                            colDate.Caption = date.ToString("MM-dd");
+                            colDate.Visible = true;
+                            colDate.OptionsColumn.AllowEdit = false;
+                            colDate.Width = 60;
+
+                            gridView1.Columns.Add(colDate);
+                        }
+                    }
+
+
+                    gcMain1.BindingContext = new BindingContext();
+                    gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged;
+                    if (dt.Rows.Count > 0)
+                    {
+                        gcMain1.DataSource = dt;
+                        gcMain1.ForceInitialize();
+                        gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
+                    }
+                    else
+                        UtilityHelper.SetDefaultTable(gcMain1, gridView1);
+
+                }
+                else
+                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+            }
+            catch (Exception ex)
+            {
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
+
+        private void AddFixedColumns()
+        {
+            // 浜х嚎缂栫爜
+            GridColumn colMaterialCode = new GridColumn();
+            colMaterialCode.FieldName = "lineNo";
+            colMaterialCode.Caption = "浜х嚎缂栫爜";
+            colMaterialCode.Visible = true;
+            colMaterialCode.OptionsColumn.AllowEdit = false;
+            gridView1.Columns.Add(colMaterialCode);
+
+            // 浜х嚎鍚嶇О
+            GridColumn colMaterialName = new GridColumn();
+            colMaterialName.FieldName = "lineName";
+            colMaterialName.Caption = "浜х嚎鍚嶇О";
+            colMaterialName.Visible = true;
+            colMaterialName.OptionsColumn.AllowEdit = false;
+            gridView1.Columns.Add(colMaterialName);
+
+            // 鍛樺伐缂栫爜
+            GridColumn colMaterialSpec = new GridColumn();
+            colMaterialSpec.FieldName = "staffNo";
+            colMaterialSpec.Caption = "鍛樺伐缂栫爜";
+            colMaterialSpec.Visible = true;
+            colMaterialSpec.OptionsColumn.AllowEdit = false;
+            gridView1.Columns.Add(colMaterialSpec);
+
+            // 鍛樺伐鍚嶇О
+            GridColumn colTotalRequired = new GridColumn();
+            colTotalRequired.FieldName = "staffName";
+            colTotalRequired.Caption = "鍛樺伐鍚嶇О";
+            colTotalRequired.Visible = true;
+            colTotalRequired.OptionsColumn.AllowEdit = false;
+            gridView1.Columns.Add(colTotalRequired);
+
+            GridColumn colCountSalary = new GridColumn();
+            colCountSalary.FieldName = "addSalary";
+            colCountSalary.Caption = "宸ヨ祫姹囨��";
+            colCountSalary.Visible = true;
+            colCountSalary.OptionsColumn.AllowEdit = false;
+            gridView1.Columns.Add(colCountSalary);
+        }
+
+        private void ToolBarMenu1_btnOutClick(object sender, EventArgs e)
+        {
+            using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
+            {
+                folderBrowserDialog.Description = "閫夋嫨瀵煎嚭鏂囦欢鐨勪繚瀛樿矾寰�";
+                DialogResult dialogResult = folderBrowserDialog.ShowDialog();
+                if (dialogResult == DialogResult.OK)
+                {
+                    string _folder = folderBrowserDialog.SelectedPath;
+                    var _params = new
+                    {
+                        inputDate = date
+                    };
+                    var _obj = new Gs.DevApp.Entity.XlsOutModel("report_YDGZ", "", "", "", _params);
+                    try
+                    {
+                        string strJson = UtilityHelper.HttpPost("", "XlsInOut/XlsOutView_NEW", JsonConvert.SerializeObject(_obj));
+                        ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                        if (_rtn.rtnCode > 0)
+                        {
+                            string _file = _rtn.rtnData.fileUrl.ToString();
+                            string _folderName = _folder + "\\" + _file.Replace("down/", "");
+                            string _url = ConfigurationManager.AppSettings["WebApiUrl"].ToString() + _file;
+                            using (WebClient client = new WebClient())
+                            {
+                                client.DownloadFile(_url, _folderName);
+                            }
+                            ToolBox.MsgHelper.ShowInformation("瀵煎嚭鎴愬姛锛�");
+                        }
+                        else
+                        {
+                            ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.resx b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.resx
new file mode 100644
index 0000000..5160e8b
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_YDGZ.resx
@@ -0,0 +1,123 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="tips.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+</root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.Designer.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.Designer.cs
new file mode 100644
index 0000000..9d688fb
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.Designer.cs
@@ -0,0 +1,168 @@
+锘縩amespace Gs.DevApp.DevFrm.JJGZ
+{
+    partial class YDCQCX
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.beginDate = new DevExpress.XtraEditors.DateEdit();
+            this.simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
+            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
+            this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
+            this.textEdit1 = new DevExpress.XtraEditors.SearchLookUpEdit();
+            this.searchLookUpEdit1View = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
+            this.endDate = new DevExpress.XtraEditors.DateEdit();
+            ((System.ComponentModel.ISupportInitialize)(this.beginDate.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beginDate.Properties.CalendarTimeProperties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.endDate.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.endDate.Properties.CalendarTimeProperties)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // beginDate
+            // 
+            this.beginDate.EditValue = null;
+            this.beginDate.Location = new System.Drawing.Point(210, 108);
+            this.beginDate.Margin = new System.Windows.Forms.Padding(2);
+            this.beginDate.Name = "beginDate";
+            this.beginDate.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.beginDate.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.beginDate.Size = new System.Drawing.Size(386, 28);
+            this.beginDate.TabIndex = 1;
+            // 
+            // simpleButton1
+            // 
+            this.simpleButton1.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.lookup_reference_16x161;
+            this.simpleButton1.Location = new System.Drawing.Point(248, 215);
+            this.simpleButton1.Margin = new System.Windows.Forms.Padding(2);
+            this.simpleButton1.Name = "simpleButton1";
+            this.simpleButton1.Size = new System.Drawing.Size(138, 44);
+            this.simpleButton1.TabIndex = 3;
+            this.simpleButton1.Text = "鏌ヨ";
+            this.simpleButton1.Click += new System.EventHandler(this.simpleButton1_Click);
+            // 
+            // labelControl1
+            // 
+            this.labelControl1.Location = new System.Drawing.Point(66, 49);
+            this.labelControl1.Margin = new System.Windows.Forms.Padding(2);
+            this.labelControl1.Name = "labelControl1";
+            this.labelControl1.Size = new System.Drawing.Size(78, 22);
+            this.labelControl1.TabIndex = 4;
+            this.labelControl1.Text = "閫夋嫨浜х嚎:";
+            // 
+            // labelControl2
+            // 
+            this.labelControl2.Location = new System.Drawing.Point(66, 114);
+            this.labelControl2.Margin = new System.Windows.Forms.Padding(2);
+            this.labelControl2.Name = "labelControl2";
+            this.labelControl2.Size = new System.Drawing.Size(90, 22);
+            this.labelControl2.TabIndex = 5;
+            this.labelControl2.Text = "寮�濮嬫棩鏈燂細";
+            // 
+            // textEdit1
+            // 
+            this.textEdit1.Location = new System.Drawing.Point(210, 49);
+            this.textEdit1.Name = "textEdit1";
+            this.textEdit1.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.textEdit1.Properties.NullText = "";
+            this.textEdit1.Properties.PopupView = this.searchLookUpEdit1View;
+            this.textEdit1.Size = new System.Drawing.Size(386, 28);
+            this.textEdit1.TabIndex = 6;
+            // 
+            // searchLookUpEdit1View
+            // 
+            this.searchLookUpEdit1View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
+            this.searchLookUpEdit1View.Name = "searchLookUpEdit1View";
+            this.searchLookUpEdit1View.OptionsSelection.EnableAppearanceFocusedCell = false;
+            this.searchLookUpEdit1View.OptionsView.ShowGroupPanel = false;
+            // 
+            // labelControl3
+            // 
+            this.labelControl3.Location = new System.Drawing.Point(66, 174);
+            this.labelControl3.Margin = new System.Windows.Forms.Padding(2);
+            this.labelControl3.Name = "labelControl3";
+            this.labelControl3.Size = new System.Drawing.Size(90, 22);
+            this.labelControl3.TabIndex = 8;
+            this.labelControl3.Text = "缁撴潫鏃ユ湡锛�";
+            // 
+            // endDate
+            // 
+            this.endDate.EditValue = null;
+            this.endDate.Location = new System.Drawing.Point(210, 168);
+            this.endDate.Margin = new System.Windows.Forms.Padding(2);
+            this.endDate.Name = "endDate";
+            this.endDate.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.endDate.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.endDate.Size = new System.Drawing.Size(386, 28);
+            this.endDate.TabIndex = 7;
+            // 
+            // YDCQCX
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(646, 314);
+            this.Controls.Add(this.labelControl3);
+            this.Controls.Add(this.endDate);
+            this.Controls.Add(this.labelControl2);
+            this.Controls.Add(this.labelControl1);
+            this.Controls.Add(this.simpleButton1);
+            this.Controls.Add(this.beginDate);
+            this.Controls.Add(this.textEdit1);
+            this.Margin = new System.Windows.Forms.Padding(2);
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "YDCQCX";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+            this.Text = "鏌ヨ";
+            ((System.ComponentModel.ISupportInitialize)(this.beginDate.Properties.CalendarTimeProperties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beginDate.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.textEdit1.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.searchLookUpEdit1View)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.endDate.Properties.CalendarTimeProperties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.endDate.Properties)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+        private DevExpress.XtraEditors.DateEdit beginDate;
+        private DevExpress.XtraEditors.SimpleButton simpleButton1;
+        private DevExpress.XtraEditors.LabelControl labelControl1;
+        private DevExpress.XtraEditors.LabelControl labelControl2;
+        private DevExpress.XtraEditors.SearchLookUpEdit textEdit1;
+        private DevExpress.XtraGrid.Views.Grid.GridView searchLookUpEdit1View;
+        private DevExpress.XtraEditors.LabelControl labelControl3;
+        private DevExpress.XtraEditors.DateEdit endDate;
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.cs
new file mode 100644
index 0000000..58ea9da
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.cs
@@ -0,0 +1,84 @@
+锘縰sing Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+
+namespace Gs.DevApp.DevFrm.JJGZ
+{
+    public partial class YDCQCX : DevExpress.XtraEditors.XtraForm
+    {
+        string _webServiceName = "MesAttanCon/";
+        public YDCQCX()
+        {
+            InitializeComponent();
+            GetWORKSHOPLINE();
+        }
+
+        public YDCQCX(string lineNo,string date1, string date2)
+        {
+            InitializeComponent();
+            GetWORKSHOPLINE();
+            textEdit1.EditValue = lineNo;
+            beginDate.EditValue = date1;
+            endDate.EditValue = date2;
+
+        }
+
+        /// <summary>
+        ///     閫夋嫨鍚庣殑鍥炶皟浜嬩欢
+        /// </summary>
+        public event EventHandler<UpdateParentEventArgs> UpdateParent;
+
+        private void simpleButton1_Click(object sender, EventArgs e)
+        {
+            var list = new List<string>();
+            
+            list.Add(textEdit1.EditValue?.ToString() ?? "");
+            list.Add(beginDate.EditValue?.ToString() ?? "");
+            list.Add(endDate.EditValue?.ToString() ?? "");
+            
+            UpdateParent?.Invoke(this, new UpdateParentEventArgs { StringList = list }); Close();
+        }
+
+        /// <summary>
+        /// 鑾峰彇涓嬫媺妗嗘暟鎹�
+        /// </summary>
+        private void GetWORKSHOPLINE()
+        {
+            try
+            {
+                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetWORKSHOPLINE", "");
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                if (_rtn.rtnCode > 0)
+                {
+                    dynamic dy = _rtn.rtnData;
+                    JObject _job = JObject.Parse(strJson);
+                    JArray array = new JArray();
+                    if (_job["rtnData"]?["list"] != null)
+                    {
+                        foreach (var a in _job["rtnData"]["list"])
+                        {
+                            array.Add(a);
+                        }
+                    }
+                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+
+                    this.textEdit1.Properties.ValueMember = "浜х嚎";
+                    this.textEdit1.Properties.DisplayMember = "浜х嚎";
+                    this.textEdit1.Properties.DataSource = dt;
+                }
+                else
+                {
+                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.resx b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDCQCX.resx
@@ -0,0 +1,120 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.Designer.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.Designer.cs
new file mode 100644
index 0000000..4520114
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.Designer.cs
@@ -0,0 +1,121 @@
+锘縩amespace Gs.DevApp.DevFrm.JJGZ
+{
+    partial class YDGZCX
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
+            this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
+            this.dateEdit = new DevExpress.XtraEditors.DateEdit();
+            this.txtOrgId = new Gs.DevApp.UserControl.UcLookOrg();
+            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
+            ((System.ComponentModel.ISupportInitialize)(this.dateEdit.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dateEdit.Properties.CalendarTimeProperties)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // simpleButton1
+            // 
+            this.simpleButton1.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.lookup_reference_16x161;
+            this.simpleButton1.Location = new System.Drawing.Point(237, 176);
+            this.simpleButton1.Margin = new System.Windows.Forms.Padding(2);
+            this.simpleButton1.Name = "simpleButton1";
+            this.simpleButton1.Size = new System.Drawing.Size(138, 44);
+            this.simpleButton1.TabIndex = 3;
+            this.simpleButton1.Text = "鏌ヨ";
+            this.simpleButton1.Click += new System.EventHandler(this.simpleButton1_Click);
+            // 
+            // labelControl3
+            // 
+            this.labelControl3.Location = new System.Drawing.Point(71, 107);
+            this.labelControl3.Margin = new System.Windows.Forms.Padding(2);
+            this.labelControl3.Name = "labelControl3";
+            this.labelControl3.Size = new System.Drawing.Size(54, 22);
+            this.labelControl3.TabIndex = 8;
+            this.labelControl3.Text = "鏃ユ湡锛�";
+            // 
+            // dateEdit
+            // 
+            this.dateEdit.EditValue = null;
+            this.dateEdit.Location = new System.Drawing.Point(218, 104);
+            this.dateEdit.Margin = new System.Windows.Forms.Padding(2);
+            this.dateEdit.Name = "dateEdit";
+            this.dateEdit.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.dateEdit.Properties.CalendarTimeProperties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.dateEdit.Size = new System.Drawing.Size(386, 28);
+            this.dateEdit.TabIndex = 7;
+            // 
+            // txtOrgId
+            // 
+            this.txtOrgId.IsReadly = false;
+            this.txtOrgId.Location = new System.Drawing.Point(215, 36);
+            this.txtOrgId.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.txtOrgId.Name = "txtOrgId";
+            this.txtOrgId.Size = new System.Drawing.Size(386, 37);
+            this.txtOrgId.TabIndex = 10;
+            // 
+            // labelControl1
+            // 
+            this.labelControl1.Location = new System.Drawing.Point(71, 36);
+            this.labelControl1.Margin = new System.Windows.Forms.Padding(2);
+            this.labelControl1.Name = "labelControl1";
+            this.labelControl1.Size = new System.Drawing.Size(78, 22);
+            this.labelControl1.TabIndex = 9;
+            this.labelControl1.Text = "閫夋嫨缁勭粐:";
+            // 
+            // YDGZCX
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(646, 314);
+            this.Controls.Add(this.txtOrgId);
+            this.Controls.Add(this.labelControl1);
+            this.Controls.Add(this.labelControl3);
+            this.Controls.Add(this.dateEdit);
+            this.Controls.Add(this.simpleButton1);
+            this.Margin = new System.Windows.Forms.Padding(2);
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "YDGZCX";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+            this.Text = "鏌ヨ";
+            ((System.ComponentModel.ISupportInitialize)(this.dateEdit.Properties.CalendarTimeProperties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dateEdit.Properties)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+        private DevExpress.XtraEditors.SimpleButton simpleButton1;
+        private DevExpress.XtraEditors.LabelControl labelControl3;
+        private DevExpress.XtraEditors.DateEdit dateEdit;
+        private UserControl.UcLookOrg txtOrgId;
+        private DevExpress.XtraEditors.LabelControl labelControl1;
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.cs b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.cs
new file mode 100644
index 0000000..7a902ee
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.cs
@@ -0,0 +1,38 @@
+锘縰sing Gs.DevApp.ToolBox;
+using System;
+using System.Collections.Generic;
+
+namespace Gs.DevApp.DevFrm.JJGZ
+{
+    public partial class YDGZCX : DevExpress.XtraEditors.XtraForm
+    {
+        string _webServiceName = "MesAttanCon/";
+        public YDGZCX()
+        {
+            InitializeComponent();
+        }
+
+        public YDGZCX(string orgId,string date)
+        {
+            InitializeComponent();
+            dateEdit.EditValue = date;
+            txtOrgId.SetIdOrCode(orgId);
+
+        }
+
+        /// <summary>
+        ///     閫夋嫨鍚庣殑鍥炶皟浜嬩欢
+        /// </summary>
+        public event EventHandler<UpdateParentEventArgs> UpdateParent;
+
+        private void simpleButton1_Click(object sender, EventArgs e)
+        {
+            var list = new List<string>();
+
+            list.Add(txtOrgId.GetId());
+            list.Add(dateEdit.EditValue?.ToString() ?? "");
+            
+            UpdateParent?.Invoke(this, new UpdateParentEventArgs { StringList = list }); Close();
+        }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.resx b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/JJGZ/YDGZCX.resx
@@ -0,0 +1,120 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Gs.DevApp.csproj b/DevApp/Gs.DevApp/Gs.DevApp.csproj
index 06ca45c..c36b9eb 100644
--- a/DevApp/Gs.DevApp/Gs.DevApp.csproj
+++ b/DevApp/Gs.DevApp/Gs.DevApp.csproj
@@ -467,6 +467,24 @@
     <Compile Include="DevFrm\JJGZ\Frm_MesTimeType.Designer.cs">
       <DependentUpon>Frm_MesTimeType.cs</DependentUpon>
     </Compile>
+    <Compile Include="DevFrm\JJGZ\Frm_YDCQ.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="DevFrm\JJGZ\Frm_YDCQ.Designer.cs">
+      <DependentUpon>Frm_YDCQ.cs</DependentUpon>
+    </Compile>
+    <Compile Include="DevFrm\JJGZ\Frm_YDGZ.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="DevFrm\JJGZ\Frm_YDGZ.Designer.cs">
+      <DependentUpon>Frm_YDGZ.cs</DependentUpon>
+    </Compile>
+    <Compile Include="DevFrm\JJGZ\Frm_JJMX.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="DevFrm\JJGZ\Frm_JJMX.Designer.cs">
+      <DependentUpon>Frm_JJMX.cs</DependentUpon>
+    </Compile>
     <Compile Include="DevFrm\JJGZ\KQCX.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -484,6 +502,18 @@
     </Compile>
     <Compile Include="DevFrm\JJGZ\SetLB.Designer.cs">
       <DependentUpon>SetLB.cs</DependentUpon>
+    </Compile>
+    <Compile Include="DevFrm\JJGZ\YDCQCX.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="DevFrm\JJGZ\YDCQCX.Designer.cs">
+      <DependentUpon>YDCQCX.cs</DependentUpon>
+    </Compile>
+    <Compile Include="DevFrm\JJGZ\YDGZCX.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="DevFrm\JJGZ\YDGZCX.Designer.cs">
+      <DependentUpon>YDGZCX.cs</DependentUpon>
     </Compile>
     <Compile Include="DevFrm\PDA\Frm_AreaBind.cs">
       <SubType>Form</SubType>
@@ -1808,6 +1838,15 @@
     <EmbeddedResource Include="DevFrm\JJGZ\Frm_MesTimeType.resx">
       <DependentUpon>Frm_MesTimeType.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="DevFrm\JJGZ\Frm_YDCQ.resx">
+      <DependentUpon>Frm_YDCQ.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="DevFrm\JJGZ\Frm_YDGZ.resx">
+      <DependentUpon>Frm_YDGZ.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="DevFrm\JJGZ\Frm_JJMX.resx">
+      <DependentUpon>Frm_JJMX.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="DevFrm\JJGZ\KQCX.resx">
       <DependentUpon>KQCX.cs</DependentUpon>
     </EmbeddedResource>
@@ -1817,6 +1856,12 @@
     <EmbeddedResource Include="DevFrm\JJGZ\SetLB.resx">
       <DependentUpon>SetLB.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="DevFrm\JJGZ\YDCQCX.resx">
+      <DependentUpon>YDCQCX.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="DevFrm\JJGZ\YDGZCX.resx">
+      <DependentUpon>YDGZCX.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="DevFrm\PDA\Frm_AreaBind.resx">
       <DependentUpon>Frm_AreaBind.cs</DependentUpon>
     </EmbeddedResource>

--
Gitblit v1.9.3