|
|
@ -28,21 +28,29 @@ namespace QualityAndOrder |
|
|
#endregion
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
List<Tuple<string, string>> hogGradeList; |
|
|
List<Tuple<string, string>> hogGradeList; |
|
|
List<Tuple<string, string>> houseList; |
|
|
|
|
|
List<Tuple<long, long, string>> sanctionList; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<HouseSplitEntity> houseList; |
|
|
|
|
|
List<SanctionSplit3Part> sanctionList; |
|
|
public QualityOrderForm() |
|
|
public QualityOrderForm() |
|
|
{ |
|
|
{ |
|
|
InitializeComponent(); |
|
|
InitializeComponent(); |
|
|
|
|
|
this.uTabControl1.Selected += (sender, e) => |
|
|
|
|
|
{ |
|
|
|
|
|
this.Text = e.TabPage.Text; |
|
|
|
|
|
}; |
|
|
|
|
|
sanctionGrid.AutoGenerateColumns = false; |
|
|
hogGradeList = BaseInfoRpcUtil.GetBaseInfoEntity("GetHogGradeList"); |
|
|
hogGradeList = BaseInfoRpcUtil.GetBaseInfoEntity("GetHogGradeList"); |
|
|
houseList = BaseInfoRpcUtil.GetBaseInfoEntity("GetLiveColonyHouseList"); |
|
|
|
|
|
sanctionList = BaseInfoRpcUtil.GetSanctionList(); |
|
|
|
|
|
AddKeyPad(); |
|
|
|
|
|
|
|
|
houseList = HouseSplitEntity.Init(BaseInfoRpcUtil.GetBaseInfoEntity("GetLiveColonyHouseList")); |
|
|
|
|
|
sanctionList = SanctionSplit3Part.Init(BaseInfoRpcUtil.GetSanctionList()); |
|
|
|
|
|
AddKeyPadForTab1(); |
|
|
AddHogGradeBtn(); |
|
|
AddHogGradeBtn(); |
|
|
|
|
|
BindSanctionGrid(); |
|
|
|
|
|
|
|
|
AddHouseBtn(); |
|
|
AddHouseBtn(); |
|
|
|
|
|
|
|
|
|
|
|
AddKeyPadForTab2(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void AddKeyPad() |
|
|
|
|
|
|
|
|
private void AddKeyPadForTab1() |
|
|
{ |
|
|
{ |
|
|
for (var i = 1; i < 10; i++) |
|
|
for (var i = 1; i < 10; i++) |
|
|
{ |
|
|
{ |
|
|
@ -81,7 +89,7 @@ namespace QualityAndOrder |
|
|
{ |
|
|
{ |
|
|
foreach (var item in hogGradeList) |
|
|
foreach (var item in hogGradeList) |
|
|
{ |
|
|
{ |
|
|
var btn = new Button() { Name = "_" + item.Item1, Tag = item.Item1, Text = item.Item2, Size = new Size(80, 60), TextAlign = ContentAlignment.MiddleCenter, Margin = new Padding { Left = 20,Top=5 }, Font = new Font("宋体", 15) }; |
|
|
|
|
|
|
|
|
var btn = new Button() { Name = "_" + item.Item1, Tag = item.Item1, Text = item.Item2, Size = new Size(80, 60), TextAlign = ContentAlignment.MiddleCenter, Margin = new Padding { Left = 20, Top = 5 }, Font = new Font("宋体", 15) }; |
|
|
btn.Click += (sender, e) => |
|
|
btn.Click += (sender, e) => |
|
|
{ |
|
|
{ |
|
|
numberBox.Text = btn.Tag.ToString(); |
|
|
numberBox.Text = btn.Tag.ToString(); |
|
|
@ -90,17 +98,197 @@ namespace QualityAndOrder |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void BindSanctionGrid() |
|
|
|
|
|
{ |
|
|
|
|
|
sanctionGrid.DataSource = sanctionList; |
|
|
|
|
|
sanctionGrid.Refresh(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<Button> houseBtns = new List<Button>(); |
|
|
private void AddHouseBtn() |
|
|
private void AddHouseBtn() |
|
|
{ |
|
|
{ |
|
|
foreach (var item in houseList) |
|
|
|
|
|
|
|
|
int pageSize = 48; |
|
|
|
|
|
foreach (var houseItems in houseList) |
|
|
{ |
|
|
{ |
|
|
var btn = new Button() { Name = "_" + item.Item1, Tag = item.Item1, Text = item.Item2, Size = new Size(80, 60), TextAlign = ContentAlignment.MiddleCenter, Margin = new Padding { All = 10 }, Font = new Font("宋体", 15) }; |
|
|
|
|
|
btn.Click += (sender, e) => |
|
|
|
|
|
|
|
|
var tabPage = new TabPage(houseItems.Part); |
|
|
|
|
|
tabPage.Name = string.Format("house_{0}", houseItems.Part); |
|
|
|
|
|
var flowCount = houseItems.Details.Count / 48; |
|
|
|
|
|
if (houseItems.Details.Count % 48 != 0) |
|
|
|
|
|
flowCount += 1; |
|
|
|
|
|
FlowLayoutPanel pageBtnPanel = null; |
|
|
|
|
|
for (var i = 0; i < flowCount; i++) |
|
|
{ |
|
|
{ |
|
|
numberBox.Text = btn.Tag.ToString(); |
|
|
|
|
|
}; |
|
|
|
|
|
housePanel.Controls.Add(btn); |
|
|
|
|
|
|
|
|
var houseFlow = new FlowLayoutPanel() { RightToLeft = RightToLeft.No, Name = string.Format("houseFlow_{0}", houseItems.Part), BorderStyle = BorderStyle.FixedSingle }; |
|
|
|
|
|
if (flowCount > 1) |
|
|
|
|
|
{ |
|
|
|
|
|
if (i == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
pageBtnPanel = new FlowLayoutPanel() { Dock = DockStyle.Bottom, Height = 65, RightToLeft = RightToLeft.No, BorderStyle = BorderStyle.FixedSingle }; |
|
|
|
|
|
pageBtnPanel.Location = new Point(3, 492 - 65); |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
houseFlow.Visible = false; |
|
|
|
|
|
var btn = new Button() { Text = (i + 1).ToString(), Tag = houseFlow, Size = new Size(75, 55), TextAlign = ContentAlignment.MiddleCenter, Margin = new Padding { All = 5 }, Font = new Font("宋体", 15) }; |
|
|
|
|
|
pageBtnPanel.Controls.Add(btn); |
|
|
|
|
|
btn.Click += (sender, e) => |
|
|
|
|
|
{ |
|
|
|
|
|
var currentBind = btn.Tag as FlowLayoutPanel; |
|
|
|
|
|
foreach (var subControl in pageBtnPanel.Controls) |
|
|
|
|
|
{ |
|
|
|
|
|
var pb = subControl as Button; |
|
|
|
|
|
var p = pb.Tag as FlowLayoutPanel; |
|
|
|
|
|
p.Visible = currentBind == p; |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
houseFlow.Width = 709; |
|
|
|
|
|
houseFlow.Height = 492 - 70; |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
houseFlow.Dock = DockStyle.Fill; |
|
|
|
|
|
tabPage.Controls.Add(houseFlow); |
|
|
|
|
|
if (pageBtnPanel != null) |
|
|
|
|
|
tabPage.Controls.Add(pageBtnPanel); |
|
|
|
|
|
int idx = i * pageSize; |
|
|
|
|
|
for (var j = 0; j < pageSize; j++) |
|
|
|
|
|
{ |
|
|
|
|
|
var padding = new Padding { All = 5 }; |
|
|
|
|
|
if ((idx + 1) % 8 != 0 && (idx + 1) % 4 == 0) |
|
|
|
|
|
padding = new Padding(5, 5, 15, 5); |
|
|
|
|
|
var house = houseItems.Details[idx]; |
|
|
|
|
|
var btn = new Button() { Name = "_" + house.Item1, Tag = house.Item1, Text = house.Item2, Size = new Size(77, 60), TextAlign = ContentAlignment.MiddleCenter, Margin = padding, Font = new Font("宋体", 12) }; |
|
|
|
|
|
btn.Click += (sender, e) => |
|
|
|
|
|
{ |
|
|
|
|
|
numberBox.Text = btn.Tag.ToString(); |
|
|
|
|
|
}; |
|
|
|
|
|
houseFlow.Controls.Add(btn); |
|
|
|
|
|
idx += 1; |
|
|
|
|
|
if (idx == houseItems.Details.Count) |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
housePanel.TabPages.Add(tabPage); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void closeBtn_Click(object sender, EventArgs e) |
|
|
|
|
|
{ |
|
|
|
|
|
this.Close(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
class SanctionSplit3Part |
|
|
|
|
|
{ |
|
|
|
|
|
public long Sanction_ID1 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public long AbnormalItem_ID1 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public string AbnormalItem_Name1 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public int? Number1 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public long Sanction_ID2 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public long AbnormalItem_ID2 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public string AbnormalItem_Name2 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public int? Number2 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public long Sanction_ID3 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public long AbnormalItem_ID3 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public string AbnormalItem_Name3 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public int? Number3 { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
public static List<SanctionSplit3Part> Init(List<Tuple<long, long, string>> list) |
|
|
|
|
|
{ |
|
|
|
|
|
var result = new List<SanctionSplit3Part>(); |
|
|
|
|
|
var count = list.Count / 3; |
|
|
|
|
|
if (list.Count % 3 != 0) |
|
|
|
|
|
count += 1; |
|
|
|
|
|
for (var i = 0; i < count; i++) |
|
|
|
|
|
{ |
|
|
|
|
|
var detail = new SanctionSplit3Part(); |
|
|
|
|
|
result.Add(detail); |
|
|
|
|
|
var idx = i * 3; |
|
|
|
|
|
var item = list[idx]; |
|
|
|
|
|
detail.Sanction_ID1 = item.Item1; |
|
|
|
|
|
detail.AbnormalItem_ID1 = item.Item2; |
|
|
|
|
|
detail.AbnormalItem_Name1 = item.Item3; |
|
|
|
|
|
idx += 1; |
|
|
|
|
|
if (idx == list.Count) |
|
|
|
|
|
break; |
|
|
|
|
|
item = list[idx]; |
|
|
|
|
|
detail.Sanction_ID2 = item.Item1; |
|
|
|
|
|
detail.AbnormalItem_ID2 = item.Item2; |
|
|
|
|
|
detail.AbnormalItem_Name2 = item.Item3; |
|
|
|
|
|
idx += 1; |
|
|
|
|
|
if (idx == list.Count) |
|
|
|
|
|
break; |
|
|
|
|
|
item = list[idx]; |
|
|
|
|
|
detail.Sanction_ID3 = item.Item1; |
|
|
|
|
|
detail.AbnormalItem_ID3 = item.Item2; |
|
|
|
|
|
detail.AbnormalItem_Name3 = item.Item3; |
|
|
|
|
|
} |
|
|
|
|
|
return result; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static List<Tuple<long, long, string, int>> ReInit(List<SanctionSplit3Part> list) |
|
|
|
|
|
{ |
|
|
|
|
|
var result = new List<Tuple<long, long, string, int>>(); |
|
|
|
|
|
foreach (var item in list) |
|
|
|
|
|
{ |
|
|
|
|
|
if (item.Number1.HasValue) |
|
|
|
|
|
{ |
|
|
|
|
|
var detail = new Tuple<long, long, string, int>(item.Sanction_ID1, item.AbnormalItem_ID1, item.AbnormalItem_Name1, item.Number1.Value); |
|
|
|
|
|
result.Add(detail); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (item.Sanction_ID2 == 0) |
|
|
|
|
|
break; |
|
|
|
|
|
if (item.Number2.HasValue) |
|
|
|
|
|
{ |
|
|
|
|
|
var detail = new Tuple<long, long, string, int>(item.Sanction_ID2, item.AbnormalItem_ID2, item.AbnormalItem_Name2, item.Number2.Value); |
|
|
|
|
|
result.Add(detail); |
|
|
|
|
|
} |
|
|
|
|
|
if (item.Sanction_ID3 == 0) |
|
|
|
|
|
break; |
|
|
|
|
|
if (item.Number3.HasValue) |
|
|
|
|
|
{ |
|
|
|
|
|
var detail = new Tuple<long, long, string, int>(item.Sanction_ID3, item.AbnormalItem_ID3, item.AbnormalItem_Name3, item.Number3.Value); |
|
|
|
|
|
result.Add(detail); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
class HouseSplitEntity |
|
|
|
|
|
{ |
|
|
|
|
|
public string Part { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
List<Tuple<string, string>> details = new List<Tuple<string, string>>(); |
|
|
|
|
|
public List<Tuple<string, string>> Details { get { return details; } } |
|
|
|
|
|
|
|
|
|
|
|
public static List<HouseSplitEntity> Init(List<Tuple<string, string>> list) |
|
|
|
|
|
{ |
|
|
|
|
|
var result = new List<HouseSplitEntity>(); |
|
|
|
|
|
foreach (var item in list) |
|
|
|
|
|
{ |
|
|
|
|
|
var part = item.Item2[0].ToString(); |
|
|
|
|
|
var first = result.FirstOrDefault(x => x.Part == part); |
|
|
|
|
|
if (first == null) |
|
|
|
|
|
{ |
|
|
|
|
|
first = new HouseSplitEntity { Part = part }; |
|
|
|
|
|
result.Add(first); |
|
|
|
|
|
} |
|
|
|
|
|
first.Details.Add(new Tuple<string, string>(item.Item1, item.Item2)); |
|
|
} |
|
|
} |
|
|
|
|
|
result.Reverse(); |
|
|
|
|
|
return result; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |