Ejemplo n.º 1
0
        protected override void cmdDelete_Click(object sender, EventArgs e)
        {
            if (_facade == null)
            {
                _facade = new MaterialFacade(this.DataProvider);
            }

            ArrayList            rowList           = this.gridHelper.GetCheckedRows();
            List <MaterialIssue> materialIssueList = new List <MaterialIssue>();

            foreach (UltraGridRow row in rowList)
            {
                if (row.Cells[6].Text == this.languageComponent1.GetString(MaterialIssueStatus.MaterialIssueStatus_Close))
                {
                    WebInfoPublish.PublishInfo(this, "$Close_Cannot_Delete", this.languageComponent1);
                    return;
                }
                MaterialIssue materialIssue = (MaterialIssue)_facade.GetMaterialIssue(FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtBigSSCodeGroupQuery.Text)),
                                                                                      FormatHelper.TODateInt(this.txtPlanDateFromQuery.Text),
                                                                                      FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtMoQuery.Text)),
                                                                                      Convert.ToDecimal(this.txtMOSeqQuery.Text.Trim()),
                                                                                      Convert.ToDecimal(row.Cells[1].Text));
                if (materialIssue != null)
                {
                    materialIssueList.Add(materialIssue);
                }
            }

            if (materialIssueList.Count > 0)
            {
                this._facade.DeleteMaterialIssue((MaterialIssue[])materialIssueList.ToArray());
            }

            this.RequestData();
        }
Ejemplo n.º 2
0
        protected override void AddDomainObject(object domainObject)
        {
            if (_facade == null)
            {
                _facade = new MaterialFacade(this.DataProvider);
            }
            DBDateTime    dBDateTime    = FormatHelper.GetNowDBDateTime(this.DataProvider);
            MaterialIssue materialIssue = domainObject as MaterialIssue;

            this._facade.AddMaterialIssue(materialIssue);
            WorkPlan workPlan = (WorkPlan)_facade.GetWorkPlan(materialIssue.BigSSCode, materialIssue.PlanDate, materialIssue.MoCode, materialIssue.MoSeq);

            if (workPlan != null)
            {
                workPlan.MaterialStatus = MaterialWarningStatus.MaterialWarningStatus_Responsed;
                workPlan.PromiseTime    = dBDateTime.DBTime;
                _facade.UpdateWorkPlan(workPlan);
            }
            this.txtRationNumberEdit.Text = string.Empty;
        }
Ejemplo n.º 3
0
        protected override object GetEditObject()
        {
            if (_facade == null)
            {
                _facade = new MaterialFacade(this.DataProvider);
            }
            DBDateTime    dBDateTime    = FormatHelper.GetNowDBDateTime(this.DataProvider);
            MaterialIssue materialIssue = this._facade.CreateNewMaterialIssue();

            materialIssue.PlanDate     = FormatHelper.TODateInt(this.txtPlanDateFromQuery.Text);
            materialIssue.BigSSCode    = FormatHelper.CleanString(this.txtBigSSCodeGroupQuery.Text.Trim().ToUpper());
            materialIssue.MoCode       = FormatHelper.CleanString(this.txtMoQuery.Text.Trim().ToUpper());
            materialIssue.MoSeq        = Convert.ToDecimal(this.txtMOSeqQuery.Text.Trim());
            materialIssue.IssueSEQ     = _facade.GetMaterialIssueMaxIssueSEQ(materialIssue.BigSSCode, materialIssue.PlanDate, materialIssue.MoCode, materialIssue.MoSeq);
            materialIssue.IssueQTY     = Convert.ToDecimal(this.txtRationNumberEdit.Text);
            materialIssue.IssueType    = MaterialIssueType.MaterialIssueType_Issue;
            materialIssue.IssueStatus  = MaterialIssueStatus.MaterialIssueStatus_Delivered;
            materialIssue.MaintainUser = this.GetUserCode();
            materialIssue.MaintainDate = dBDateTime.DBDate;
            materialIssue.MaintainTime = dBDateTime.DBTime;

            return(materialIssue);
        }
