private void BtnEdit_Click(object sender, RoutedEventArgs e)
        {
            var statusresult = AppSession.Dal.GetCommonModelByConditionWithZero <PipeOrder>($"where status ={StationCacheStatus.已经套料.GetIndexInt()}").Data;

            if (DGMain.SelectedItem == null)
            {
                MessageBox.Show("请先选中一条数据!");
            }
            if (DGMain.SelectedItems.Count > 1)
            {
                MessageBox.Show("每次只能选择一条");
                return;
            }
            else
            {
                PipeOrder temp = (PipeOrder)DGMain.SelectedItem;
                foreach (var statusid in statusresult)
                {
                    if (statusid.Id == temp.Id)
                    {
                        MessageBox.Show($"选中的工单ID为:{ temp.Id}的状态有已经套料过的工单!请重选");
                        return;
                    }
                }
                WinOrderAddOrEdit win = new WinOrderAddOrEdit(temp.Id);
                win.ShowDialog();
                Query();
            }
        }
        private void Init()
        {
            //管材缓存状态列表
            var StationCacheStatusList = CommonHelper.EnumListDic <OrderStatus>("");

            cbxStatus.ItemsSource       = StationCacheStatusList;
            cbxStatus.DisplayMemberPath = "Value";
            cbxStatus.SelectedValuePath = "Key";
            if (Id == null)
            {
                //新增
            }
            else
            {
                //编辑
                BllResult <List <PipeOrder> > result = AppSession.Dal.GetCommonModelByCondition <PipeOrder>($"where id ={Id}");
                if (result.Success)
                {
                    CurrentPipeOrder = result.Data[0];
                    //CurrentEquipmentType.Id = temp.Id;
                    //CurrentEquipmentType.Code = temp.Code;
                    //CurrentEquipmentType.Name = temp.Name;
                    //CurrentEquipmentType.Description = temp.Description;
                    //CurrentEquipmentType.Created = temp.Created;
                    //CurrentEquipmentType.CreatedBy = temp.CreatedBy;
                    //TxtEquipmentTypeCode.IsReadOnly = true;
                }
                else
                {
                    MessageBox.Show($"查询设备类型详情失败:{result.Msg}");
                }
            }
        }
 public WinCutPlanAddOrEdit(int? id, PipeOrder head)
 {
     InitializeComponent();
     this.Id = id;
     this.Head = head;
     this.Title = id == null ? "新增" : "编辑";
     Init();
     this.GridMain.DataContext = CurrentCutPlan;
 }
        private void QueryDetail(PipeOrder item)
        {
            //重新查询一遍主数据,防止同步删除
            BllResult <List <PipeOrder> > result = AppSession.Dal.GetCommonModelByCondition <PipeOrder>($"where id ={item.Id}");

            if (result.Success)
            {
                var temp = result.Data[0];
                CurrentPipeOrder.Id   = temp.Id;
                CurrentPipeOrder.Code = temp.Code;
                //CurrentPipeOrder.Name = temp.Name;
                //CurrentPipeOrder.Description = temp.Description;
                CurrentPipeOrder.CreateTime = temp.CreateTime;
                CurrentPipeOrder.CreateBy   = temp.CreateBy;
                CurrentPipeOrder.CreateTime = temp.CreateTime;
                CurrentPipeOrder.UpdateBy   = temp.UpdateBy;

                string sql = " ";
                if (!String.IsNullOrWhiteSpace(TxtMainCode.Text))
                {
                    sql += $" and WONumber like '%{TxtMainCode.Text}%'";
                }
                if (!String.IsNullOrWhiteSpace(TxtMainId.Text))
                {
                    sql += $" and stationCacheId like '%{TxtMainId.Text}%'";
                }

                //查询属性模板
                //var a = AppSession.Dal.GetCommonModelByCondition<CutPlan>(sql );
                var a = AppSession.Dal.GetCommonModelByCondition <CutPlan>($"where WONumber = '{CurrentPipeOrder.Code}'" + sql);
                if (a.Success)
                {
                    DGDetail.ItemsSource = a.Data;
                }
                else
                {
                    DGDetail.ItemsSource = null;
                    MessageBox.Show($"查询当前工单模板失败:{a.Msg}");
                }
                TIDetail.IsSelected = true;
            }
            else
            {
                MessageBox.Show("未能查询到主数据,请刷新");
                TIMain.IsSelected = true;
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 导入Excel工单
        /// </summary>
        private BllResult importExcelOrder()
        {
            try
            {
                var countResult = AppSession.Dal.GetCommonModelCount <PipeOrder>($" where status = { StationCacheStatus.初始.GetIndexString()}");
                if (!countResult.Success)
                {
                    return(BllResultFactory.Error($"在数据库中查询未套料工单的时候,查询数据库发生错误,原因:{countResult.Msg}"));
                }
                if (countResult.Data > 0)
                {
                    return(BllResultFactory.Error($"数据库中存在未套料工单,不要反复保存!"));
                }
                foreach (var value in outputlist)
                {
                    value.clear();
                }
                outputgrid1.ItemsSource = null;

                var dateresult = cSVFile.OpenCSVFile();
                if (dateresult == null)
                {
                    return(BllResultFactory.Error("未能成功打开CSV文件"));
                }

                if (dateresult.Columns.Count != 7)
                {
                    return(BllResultFactory.Error("CSV文件列数不正确,无法导入"));
                }
                for (int i = 0; i < dateresult.Rows.Count; i++)
                {
                    string ZuDuiCheck = dateresult.Rows[i][6].ToString().Replace(" ", "");
                    //string TiaoMa = dateresult.Rows[i][5].ToString().Replace(" ", "");
                    if (ZuDuiCheck != "1" && ZuDuiCheck != "2" && ZuDuiCheck != "3" && ZuDuiCheck != "4")
                    {
                        return(BllResultFactory.Error("模板中组对平台值错误,平台值只能为1、2、3、4"));
                    }

                    DataView myDataView = new DataView(dateresult);
                    if (myDataView.ToTable(true, "条码").Rows.Count < dateresult.Rows.Count)
                    {
                        return(BllResultFactory.Error("条码重复,请检查"));
                    }
                }

                for (int i = 0; i < dateresult.Rows.Count; i++)
                {
                    //外径
                    string WaiJing = dateresult.Rows[i][1].ToString().Replace(" ", "");
                    //壁厚
                    string BiHou = dateresult.Rows[i][2].ToString().Replace(" ", "");
                    //材质
                    string CaiZhi = dateresult.Rows[i][0].ToString().Replace(" ", "");
                    //等级
                    string Dengji = dateresult.Rows[i][4].ToString().Replace(" ", "");
                    //长度
                    string Length = dateresult.Rows[i][3].ToString().Replace(" ", "");
                    //条码
                    string Code = dateresult.Rows[i][5].ToString().Replace(" ", "");//cf
                    //组对工位
                    string ZuDui = dateresult.Rows[i][6].ToString().Replace(" ", "");

                    if (!decimal.TryParse(WaiJing, out decimal diameter))
                    {
                        continue;
                    }
                    if (!decimal.TryParse(BiHou, out decimal thickness))
                    {
                        continue;
                    }
                    if (!int.TryParse(CaiZhi, out int productCode))
                    {
                        continue;
                    }
                    if (string.IsNullOrWhiteSpace(Dengji))
                    {
                        continue;
                    }
                    if (!int.TryParse(Length, out int lengthInt))
                    {
                        continue;
                    }
                    if (!int.TryParse(ZuDui, out int AssemblyStation))
                    {
                        continue;
                    }

                    //var transfer = AppSession.Dal.GetCommonModelByCondition<ProductHeader>($"where name = '{CaiZhi}'");
                    //if(!transfer.Success)
                    //{
                    //    MessageBox.Show($"查找材料对应信息失败,请检查字典是否录入相关材料信息");
                    //    return;
                    //}

                    //将表格中内容写入数据库
                    PipeOrder pipeOrder = new PipeOrder();
                    pipeOrder.Diameter        = diameter;
                    pipeOrder.Thickness       = thickness;
                    pipeOrder.ProductCode     = productCode;
                    pipeOrder.Length          = lengthInt;
                    pipeOrder.Status          = StationCacheStatus.初始.GetIndexInt();
                    pipeOrder.Code            = Code;
                    pipeOrder.AssemblyStation = AssemblyStation;//cf
                    //pipeOrder.StationCode = 1;
                    var insertResult = AppSession.Dal.InsertCommonModel <PipeOrder>(pipeOrder);
                    if (!insertResult.Success)
                    {
                        continue;
                    }
                    else
                    {
                        pipeOrder.Id = insertResult.Data;
                    }
                    outputlist[i].WaiJing         = WaiJing;
                    outputlist[i].BiHou           = BiHou;
                    outputlist[i].CaiZhi          = CaiZhi;
                    outputlist[i].Dengji          = Dengji;
                    outputlist[i].length          = lengthInt;
                    outputlist[i].GuanJianBianHao = pipeOrder.Id.ToString();
                    outputlist[i].Code            = Code;//cf
                    outputlist[i].AssemblyStation = AssemblyStation;
                }
                int realcount = outputlist.Count(a => !string.IsNullOrWhiteSpace(a.WaiJing));
                if (realcount != dateresult.Rows.Count)
                {
                    return(BllResultFactory.Error("未能全部导入文件内容,部分数据为空或格式不正确,实际导入" + realcount + "条数据"));
                }
                else
                {
                    return(BllResultFactory.Sucess("导入Excel工单成功!"));
                }
            }
            catch (Exception ex)
            {
                return(BllResultFactory.Error($"导入Excel工单发生异常:{ex.Message}"));
            }
        }