Browse Source

完善。

master
yibo 7 years ago
parent
commit
6004125490
10 changed files with 514 additions and 253 deletions
  1. +19
    -0
      ButcherFactory.BO/Base/ExtensionObj.cs
  2. +0
    -15
      ButcherFactory.BO/Base/SimpleBackObjs.cs
  3. +1
    -1
      ButcherFactory.BO/Base/SyncBill.cs
  4. +4
    -3
      ButcherFactory.BO/Bill/CarcassInStore.cs
  5. +1
    -1
      ButcherFactory.BO/ButcherFactory.BO.csproj
  6. +130
    -26
      ButcherFactory.BO/LocalBL/CarcassInStoreBL.cs
  7. +9
    -0
      ButcherFactory.BO/Utils/Extensions.cs
  8. +154
    -154
      ButcherFactory.Form/CarcassInStore_/CarcassInStoreForm.Designer.cs
  9. +139
    -53
      ButcherFactory.Form/CarcassInStore_/CarcassInStoreForm.cs
  10. +57
    -0
      ButcherFactory.Form/CarcassInStore_/CarcassInStoreForm.resx

+ 19
- 0
ButcherFactory.BO/Base/ExtensionObj.cs View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ButcherFactory.BO
{
public class ExtensionObj
{
public long? LongExt1 { get; set; }
public long? LongExt2 { get; set; }
public decimal? DecimalExt1 { get; set; }
public string StringExt1 { get; set; }
}
}

+ 0
- 15
ButcherFactory.BO/Base/SimpleBackObjs.cs View File

@ -1,15 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ButcherFactory.BO
{
public class IDRowVersion
{
public long ID { get; set; }
public int RowVersion { get; set; }
}
}

+ 1
- 1
ButcherFactory.BO/Base/SyncBill.cs View File

@ -16,7 +16,7 @@ namespace ButcherFactory.BO
public int RowVersion { get; set; } public int RowVersion { get; set; }
[DbColumn(DbType = SqlDbType.DateTime)] [DbColumn(DbType = SqlDbType.DateTime)]
public DateTime? CreateTime { get; set; }
public DateTime CreateTime { get; set; }
public long UserID { get; set; } public long UserID { get; set; }


+ 4
- 3
ButcherFactory.BO/Bill/CarcassInStore.cs View File

