private void tsbDel_Click(object sender, EventArgs e) { if (OrderGV.SelectedItems != null && OrderGV.SelectedItems.Count > 0) { if (System.Windows.Forms.DialogResult.No == System.Windows.Forms.MessageBox.Show("确定删除?" , "注意", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question)) { return; } var Datas = new EncodeCollection <CheckOrder>(); for (int i = 0; i < OrderGV.SelectedItems.Count; i++) { var order = OrderGV.SelectedItems[i]; //order.OrderState = MMDefInOrderStateEnum.Discard; //var Helper = new QueryHelper<RetainedSampleOrderItem>(); //Helper.Add(); order.State = DataState.Deleted; Datas.Add(order); OrderGV.Datas.Remove(order); } Datas.SaveDatas(); OrderGV.Refresh(OrderGV.Datas); } }
/// <summary> /// 没实际批次 /// </summary> /// <param name="lotID"></param> /// <param name="sourceOrderID">源工单ID</param> /// <param name="sourceType"></param> /// <param name="dtSampleDate"></param> /// <param name="creator"></param> /// <param name="samplecount"></param> /// <param name="plancheckitemstring"></param> /// <param name="firscheck"></param> /// <param name="checkType"></param> /// <returns></returns> static public ReturnValue AutoCreateCheckOrder(int defpk, int hutid, string lotid, string sourceOrderID, SampleTypeEnum sampleType, DateTime dtSampleDate, string creator, int samplecount = 1, string plancheckitemstring = "", bool firscheck = true, CheckTypeEnum checkType = CheckTypeEnum.Normal) { if (!string.IsNullOrWhiteSpace(sourceOrderID)) { EncodeCollection <CheckOrder> ec = Encode.EncodeData.GetDatas <CheckOrder>("sourceorderid = '" + sourceOrderID + "'", string.Empty, 1); if (ec.Count > 0) { return(new ReturnValue(true, 1, "检验单已创建")); } } //find lot // EncodeCollection<MMReiptOrder> ecMR = Encode.EncodeData.GetDatas<MMReiptOrder>(string.Format("sitlotid='{0}'", lotID), string.Empty, -1); // MMLot lot = SSIT.Bread.UI.MM.MMCommon.GetLotbyID(lotID); //if (lot != null) //if(ecMR.Count > 0 ) //{ //MMReiptOrder mr = ecMR[0]; //先创建SampleItem CheckOrder si = new CheckOrder { LotID = lotid, HutPK = hutid, DefPK = defpk }; //si.HutID = lot.HutID; si.SampleID = CheckOrder.GetNewCheckID(dtSampleDate); si.CheckQuantity = samplecount; si.PlanCheckDate = si.SampleDate = dtSampleDate.ToString(EncodeConst.DateFormat); //si.CreateType = createType; si.CheckOrderState = CheckOrderStateEnum.Submit; si.SourceOrderID = sourceOrderID; si.SampleType = sampleType; si.Creator = creator; si.CreateTime = dtSampleDate.ToString(EncodeConst.DateTimeFormat); si.PlanCheckItemString = plancheckitemstring; //si.FirstCheck = firscheck; //if(User.CurrentUser != null) //{ // si.ActualInspector = User.CurrentUser.ParamName; //} if (string.IsNullOrWhiteSpace(si.PlanCheckItemString)) { DefinitionCheckItemCombine combine = DefinitionCheckItemCombine.GetItemby(si.DefPK); if (combine != null) { List <int> list = CheckItem.Instance.GetIdList(combine.GetCheckItems()); si.PlanCheckItemString = SSITEncode.Common.STRING.IntListToString(list); } } si.State = DataState.New; //EncodeCollection<SampleItemOrder> ec = new EncodeCollection<SampleItemOrder>(si); ReturnValue rv = Encode.EncodeData.SaveDatas <CheckOrder>(new EncodeCollection <CheckOrder>(si)); if (rv.Success) { rv.ValueString = si.SampleID; //SSIT.SystemManager.DataInterface.MessageContent.CreateNewMessage(BreadInterface.SampleTypeEnum.QMOrder, si.SampleID, creator); } return(rv); // return new ReturnValue(false, -444, "找不到对应批次"); }
private void btImport_Click(object sender, EventArgs e) { SelectMMDefForm form = new SelectMMDefForm(); EncodeCollection <SupAndMMRelation> ec = new EncodeCollection <SupAndMMRelation>(); if (form.ShowDialog() == DialogResult.OK) { var definitions = form.SelectedItems; if (definitions != null) { foreach (var def in definitions) { if (SupAndMMRelation.Instance.Datas.FirstOrDefault(p => p.Enable && p.DefPK == def.DefPK && p.SupPK == grid.SupPK) == null) { SupAndMMRelation supAndMMRelation = new SupAndMMRelation { DefID = def.DefID, SupPK = grid.SupPK, ParamName = def.DefName, State = DataState.New }; grid.Encodes.Add(supAndMMRelation); grid.InsertRow(grid.RowsCount - 1, supAndMMRelation); // ec.Add(supAndMMRelation); } } } // grid.InsertRow(,ec); } //List<MMDefinition> mmdefList = form.SelectedItems; }
private void tsbDel_Click(object sender, EventArgs e) { if (GV.ParentItemSelected && GV.SelectedItems != null && GV.SelectedItems.Count > 0) { if (System.Windows.Forms.DialogResult.No == System.Windows.Forms.MessageBox.Show(string.Format("是否确定删除所选的[{0}]个样品?", GV.SelectedItems.Count) , "注意", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question)) { return; } var Datas = new EncodeCollection <MMInOrder>(); for (int i = 0; i < GV.SelectedItems.Count; i++) { var order = GV.SelectedItems[i]; var items = SampleOrder.Instance.Datas.FirstOrDefault(p => p.SourceOrderID == order.CheckLot); if (items != null) { MessageBox.Show("该工单下已产生样品工单,无法删除"); continue; } //order.OrderState = MMDefInOrderStateEnum.Discard; //var Helper = new QueryHelper<RetainedSampleOrderItem>(); //Helper.Add(); order.State = DataState.Deleted; Datas.Add(order); GV.MasterDatas.Remove(order); } Datas.SaveDatas(); GV.Refresh(GV.MasterDatas, GV.ChildDatas); } }
public void LoadDatas(EncodeCollection <CheckData> datas) { for (int i = 0; i < Fields.Count; i++) { int rowindex = i + FixedRows; for (int sampleindex = 1; sampleindex <= SampleCount; sampleindex++) { CheckData sd = CheckData.FindData(datas, Order.CheckOrderID, Fields[i].ID, sampleindex); if (sd == null) { sd = CheckData.CreateItem(Order.CheckOrderID, Fields[i].ID, sampleindex); sd.SampleID = Order.SampleID; } else { if (sampleindex == 1) { if (!CheckData.UseNewstStandard) { this[rowindex, 4].Value = sd.StandardStr; } } this[rowindex, HeaderCount + sampleindex - 1].Value = sd.DataValue; } sd.ValueType = Fields[i].ValueType; var cell = this[rowindex, HeaderCount + sampleindex - 1]; SetCellColor(cell, sd); cell.Tag = sd; } } }
private void ExecuteThread() { try { Wait.SetLable("正在进行数据查询,请稍候..."); var mminorder = GetDatas(); List <string> idList = new List <string>(); foreach (var data in mminorder) { idList.Add(data.OrderID); } SampleOrder.Instance.Datas = null; EncodeCollection <SampleOrder> sampleorder = new EncodeCollection <SampleOrder>(SampleOrder.Instance.Datas.Where(p => idList.Contains(p.SourceOrderID))); Wait.SetLable("正在填充表格,请稍候..."); GV.FillGridByThread(mminorder, sampleorder); } catch (Exception ex) { Wait.Message = ex.Message; if (Wait.JobState == WaitState.正在操作) { Wait.Close(); } } }
public CheckDataInputForm(CheckOrder order) { //test //order.CheckOrderState = CheckOrderStateEnum.Submit; _sampleOrder = order; InitializeComponent(); _Grid = new SSITGridView <CheckOrder>() { Dock = DockStyle.Fill, MultiSelect = true, AllowDeleteRow = false, AllowAddNewRow = false, AllowEditRow = false, AllowToolBar = true, AllowBottomToolBar = false, AllowBottomToolBarFilter = false, AllowDragToGroup = false, AllowPaging = false, GridFilterMode = FilterMode.CustomFilter }; _Grid.ToolBar.Visible = false; twSampleOrder.Controls.Add(_Grid); EncodeCollection <CheckOrder> ec = new EncodeCollection <CheckOrder>(); ec.Add(order); _Grid.FillGrid(ec); //_sampleOrderGrid.SetGrid(ec); tsbSampleCount.Text = order.CheckQuantity.ToString(); tsbNote.Text = order.Note; LoadImage(order.SampleID); LoadInfo(); }
public void QueryResult(EncodeCollection <CheckOrder> collection) { if (collection == null) { return; } _gc = collection; SetReportView(); }
static public CheckOrder GetItembySourceOrderID(string sorceorderid) { EncodeCollection <CheckOrder> ec = Encode.EncodeData.GetDatas <CheckOrder>("sourceorderid = '" + sorceorderid + "'", string.Empty, 1); if (ec.Count > 0) { return(ec[0]); } return(null); }
public static CheckData FindData(EncodeCollection <CheckData> ec, string checkorderid, int checkitemid, int sampleindex) { List <CheckData> ret = new List <CheckData>(ec.Where(item => item.CheckOrderID == checkorderid && item.CheckItemID == checkitemid && item.SampleIndex == sampleindex)); if (ret.Count > 0) { return(ret[0]); } return(null); }
void checkQueryControl1_QueryReturnData(EncodeCollection <IEncode> datas) { EncodeCollection <CheckOrder> ec = new EncodeCollection <CheckOrder>(); foreach (CheckOrder item in datas) { ec.Add(item); } OrderGV.FillGrid(ec); }
public static CheckData FindLastData(string sampleid, int checkitemid) { string clause = string.Format("sampleid='{0}' and checkitemid = {1} ", sampleid, checkitemid); EncodeCollection <CheckData> ec = Encode.EncodeData.GetDatas <CheckData>(clause, "sampleindex desc", -1); if (ec.Count == 0) { return(null); } return(ec[0]); }
protected ReturnValue UpdateItem(CheckData item, string StandardStr) { item.UpdateTime = DateTime.Now.ToString(EncodeConst.DateTimeFormat); item.SetPass(StandardStr); item.State = DataState.New; if (IsRealTimeUpdate) { EncodeCollection <CheckData> ec = new EncodeCollection <CheckData>(item); return(Encode.EncodeData.SaveDatas <CheckData>(ec)); } return(new ReturnValue(true)); }
//public QualifyJudgeEnum SetQualifyJudge() //{ // EncodeCollection<CheckData> ec = CheckData.LoadDatasbySampleID(SampleID); // foreach (CheckData data in ec) // { // } //} #region 静态属性、方法 static public string GetNewCheckID(DateTime dt) { string IdInit = "C" + dt.ToString("yyyyMMdd"); EncodeCollection <CheckOrder> ec = Encode.EncodeData.GetDatas <CheckOrder>("sampleid Like '" + IdInit + "%'", "sampleid desc", 1); if (ec.Count > 0) { string strnum = ec[0].SampleID.Substring(IdInit.Length); int num; if (int.TryParse(strnum, out num)) { return(IdInit + (num + 1).ToString("000")); } } return(IdInit + "001"); }
public static EncodeCollection <CheckData> LoadDatasbySampleID(string sampleid) { if (string.IsNullOrWhiteSpace(sampleid)) { return(new EncodeCollection <CheckData>()); } var order = CheckOrder.GetItembyID(sampleid); if (order == null) { return(new EncodeCollection <CheckData>()); } string clause = string.Format("sampleid='{0}'", sampleid); EncodeCollection <CheckData> ec = Encode.EncodeData.GetDatas <CheckData>(clause, string.Empty, -1); foreach (var item in ec) { item.Order = order; } return(ec); }
public CheckDataCopyForm(EncodeCollection <CheckOrder> ec) { //test //order.SampleOrderState = SampleOrderStateEnum.Submit; _sampleOrder = ec[0]; InitializeComponent(); _sampleOrderGrid = new ObjectGrid <CheckOrder> { Dock = DockStyle.Fill }; _sampleOrderGrid.Fields = FieldSelectSettings <CheckOrder> .Instance.Fields.ToDescriptionList(); _sampleOrderGrid.Init(); panel1.Controls.Add(_sampleOrderGrid); _sampleOrderGrid.SetGrid(ec); _sampleOrderGrid.SelectedChanged += OnSampleSelectedChanged; //tsbSampleCount.Text = _sampleOrder.SampleQuantity.ToString(); //tsbNote.Text = _sampleOrder.Note; _sampleOrderGrid.SelectedRow = 0; LoadInfo(); }
//EncodeCollection<CheckData> LoadData() //{ // string clause = string.Format("sampleid='{0}'",_sampleOrder.SampleID); // EncodeCollection<CheckData> ec = Encode.EncodeData.GetDatas<CheckData>(clause, string.Empty, -1); // return ec; //} List <InputField> CheckItemsToInputFields(EncodeCollection <CheckItem> ec) { List <InputField> list = new List <InputField>(); foreach (CheckItem item in ec) { InputField field = new InputField { FieldName = item.ToString(), ID = item.ParamID, ValueType = item.ValueTypeID, CheckType = item.GetCheckType(), QualifyRate = 100f, ReadOnly = IsReadOnly, Precision = item.Precision }; if (_sampleOrder != null) { CheckStandard.MMTypeID = (int)MMTypEnum.QM; CheckStandard cs = CheckStandard.Instance.GetCurrentStandard(_sampleOrder.DefPK, item.ParamID); if (cs != null) { if (!string.IsNullOrWhiteSpace(cs.EntStandardStr)) { field.StandardStr = cs.EntStandardStr; } else if (!string.IsNullOrWhiteSpace(cs.NatStandardStr)) { field.StandardStr = cs.NatStandardStr; } field.QualifyRate = cs.QualifyRate; } } list.Add(field); } return(list); }
public override void Init() //初始化Grid { base.Init(); // 物料编号 物料名称 是否免检 InsertColumn(iDefID, "物料编号", ColumnStyle.ReadOnly); //Grid的展示列——第一列的列头名称 InsertColumn(iDefName, "物料名称", ColumnStyle.ReadOnly); InsertColumn(iExemption, "检查类型", new string[] { "免检", "常规检", "调整检" }); _encodes = SupAndMMRelation.Instance.Datas; EncodeCollection <SupAndMMRelation> supmmre = new EncodeCollection <SupAndMMRelation>(); foreach (var item in SupAndMMRelation.Instance.GetEnableCollection()) { if (item.SupPK == SupPK) { supmmre.Add(item); } } LoadGrid(supmmre); //this.NewRow(); }
private void InitGrid() { GV = new SSITRelationGridView <MMInOrder, SampleOrder>(); GV.Dock = DockStyle.Fill; GV.AutoExpandGroups = true; GV.MultiSelect = true; GV.AllowDeleteRow = false; GV.AllowAddNewRow = false; GV.AllowEditRow = false; GV.AllowBottomToolBar = true; GV.AllowBottomToolBarFilter = false; GV.AllowDragToGroup = true; GV.AllowPaging = false; GV.AllowScrollbarsInHierarchy = false; GV.RomoveChildTableRelationFields = true; GV.AddDefaultSort("OperationDate", ListSortDirection.Descending); //过滤: GV.GridFilterMode = FilterMode.CustomFilter; //GV.SelectionChanged += GV_SelectionChanged; //GV.GridClick += GV_GridClick; // GV.StyleChanged += GV_StyleChanged; GV.MasterStyleChanged += GV_StyleChanged; GV.CellFormatting += GV_CellFormatting; GV.InitColumns(); GV.AddRelation("Relation1", "CheckLot", "SourceOrderID"); //GV.HiddenColumns(false, "OrderID"); //将关系Guid列隐藏 EncodeCollection <MMInOrder> mminorder = GetDatas(); EncodeCollection <SampleOrder> sampleorder = new EncodeCollection <SampleOrder>(SampleOrder.Instance.Datas); GV.FillGrid(mminorder, sampleorder); GridPanel.Controls.Add(GV); }
private ReturnValue Save() { ReturnValue rv = new ReturnValue(false); RefreshDatas <CheckOrder>(OrderItem); string plancheckitemstring = ""; var spectorlist = ucOperator1.SelectedUsers; var inspectoridlist = spectorlist.Select(p => p.ParamName).ToList(); int userflag = 0; //保存计划检测项目 if (SelectedCheckItems != null && SelectedCheckItems.Count > 0) { var list = SelectedCheckItems.Select(p => p.ParamID).ToList(); plancheckitemstring = list.ListIntToString(); } if (rcbMutiOrder.Checked) { Dictionary <int, List <CheckItem> > dic = new Dictionary <int, List <CheckItem> >(); foreach (var item in SelectedCheckItems) { if (!dic.ContainsKey(item.CheckCategoryID)) { dic.Add(item.CheckCategoryID, new List <CheckItem>()); } dic[item.CheckCategoryID].Add(item); } EncodeCollection <CheckOrder> ecOrder = new EncodeCollection <CheckOrder>(); foreach (var items in dic.Values) { var order = (CheckOrder)OrderItem.Clone(); order.IDENTITY = null; if (spectorlist.Count != 0) { var userorder = userflag % spectorlist.Count(); order.PlanInspector = spectorlist[userflag].ParamName; userflag++; } var list = items.Select(p => p.ParamID).ToList(); plancheckitemstring = list.ListIntToString(); order.PlanCheckItemString = plancheckitemstring; if (order.State == DataState.New) { order.PlanCheckItemString = plancheckitemstring; order.CreateTime = DateTime.Now.ToString(EncodeConst.DateTimeFormat); order.Creator = User.CurrentUser?.ParamName; order.CheckOrderID = EncodeHelper.GetOrderID <CheckOrder>("CheckOrderID", "C"); if (ckbAuto.Checked) { order.SampleID = EncodeHelper.GetOrderID <CheckOrder>("SampleID", "S"); } } order.CheckOrderState = CheckOrderStateEnum.Submit; rv = EncodeBase.Encode.EncodeData.SaveDatas <CheckOrder>(new EncodeCollection <CheckOrder>(order)); if (!rv.Success) { ReturnValue.ShowMessage("样品创建失败:" + rv.Message); return(rv); } } return(rv); } //OrderItem.SampleType = (SampleTypeEnum)SampleType.SelectedValue; if (OrderItem.State == DataState.New) { OrderItem.PlanInspector = inspectoridlist.ListToString(); OrderItem.PlanCheckItemString = plancheckitemstring; OrderItem.CreateTime = DateTime.Now.ToString(EncodeConst.DateTimeFormat); OrderItem.Creator = User.CurrentUser?.ParamName; OrderItem.CheckOrderID = EncodeHelper.GetOrderID <CheckOrder>("CheckOrderID", "C"); if (ckbAuto.Checked) { OrderItem.SampleID = EncodeHelper.GetOrderID <CheckOrder>("SampleID", "S"); } } else if (OrderItem.PlanCheckItemString != plancheckitemstring) { OrderItem.PlanInspector = inspectoridlist.ListToString(); OrderItem.PlanCheckItemString = plancheckitemstring; OrderItem.State = DataState.Changed; } OrderItem.CheckOrderState = CheckOrderStateEnum.Submit; rv = EncodeBase.Encode.EncodeData.SaveDatas <CheckOrder>(new EncodeCollection <CheckOrder>(OrderItem)); if (!rv.Success) { ReturnValue.ShowMessage("样品创建失败:" + rv.Message); return(rv); } return(rv); //修改 }
public void LoadInfo() { rpvCheckCategory.Pages.Clear(); Dictionary <string, EncodeCollection <CheckItem> > dic = new Dictionary <string, EncodeCollection <CheckItem> >(); EncodeCollection <CheckItem> ecCheckItems = null; if (_sampleOrder.GetPlanCheckItemCount <= 0) { //Definition def = SSIT.Bread.UI.MM.MMCommon.GetDefinitionbyID(_sampleOrder.DefinitionID); //MMCheckItemCombine combine = MMCheckItemCombine.Instance.GetItembyKey(_sampleOrder.DefinitionID); DefinitionCheckItemCombine combine = DefinitionCheckItemCombine.GetItemby(_sampleOrder.DefPK); if (combine != null) { ecCheckItems = combine.GetCheckItems(); } } else { EncodeCollection <CheckItem> ec = new EncodeCollection <CheckItem>(); foreach (short id in _sampleOrder.PlanCheckItems) { CheckItem checkitem = CheckItem.Instance.Itemof(id); if (checkitem != null) { ec.Add(checkitem); } } ecCheckItems = ec; } if (ecCheckItems != null) { foreach (CheckItem item in ecCheckItems) { string CheckCategoryName = item.GetCheckCategory(); if (!string.IsNullOrEmpty(CheckCategoryName)) { if (!dic.ContainsKey(CheckCategoryName)) { dic.Add(CheckCategoryName, new EncodeCollection <CheckItem>()); } dic[CheckCategoryName].Add(item); } } } EncodeCollection <CheckData> datas = CheckData.LoadDatasbySampleID(_sampleOrder.SampleID); int maxIndex = 0; if (datas.Count > 0) { foreach (var item in datas) { maxIndex = Math.Max(item.SampleIndex, maxIndex); } } if (maxIndex >= _sampleOrder.CheckQuantity) { _sampleOrder.CheckQuantity = maxIndex; } SetOrderState(); foreach (string key in dic.Keys) { Telerik.WinControls.UI.RadPageViewPage page = new Telerik.WinControls.UI.RadPageViewPage(key); InputGridBase grid = new InputGridBase { Dock = DockStyle.Fill }; page.Controls.Add(grid); if (_sampleOrder != null) { grid.SampleCount = _sampleOrder.CheckQuantity; } page.Tag = grid; rpvCheckCategory.Pages.Add(page); grid.Order = _sampleOrder; grid.Fields = CheckItemsToInputFields(dic[key]); grid.Init(); grid.LoadDatas(datas); //grid.Columns.AutoSize(true); } if (datas.Count > 0) { DataStat(); } }
private EncodeCollection <MMInOrder> GetDatas() { var Helper = new QueryHelper <MMInOrder>(); Helper.Add("SynTime", this.dateTimeRange1); if (!rtbBatch.Text.IsNullOrWhiteSpace()) { var LotIDs = rtbBatch.Text.ToLikeString(); Helper.Add("BatchID", LotIDs); } if (!rtbOrderID.Text.IsNullOrWhiteSpace()) { var orderIDs = rtbOrderID.Text.ToLikeString(); Helper.Add("OrderID", orderIDs); } if (!rtbPurOrderID.Text.IsNullOrWhiteSpace()) { var purIDs = rtbPurOrderID.Text.ToLikeString(); Helper.Add("PurchaseOrderPK", purIDs); } var ec = Helper.GetDatas(); EncodeCollection <MMInOrder> sec = new EncodeCollection <MMInOrder>(); EncodeCollection <MMInOrder> tec = new EncodeCollection <MMInOrder>(); if (!rtbMMDef.Text.IsNullOrWhiteSpace()) { var mmHelper = new QueryHelper <MMDefinition>(); var MMnames = rtbMMDef.Text.ToLikeString(); mmHelper.Add("paramname", MMnames); string mmclause = mmHelper.GetSQLCondition(); var mmec = mmHelper.GetDatas(); List <int> DefIDs = new List <int>(); foreach (var data in mmec) { DefIDs.Add(data.ParamID); } foreach (var item in ec) { if (DefIDs.Contains(item.DefPK)) { sec.Add(item); } } if (sec.Count == 0) { var mmidHelper = new QueryHelper <MMDefinition>(); var MMids = rtbMMDef.Text.ToLikeString(); mmidHelper.Add("DefID", MMids); string mmidclause = mmHelper.GetSQLCondition(); mmec = mmidHelper.GetDatas(); DefIDs.Clear(); foreach (var data in mmec) { DefIDs.Add(data.ParamID); } foreach (var item in ec) { if (DefIDs.Contains(item.DefPK)) { sec.Add(item); } } } } else { sec = ec; } if (!rtbSupplier.Text.IsNullOrWhiteSpace()) { var supHelper = new QueryHelper <Supplier>(); var supnames = rtbSupplier.Text.ToLikeString(); supHelper.Add("paramname", supnames); string supclause = supHelper.GetSQLCondition(); var supec = supHelper.GetDatas(); List <int> SupIDs = new List <int>(); foreach (var data in supec) { SupIDs.Add(data.ParamID); } foreach (var item in sec) { if (SupIDs.Contains(item.SupPK)) { tec.Add(item); } } return(tec); } return(sec); }
static public ReturnValue DataStat_old(string sampleid) { //A B C D 对应0,1,2,3 var ec = CheckData.LoadDatasbySampleID(sampleid); if (ec.Count == 0) { return(new ReturnValue(true, (int)QualifyJudgeEnum.UnFinish, "未完成")); } List <int> checkitems = new List <int>(); var order = ec[0].Order; if (order != null && order.GetPlanCheckItemCount > 0) { checkitems = order.PlanCheckItems; } EncodeCollection <CheckData> ecFalse = new EncodeCollection <CheckData>(); foreach (CheckData item in ec) { item.SetPass(); if (item.IsFalse) { ecFalse.Add(item); } if (checkitems.Contains(item.CheckItemID)) { checkitems.Remove(item.CheckItemID); } } if (ecFalse.Count == 0) { if (checkitems.Count > 0) { return(new ReturnValue(true, (int)QualifyJudgeEnum.UnFinish, "合格,但有项目未完成")); } else { return(new ReturnValue(true, (int)QualifyJudgeEnum.Pass, "合格")); } } Dictionary <CheckItemTypeEnum, EncodeCollection <CheckData> > dic = new Dictionary <CheckItemTypeEnum, EncodeCollection <CheckData> >(); foreach (var item in ecFalse) { var checkitem = CheckItem.Instance.GetItembyKey(item.CheckItemID.ToString()); if (checkitem != null) { if (!dic.ContainsKey(checkitem.CheckTypeID)) { dic.Add(checkitem.CheckTypeID, new EncodeCollection <CheckData>()); } dic[checkitem.CheckTypeID].Add(item); } } ReturnValue rv = null; if (dic.ContainsKey(CheckItemTypeEnum.A)) { rv = new ReturnValue(false, (int)QualifyJudgeEnum.False, "有1个以上A类不合格"); } else if (dic.ContainsKey(CheckItemTypeEnum.B) && dic[CheckItemTypeEnum.B].Count >= 2) { rv = new ReturnValue(false, (int)QualifyJudgeEnum.False, "有2个以上B类不合格"); } else if (dic.ContainsKey(CheckItemTypeEnum.D)) { rv = new ReturnValue(false, (int)QualifyJudgeEnum.False, "出现D类不合格"); } else if (dic.ContainsKey(CheckItemTypeEnum.C)) { rv = new ReturnValue(true, (int)QualifyJudgeEnum.UnJudge, "有C类不合格"); } else if (dic.ContainsKey(CheckItemTypeEnum.B)) { rv = new ReturnValue(true, (int)QualifyJudgeEnum.Pass, "有1个B类不合格"); } if (rv != null) { if (checkitems.Count > 0) { return(new ReturnValue(true, (int)QualifyJudgeEnum.UnFinish, "有项目未完成,且" + rv.Message)); } return(rv); } return(new ReturnValue(true)); }
override protected void SetReportView() { if (this.InvokeRequired) { this.BeginInvoke(new SetReportViewHandler(SetReportView)); return; } ReportView.GetLock(); ReportView.ActiveWorksheet.Cells.Clear(); ReportView.ReleaseLock(); SampleStatReportSettings srs = SampleStatReportSettings.Instance; if (_gc == null) { return; } //清空 if (_gc.Count == 0) { return; } //按样品排序 EncodeCollection <CheckOrder> gc = _gc.Copy(); Dictionary <string, System.Reflection.PropertyInfo> dicFieldPI = new Dictionary <string, System.Reflection.PropertyInfo>(); //DataFieldAttribute fBrand = new DataFieldAttribute { ColumnName = "brand", Description = "牌号" }; //head List <string> listHead = new List <string>(); foreach (DataFieldAttribute field in srs.HeadFields) { if (!dicFieldPI.ContainsKey(field.Description)) { dicFieldPI.Add(field.Description, FieldManager.FieldToProperty(typeof(CheckOrder), field.Description)); listHead.Add(field.Description); } } //关键字分类 Dictionary <string, BrandStat> diccon2 = new Dictionary <string, BrandStat>(); Dictionary <string, BrandStat> diccon = new Dictionary <string, BrandStat>(); StringBuilder sbHead = new StringBuilder(); List <string> lsHead = new List <string>(); foreach (CheckOrder cggroup in gc) { if (sbHead.Length > 0) { sbHead.Remove(0, sbHead.Length); } foreach (DataFieldAttribute field in srs.HeadFields) { object value = null; if (dicFieldPI[field.Description] != null) { value = dicFieldPI[field.Description].GetValue(cggroup, null); } string valuestr = ""; if (value != null) { valuestr = value.ToString().Trim(); } sbHead.Append(valuestr + " "); } if (!diccon2.ContainsKey(sbHead.ToString())) { diccon2.Add(sbHead.ToString(), new BrandStat()); diccon2[sbHead.ToString()].Groups.Add(cggroup); lsHead.Add(sbHead.ToString()); } else { diccon2[sbHead.ToString()].Groups.Add(cggroup); } } lsHead.Sort(); for (int i = 0; i < lsHead.Count; i++) { diccon.Add(lsHead[i], diccon2[lsHead[i]]); } if (diccon.Count == 0) { return; } foreach (BrandStat bs in diccon.Values) { bs.Init(); } ReportView.GetLock(); ReportView.ActiveWorksheet.Cells.Clear(); ReportView.ActiveWorksheet.Name = "质检工单统计表"; SpreadsheetGear.IRange irange = ReportView.ActiveWorksheet.Cells; irange.HorizontalAlignment = SpreadsheetGear.HAlign.Left; irange.VerticalAlignment = SpreadsheetGear.VAlign.Center; irange[0, 0].Value = "质检工单统计表"; irange[0, 0, 0, listHead.Count + srs.StatFields.Count].MergeCells = true; irange[0, 0, 0, listHead.Count + srs.StatFields.Count].HorizontalAlignment = SpreadsheetGear.HAlign.Center; for (int i = 0; i < listHead.Count; i++) { irange[1, i].Value = listHead[i];//string.Join(" ", listHead.ToArray()); } //irange[1, listHead.Count].Value = "项目"; irange[0, 0].Font.Bold = false; irange[0, 0].Font.Size = 18; SpreadsheetGear.IBorders border = irange[0, 0, 0, srs.StatFields.Count + listHead.Count].Borders; border[SpreadsheetGear.BordersIndex.EdgeBottom].Weight = SpreadsheetGear.BorderWeight.Thin; border = irange[1, 0, 1, srs.StatFields.Count + listHead.Count].Borders; border[SpreadsheetGear.BordersIndex.EdgeBottom].Weight = SpreadsheetGear.BorderWeight.Thin; irange[1, 0, 1, srs.StatFields.Count + listHead.Count].Font.Bold = false; irange[1, 0, 1, srs.StatFields.Count + listHead.Count].Font.Size = 14; int HeadCount = listHead.Count - 1; if (HeadCount < 0) { HeadCount = 0; } for (int l = 0; l < srs.StatFields.Count; l++) { irange[1, HeadCount + l + 1].Value = srs.StatFields[l].Description; irange[1, HeadCount + l + 1].Font.Bold = false; } ReportView.ReleaseLock(); int newrow = 2; // List<BrandStat> listBS = new List<BrandStat>(diccon.Values); List <string> listBS = new List <string>(diccon.Keys); listBS.Sort(); foreach (string key in listBS) { BrandStat bs = diccon[key]; if (bAbort) { break; } if (bs.Stats.Count == 0) { continue; } Application.DoEvents(); ReportView.GetLock(); for (int l = 0; l < listHead.Count; l++) { FieldValue fv = FieldManager.GetFieldValue(bs.Groups[0], listHead[l]); if (fv != null) { irange[newrow, l].Value = fv.GetSafeValue(); irange[newrow, l].Font.Bold = true; } } // irange[newrow, 0].Value = key;// bs.GetBrand(); border = irange[newrow, 0, newrow, srs.StatFields.Count + HeadCount].Borders; border[SpreadsheetGear.BordersIndex.EdgeTop].Weight = SpreadsheetGear.BorderWeight.Thin; for (int l = 0; l < bs.Stats.Count; l++) { int row = 0; for (int j = 0; j < srs.StatFields.Count; j++) { object data = bs.Stats[l].GetFieldValue(srs.StatFields[j]); irange[newrow + row, j + HeadCount + 1].NumberFormat = SetNumberFormat(data.ToString()); irange[newrow + row, j + HeadCount + 1].Value = data;// bs.Stats[l].GetFieldValue(srs.StatFields[j]); } } newrow += 1; ReportView.ReleaseLock(); } ReportView.GetLock(); ReportView.ActiveWorksheetWindowInfo.SplitRows = 2; ReportView.ActiveWorksheetWindowInfo.FreezePanes = true; ReportView.ActiveWorksheet.Cells.Columns.AutoFit(); ReportView.ReleaseLock(); }
private void rbtQuery_Click(object sender, EventArgs e) { EncodeCollection <CheckData> ec = Encode.EncodeData.GetDatas <CheckData>(); _grid.SetGrid(ec); }
static public bool CheckSampleIDExist(string sampleid) { EncodeCollection <CheckOrder> ec = Encode.EncodeData.GetDatas <CheckOrder>("sampleid = '" + sampleid + "'", string.Empty, 1); return(ec.Count > 0); }
public void SetData(EncodeCollection <CheckOrder> datas) { report.QueryResult(datas); }
override protected void SetReportView() { if (this.InvokeRequired) { this.BeginInvoke(new SetReportViewHandler(SetReportView)); return; } ReportView.GetLock(); try { ReportView.ActiveWorksheet.Cells.Clear(); } finally { ReportView.ReleaseLock(); } SampleStatReportSettings srs = SampleStatReportSettings.Instance; if (_gc == null) { return; } //清空 if (_gc.Count == 0) { return; } //按样品排序 EncodeCollection <CheckOrder> gc = _gc.Copy(); Dictionary <string, System.Reflection.PropertyInfo> dicFieldPI = new Dictionary <string, System.Reflection.PropertyInfo>(); //DataFieldAttribute fBrand = new DataFieldAttribute { ColumnName = "brand", Description = "牌号" }; //head List <string> listHead = new List <string>(); foreach (DataFieldAttribute field in srs.HeadFields) { if (!dicFieldPI.ContainsKey(field.Description)) { dicFieldPI.Add(field.Description, FieldManager.FieldToProperty(typeof(CheckOrder), field.Description)); listHead.Add(field.Description); } } //关键字分类 Dictionary <string, BrandStat> diccon2 = new Dictionary <string, BrandStat>(); Dictionary <string, BrandStat> diccon = new Dictionary <string, BrandStat>(); StringBuilder sbHead = new StringBuilder(); List <string> lsHead = new List <string>(); foreach (CheckOrder cggroup in gc) { if (sbHead.Length > 0) { sbHead.Remove(0, sbHead.Length); } foreach (DataFieldAttribute field in srs.HeadFields) { object value = null; if (dicFieldPI[field.Description] != null) { value = dicFieldPI[field.Description].GetValue(cggroup, null); } string valuestr = ""; if (value != null) { valuestr = value.ToString().Trim(); } sbHead.Append(valuestr + " "); } if (!diccon2.ContainsKey(sbHead.ToString())) { diccon2.Add(sbHead.ToString(), new BrandStat()); diccon2[sbHead.ToString()].Groups.Add(cggroup); lsHead.Add(sbHead.ToString()); } else { diccon2[sbHead.ToString()].Groups.Add(cggroup); } } lsHead.Sort(); for (int i = 0; i < lsHead.Count; i++) { diccon.Add(lsHead[i], diccon2[lsHead[i]]); } if (diccon.Count == 0) { return; } foreach (BrandStat bs in diccon.Values) { bs.Init(); } //decisions List <int> listDecision = new List <int>(); foreach (DataFieldAttribute field in srs.DecisionsFields) { //if (!listDecision.Contains(field.)) //{ // listDecision.Add(field.ColumnName); //} } int colCount = listHead.Count + srs.StatFields.Count + listDecision.Count; int HeadCount = listHead.Count - 1; int tmpCol = HeadCount + srs.StatFields.Count + 1; ReportView.GetLock(); ReportView.ActiveWorksheet.Cells.Clear(); ReportView.ActiveWorksheet.Name = "质检工单统计表"; SpreadsheetGear.IRange irange = ReportView.ActiveWorksheet.Cells; SpreadsheetGear.IBorders border = null; try { irange.HorizontalAlignment = SpreadsheetGear.HAlign.Left; irange.VerticalAlignment = SpreadsheetGear.VAlign.Center; irange[0, 0].Value = "中粮长城葡萄酒(烟台)有限公司"; irange[1, 0].Value = "质量检验数据统计分析表"; irange[2, 0].Value = string.Format("统计期间:{0} 至 {1}", gc[0].PlanCheckDate, gc[gc.Count - 1].PlanCheckDate); for (int i = 0; i < 2; i++) { irange[i, 0, i, colCount].MergeCells = true; irange[i, 0, i, colCount].HorizontalAlignment = SpreadsheetGear.HAlign.Center; irange[i, 0].Font.Bold = false; irange[i, 0].Font.Size = 20; } for (int i = 0; i < listHead.Count; i++) { irange[3, i].Value = listHead[i];//string.Join(" ", listHead.ToArray()); irange[3, i, 4, i].MergeCells = true; } border = irange[2, 0, 2, colCount].Borders; border[SpreadsheetGear.BordersIndex.EdgeBottom].Weight = SpreadsheetGear.BorderWeight.Thin; border = irange[3, 0, 3, colCount].Borders; border[SpreadsheetGear.BordersIndex.EdgeBottom].Weight = SpreadsheetGear.BorderWeight.Thin; irange[3, 0, 3, colCount].Font.Bold = false; irange[3, 0, 3, colCount].Font.Size = 14; if (HeadCount < 0) { HeadCount = 0; } for (int l = 0; l < srs.StatFields.Count; l++) { irange[3, HeadCount + l + 1].Value = srs.StatFields[l].Description; irange[3, HeadCount + l + 1].Font.Bold = false; irange[3, HeadCount + l + 1, 4, HeadCount + l + 1].MergeCells = true; } //decisions if (listDecision.Count > 0) { irange[3, tmpCol].Value = "使用决策情况统计"; irange[3, tmpCol, 3, colCount].HorizontalAlignment = SpreadsheetGear.HAlign.Center; irange[3, tmpCol, 3, tmpCol + listDecision.Count].MergeCells = true; irange[4, tmpCol].Value = "合格率%"; for (int i = 1; i <= listDecision.Count; i++) { irange[4, tmpCol + i].Value = listDecision[i - 1]; } } } catch (Exception err) { ReturnValue.ShowMessage(err.Message); return; } finally { ReportView.ReleaseLock(); } int newrow = 5; // List<BrandStat> listBS = new List<BrandStat>(diccon.Values); List <string> listBS = new List <string>(diccon.Keys); listBS.Sort(); foreach (string key in listBS) { BrandStat bs = diccon[key]; if (bAbort) { break; } if (bs.Stats.Count == 0) { continue; } Application.DoEvents(); ReportView.GetLock(); try { for (int l = 0; l < listHead.Count; l++) { FieldValue fv = FieldManager.GetFieldValue(bs.Groups[0], listHead[l]); if (fv != null) { irange[newrow, l].Value = fv.GetSafeValue(); irange[newrow, l].Font.Bold = true; } } // irange[newrow, 0].Value = key;// bs.GetBrand(); border = irange[newrow, 0, newrow, colCount].Borders; border[SpreadsheetGear.BordersIndex.EdgeTop].Weight = SpreadsheetGear.BorderWeight.Thin; for (int l = 0; l < bs.Stats.Count; l++) { for (int j = 0; j < srs.StatFields.Count; j++) { object data = bs.Stats[l].GetFieldValue(srs.StatFields[j]); if (data != null) { irange[newrow, j + HeadCount + 1].NumberFormat = SetNumberFormat(data.ToString()); irange[newrow, j + HeadCount + 1].Value = data;// bs.Stats[l].GetFieldValue(srs.StatFields[j]); } } irange[newrow, tmpCol].Value = bs.Stats[l].UseGoodRate; for (int i = 1; i <= listDecision.Count; i++) { irange[newrow, tmpCol + i].Value = bs.Stats[l].UsageDecisionStat(listDecision[i - 1]); } } newrow += 1; } catch (Exception err) { ReturnValue.ShowMessage(err.Message); break; } finally { ReportView.ReleaseLock(); } } ReportView.GetLock(); try { irange[4, 0, newrow, colCount].HorizontalAlignment = SpreadsheetGear.HAlign.Right; ReportView.ActiveWorksheetWindowInfo.SplitRows = 5; ReportView.ActiveWorksheetWindowInfo.FreezePanes = true; irange[3, 0, 5, colCount].Columns.AutoFit(); ReportView.ActiveWorksheet.Cells.Rows.AutoFit(); } finally { ReportView.ReleaseLock(); } }