using ProjectBase.Data.BaseDAL; using ProjectBase.Data.Logs; using SIMDP.DAL.IDALSQL; using SIMDP.Model; using System; using System.Collections.Generic; using System.Data.Common; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SIMDP.BLL { public class BlSequence : BaseBLL { private IDalSequence dalSequence; /// /// 构造函数 /// public BlSequence() : base() { base.Init(this.GetType().FullName, System.Reflection.Assembly.GetExecutingAssembly().GetName().Name); dalSequence = baseDal as IDalSequence; dalSequence.OnOperationLog += new OperationLogEventHandler(BlLogOperation.OnOperationLog); } /// /// T无条码枪时自动产生序列 /// /// public long CreateSequence(string name) { string contion = string.Format(" sequence_name ='{0}' ", name); try { MoSequence seq = FindSingle(contion); if ( seq != null) { if (seq.SequenceCurrent < seq.SequenceMax) seq.SequenceCurrent += seq.AddValue; else seq.SequenceCurrent = 0; Update(seq,seq.SequenceId); return seq.SequenceCurrent; } else { seq.SequenceCurrent = 0; Update(seq, seq.SequenceId); return 1; } } catch (Exception ex) { LogHelper.log.Error(ex); return -1; } } /// /// 同步转盘1或转盘2与转盘3或转盘4的当前数据相同,每次更新到1 /// /// /// /// public bool UpdataCurrentData() { bool bRet = false; try { List seqList = GetAll(); if (seqList != null) { foreach (MoSequence item in seqList) { item.SequenceCurrent = 0; if (!Update(item, item.SequenceId)) { break; } bRet = true; } return bRet; } else { return false; } } catch (Exception ex) { LogHelper.log.Error(ex); return false; } } /// /// 同步转盘1或转盘2与转盘3或转盘4的当前数据相同,每次更新到1 /// /// /// /// public bool UpdataCurrentData(int actNumber) { try { List seqList = GetAll(); if (seqList != null) { string nameFirst = "turnfirst" + actNumber.ToString(); long first = seqList.Find((MoSequence item)=> item.SequenceName == nameFirst).SequenceCurrent; string nameThird = "turnthird" + actNumber.ToString(); MoSequence third = seqList.Find((MoSequence item) => item.SequenceName == nameThird); third.SequenceCurrent = first; Update(third, third.SequenceId); string nameSecond = "turnsecond" + actNumber.ToString(); long second = seqList.Find((MoSequence item) => item.SequenceName == nameSecond).SequenceCurrent; string nameFour = "turnfour" + actNumber.ToString(); MoSequence four = seqList.Find((MoSequence item) => item.SequenceName == nameFour); four.SequenceCurrent = second; Update(four, four.SequenceId); return true; } else { return false; } } catch (Exception ex) { LogHelper.log.Error(ex); return false; } } } }