@ -1,4 +1,5 @@
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DataDictionary;
using Forks.EnterpriseServices.DomainObjects2;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -8,6 +9,8 @@ using System.Threading.Tasks;
namespace ButcherFactory.BO namespace ButcherFactory.BO
{ {
[MapToTable("Butcher_CarcassInStore")] [MapToTable("Butcher_CarcassInStore")]
[DBIndex("IDX_Butcher_CarcassInStore_Clustered", "BarCode", false, 0)]
[DBIndexType("IDX_Butcher_CarcassInStore_Clustered", IndexType.Clustered)]
public class CarcassInStore : SyncBill public class CarcassInStore : SyncBill
{ {
public CarcassInStore() public CarcassInStore()
@ -25,8 +28,6 @@ namespace ButcherFactory.BO
public decimal? Weight { get; set; } public decimal? Weight { get; set; }
public long? UpID { get; set; }
public decimal? BeforeWeight { get; set; } public decimal? BeforeWeight { get; set; }
[NonDmoProperty] [NonDmoProperty]


+ 1
- 1
ButcherFactory.BO/ButcherFactory.BO.csproj View File

@ -60,7 +60,7 @@
<Compile Include="BaseInfo\Goods.cs" /> <Compile Include="BaseInfo\Goods.cs" />
<Compile Include="Base\BaseInfo.cs" /> <Compile Include="Base\BaseInfo.cs" />
<Compile Include="BaseInfo\ProductBatch.cs" /> <Compile Include="BaseInfo\ProductBatch.cs" />
<Compile Include="Base\SimpleBackObjs.cs" />
<Compile Include="Base\ExtensionObj.cs" />
<Compile Include="Enums\ApplyClient.cs" /> <Compile Include="Enums\ApplyClient.cs" />
<Compile Include="Enums\DriveType.cs" /> <Compile Include="Enums\DriveType.cs" />
<Compile Include="Base\SyncBill.cs" /> <Compile Include="Base\SyncBill.cs" />


+ 130
- 26
ButcherFactory.BO/LocalBL/CarcassInStoreBL.cs View File

@ -18,50 +18,66 @@ namespace ButcherFactory.BO.LocalBL
{ {
const string RpcPath = @"/MainSystem/B3ClientService/Rpcs/CarcassInStoreRpc/"; const string RpcPath = @"/MainSystem/B3ClientService/Rpcs/CarcassInStoreRpc/";
static Dictionary<long, string> _goodsNames = new Dictionary<long, string>(); static Dictionary<long, string> _goodsNames = new Dictionary<long, string>();
public static List<CarcassInStore> DoWithPadData(long? workUnitID, long? productBatch)
public static List<CarcassInStore> DoWithPadData(long? workUnitID, long? batchID)
{ {
var json = RpcFacade.Call<string>(RpcPath + "GetUnSyncPadData"); var json = RpcFacade.Call<string>(RpcPath + "GetUnSyncPadData");
var data = JsonConvert.DeserializeObject<List<PadCarcassInStore>>(json); var data = JsonConvert.DeserializeObject<List<PadCarcassInStore>>(json);
var list = new List<CarcassInStore>(); var list = new List<CarcassInStore>();
if (data.Count == 0) if (data.Count == 0)
return list; return list;
var goodsBarCode = data.Select(x => new Tuple<long, string>(x.Goods_ID, x.BarCode));
list = InsertOrUpdate(workUnitID, batchID, goodsBarCode);
var backInfo = data.Select(x => new ExtensionObj { LongExt1 = x.ID, DecimalExt1 = x.RowVersion });
RpcFacade.Call<int>(RpcPath + "SetPadDataSync", JsonConvert.SerializeObject(backInfo));
return list;
}
public static List<CarcassInStore> InsertOrUpdate(long? workUnitID, long? batchID, long goodsID, string barCode)
{
var list = new List<Tuple<long, string>> { new Tuple<long, string>(goodsID, barCode) };
return InsertOrUpdate(workUnitID, batchID, list);
}
static List<CarcassInStore> InsertOrUpdate(long? workUnitID, long? batchID, IEnumerable<Tuple<long, string>> data)
{
var list = new List<CarcassInStore>();
using (var session = Dmo.NewSession(AppContext.ConnectInfo.SqlConnection)) using (var session = Dmo.NewSession(AppContext.ConnectInfo.SqlConnection))
{ {
foreach (var item in data) foreach (var item in data)
{ {
var id = UpdateIfExist(item, session);
var id = GetExistWithUpdate(item, session);
if (id.HasValue) if (id.HasValue)
{ {
var exist = new CarcassInStore(); var exist = new CarcassInStore();
list.Add(exist); list.Add(exist);
exist.ID = id.Value; exist.ID = id.Value;
exist.Goods_ID = item.Goods_ID;
exist.Goods_Name = GetGoodsName(item.Goods_ID, session);
exist.Goods_ID = item.Item1;
exist.Goods_Name = GetGoodsName(item.Item1, session);
} }
else else
{ {
var entity = CreateCarcassInStore(item);
entity.WorkUnit_ID = workUnitID;
entity.ProductBatch_ID = productBatch;
entity.Goods_Name = GetGoodsName(item.Goods_ID, session);
var entity = CreateCarcassInStore(workUnitID, batchID, item);
entity.Goods_Name = GetGoodsName(item.Item1, session);
session.Insert(entity); session.Insert(entity);
list.Add(entity); list.Add(entity);
} }
} }
session.Commit(); session.Commit();
} }
var backInfo = data.Select(x => new IDRowVersion { ID = x.ID, RowVersion = x.RowVersion });
RpcFacade.Call<int>(RpcPath + "SetPadDataSync", JsonConvert.SerializeObject(backInfo));
return list; return list;
} }
private static CarcassInStore CreateCarcassInStore(PadCarcassInStore item)
static CarcassInStore CreateCarcassInStore(long? workUnitID, long? batchID, Tuple<long, string> goodsCode)
{ {
var entity = new CarcassInStore(); var entity = new CarcassInStore();
entity.FromPad = true; entity.FromPad = true;
entity.WorkUnit_ID = workUnitID;
entity.ProductBatch_ID = batchID;
entity.UserID = AppContext.Worker.ID; entity.UserID = AppContext.Worker.ID;
entity.BarCode = item.BarCode;
entity.Goods_ID = item.Goods_ID;
entity.BarCode = goodsCode.Item2;
entity.Goods_ID = goodsCode.Item1;
return entity; return entity;
} }
@ -77,15 +93,15 @@ namespace ButcherFactory.BO.LocalBL
return _goodsNames[id]; return _goodsNames[id];
} }
static long? UpdateIfExist(PadCarcassInStore data, IDmoSession session)
static long? GetExistWithUpdate(Tuple<long, string> goodsCode, IDmoSession session)
{ {
var query = new DQueryDom(new JoinAlias(typeof(CarcassInStore))); var query = new DQueryDom(new JoinAlias(typeof(CarcassInStore)));
query.Columns.Add(DQSelectColumn.Field("ID")); query.Columns.Add(DQSelectColumn.Field("ID"));
query.Where.Conditions.Add(DQCondition.EQ("BarCode", data.BarCode));
query.Where.Conditions.Add(DQCondition.EQ("BarCode", goodsCode.Item2));
var id = (long?)session.ExecuteScalar(query); var id = (long?)session.ExecuteScalar(query);
if (id == null) if (id == null)
return null; return null;
Update(id.Value, "Goods_ID", data.Goods_ID, session);
Update(id.Value, "Goods_ID", goodsCode.Item1, session);
return id.Value; return id.Value;
} }
@ -108,16 +124,6 @@ namespace ButcherFactory.BO.LocalBL
} }
} }
public static long Insert(CarcassInStore entity)
{
using (var session = Dmo.NewSession(AppContext.ConnectInfo.SqlConnection))
{
session.Insert(entity);
session.Commit();
return entity.ID;
}
}
public static BindingList<CarcassInStore> GetLocalDataWithState(bool history) public static BindingList<CarcassInStore> GetLocalDataWithState(bool history)
{ {
var query = new DQueryDom(new JoinAlias(typeof(CarcassInStore))); var query = new DQueryDom(new JoinAlias(typeof(CarcassInStore)));
@ -169,5 +175,103 @@ namespace ButcherFactory.BO.LocalBL
var list = query.EExecuteList<long, string>(); var list = query.EExecuteList<long, string>();
return list.Select(x => new ClientGoodsSet_Detail { Goods_ID = x.Item1, Goods_Name = x.Item2 }); return list.Select(x => new ClientGoodsSet_Detail { Goods_ID = x.Item1, Goods_Name = x.Item2 });
} }
public static List<ExtensionObj> GetBeforeWeight(IEnumerable<string> codeList)
{
var json = RpcFacade.Call<string>(RpcPath + "GetWeightInfo", codeList);
var list = JsonConvert.DeserializeObject<List<ExtensionObj>>(json);
if (list.Any())
{
using (var session = Dmo.NewSession(AppContext.ConnectInfo.SqlConnection))
{
foreach (var item in list)
SaveWeightInDB(item, session);
session.Commit();
}
}
return list;
}
static void SaveWeightInDB(ExtensionObj obj, IDmoSession session)
{
var update = new DQUpdateDom(typeof(CarcassInStore));
update.Where.Conditions.Add(DQCondition.EQ("BarCode", obj.StringExt1));
update.Columns.Add(new DQUpdateColumn("Weight", obj.DecimalExt1));
session.ExecuteNonQuery(update);
}
public static void UploadCarcassInfo()
{
using (var session = Dmo.NewSession(AppContext.ConnectInfo.SqlConnection))
{
var needUpload = GetUnSyncData(session);
if (needUpload.Count == 0)
return;
var json = JsonConvert.SerializeObject(needUpload);
RpcFacade.Call<int>(RpcPath + "UploadCarcassInfo", json);
foreach (var item in needUpload)
SetLocalAsSyncd(item, session);
session.Commit();
}
}
static List<CarcassInStoreObj> GetUnSyncData(IDmoSession session)
{
var query = new DQueryDom(new JoinAlias(typeof(CarcassInStore)));
query.Columns.Add(DQSelectColumn.Field("ID"));
query.Columns.Add(DQSelectColumn.Field("RowVersion"));
query.Columns.Add(DQSelectColumn.Field("BarCode"));
query.Columns.Add(DQSelectColumn.Field("UserID"));
query.Columns.Add(DQSelectColumn.Field("WorkUnit_ID"));
query.Columns.Add(DQSelectColumn.Field("ProductBatch_ID"));
query.Columns.Add(DQSelectColumn.Field("Goods_ID"));
query.Columns.Add(DQSelectColumn.Field("Weight"));
query.Columns.Add(DQSelectColumn.Field("CreateTime"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.IsNotNull(DQExpression.Field("Weight")), DQCondition.EQ("Sync", false)));
query.Range = SelectRange.Top(10);
query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID"));
var upload = new List<CarcassInStoreObj>();
using (var reader = session.ExecuteReader(query))
{
while (reader.Read())
{
var obj = new CarcassInStoreObj();
obj.ID = (long)reader[0];
obj.RowVersion = (int)reader[1];
obj.BarCode = (string)reader[2];
obj.InStoreWorker_ID = (long)reader[3];
obj.WorkUnit_ID = (long?)reader[4];
obj.ProductBatch_ID = (long?)reader[5];
obj.InStoreGoods_ID = (long)reader[6];
obj.InStoreWeight = (decimal)reader[7];
obj.InStoreTime = (DateTime)reader[8];
upload.Add(obj);
}
}
return upload;
}
static void SetLocalAsSyncd(CarcassInStoreObj obj, IDmoSession session)
{
var update = new DQUpdateDom(typeof(CarcassInStore));
update.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("ID", obj.ID), DQCondition.EQ("RowVersion", obj.RowVersion)));
update.Columns.Add(new DQUpdateColumn("Sync", true));
update.EExecute();
}
}
class CarcassInStoreObj
{
public long ID { get; set; }
public int RowVersion { get; set; }
public string BarCode { get; set; }
public long? InStoreWorker_ID { get; set; }
public long? WorkUnit_ID { get; set; }
public long? ProductBatch_ID { get; set; }
public long? InStoreGoods_ID { get; set; }
public decimal? InStoreWeight { get; set; }
public DateTime? InStoreTime { get; set; }
} }
} }