Ejemplo n.º 4
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            this.txtMoCode.TextFocus(false, true);

            MaterialFacade materialFacade = new MaterialFacade(this.DataProvider);

            if (!HaveSelectedGrid())
            {
                return;
            }

            if (!GridCheckd())
            {
                return;
            }

            try
            {
                this.DataProvider.BeginTransaction();
                DBDateTime dBDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider);

                for (int i = 0; i < ultraGridMaterial.Rows.Count; i++)
                {
                    if (ultraGridMaterial.Rows[i].Cells[0].Value.ToString().ToLower() == "true")
                    {
                        MaterialIssue materialIssue = (MaterialIssue)materialFacade.GetMaterialIssue(ultraGridMaterial.Rows[i].Cells["BigSSCode"].Value.ToString(),
                                                                                                     int.Parse(ultraGridMaterial.Rows[i].Cells["PlanDate"].Value.ToString()),
                                                                                                     ultraGridMaterial.Rows[i].Cells["MoCode"].Value.ToString(),
                                                                                                     int.Parse(ultraGridMaterial.Rows[i].Cells["MoSEQ"].Value.ToString()),
                                                                                                     int.Parse(ultraGridMaterial.Rows[i].Cells["IssueSEQ"].Value.ToString()));
                        if (materialIssue != null)
                        {
                            materialFacade.UpdateMaterialIssueIssueStatus(materialIssue);

                            MaterialIssue newMaterialIssue = materialFacade.CreateNewMaterialIssue();
                            newMaterialIssue.BigSSCode = ultraGridMaterial.Rows[i].Cells["BigSSCode"].Value.ToString();
                            newMaterialIssue.PlanDate  = int.Parse(ultraGridMaterial.Rows[i].Cells["PlanDate"].Value.ToString());
                            newMaterialIssue.MoCode    = ultraGridMaterial.Rows[i].Cells["MoCode"].Value.ToString();
                            newMaterialIssue.MoSeq     = Convert.ToDecimal(ultraGridMaterial.Rows[i].Cells["MoSEQ"].Value.ToString());
                            newMaterialIssue.IssueSEQ  = materialFacade.GetMaterialIssueMaxIssueSEQ(newMaterialIssue.BigSSCode,
                                                                                                    newMaterialIssue.PlanDate,
                                                                                                    newMaterialIssue.MoCode,
                                                                                                    newMaterialIssue.MoSeq);
                            newMaterialIssue.IssueQTY     = Convert.ToDecimal(ultraGridMaterial.Rows[i].Cells["IssueQTY"].Value.ToString());
                            newMaterialIssue.IssueType    = MaterialIssueType.MaterialIssueType_Receive;
                            newMaterialIssue.IssueStatus  = MaterialIssueStatus.MaterialIssueStatus_Close;
                            newMaterialIssue.MaintainUser = ApplicationService.Current().UserCode;
                            newMaterialIssue.MaintainDate = dBDateTime.DBDate;
                            newMaterialIssue.MaintainTime = dBDateTime.DBTime;

                            materialFacade.AddMaterialIssue(newMaterialIssue);

                            //更新BigSSCode+MoCode所有的预警信息
                            object[] workPlanObjects = materialFacade.QueryWorkPlan(newMaterialIssue.BigSSCode, newMaterialIssue.MoCode);
                            if (workPlanObjects != null)
                            {
                                for (int j = 0; j < workPlanObjects.Length; j++)
                                {
                                    WorkPlan workPlanUpdate = workPlanObjects[j] as WorkPlan;

                                    //更新当前项次的数量
                                    if (workPlanUpdate.PlanDate == newMaterialIssue.PlanDate &&  workPlanUpdate.MoSeq == newMaterialIssue.MoSeq)
                                    {
                                        workPlanUpdate.MaterialQty += Convert.ToInt32(ultraGridMaterial.Rows[i].Cells["RecevieQTY"].Value.ToString());
                                    }

                                    workPlanUpdate.LastReceiveTime = dBDateTime.DBTime;
                                    workPlanUpdate.LastReqTime     = 0;
                                    workPlanUpdate.PromiseTime     = 0;
                                    workPlanUpdate.MaterialStatus  = MaterialWarningStatus.MaterialWarningStatus_No;

                                    materialFacade.UpdateWorkPlan(workPlanUpdate);
                                }
                            }

                            materialFacade.UpdateMaterialReqInfo(ultraGridMaterial.Rows[i].Cells["BigSSCode"].Value.ToString(), ultraGridMaterial.Rows[i].Cells["MoCode"].Value.ToString());
                        }
                    }
                }

                this.DataProvider.CommitTransaction();
                ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Success, "$CS_RecevieMaterial_Success"));
            }
            catch (Exception ex)
            {
                this.DataProvider.RollbackTransaction();

                Messages msg = new Messages();
                msg.Add(new UserControl.Message(ex));
                ApplicationRun.GetInfoForm().Add(msg);
            }

            this.btnQuery_Click(sender, e);
        }
