Эх сурвалжийг харах

添加按照明细筛选采集数据,可以多台机器采集一个单

章政 7 жил өмнө
parent
commit
c58b70305c

+ 1 - 1
UAS-出货标签管理(吉利通)/UAS_出货标签管理.Designer.cs

@@ -1146,7 +1146,7 @@
             // 
             this.label22.AutoSize = true;
             this.label22.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label22.Location = new System.Drawing.Point(8, 238);
+            this.label22.Location = new System.Drawing.Point(8, 239);
             this.label22.Name = "label22";
             this.label22.Size = new System.Drawing.Size(56, 17);
             this.label22.TabIndex = 95;

+ 39 - 5
UAS-出货标签管理(吉利通)/UAS_出货标签管理.cs

@@ -214,6 +214,15 @@ namespace UAS_LabelMachine
                 port.Read(readBuffer, 0, len); //将数据读入缓存
                 string msg = Encoding.ASCII.GetString(readBuffer, 0, len); //获取出入库产品编号
                 string pib_id = LabelInf.Rows[CurrentRowIndex].Cells["pib_id1"].Value.ToString();
+                int pib_pdno = int.Parse(LabelInf.Rows[CurrentRowIndex].Cells["pib_pdno"].Value.ToString());
+                if (DetailRange.Checked)
+                {
+                    //不在范围内的不进行处理
+                    if (!(pib_pdno >= DetailRange1.Value && pib_pdno <= DetailRange2.Value))
+                    {
+                        return;
+                    }
+                }
                 switch (port.Tag)
                 {
                     case "FrontendCheck":
@@ -1210,22 +1219,46 @@ namespace UAS_LabelMachine
         /// <param name="e"></param>
         private void LoadGridData(object sender, EventArgs e)
         {
-            dt = (DataTable)adh.ExecuteSql("select * from prodiobarcode where pib_inoutno='" + pi_inoutno.Text + "' and rownum between " + ((CurrentPage - 1) * PageSize + 1) + " and  " + CurrentPage * PageSize + " order by rownum", "select");
+            sql.Clear();
+            sql.Append("select * from prodiobarcode where pib_inoutno='" + pi_inoutno.Text + "' and rownum ");
+            sql.Append("between " + ((CurrentPage - 1) * PageSize + 1) + " and  " + CurrentPage * PageSize + " ");
+            if (DetailRange.Checked)
+            {
+                sql.Append(" and pib_pdno between " + DetailRange1.Value + " and " + DetailRange2.Value);
+            }
+            sql.Append(" order by rownum");
+            dt = (DataTable)adh.ExecuteSql(sql.ToString(), "select");
             if (dt.Rows.Count == 0)
             {
+                //嵌套查询重置RowNum
                 sql.Clear();
-                sql.Append("select rownum,pd_custprodcode,pib_inoutno,pd_custprodspec,nvl(pib_ifrecheck,0)pib_ifrecheck,nvl(pib_ifupload,0)pib_ifupload,nvl(pib_ifmodify,0)pib_ifmodify,pd_pocode,pib_madein,pib_custbarcode,pib_custoutboxcode,");
+                sql.Append("select t.*,rownum from (select pd_custprodcode,pib_inoutno,pd_custprodspec,nvl(pib_ifrecheck,0)pib_ifrecheck,nvl(pib_ifupload,0)pib_ifupload,nvl(pib_ifmodify,0)pib_ifmodify,pd_pocode,pib_madein,pib_custbarcode,pib_custoutboxcode,");
                 sql.Append("pib_id,pib_pdid,pib_piid,pib_pdno,pib_prodcode,nvl(nvl(pd_brand,pib_brand),pr_brand)pib_brand, pr_vendprodcode,pib_lotno,pib_datecode,pib_qty,pr_spec,pi_title,pr_zxbzs,pr_unit,pib_barcode,pib_outboxcode1,");
                 sql.Append("pib_outboxcode2,nvl(pib_ifpick,0)pib_ifpick,nvl(pib_ifprint,0)pib_ifprint from prodiobarcode left join prodinout on pib_piid=pi_id left join prodiodetail on pib_piid=pd_piid and pd_pdno=pib_pdno and ");
-                sql.Append("pd_prodcode=pib_prodcode left join product on pr_code=pib_prodcode left join sale on sa_code=pib_ordercode where pib_piid='" + PI_ID + "' order by rownum");
+                sql.Append("pd_prodcode=pib_prodcode left join product on pr_code=pib_prodcode left join sale on sa_code=pib_ordercode where pib_piid='" + PI_ID + "' order by to_number(pib_id))t");
                 dt = (DataTable)dh.ExecuteSql(sql.ToString(), "select");
                 //检验查询的字段和本地数据库字段是否匹配
                 adh.AddColumFromDataTable(dt, "prodiobarcode");
                 //将数据保存在本地数据库
                 adh.SaveDataTable(dt, "prodiobarcode");
-                dt = BaseUtil.filterDataTable(dt, "rownum <=" + PageSize);
+                if (!DetailRange.Checked)
+                {
+                    dt = BaseUtil.filterDataTable(dt, "rownum <=" + PageSize);
+                }
+                else
+                {
+                    dt = BaseUtil.filterDataTable(dt, "rownum <=" + PageSize + " and pib_pdno >= " + DetailRange1.Value + " and pib_pdno<=" + DetailRange2.Value);
+                }
+            }
+            //获取数据总条数
+            if (!DetailRange.Checked)
+            {
+                DataSize = adh.getRowCount("prodiobarcode", "pib_inoutno='" + pi_inoutno.Text + "'");
+            }
+            else
+            {
+                DataSize = adh.getRowCount("prodiobarcode", "pib_inoutno='" + pi_inoutno.Text + "' and pib_pdno between " + DetailRange1.Value + " and " + DetailRange2.Value);
             }
-            DataSize = adh.getRowCount("prodiobarcode", "pib_inoutno='" + pi_inoutno.Text + "'");
             PageNum.Text = "总数" + DataSize;
             MaxPageSize = DataSize % PageSize == 0 ? DataSize / PageSize : (DataSize / PageSize) + 1;
             PageInf.Text = CurrentPage + "/" + MaxPageSize;
@@ -1598,6 +1631,7 @@ namespace UAS_LabelMachine
                 }
                 DetailRange1.Enabled = false;
                 DetailRange2.Enabled = false;
+                LoadGridData();
             }
             else
             {