+ 9
- 0
ButcherFactory.BO/Utils/Extensions.cs View File

@ -290,5 +290,14 @@ namespace ButcherFactory.BO
return session.ExecuteList(query); return session.ExecuteList(query);
} }
} }
public static void EExecute(this DQUpdateDom update)
{
using (var session = Dmo.NewSession(AppContext.ConnectInfo.SqlConnection))
{
session.ExecuteNonQuery(update);
session.Commit();
}
}
} }
} }

+ 154
- 154
ButcherFactory.Form/CarcassInStore_/CarcassInStoreForm.Designer.cs View File

@ -32,41 +32,41 @@
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.productBatchSelect = new System.Windows.Forms.ComboBox();
this.workUnitSelect = new System.Windows.Forms.ComboBox();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.closeBtn = new WinFormControl.UButton(); this.closeBtn = new WinFormControl.UButton();
this.uTimerLabel1 = new WinFormControl.UTimerLabel(); this.uTimerLabel1 = new WinFormControl.UTimerLabel();
this.productBatchSelect = new System.Windows.Forms.ComboBox();
this.workUnitSelect = new System.Windows.Forms.ComboBox();
this.uScanPanel1 = new WinFormControl.UScanPanel(); this.uScanPanel1 = new WinFormControl.UScanPanel();
this.netStateWatch1 = new WinFormControl.NetStateWatch(); this.netStateWatch1 = new WinFormControl.NetStateWatch();
this.uWeightControl1 = new WinFormControl.UWeightControl(); this.uWeightControl1 = new WinFormControl.UWeightControl();
this.uLabel1 = new WinFormControl.ULabel(); this.uLabel1 = new WinFormControl.ULabel();
this.uLabel2 = new WinFormControl.ULabel(); this.uLabel2 = new WinFormControl.ULabel();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.historyDataGrid = new WinFormControl.UDataGridView(); this.historyDataGrid = new WinFormControl.UDataGridView();
this.uLabel4 = new WinFormControl.ULabel();
this.needSubmitGrid = new WinFormControl.UDataGridView();
this.uLabel3 = new WinFormControl.ULabel();
this.U_ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.U_BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.U_Goods_Name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.U_Weight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.H_ID = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.H_ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.H_BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.H_BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.H_Goods_Name = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.H_Goods_Name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.H_Weight = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.H_Weight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.H_BeforeWeight = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.H_BeforeWeight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.H_Discont = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.H_Discont = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.uLabel4 = new WinFormControl.ULabel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.needSubmitGrid = new WinFormControl.UDataGridView();
this.U_ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.U_BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.U_Goods_Name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.U_Weight = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.uLabel3 = new WinFormControl.ULabel();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
@ -76,8 +76,8 @@
this.splitContainer2.Panel2.SuspendLayout(); this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout(); this.splitContainer2.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.historyDataGrid)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.historyDataGrid)).BeginInit();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.needSubmitGrid)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.needSubmitGrid)).BeginInit();
this.SuspendLayout(); this.SuspendLayout();
// //
@ -112,84 +112,6 @@
this.splitContainer1.SplitterDistance = 86; this.splitContainer1.SplitterDistance = 86;
this.splitContainer1.TabIndex = 0; this.splitContainer1.TabIndex = 0;
// //
// productBatchSelect
//
this.productBatchSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.productBatchSelect.Font = new System.Drawing.Font("宋体", 15F);
this.productBatchSelect.FormattingEnabled = true;
this.productBatchSelect.Location = new System.Drawing.Point(843, 47);
this.productBatchSelect.Name = "productBatchSelect";
this.productBatchSelect.Size = new System.Drawing.Size(170, 28);
this.productBatchSelect.TabIndex = 4;
//
// workUnitSelect
//
this.workUnitSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.workUnitSelect.Font = new System.Drawing.Font("宋体", 15F);
this.workUnitSelect.FormattingEnabled = true;
this.workUnitSelect.Location = new System.Drawing.Point(843, 11);
this.workUnitSelect.Name = "workUnitSelect";
this.workUnitSelect.Size = new System.Drawing.Size(170, 28);
this.workUnitSelect.TabIndex = 3;
//
// splitContainer2
//
this.splitContainer2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer2.IsSplitterFixed = true;
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
this.splitContainer2.Name = "splitContainer2";
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.BackColor = System.Drawing.Color.Transparent;
this.splitContainer2.Panel1.Controls.Add(this.groupBox2);
this.splitContainer2.Panel1.Controls.Add(this.groupBox1);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.BackColor = System.Drawing.Color.Transparent;
this.splitContainer2.Panel2.Controls.Add(this.flowLayoutPanel1);
this.splitContainer2.Size = new System.Drawing.Size(1164, 521);
this.splitContainer2.SplitterDistance = 840;
this.splitContainer2.TabIndex = 0;
//
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox2.Controls.Add(this.historyDataGrid);
this.groupBox2.Controls.Add(this.uLabel4);
this.groupBox2.Location = new System.Drawing.Point(11, 254);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Padding = new System.Windows.Forms.Padding(5);
this.groupBox2.Size = new System.Drawing.Size(815, 254);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false;
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.needSubmitGrid);
this.groupBox1.Controls.Add(this.uLabel3);
this.groupBox1.Location = new System.Drawing.Point(11, 15);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(5);
this.groupBox1.Size = new System.Drawing.Size(815, 226);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
//
// flowLayoutPanel1
//
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Size = new System.Drawing.Size(318, 519);
this.flowLayoutPanel1.TabIndex = 0;
//
// closeBtn // closeBtn
// //
this.closeBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.closeBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@ -222,6 +144,26 @@
this.uTimerLabel1.TabIndex = 8; this.uTimerLabel1.TabIndex = 8;
this.uTimerLabel1.Text = "3月30日 8:54:07"; this.uTimerLabel1.Text = "3月30日 8:54:07";
// //
// productBatchSelect
//
this.productBatchSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.productBatchSelect.Font = new System.Drawing.Font("宋体", 15F);
this.productBatchSelect.FormattingEnabled = true;
this.productBatchSelect.Location = new System.Drawing.Point(843, 47);
this.productBatchSelect.Name = "productBatchSelect";
this.productBatchSelect.Size = new System.Drawing.Size(170, 28);
this.productBatchSelect.TabIndex = 4;
//
// workUnitSelect
//
this.workUnitSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.workUnitSelect.Font = new System.Drawing.Font("宋体", 15F);
this.workUnitSelect.FormattingEnabled = true;
this.workUnitSelect.Location = new System.Drawing.Point(843, 11);
this.workUnitSelect.Name = "workUnitSelect";
this.workUnitSelect.Size = new System.Drawing.Size(170, 28);
this.workUnitSelect.TabIndex = 3;
//
// uScanPanel1 // uScanPanel1
// //
this.uScanPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.uScanPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@ -272,6 +214,43 @@
this.uLabel2.TabIndex = 6; this.uLabel2.TabIndex = 6;
this.uLabel2.Text = "生产批次:"; this.uLabel2.Text = "生产批次:";
// //
// splitContainer2
//
this.splitContainer2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer2.IsSplitterFixed = true;
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
this.splitContainer2.Name = "splitContainer2";
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.BackColor = System.Drawing.Color.Transparent;
this.splitContainer2.Panel1.Controls.Add(this.groupBox2);
this.splitContainer2.Panel1.Controls.Add(this.groupBox1);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.BackColor = System.Drawing.Color.Transparent;
this.splitContainer2.Panel2.Controls.Add(this.flowLayoutPanel1);
this.splitContainer2.Size = new System.Drawing.Size(1164, 521);
this.splitContainer2.SplitterDistance = 840;
this.splitContainer2.TabIndex = 0;
//
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox2.Controls.Add(this.historyDataGrid);
this.groupBox2.Controls.Add(this.uLabel4);
this.groupBox2.Location = new System.Drawing.Point(11, 254);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Padding = new System.Windows.Forms.Padding(5);
this.groupBox2.Size = new System.Drawing.Size(815, 254);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false;
//
// historyDataGrid // historyDataGrid
// //
this.historyDataGrid.AllowUserToAddRows = false; this.historyDataGrid.AllowUserToAddRows = false;
@ -308,6 +287,57 @@
this.historyDataGrid.Size = new System.Drawing.Size(805, 230); this.historyDataGrid.Size = new System.Drawing.Size(805, 230);
this.historyDataGrid.TabIndex = 2; this.historyDataGrid.TabIndex = 2;
// //
// H_ID
//
this.H_ID.DataPropertyName = "ID";
this.H_ID.HeaderText = "序号";
this.H_ID.Name = "H_ID";
this.H_ID.ReadOnly = true;
this.H_ID.Width = 80;
//
// H_BarCode
//
this.H_BarCode.DataPropertyName = "BarCode";
this.H_BarCode.HeaderText = "条码";
this.H_BarCode.Name = "H_BarCode";
this.H_BarCode.ReadOnly = true;
this.H_BarCode.Width = 250;
//
// H_Goods_Name
//
this.H_Goods_Name.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.H_Goods_Name.DataPropertyName = "Goods_Name";
this.H_Goods_Name.HeaderText = "产品名称";
this.H_Goods_Name.Name = "H_Goods_Name";
this.H_Goods_Name.ReadOnly = true;
//
// H_Weight
//
this.H_Weight.DataPropertyName = "Weight";
dataGridViewCellStyle3.Format = "#0.######";
this.H_Weight.DefaultCellStyle = dataGridViewCellStyle3;
this.H_Weight.HeaderText = "入库重量";
this.H_Weight.Name = "H_Weight";
this.H_Weight.ReadOnly = true;
//
// H_BeforeWeight
//
this.H_BeforeWeight.DataPropertyName = "BeforeWeight";
dataGridViewCellStyle4.Format = "#0.######";
this.H_BeforeWeight.DefaultCellStyle = dataGridViewCellStyle4;
this.H_BeforeWeight.HeaderText = "胴体重量";
this.H_BeforeWeight.Name = "H_BeforeWeight";
this.H_BeforeWeight.ReadOnly = true;
//
// H_Discont
//
this.H_Discont.DataPropertyName = "Discont";
dataGridViewCellStyle5.Format = "#0.######";
this.H_Discont.DefaultCellStyle = dataGridViewCellStyle5;
this.H_Discont.HeaderText = "损耗";
this.H_Discont.Name = "H_Discont";
this.H_Discont.ReadOnly = true;
//
// uLabel4 // uLabel4
// //
this.uLabel4.AutoSize = true; this.uLabel4.AutoSize = true;
@ -319,6 +349,19 @@
this.uLabel4.TabIndex = 1; this.uLabel4.TabIndex = 1;
this.uLabel4.Text = "已提交"; this.uLabel4.Text = "已提交";
// //
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.needSubmitGrid);
this.groupBox1.Controls.Add(this.uLabel3);
this.groupBox1.Location = new System.Drawing.Point(11, 15);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(5);
this.groupBox1.Size = new System.Drawing.Size(815, 226);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
//
// needSubmitGrid // needSubmitGrid
// //
this.needSubmitGrid.AllowUserToAddRows = false; this.needSubmitGrid.AllowUserToAddRows = false;
@ -353,17 +396,6 @@
this.needSubmitGrid.Size = new System.Drawing.Size(805, 202); this.needSubmitGrid.Size = new System.Drawing.Size(805, 202);
this.needSubmitGrid.TabIndex = 1; this.needSubmitGrid.TabIndex = 1;
// //
// uLabel3
//
this.uLabel3.AutoSize = true;
this.uLabel3.BackColor = System.Drawing.Color.White;
this.uLabel3.Font = new System.Drawing.Font("宋体", 13F);
this.uLabel3.Location = new System.Drawing.Point(8, -1);
this.uLabel3.Name = "uLabel3";
this.uLabel3.Size = new System.Drawing.Size(62, 18);
this.uLabel3.TabIndex = 0;
this.uLabel3.Text = "待提交";
//
// U_ID // U_ID
// //
this.U_ID.DataPropertyName = "ID"; this.U_ID.DataPropertyName = "ID";
@ -398,56 +430,24 @@
this.U_Weight.ReadOnly = true; this.U_Weight.ReadOnly = true;
this.U_Weight.Width = 200; this.U_Weight.Width = 200;
// //
// H_ID
//
this.H_ID.DataPropertyName = "ID";
this.H_ID.HeaderText = "序号";
this.H_ID.Name = "H_ID";
this.H_ID.ReadOnly = true;
this.H_ID.Width = 80;
//
// H_BarCode
//
this.H_BarCode.DataPropertyName = "BarCode";
this.H_BarCode.HeaderText = "条码";
this.H_BarCode.Name = "H_BarCode";
this.H_BarCode.ReadOnly = true;
this.H_BarCode.Width = 250;
//
// H_Goods_Name
//
this.H_Goods_Name.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.H_Goods_Name.DataPropertyName = "Goods_Name";
this.H_Goods_Name.HeaderText = "产品名称";
this.H_Goods_Name.Name = "H_Goods_Name";
this.H_Goods_Name.ReadOnly = true;
//
// H_Weight
//
this.H_Weight.DataPropertyName = "Weight";
dataGridViewCellStyle3.Format = "#0.######";
this.H_Weight.DefaultCellStyle = dataGridViewCellStyle3;
this.H_Weight.HeaderText = "入库重量";
this.H_Weight.Name = "H_Weight";
this.H_Weight.ReadOnly = true;
//
// H_BeforeWeight
// uLabel3
// //
this.H_BeforeWeight.DataPropertyName = "BeforeWeight";
dataGridViewCellStyle4.Format = "#0.######";
this.H_BeforeWeight.DefaultCellStyle = dataGridViewCellStyle4;
this.H_BeforeWeight.HeaderText = "胴体重量";
this.H_BeforeWeight.Name = "H_BeforeWeight";
this.H_BeforeWeight.ReadOnly = true;
this.uLabel3.AutoSize = true;
this.uLabel3.BackColor = System.Drawing.Color.White;
this.uLabel3.Font = new System.Drawing.Font("宋体", 13F);
this.uLabel3.Location = new System.Drawing.Point(8, -1);
this.uLabel3.Name = "uLabel3";
this.uLabel3.Size = new System.Drawing.Size(62, 18);
this.uLabel3.TabIndex = 0;
this.uLabel3.Text = "待提交";
// //
// H_Discont
// flowLayoutPanel1
// //
this.H_Discont.DataPropertyName = "Discont";
dataGridViewCellStyle5.Format = "#0.######";
this.H_Discont.DefaultCellStyle = dataGridViewCellStyle5;
this.H_Discont.HeaderText = "损耗";
this.H_Discont.Name = "H_Discont";
this.H_Discont.ReadOnly = true;
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Size = new System.Drawing.Size(318, 519);
this.flowLayoutPanel1.TabIndex = 0;
// //
// CarcassInStoreForm // CarcassInStoreForm
// //
@ -471,9 +471,9 @@
this.splitContainer2.ResumeLayout(false); this.splitContainer2.ResumeLayout(false);
this.groupBox2.ResumeLayout(false); this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout(); this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.historyDataGrid)).EndInit();
this.groupBox1.ResumeLayout(false); this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout(); this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.historyDataGrid)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.needSubmitGrid)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.needSubmitGrid)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);


+ 139
- 53
ButcherFactory.Form/CarcassInStore_/CarcassInStoreForm.cs View File

@ -38,6 +38,8 @@ namespace ButcherFactory.CarcassInStore_
Thread uploadData; Thread uploadData;
BindingList<CarcassInStore> needSubmitedList; BindingList<CarcassInStore> needSubmitedList;
BindingList<CarcassInStore> historyList; BindingList<CarcassInStore> historyList;
long? workUnitID;
long? batchID;
public CarcassInStoreForm() public CarcassInStoreForm()
{ {
InitializeComponent(); InitializeComponent();
@ -51,6 +53,20 @@ namespace ButcherFactory.CarcassInStore_
if (uploadData != null && uploadData.IsAlive) if (uploadData != null && uploadData.IsAlive)
uploadData.Abort(); uploadData.Abort();
}; };
workUnitSelect.SelectedIndexChanged += delegate
{
if (workUnitSelect.SelectedValue == null)
workUnitID = null;
else
workUnitID = ((WorkUnit)workUnitSelect.SelectedValue).ID;
};
productBatchSelect.SelectedIndexChanged += delegate
{
if (productBatchSelect.SelectedValue == null)
batchID = null;
else
batchID = ((ProductBatch)productBatchSelect.SelectedValue).ID;
};
} }
protected override void OnLoad(EventArgs e) protected override void OnLoad(EventArgs e)
@ -62,28 +78,38 @@ namespace ButcherFactory.CarcassInStore_
syncPadTask = new Thread(SyncPadData); syncPadTask = new Thread(SyncPadData);
syncPadTask.Start(); syncPadTask.Start();
syncBeforeWeight = new Thread(GetBeforeWeight);
syncBeforeWeight.Start();
uploadData = new Thread(UpLoadLocalData);
uploadData.Start();
#region WeightReceiveData
uWeightControl1.ReceivedValue += (weight) => uWeightControl1.ReceivedValue += (weight) =>
{ {
this.Invoke(new Action(() =>
lock (_lock)
{ {
var last = needSubmitedList.LastOrDefault();
if (last == null)
{
SoundPalyUtil.PlaySound(SoundType.Error);
return;
}
else
this.Invoke(new Action(() =>
{ {
last.Weight = weight;
CarcassInStoreBL.Update(last.ID, "Weight", weight);
needSubmitedList.Remove(last);
needSubmitGrid.Refresh();
historyList.Insert(0, last);
historyDataGrid.Refresh();
SoundPalyUtil.PlaySound(SoundType.ShotSucc);
}
}));
var last = needSubmitedList.LastOrDefault();
if (last == null)
{
SoundPalyUtil.PlaySound(SoundType.Error);
return;
}
else
{
last.Weight = weight;
CarcassInStoreBL.Update(last.ID, "Weight", weight);
needSubmitedList.Remove(last);
needSubmitGrid.Refresh();
historyList.Insert(0, last);
historyDataGrid.Refresh();
SoundPalyUtil.PlaySound(SoundType.ShotSucc);
}
}));
}
}; };
#endregion
} }
void LoadBind() void LoadBind()
@ -111,13 +137,65 @@ namespace ButcherFactory.CarcassInStore_
{ {
for (var i = 0; i < 10; i++) for (var i = 0; i < 10; i++)
{ {
var btn = new UButton() { Width = 90, Height = 50, Text = item.Goods_Name, Tag = item.ID, Font = new Font("宋体", 15), Margin = new Padding(8, 14, 8, 0), PlaySound = true };
var btn = new UButton() { Width = 90, Height = 50, Text = item.Goods_Name, Tag = item.Goods_ID, Font = new Font("宋体", 15), Margin = new Padding(8, 14, 8, 0), PlaySound = true };
btn.Click += (sender, e) =>
{
if (string.IsNullOrEmpty(uScanPanel1.TextBox.Text))
throw new Exception("请先扫码");
if (uScanPanel1.TextBox.Text.Length != 23)
throw new Exception("条码格式不正确");
var c = sender as UButton;
var list = CarcassInStoreBL.InsertOrUpdate(workUnitID, batchID, (long)c.Tag, uScanPanel1.TextBox.Text);
AfterUpdateOrInsert(list);
};
flowLayoutPanel1.Controls.Add(btn); flowLayoutPanel1.Controls.Add(btn);
} }
} }
} }
static object _lock = new object();
void AfterUpdateOrInsert(List<CarcassInStore> list)
{
lock (_lock)
{
bool upNeedRefresh = false;
bool downNeedRefresh = false;
foreach (var item in list)
{
if (string.IsNullOrEmpty(item.BarCode))
{
var first = historyList.FirstOrDefault(x => x.ID == item.ID);
if (first != null)
{
first.Goods_Name = item.Goods_Name;
downNeedRefresh = true;
}
else
{
var upFirst = needSubmitedList.FirstOrDefault(x => x.ID == item.ID);
if (upFirst != null)
{
upFirst.Goods_Name = item.Goods_Name;
upNeedRefresh = true;
}
}
}
else
{
needSubmitedList.Add(item);
var ordered = needSubmitedList.OrderByDescending(x => x.ID).ToList();
needSubmitedList.Clear();
ordered.ForEach(x => needSubmitedList.Add(x));
upNeedRefresh = true;
}
}
if (upNeedRefresh)
needSubmitGrid.Refresh();
if (downNeedRefresh)
historyDataGrid.Refresh();
}
}
void BindGrid() void BindGrid()
{ {
needSubmitedList = CarcassInStoreBL.GetLocalDataWithState(false); needSubmitedList = CarcassInStoreBL.GetLocalDataWithState(false);
@ -139,44 +217,36 @@ namespace ButcherFactory.CarcassInStore_
{ {
if (netStateWatch1.NetState) if (netStateWatch1.NetState)
{ {
var list = CarcassInStoreBL.DoWithPadData((long?)workUnitSelect.SelectedValue, (long?)productBatchSelect.SelectedValue);
var list = CarcassInStoreBL.DoWithPadData(workUnitID, batchID);
if (list.Any())
AfterUpdateOrInsert(list);
}
}));
}
Thread.Sleep(2000);
}
}
void GetBeforeWeight(object obj)
{
while (true)
{
if (this.IsHandleCreated)
{
this.Invoke(new Action(() =>
{
if (netStateWatch1.NetState)
{
var list = needSubmitedList.Where(x => x.BeforeWeight == null);
if (list.Any()) if (list.Any())
{ {
bool n1 = false;
bool n2 = false;
foreach (var item in list)
var back = CarcassInStoreBL.GetBeforeWeight(list.Select(x => x.BarCode));
if (back.Any())
{ {
if (string.IsNullOrEmpty(item.BarCode))
{
var hf = historyList.FirstOrDefault(x => x.ID == item.ID);
if (hf != null)
{
hf.Goods_Name = item.Goods_Name;
n2 = true;
}
else
{
var uf = needSubmitedList.FirstOrDefault(x => x.ID == item.ID);
if (uf != null)
{
uf.Goods_Name = item.Goods_Name;
n1 = true;
}
}
}
else
{
needSubmitedList.Add(item);
var old = needSubmitedList.OrderByDescending(x => x.ID).ToList();
needSubmitedList.Clear();
old.ForEach(x => needSubmitedList.Add(x));
n1 = true;
}
}
if (n1)
foreach (var item in back)
list.First(x => x.BarCode == item.StringExt1).Weight = item.DecimalExt1;
needSubmitGrid.Refresh(); needSubmitGrid.Refresh();
if (n2)
historyDataGrid.Refresh();
}
} }
} }
})); }));
@ -185,6 +255,22 @@ namespace ButcherFactory.CarcassInStore_
} }
} }
void UpLoadLocalData(object obj)
{
while (true)
{
if (this.IsHandleCreated)
{
this.Invoke(new Action(() =>
{
if (netStateWatch1.NetState)
CarcassInStoreBL.UploadCarcassInfo();
}));
}
Thread.Sleep(2000);
}
}
private void closeBtn_Click(object sender, EventArgs e) private void closeBtn_Click(object sender, EventArgs e)
{ {
Close(); Close();


+ 57
- 0
ButcherFactory.Form/CarcassInStore_/CarcassInStoreForm.resx View File

@ -117,6 +117,12 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="splitContainer1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="closeBtn.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="closeBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="closeBtn.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
@ -126,6 +132,39 @@
KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII= KAgKgoKg1ZsPvpCB0hBohjQAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<metadata name="uTimerLabel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="productBatchSelect.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="workUnitSelect.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="uScanPanel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="netStateWatch1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="uWeightControl1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="uLabel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="uLabel2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="splitContainer2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupBox2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="historyDataGrid.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="H_ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="H_ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
@ -144,6 +183,15 @@
<metadata name="H_Discont.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="H_Discont.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="uLabel4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="needSubmitGrid.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="U_ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="U_ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
@ -156,4 +204,13 @@
<metadata name="U_Weight.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="U_Weight.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="uLabel3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="flowLayoutPanel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root> </root>

Loading…
Cancel
Save