Ejemplo n.º 5
0
        protected void cmdSaveTotal_ServerClick(object sender, EventArgs e)
        {
            if (_facade == null)
            {
                _facade = new MaterialFacade(this.DataProvider);
            }

            if (this.gridHelper.GetCheckedRows().Count < 1)
            {
                WebInfoPublish.PublishInfo(this, "$CS_GRID_SELECT_ONE_RECORD", this.languageComponent1);
                return;
            }

            if (!CheckGridValue())
            {
                return;
            }

            ArrayList  rowList             = this.gridHelper.GetCheckedRows();
            decimal    materialTransNumber = 0;
            DBDateTime dBDateTime          = FormatHelper.GetNowDBDateTime(this.DataProvider);

            try
            {
                this.DataProvider.BeginTransaction();

                foreach (UltraGridRow row in rowList)
                {
                    //更新的oldWorkPlan的MaterialQty
                    WorkPlan oldWorkPlan = (WorkPlan)_facade.GetWorkPlan(row.Cells[2].Text.Trim(),
                                                                         Convert.ToInt32(row.Cells[1].Text),
                                                                         row.Cells[4].Text.Trim(),
                                                                         Convert.ToDecimal(row.Cells[5].Text.Trim()));
                    if (oldWorkPlan != null)
                    {
                        oldWorkPlan.MaterialQty = oldWorkPlan.MaterialQty - Convert.ToDecimal(row.Cells[11].Text.Trim());
                    }

                    _facade.UpdateWorkPlan(oldWorkPlan);
                    //end

                    //新增转出Trans
                    MaterialIssue newOutMaterialIssue = new MaterialIssue();

                    newOutMaterialIssue.BigSSCode = row.Cells[2].Text.Trim();
                    newOutMaterialIssue.PlanDate  = Convert.ToInt32(row.Cells[1].Text);
                    newOutMaterialIssue.MoCode    = row.Cells[4].Text.Trim();
                    newOutMaterialIssue.MoSeq     = Convert.ToDecimal(row.Cells[5].Text.Trim());
                    newOutMaterialIssue.IssueSEQ  = _facade.GetMaterialIssueMaxIssueSEQ(newOutMaterialIssue.BigSSCode, newOutMaterialIssue.PlanDate,
                                                                                        newOutMaterialIssue.MoCode, newOutMaterialIssue.MoSeq);
                    newOutMaterialIssue.IssueQTY     = Convert.ToDecimal(row.Cells[11].Text.Trim());
                    newOutMaterialIssue.IssueType    = MaterialIssueType.MaterialIssueType_LineTransferOut;
                    newOutMaterialIssue.IssueStatus  = MaterialIssueStatus.MaterialIssueStatus_Close;
                    newOutMaterialIssue.MaintainUser = this.GetUserCode();
                    newOutMaterialIssue.MaintainDate = dBDateTime.DBDate;
                    newOutMaterialIssue.MaintainTime = dBDateTime.DBTime;

                    _facade.AddMaterialIssue(newOutMaterialIssue);
                    //end

                    materialTransNumber += Convert.ToDecimal(row.Cells[11].Text.Trim());
                }

                //新增转入Trans
                MaterialIssue newInMaterialIssue = new MaterialIssue();

                newInMaterialIssue.BigSSCode = ViewState["bigSSCode"].ToString();
                newInMaterialIssue.PlanDate  = Convert.ToInt32(ViewState["planDate"].ToString());
                newInMaterialIssue.MoCode    = this.txtMOEdit.Text.Trim().ToUpper();
                newInMaterialIssue.MoSeq     = Convert.ToDecimal(ViewState["moSeq"].ToString());
                newInMaterialIssue.IssueSEQ  = _facade.GetMaterialIssueMaxIssueSEQ(newInMaterialIssue.BigSSCode, newInMaterialIssue.PlanDate,
                                                                                   newInMaterialIssue.MoCode, newInMaterialIssue.MoSeq);
                newInMaterialIssue.IssueQTY     = materialTransNumber;
                newInMaterialIssue.IssueType    = MaterialIssueType.MaterialIssueType_LineTransferIn;
                newInMaterialIssue.IssueStatus  = MaterialIssueStatus.MaterialIssueStatus_Close;
                newInMaterialIssue.MaintainUser = this.GetUserCode();
                newInMaterialIssue.MaintainDate = dBDateTime.DBDate;
                newInMaterialIssue.MaintainTime = dBDateTime.DBTime;

                _facade.AddMaterialIssue(newInMaterialIssue);
                //end

                //更新BigSSCode+MoCode所有的预警信息
                object[] workPlanObjects = _facade.QueryWorkPlan(ViewState["bigSSCode"].ToString(), this.txtMOEdit.Text.Trim().ToUpper());
                if (workPlanObjects != null)
                {
                    for (int j = 0; j < workPlanObjects.Length; j++)
                    {
                        WorkPlan workPlanUpdate = workPlanObjects[j] as WorkPlan;

                        //更新当前项次的数量
                        if (workPlanUpdate.PlanDate == Convert.ToInt32(ViewState["planDate"].ToString()) &&
                            workPlanUpdate.MoSeq == Convert.ToDecimal(ViewState["moSeq"].ToString()))
                        {
                            workPlanUpdate.MaterialQty += materialTransNumber;
                        }

                        workPlanUpdate.LastReceiveTime = dBDateTime.DBTime;
                        workPlanUpdate.LastReqTime     = 0;
                        workPlanUpdate.PromiseTime     = 0;
                        workPlanUpdate.MaterialStatus  = MaterialWarningStatus.MaterialWarningStatus_No;

                        _facade.UpdateWorkPlan(workPlanUpdate);
                    }
                }

                _facade.UpdateMaterialReqInfo(ViewState["bigSSCode"].ToString(), this.txtMOEdit.Text.Trim().ToUpper());
                //end

                this.DataProvider.CommitTransaction();
            }
            catch (Exception ex)
            {
                this.DataProvider.RollbackTransaction();
                WebInfoPublish.Publish(this, ex.Message, this.languageComponent1);
            }

            this.RequestData();
        }