Esempio n. 1
0
        //============================================================

        private void MatchOperation(int modid)
        {
            #region 匹配生产订单行对应指令单子件工艺
            var wodal = new WorkOrderDAL();

            var dtRouter = wodal.GetRouter(modid);
            var dtDetail = wodal.GetDetail(modid);

            foreach (DataRow d in dtDetail.Rows)
            {
                if (string.IsNullOrEmpty(d["operationId"].ToString()))
                {
                    continue;
                }

                var gyArray = dtRouter.Select("operationId = " + d["operationId"] + " and guid = '" + d["guid"] + "'");
                if (gyArray != null && gyArray.Length == 1)
                {
                    d["routerId"] = gyArray[0]["autoid"];

                    var autoid   = Convert.ToInt32(d["AutoId"]);
                    var routerid = Convert.ToInt32(d["routerId"]);

                    wodal.UpdateWODRouterId(autoid, routerid);
                }
                else
                {
                    continue;
                }
            }
            #endregion
        }
Esempio n. 2
0
        private void LoadDetails(int modid)
        {
            var wodal = new WorkOrderDAL();

            this.gridControl2.DataSource = wodal.GetWorkOrderList(modid);
            this.gridControl3.DataSource = wodal.GetRouter(modid);
        }
Esempio n. 3
0
        private void FormLoad(object sender, EventArgs e)
        {
            #region 加载主窗体事件

            new Thread(() => {
                this.BeginInvoke(new Action(() =>
                {
                    dvDetail = dal.GetDetail(woGuid).DefaultView;
                    this.gridControl1.DataSource = dvDetail;
                }));
            }).Start();


            repositoryItemLookUpEdit1.DataSource    = dal.GetRouter(woGuid);
            repositoryItemLookUpEdit1.KeyMember     = "autoid";
            repositoryItemLookUpEdit1.ValueMember   = "autoid";
            repositoryItemLookUpEdit1.DisplayMember = "OpName";

            repositoryItemLookUpEdit1.Columns.AddRange(
                new DevExpress.XtraEditors.Controls.LookUpColumnInfo[]
            {
                new DevExpress.XtraEditors.Controls.LookUpColumnInfo("OpSeq", "序号"),
                new DevExpress.XtraEditors.Controls.LookUpColumnInfo("OpName", "工序")
            });

            #endregion
        }
Esempio n. 4
0
        private void LoadData()
        {
            string[] wheres = new string[]
            {
                "isnull(repQty,0) < iQuantity"
            };

            this.mData = dal.GetRouter(wheres);
            this.gridControl1.DataSource = mData;
        }
Esempio n. 5
0
        private void FormLoad(object sender, EventArgs e)
        {
            #region 加载主窗体事件

            new Thread(() => {
                this.BeginInvoke(new Action(() =>
                {
                    dvRouter = dal.GetRouter(woGuid).DefaultView;
                    this.gridControl1.DataSource = dvRouter;
                }));
            }).Start();

            #endregion
        }
Esempio n. 6
0
        private void BtnEdit_Click(object sender, EventArgs e)
        {
            //string guid = gridView1.GetFocusedRowCellValue("guid").ToString();
            //FmWODetail frm = new FmWODetail(guid);
            //frm.ShowDialog();

            #region 修改工序
            if (dal.ExistRef(model.Guid))
            {
                throw new Exception("已经生成流转卡,不能修改!");
            }

            FmWORouter frm = new FmWORouter(model.Guid);
            if (frm.ShowDialog() == DialogResult.OK)
            {
                gridControl3.DataSource = dal.GetRouter(model.Guid);
            }
            #endregion
        }
Esempio n. 7
0
        /// <summary>
        /// 指令单生成
        /// </summary>
        private void ExpDetail(object obj, EventArgs e)
        {
            #region 生成指令单

            if (dtM == null || dtM.Rows.Count < 1)
            {
                throw new Exception("表体没有记录!");
            }

            int modid = Convert.ToInt32(gridView1.GetFocusedRowCellValue("modid"));

            var wodal = new WorkOrderDAL();

            if (wodal.ExistWorkOrder(modid))
            {
                throw new Exception("已经生成指令单!");
            }
            else if (gridView1.GetFocusedRowCellValue("BomId").ToString() == "")
            {
                throw new Exception("生产订单没有选择BOM,请检查!");
            }
            //else if(!wodal.ExistBOM(modid))
            //{
            //    throw new Exception("没有BOM,请检查!");
            //}
            //是否存在工艺路线
            else if (!wodal.ExistPRouting(modid))
            {
                if (MsgBox.ShowYesNoMsg("没有工艺路线,是否加载默认工艺!") == DialogResult.Yes)
                {
                    dal.CreateWorkOrderRouting(modid, "001", Information.UserInfo.cUser_Name);
                }
                //throw new Exception("没用工艺路线,请检查");
            }
            else
            {
                dal.CreateWorkOrder(modid, Information.UserInfo.cUser_Name);
            }

            var dtWorkOrder = wodal.GetWorkOrderList(modid);
            var dtRouter    = wodal.GetRouter(modid);
            this.gridControl2.DataSource = dtWorkOrder;
            this.gridControl3.DataSource = dtRouter;


            //匹配指令单材料对应工序
            MatchOperation(modid);

            #region 检查已生成指令单是否有工艺路线
            string msg    = "";
            bool   bExist = false;
            foreach (DataRow r in dtWorkOrder.Rows)
            {
                foreach (DataRow r2 in dtRouter.Rows)
                {
                    if (r["WOCode"].ToString() == r2["WOCode"].ToString())
                    {
                        bExist = true;
                        break;
                    }

                    bExist = false;
                }

                if (!bExist)
                {
                    msg += r["WOCode"] + "没有工艺路线; \r\n";
                }
                else
                {
                    continue;
                }
            }
            if (msg != "")
            {
                MsgBox.ShowInfoMsg(msg);
            }

            #endregion

            #endregion

            using (var frm = new FmWOList(modid))
            {
                frm.ShowDialog();
            }
        }