| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443 |
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Format;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.PnCost.Models;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.PnCost
- {
- public partial class frmBaseProcesscost : FrmBase
- {
- #region 定义变量
- public frmBaseProcesscost()
- {
- InitializeComponent();
- }
- private DataTable dtpline;
- #endregion
- #region 初始化
- private void frmBaseProcesscost_Load(object sender, EventArgs e)
- {
- EntityHelper.ShowGridCaption<CostBaseProcesscostEntity>(ultraGrid1.DisplayLayout.Bands[0]);
- dtpline = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseProcesscostC.queryPliao",
- new object[] { }, ob);
- ultraComboEditor1.DisplayMember = "PLINE_NAME";
- ultraComboEditor1.ValueMember = "PLINE_CODE";
- ultraComboEditor1.DataSource = dtpline;
- for (int i = 2000; i < 2051; i++)
- {
- year.Items.Add(i);
- yeardrop.Items.Add(i);
- }
- yeardrop.Value = System.DateTime.Now.Year.ToString2();
- Query();
- }
- #endregion
- #region 方法
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- base.ToolBar_Click(sender, ToolbarKey);
- switch (ToolbarKey)
- {
- case "Query":
- Query();
- break;
- case "Update":
- Save();
- break;
- case "Delete":
- Delete();
- break;
- case "Resume":
- Resume();
- break;
- case "Refresh":
- Refresh();
- break;
- case "Close":
- this.Close();
- break;
- }
- }
- /// 查询方法
- /// <summary>
- /// 查询方法
- /// </summary>
- private void Query()
- {
- #region 条件验证
- #endregion
- DataTable data = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseProcesscost.queryall",
- new object[] { yeardrop.Value.ToString2() }, ob);
- GridHelper.CopyDataToDatatable(data, dataTable1, true);
- //List<CostBaseProcesscostEntity> data = EntityHelper.GetData<CostBaseProcesscostEntity>(
- // "com.steering.pss.pncost.base.ComBaseProcesscost.query", new object[] { yeardrop.Value.ToString2() }, ob);
- //costBaseProcesscostEntityBindingSource.DataSource = data;
- if (ultraGrid1.Rows.Count == 0)
- {
- return;
- }
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["VALIDFLAG"].Value.ToString() == "无效")
- {
- ultraGrid1.Rows[i].Appearance.ForeColor = Color.Red;
- }
- ultraGrid1.Rows[i].Cells["Year_"].Value = yeardrop.Value.ToString2();
- ultraGrid1.Rows[i].Cells["PLINECODENEW"].Value = ultraGrid1.Rows[i].Cells["PCODE"].Value;
- ultraGrid1.Rows[i].Cells["YEARNEW"].Value = ultraGrid1.Rows[i].Cells["Year_"].Value;
- ultraGrid1.Rows[i].Cells["CHK"].Value = false;
- GridEdite(ultraGrid1.Rows[i]);
- }
- ultraGrid1.UpdateData();
- ultraGrid1.ActiveRow = ultraGrid1.Rows[0];
- }
- /// 保存方法
- /// <summary>
- /// 保存方法
- /// </summary>
- private void Save()
- {
- string gradecode = "";
- string speccode = "";
- string xuanze = "false";
- try
- {
- #region 验证信息
- ultraGrid1.UpdateData();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["CHK"].Value.ToString() == "True")
- {
- if (ultraGrid1.Rows[i].Cells["create_name"].Value.ToString2() == "")//判断是新增还是修改的保存
- {
-
- gradecode = ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString2();
- speccode = ultraGrid1.Rows[i].Cells["YEAR_"].Value.ToString2();
- DataTable dt = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseProcesscost.querynum", new Object[] { gradecode, speccode }, ob);
- if (dt.Rows[0][0].ToString() == "1")
- {
- MessageUtil.ShowWarning("产线及年度重复!,请重新输入");
- return;
- }
- }
- else //修改
- {
- gradecode = ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString2();
- speccode = ultraGrid1.Rows[i].Cells["year_"].Value.ToString2();
- if (ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString2() != ultraGrid1.Rows[i].Cells["PLINECODENEW"].Value.ToString2() ||
- ultraGrid1.Rows[i].Cells["year_"].Value.ToString2() != ultraGrid1.Rows[i].Cells["YEARNEW"].Value.ToString2())
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseProcesscost.querynum", new Object[] { gradecode, speccode }, ob);
- if (dt.Rows[0][0].ToString() == "1")
- {
- MessageUtil.ShowWarning("产线及年度重复!,请重新输入");
- return;
- }
- }
- }
- xuanze = "true";
- }
- }
- if (xuanze == "false")
- {
- MessageUtil.ShowWarning("请选择你要保存的记录!");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认保存?") == System.Windows.Forms.DialogResult.No)
- {
- return;
- }
- #endregion
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["CHK"].Value.ToString() == "True")
- {
- CostBaseProcesscostEntity parm = new CostBaseProcesscostEntity();
- parm.PlineCode = ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString2();
- parm.PlineName = ultraGrid1.Rows[i].Cells["PNAME"].Text.ToString2();
- parm.ProcessCode = ultraGrid1.Rows[i].Cells["process_code"].Value.ToString2();
- parm.ProcessDesc = ultraGrid1.Rows[i].Cells["PROCESS_DESC"].Value.ToString2();
- parm.Year = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["Year_"].Value.ToString3());
- parm.Month1 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F01"].Value.ToString3());
- parm.Month2 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F02"].Value.ToString3());
- parm.Month3 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F03"].Value.ToString3());
- parm.Month4 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F04"].Value.ToString3());
- parm.Month5 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F05"].Value.ToString3());
- parm.Month6 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F06"].Value.ToString3());
- parm.Month7 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F07"].Value.ToString3());
- parm.Month8 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F08"].Value.ToString3());
- parm.Month9 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F09"].Value.ToString3());
- parm.Month10 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F10"].Value.ToString3());
- parm.Month11 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F11"].Value.ToString3());
- parm.Month12 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["F12"].Value.ToString3());
- parm.Memo = ultraGrid1.Rows[i].Cells["MEMO"].Value.ToString2();
- if (ultraGrid1.Rows[i].Cells["create_name"].Value.ToString() == "")//判断是新增还是修改的保存
- {
- parm.CreateName = this.UserInfo.GetUserName();//新增保存
- string JsonStr = JSONFormat.Format(parm);
- ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseProcesscost.isave", new object[] { JsonStr }, ob);
- }
- else
- {
- parm.UpdateName = this.UserInfo.GetUserName();//修改保存
- string JsonStr = JSONFormat.Format(parm);
- string gang = ultraGrid1.Rows[i].Cells["PLINECODENEW"].Value.ToString();//修改前产线
- string duan = ultraGrid1.Rows[i].Cells["YEARNEW"].Value.ToString();//修改前年度
- ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseProcesscost.usave", new object[] { JsonStr, gang, duan }, ob);
- }
- }
- }
- }
- catch (Exception ex)
- {
- MessageUtil.ShowError("保存失败!'" + ex.Message + "'");
- return;
- }
- MessageUtil.ShowTips("保存成功!");
- Query();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString() == gradecode &&
- ultraGrid1.Rows[i].Cells["YEAR_"].Value.ToString() == speccode)
- {
- ultraGrid1.Rows[i].Activate();
- }
- }
- }
- /// 删除方法
- /// <summary>
- /// 删除方法
- /// </summary>
- private void Delete()
- {
- string gradecode = "";
- string speccode = "";
- string xuanze = "false";
- try
- {
- #region 验证信息
- ultraGrid1.UpdateData();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["CHK"].Value.ToString() == "True")
- {
- //是否已经是无效方案
- if (ultraGrid1.Rows[i].Cells["VALIDFLAG"].Value.ToString() != "有效")
- {
- MessageUtil.ShowWarning("选择了已经作废的数据!");
- return;
- }
- xuanze = "true";
- }
- }
- if (xuanze == "false")
- {
- MessageUtil.ShowWarning("请选择你要删除的记录!");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == System.Windows.Forms.DialogResult.No)
- {
- return;
- }
- #endregion
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["CHK"].Value.ToString() == "True")
- {
- gradecode = ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString2();
- speccode = ultraGrid1.Rows[i].Cells["YEAR_"].Value.ToString2();
- CostBaseProcesscostEntity parm = new CostBaseProcesscostEntity();
- parm.PlineCode = ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString2();
- parm.Year = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["YEAR_"].Value.ToString2());
- parm.UpdateName = this.UserInfo.GetUserName();
- parm.DeleteName = this.UserInfo.GetUserName();
- string JsonStr = JSONFormat.Format(parm);
- ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseProcesscost.delete", new object[] { JsonStr }, ob);
- }
- }
- }
- catch (Exception ex)
- {
- MessageUtil.ShowError("删除失败!'" + ex.Message + "'");
- return;
- }
- MessageUtil.ShowTips("删除成功!");
- Query();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString() == gradecode &&
- ultraGrid1.Rows[i].Cells["YEAR_"].Value.ToString() == speccode)
- {
- ultraGrid1.Rows[i].Activate();
- }
- }
- }
- /// 恢复方法
- /// <summary>
- /// 恢复方法
- /// </summary>
- private void Resume()
- {
- string gradecode = "";
- string speccode = "";
- string xuanze = "false";
- try
- {
- #region 验证信息
- ultraGrid1.UpdateData();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["CHK"].Value.ToString() == "True")
- {
- //是否是无效方案
- if (ultraGrid1.Rows[i].Cells["VALIDFLAG"].Value.ToString() != "无效")
- {
- MessageUtil.ShowWarning("选择了没有作废的数据!");
- return;
- }
- xuanze = "true";
- }
- }
- if (xuanze == "false")
- {
- MessageUtil.ShowWarning("请选择你要恢复的记录!");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认恢复?") == System.Windows.Forms.DialogResult.No)
- {
- return;
- }
- #endregion
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["CHK"].Value.ToString() == "True")
- {
- gradecode = ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString2();
- speccode = ultraGrid1.Rows[i].Cells["YEAR_"].Value.ToString2();
- CostBaseProcesscostEntity parm = new CostBaseProcesscostEntity();
- parm.PlineCode = ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString2();
- parm.Year = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["YEAR_"].Value.ToString2());
- parm.UpdateName = this.UserInfo.GetUserName();
- string JsonStr = JSONFormat.Format(parm);
- ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseProcesscost.resume", new object[] { JsonStr }, ob);
- }
- }
- }
- catch (Exception ex)
- {
- MessageUtil.ShowError("恢复失败!'" + ex.Message + "'");
- return;
- }
- MessageUtil.ShowTips("恢复成功!");
- Query();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (ultraGrid1.Rows[i].Cells["PCODE"].Value.ToString() == gradecode &&
- ultraGrid1.Rows[i].Cells["YEAR_"].Value.ToString() == speccode)
- {
- ultraGrid1.Rows[i].Activate();
- }
- }
- }
- /// 刷新方法
- /// <summary>
- /// 刷新方法
- /// </summary>
- private void Refresh()
- {
- Query();
- }
- #endregion
- #region 事件
- /// 选择事件
- /// <summary>
- /// 选择事件
- /// </summary>
- private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
- {
- ultraGrid1.UpdateData();
- if (e.Cell.Column.Key == "CHK")
- {
- GridEdite(e.Cell.Row);
- }
- else if (e.Cell.Column.Key != "MEMO")
- {
- #region 月分摊总额改变
- string key = e.Cell.Column.Key.ToString2().Substring(1);
- string Hnum = "H" + key;//汇总后总额
- string Pnum = "P" + key;//单项值
- string Fnum = "F" + key;//分摊总额
- string Mnum = "M" + key;//排产量
- ultraGrid1.ActiveRow.Cells[Hnum].Value = (Convert.ToDecimal(ultraGrid1.ActiveRow.Cells[Pnum].Value.ToString3()) *
- Convert.ToDecimal(ultraGrid1.ActiveRow.Cells[Mnum].Value.ToString3()) +
- Convert.ToDecimal(ultraGrid1.ActiveRow.Cells[Pnum].Value.ToString3())).ToString3();
- Decimal YEARALL = 0;
- for (int x = 1; x < 10; x++)
- {
- string mon = "F0" + x;
- YEARALL = Convert.ToDecimal(ultraGrid1.ActiveRow.Cells[mon].Value.ToString3()) + YEARALL;
- }
- ultraGrid1.ActiveRow.Cells["SUM_F"].Value = (YEARALL + Convert.ToDecimal(ultraGrid1.ActiveRow.Cells["F10"].Value.ToString3())
- + Convert.ToDecimal(ultraGrid1.ActiveRow.Cells["F11"].Value.ToString3())
- + Convert.ToDecimal(ultraGrid1.ActiveRow.Cells["F12"].Value.ToString3())).ToString2();
- #endregion
- }
- }
- /// 选择判断
- /// <summary>
- /// 选择判断
- /// </summary>
- private void GridEdite(UltraGridRow row)
- {
- ultraGrid1.UpdateData();
- if (row.GetValue("CHK") == "True")
- {
- foreach (UltraGridCell cell in row.Cells)
- {
- if (cell.Column.CellActivation == Activation.AllowEdit)
- {
- cell.Activation = Activation.AllowEdit;
- }
- }
- }
- else
- {
- foreach (UltraGridCell cell in row.Cells)
- {
- if (cell.Column.Key == "CHK") continue;
- if (cell.Column.CellActivation == Activation.AllowEdit)
- {
- cell.Activation = Activation.ActivateOnly;
- }
- }
- }
- }
- #endregion
- }
- }
|