| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using System;
- using System.Threading;
- using SHJX.Service.Model.Dao;
- using SHJX.Service.Control.Modules;
- using SHJX.Service.Control.Interface;
- using System.Linq;
- using SHJX.Service.Common.ReadXML;
- namespace SHJX.Service.Control.Route.RouteController
- {
- /// <summary>
- /// 硫酸银
- /// </summary>
- /// 硫酸银
- public class DissolveAddLiquidOperate : FlowControlOperateImp
- {
- private const string OpName = "SilverSulfate";
- private DropLiquid liquid;
- public virtual bool Operate(ReadConfigUtil config, DataEventArgs data)
- {
- liquid = data.DataManager.QueryLiquid(OpName);
- if (!liquid.Enable) return true;
- #if false
- DataCentre.GetPumpContent.Factory(OpName).GoBackOriginalPosition("In");
- var res = true;
- for (int i = 0; i < 2; i++)
- {
- var arriveEndPoint = DataCentre.GetPumpContent.Factory(OpName).ArriveEndPoint();
- if (arriveEndPoint) DataCentre.GetPumpContent.Factory(OpName).LiquidOperation("In", Convert.ToInt32(liquid.SampleVolume));
- var position = data.Task.To switch
- {
- "R1" or "R2" or "R3" or "R4" or "R5" or "R6" or "R7" or "R8" or "R9" or "R10" or "R11" or "R12" => "Out1",
- "R13" or "R14" or "R15" or "R16" or "R17" or "R18" or "R19" or "R20" or "R21" or "R22" or "R23" or "R24" => "Out2",
- _ => throw new ArgumentNullException(data.Task.To),
- };
- res = res && DataCentre.GetPumpContent.Factory(OpName).LiquidOperation(position, -1 * Convert.ToInt32(liquid.SampleVolume));
- }
- #endif
- var volume = data.Task.TaskType switch
- {
- "润洗" => liquid.WashVolume,
- "清洗" => liquid.ClearVolume,
- _ => liquid.SampleVolume,
- };
- #if false
- var position = data.Task.To switch
- {
- "R1" or "R2" or "R3" or "R4" or "R5" or "R6" or "R7" or "R8" or "R9" or "R10" or "R11" or "R12" => "Out1",
- "R13" or "R14" or "R15" or "R16" or "R17" or "R18" or "R19" or "R20" or "R21" or "R22" or "R23" or "R24" => "Out2",
- _ => throw new ArgumentNullException(data.Task.To),
- };
- #endif
- var position = data.Task.To switch
- {
- "R1" or "R2" or "R3" or "R4" or "R5" or "R6" or "R7" or "R8" or "R9" or "R10" or "R11" or "R12" => "2",
- "R13" or "R14" or "R15" or "R16" or "R17" or "R18" or "R19" or "R20" or "R21" or "R22" or "R23" or "R24" => "3",
- _ => throw new ArgumentNullException(data.Task.To),
- };
- var res = DataCentre.GetPumpContent.Factory(OpName).LiquidOperation(position, -1 * Convert.ToInt32(volume) /*Convert.ToInt32(volume / DataCentre.GetConfig.DropOnceAmounts.FirstOrDefault(item => item.Name.Equals("SilverSulfate")).LowValue * 20000)*/);
- Thread.Sleep(1000);
- LiquidTotal liquid1 = DataCentre._dataManager.Query<LiquidTotal>().Where(it => it.LiquidName.Equals(OpName)).First();
- liquid1.Total -= 15; //硫酸银 减 15毫升
- res = res & DataCentre._dataManager.Update<LiquidTotal>(liquid1) > 0;
- return res;
- }
- }
- }
|