using DataBlockHelper; using DevExpress.Utils.Extensions; using Mesnac.Controls.Default; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Mesnac.Action.ChemicalWeighing.Qu { public class Sb2 { List Controls; public Sb2(List c) { this.Controls = c; PropertyInfo[] sourcePropertyInfoList = this.GetType().GetProperties(); foreach (PropertyInfo sourceProperty in sourcePropertyInfoList) { string name = sourceProperty.Name; var pro = Controls.FirstOrDefault(x => x.Name == name) as SpecialLabelBlue; sourceProperty.SetValue(this, pro); } } List ls = new List(); private void Add(SpecialLabelBlue special) { if (!ls.Contains(special)) { ls.Add(special); } } public void Action() { ls.Clear(); PropertyInfo[] sourcePropertyInfoList = this.GetType().GetProperties(); foreach (PropertyInfo sourceProperty in sourcePropertyInfoList) { object value = sourceProperty.GetValue(this); SpecialLabelBlue stu = value as SpecialLabelBlue; if (stu.BackColor == Color.Yellow) { SetWhite(stu); sourceProperty.SetValue(this, stu); } } //压送A-A var boo = GetValue("M172.5"); if (boo) { Add(SpecialLabelBlue463); Add(SpecialLabelBlue478); Add(SpecialLabelBlue549); Add(SpecialLabelBlue543); Add(SpecialLabelBlue273); Add(SpecialLabelBlue510); Add(SpecialLabelBlue203); Add(SpecialLabelBlue508); } //压送A-A boo = GetValue("M151.5"); if (boo) { Add(SpecialLabelBlue463); Add(SpecialLabelBlue478); Add(SpecialLabelBlue549); Add(SpecialLabelBlue543); Add(SpecialLabelBlue273); Add(SpecialLabelBlue510); Add(SpecialLabelBlue516); } //压送A-C boo = GetValue("M155.3"); if (boo) { Add(SpecialLabelBlue463); Add(SpecialLabelBlue478); Add(SpecialLabelBlue549); Add(SpecialLabelBlue543); Add(SpecialLabelBlue205); Add(SpecialLabelBlue495); } //压送A-D boo = GetValue("M155.3"); if (boo) { Add(SpecialLabelBlue463); Add(SpecialLabelBlue478); Add(SpecialLabelBlue549); Add(SpecialLabelBlue543); Add(SpecialLabelBlue205); Add(SpecialLabelBlue204); Add(SpecialLabelBlue361); } //压送B-1 boo = GetValue("M111.6"); if (boo) { Add(SpecialLabelBlue464); Add(SpecialLabelBlue480); Add(SpecialLabelBlue551); Add(SpecialLabelBlue541); Add(SpecialLabelBlue274); Add(SpecialLabelBlue520); Add(SpecialLabelBlue523); } //压送B-2 boo = GetValue("M160.2"); if (boo) { Add(SpecialLabelBlue464); Add(SpecialLabelBlue480); Add(SpecialLabelBlue551); Add(SpecialLabelBlue541); Add(SpecialLabelBlue274); Add(SpecialLabelBlue520); Add(SpecialLabelBlue198); Add(SpecialLabelBlue519); } //压送B-3 boo = GetValue("M160.3"); if (boo) { Add(SpecialLabelBlue464); Add(SpecialLabelBlue480); Add(SpecialLabelBlue551); Add(SpecialLabelBlue541); Add(SpecialLabelBlue274); Add(SpecialLabelBlue520); Add(SpecialLabelBlue198); Add(SpecialLabelBlue197); Add(SpecialLabelBlue518); } //压送B-4 boo = GetValue("M160.5"); if (boo) { Add(SpecialLabelBlue464); Add(SpecialLabelBlue480); Add(SpecialLabelBlue551); Add(SpecialLabelBlue541); Add(SpecialLabelBlue274); Add(SpecialLabelBlue520); Add(SpecialLabelBlue198); Add(SpecialLabelBlue197); Add(SpecialLabelBlue196); Add(SpecialLabelBlue517); } //压送B-5 boo = GetValue("M160.6"); if (boo) { Add(SpecialLabelBlue464); Add(SpecialLabelBlue480); Add(SpecialLabelBlue551); Add(SpecialLabelBlue541); Add(SpecialLabelBlue202); Add(SpecialLabelBlue497); } //压送B-6 boo = GetValue("M160.1"); if (boo) { Add(SpecialLabelBlue464); Add(SpecialLabelBlue480); Add(SpecialLabelBlue551); Add(SpecialLabelBlue541); Add(SpecialLabelBlue202); Add(SpecialLabelBlue201); Add(SpecialLabelBlue496); } //压送B-7 boo = GetValue("M160.4"); if (boo) { Add(SpecialLabelBlue464); Add(SpecialLabelBlue480); Add(SpecialLabelBlue551); Add(SpecialLabelBlue541); Add(SpecialLabelBlue202); Add(SpecialLabelBlue201); Add(SpecialLabelBlue200); Add(SpecialLabelBlue359); } //压送B-8 boo = GetValue("M160.7"); if (boo) { Add(SpecialLabelBlue464); Add(SpecialLabelBlue480); Add(SpecialLabelBlue551); Add(SpecialLabelBlue541); Add(SpecialLabelBlue202); Add(SpecialLabelBlue201); Add(SpecialLabelBlue200); Add(SpecialLabelBlue199); Add(SpecialLabelBlue360); } //压送C-A boo = GetValue("M180.7"); if (boo) { Add(SpecialLabelBlue465); Add(SpecialLabelBlue483); Add(SpecialLabelBlue185); Add(SpecialLabelBlue553); Add(SpecialLabelBlue569); Add(SpecialLabelBlue275); Add(SpecialLabelBlue509); Add(SpecialLabelBlue513); } //压送C-B boo = GetValue("M181.0"); if (boo) { Add(SpecialLabelBlue465); Add(SpecialLabelBlue483); Add(SpecialLabelBlue185); Add(SpecialLabelBlue553); Add(SpecialLabelBlue569); Add(SpecialLabelBlue275); Add(SpecialLabelBlue509); Add(SpecialLabelBlue206); Add(SpecialLabelBlue507); } //压送C-C boo = GetValue("M181.1"); if (boo) { Add(SpecialLabelBlue465); Add(SpecialLabelBlue483); Add(SpecialLabelBlue185); Add(SpecialLabelBlue553); Add(SpecialLabelBlue569); Add(SpecialLabelBlue208); Add(SpecialLabelBlue494); Add(SpecialLabelBlue207); Add(SpecialLabelBlue362); } //压送C-d boo = GetValue("M181.2"); if (boo) { Add(SpecialLabelBlue465); Add(SpecialLabelBlue483); Add(SpecialLabelBlue185); Add(SpecialLabelBlue553); Add(SpecialLabelBlue569); Add(SpecialLabelBlue208); } //压送D-A boo = GetValue("M181.3"); if (boo) { Add(SpecialLabelBlue332); Add(SpecialLabelBlue256); Add(SpecialLabelBlue250); Add(SpecialLabelBlue249); Add(SpecialLabelBlue232); Add(SpecialLabelBlue229); Add(SpecialLabelBlue228); } //压送D-B boo = GetValue("M181.4"); if (boo) { Add(SpecialLabelBlue332); Add(SpecialLabelBlue256); Add(SpecialLabelBlue250); Add(SpecialLabelBlue249); Add(SpecialLabelBlue232); Add(SpecialLabelBlue229); Add(SpecialLabelBlue209); Add(SpecialLabelBlue231); } //压送D-C boo = GetValue("M181.5"); if (boo) { Add(SpecialLabelBlue332); Add(SpecialLabelBlue256); Add(SpecialLabelBlue250); Add(SpecialLabelBlue249); Add(SpecialLabelBlue211); Add(SpecialLabelBlue230); } //压送D-D boo = GetValue("M181.6"); if (boo) { Add(SpecialLabelBlue332); Add(SpecialLabelBlue256); Add(SpecialLabelBlue250); Add(SpecialLabelBlue249); Add(SpecialLabelBlue211); Add(SpecialLabelBlue210); Add(SpecialLabelBlue233); } //压送E-A boo = GetValue("M181.7"); if (boo) { Add(SpecialLabelBlue372); Add(SpecialLabelBlue369); Add(SpecialLabelBlue373); Add(SpecialLabelBlue553); Add(SpecialLabelBlue569); Add(SpecialLabelBlue275); Add(SpecialLabelBlue509); Add(SpecialLabelBlue513); } //压送E-B boo = GetValue("M182.0"); if (boo) { Add(SpecialLabelBlue372); Add(SpecialLabelBlue369); Add(SpecialLabelBlue373); Add(SpecialLabelBlue553); Add(SpecialLabelBlue569); Add(SpecialLabelBlue275); Add(SpecialLabelBlue509); Add(SpecialLabelBlue206); Add(SpecialLabelBlue507); } //压送E-C boo = GetValue("M182.1"); if (boo) { Add(SpecialLabelBlue372); Add(SpecialLabelBlue369); Add(SpecialLabelBlue373); Add(SpecialLabelBlue553); Add(SpecialLabelBlue569); Add(SpecialLabelBlue208); Add(SpecialLabelBlue494); } //压送E-D boo = GetValue("M182.2"); if (boo) { Add(SpecialLabelBlue372); Add(SpecialLabelBlue369); Add(SpecialLabelBlue373); Add(SpecialLabelBlue553); Add(SpecialLabelBlue569); Add(SpecialLabelBlue208); Add(SpecialLabelBlue207); Add(SpecialLabelBlue362); } if (ls.Any()) { foreach (var item in ls) { SetLightGreen(item); } } } public void SetWhite(SpecialLabelBlue special) { special.BackColor = Color.White; } public void SetLightGreen(SpecialLabelBlue special) { special.BackColor = Color.Yellow; } public SpecialLabelBlue SpecialLabelBlue463 { get; set; } public SpecialLabelBlue SpecialLabelBlue478 { get; set; } public SpecialLabelBlue SpecialLabelBlue464 { get; set; } public SpecialLabelBlue SpecialLabelBlue480 { get; set; } public SpecialLabelBlue SpecialLabelBlue465 { get; set; } public SpecialLabelBlue SpecialLabelBlue483 { get; set; } public SpecialLabelBlue SpecialLabelBlue332 { get; set; } public SpecialLabelBlue SpecialLabelBlue256 { get; set; } public SpecialLabelBlue SpecialLabelBlue372 { get; set; } public SpecialLabelBlue SpecialLabelBlue369 { get; set; } public SpecialLabelBlue SpecialLabelBlue373 { get; set; } public SpecialLabelBlue SpecialLabelBlue250 { get; set; } public SpecialLabelBlue SpecialLabelBlue249 { get; set; } public SpecialLabelBlue SpecialLabelBlue211 { get; set; } public SpecialLabelBlue SpecialLabelBlue210 { get; set; } public SpecialLabelBlue SpecialLabelBlue233 { get; set; } public SpecialLabelBlue SpecialLabelBlue212 { get; set; } public SpecialLabelBlue SpecialLabelBlue213 { get; set; } public SpecialLabelBlue SpecialLabelBlue214 { get; set; } public SpecialLabelBlue SpecialLabelBlue247 { get; set; } public SpecialLabelBlue SpecialLabelBlue232 { get; set; } public SpecialLabelBlue SpecialLabelBlue229 { get; set; } public SpecialLabelBlue SpecialLabelBlue209 { get; set; } public SpecialLabelBlue SpecialLabelBlue231 { get; set; } public SpecialLabelBlue SpecialLabelBlue553 { get; set; } public SpecialLabelBlue SpecialLabelBlue569 { get; set; } public SpecialLabelBlue SpecialLabelBlue208 { get; set; } public SpecialLabelBlue SpecialLabelBlue207 { get; set; } public SpecialLabelBlue SpecialLabelBlue362 { get; set; } public SpecialLabelBlue SpecialLabelBlue275 { get; set; } public SpecialLabelBlue SpecialLabelBlue509 { get; set; } public SpecialLabelBlue SpecialLabelBlue206 { get; set; } public SpecialLabelBlue SpecialLabelBlue507 { get; set; } public SpecialLabelBlue SpecialLabelBlue543 { get; set; } public SpecialLabelBlue SpecialLabelBlue205 { get; set; } public SpecialLabelBlue SpecialLabelBlue495 { get; set; } public SpecialLabelBlue SpecialLabelBlue204 { get; set; } public SpecialLabelBlue SpecialLabelBlue361 { get; set; } public SpecialLabelBlue SpecialLabelBlue510 { get; set; } public SpecialLabelBlue SpecialLabelBlue203 { get; set; } public SpecialLabelBlue SpecialLabelBlue508 { get; set; } public SpecialLabelBlue SpecialLabelBlue551 { get; set; } public SpecialLabelBlue SpecialLabelBlue541 { get; set; } public SpecialLabelBlue SpecialLabelBlue202 { get; set; } public SpecialLabelBlue SpecialLabelBlue201 { get; set; } public SpecialLabelBlue SpecialLabelBlue200 { get; set; } public SpecialLabelBlue SpecialLabelBlue199 { get; set; } public SpecialLabelBlue SpecialLabelBlue360 { get; set; } public SpecialLabelBlue SpecialLabelBlue274 { get; set; } public SpecialLabelBlue SpecialLabelBlue520 { get; set; } public SpecialLabelBlue SpecialLabelBlue198 { get; set; } public SpecialLabelBlue SpecialLabelBlue197 { get; set; } public SpecialLabelBlue SpecialLabelBlue196 { get; set; } public SpecialLabelBlue SpecialLabelBlue517 { get; set; } public SpecialLabelBlue SpecialLabelBlue523 { get; set; } public SpecialLabelBlue SpecialLabelBlue519 { get; set; } public SpecialLabelBlue SpecialLabelBlue518 { get; set; } public SpecialLabelBlue SpecialLabelBlue245 { get; set; } public SpecialLabelBlue SpecialLabelBlue244 { get; set; } public SpecialLabelBlue SpecialLabelBlue243 { get; set; } public SpecialLabelBlue SpecialLabelBlue242 { get; set; } public SpecialLabelBlue SpecialLabelBlue241 { get; set; } public SpecialLabelBlue SpecialLabelBlue240 { get; set; } public SpecialLabelBlue SpecialLabelBlue239 { get; set; } public SpecialLabelBlue SpecialLabelBlue238 { get; set; } public SpecialLabelBlue SpecialLabelBlue237 { get; set; } public SpecialLabelBlue SpecialLabelBlue236 { get; set; } public SpecialLabelBlue SpecialLabelBlue235 { get; set; } public SpecialLabelBlue SpecialLabelBlue234 { get; set; } public SpecialLabelBlue SpecialLabelBlue248 { get; set; } public SpecialLabelBlue SpecialLabelBlue195 { get; set; } public SpecialLabelBlue SpecialLabelBlue194 { get; set; } public SpecialLabelBlue SpecialLabelBlue193 { get; set; } public SpecialLabelBlue SpecialLabelBlue192 { get; set; } public SpecialLabelBlue SpecialLabelBlue191 { get; set; } public SpecialLabelBlue SpecialLabelBlue190 { get; set; } public SpecialLabelBlue SpecialLabelBlue189 { get; set; } public SpecialLabelBlue SpecialLabelBlue188 { get; set; } public SpecialLabelBlue SpecialLabelBlue187 { get; set; } public SpecialLabelBlue SpecialLabelBlue186 { get; set; } public SpecialLabelBlue SpecialLabelBlue549 { get; set; } public SpecialLabelBlue SpecialLabelBlue273 { get; set; } public SpecialLabelBlue SpecialLabelBlue516 { get; set; } public SpecialLabelBlue SpecialLabelBlue497 { get; set; } public SpecialLabelBlue SpecialLabelBlue496 { get; set; } public SpecialLabelBlue SpecialLabelBlue513 { get; set; } public SpecialLabelBlue SpecialLabelBlue359 { get; set; } public SpecialLabelBlue SpecialLabelBlue494 { get; set; } public SpecialLabelBlue SpecialLabelBlue228 { get; set; } public SpecialLabelBlue SpecialLabelBlue230 { get; set; } public SpecialLabelBlue SpecialLabelBlue185 { get; set; } public bool GetValue(string address) { var plc= PlcConnect.Instance.ReadBool(address).Content; return plc; } } }