| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using com.hnshituo.pur.vo;
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Tool;
- using CoreFS.CA06;
- using CoreFS.SA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- using Pur.configure;
- using Pur.Entity;
- using Pur.Entity.configureEntity;
- using Pur.Entity.require_planEntiy;
- using Pur.Pop_upWindow;
- namespace Pur.require_plan
- {
- public partial class frmBenefitPlan : FrmPmsBase
- {
- //是否刷新
- private string tips = "0";
- //调整单位ID
- private string cg_itemUomId = "";
- public string Tips
- {
- get { return tips; }
- set { tips = value; }
- }
- string basecode_pop = "";//物料分类编码
- public frmBenefitPlan()
- {
- InitializeComponent();
- }
- public frmBenefitPlan(OpeBase OB)
- {
- this.ob = OB;
- InitializeComponent();
- }
- private void frmBenefitPlan_Load(object sender, EventArgs e)
- {
- ultraExpandableGroupBox1.Expanded = false;
- GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], "CHK","qtyPur","refuseReason");
- GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], "CHK");
- GridHelper.SetExcludeColumnsActive(ultraGrid3.DisplayLayout.Bands[0], "");
- GridHelper.SetExcludeColumnsActive(ultraGrid4.DisplayLayout.Bands[0], "");
- txt_Status.SelectedIndex = 3;
- txt_UrgencyType.SelectedIndex = 0;
- Ck_Ctime.Checked = false;
- Ck_ptime.Checked = false;
- txtMrPeriodStart.Enabled = false;
- txtMrPeriodEnd.Enabled = false;
- txtAuditedEnd.Enabled = false;
- txtAuditedStart.Enabled = false;
- txtMrPeriodStart.Value = DateTime.Now.AddMonths(-1).ToString();
- txtMrPeriodEnd.Value = DateTime.Now.AddHours(23).ToString();
- ck_Mtime.Checked = true;
- cop_planMouthStart.Value = DateTime.Now.AddMonths(-2);
- cop_planMouthEnd.Value = DateTime.Now < DateTime.Parse(DateTime.Now.ToString("yyyy/MM/26")) ? DateTime.Now: DateTime.Now.AddMonths(1);
- String strYear = DateTime.Now.Year + "";
- String strMouth = DateTime.Now.Month + "";
- String strStart = strYear + "-" + strMouth + "-" + "20 00:00:00";
- String strEnd = strYear + "-" + strMouth + "-" + "26 00:00:00";
- txtAuditedStart.Value = Convert.ToDateTime(strStart);
- txtAuditedEnd.Value = Convert.ToDateTime(strEnd);
- ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[0];
- GetPUR_REQUIRE_PLAND();
- }
- #region toolbar工具栏
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query"://刷新数据
- GetPUR_REQUIRE_PLAND();
- break;
- case "doChange":// 生成新采购计划
- ChangePUR_REQUIRE_PLAND();
- break;
- case "doAdd"://添加到采购计划
- addPUR_REQUIRE_PLAND();
- break;
- case "doReceive"://接收
- ReceivePUR_REQUIRE_PLAND();
- break;
- case "cancelReceive"://取消接收
- CancelPUR_REQUIRE_PLAND();
- break;
- case "doReject"://退回
- RejectPUR_REQUIRE_PLAND();
- break;
- case "cancelBenefit"://取消利计划
- cancelBenefit();
- break;
- case "doClose": // 关闭
- this.Close();
- break;
- }
- }
- /// <summary>
- /// 添加到新的采购计划
- /// </summary>
- private void addPUR_REQUIRE_PLAND()
- {
- ultraGrid2.UpdateData();
- IQueryable<UltraGridRow> checkRows = ultraGrid2.Rows.AsQueryable().Where("CHK = 'True' ");
- if (checkRows.Count() == 0)
- {
- Core.Mes.Client.Comm.Tool.MessageUtil.ShowWarning("未勾需求信息!");
- return;
- }
- ArrayList list = new ArrayList();
- foreach (UltraGridRow uRows in checkRows)
- {
- RequirePlanD ReqPD = new RequirePlanD();
- ReqPD.MrLineId = uRows.Cells["id"].Value.ToString();
- list.Add(ReqPD.MrLineId);
- }
- frmPopAddReceive FPRD = new frmPopAddReceive(this.ob, list);
- FPRD.ShowDialog();
- if (FPRD.tips == "1")
- {
- tips = "1";
- GetPUR_REQUIRE_PLAND();
- return;
- }
- }
- /// <summary>
- /// 调整
- /// </summary>
- private void ChangePUR_REQUIRE_PLAND()
- {
- ultraGrid2.UpdateData();
- IQueryable<UltraGridRow> checkRows = ultraGrid2.Rows.AsQueryable().Where("CHK = 'True' ");
- if (checkRows.Count() == 0)
- {
- Core.Mes.Client.Comm.Tool.MessageUtil.ShowWarning("未勾需求信息!");
- return;
- }
- ArrayList list = new ArrayList();
- foreach (UltraGridRow uRows in checkRows)
- {
- RequirePlanD ReqPD = new RequirePlanD();
- ReqPD.MrLineId = uRows.Cells["id"].Value.ToString();
- list.Add(ReqPD.MrLineId);
- }
- FrmPurRePlanChangeNew FPRD = new FrmPurRePlanChangeNew(this.ob, list);
- FPRD.ShowDialog();
- if (FPRD.Tips == "1")
- {
- tips = "1";
- GetPUR_REQUIRE_PLAND();
- return;
- }
- }
- /// <summary>
- /// 接收需求计划行
- /// </summary>
- private void ReceivePUR_REQUIRE_PLAND()
- {
- try
- {
- ultraGrid1.UpdateData();
- IQueryable<UltraGridRow> checkRows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True" && a.GetValue("qtyPur") != "" && double.Parse(a.GetValue("qtyPur")) > 0);
- //IQueryable<UltraGridRow> checkRows = ultraGrid1.Rows.AsQueryable().Where("CHK = 'True' ");
- if (checkRows.Count() == 0)
- {
- MessageUtil.ShowWarning("未勾需求计划行信息或未输入有效的核准量!");
- return;
- }
- ArrayList list = new ArrayList();
- foreach (UltraGridRow uRows in checkRows)
- {
- RequirePlanD ReqPD = new RequirePlanD();
- ReqPD.MrLineId = uRows.Cells["mrLineId"].Value.ToString();
- ReqPD.QtyPur = Convert.ToDouble(uRows.Cells["qtyPur"].Value);
- ReqPD.Qty = Convert.ToDouble(uRows.Cells["qty"].Value);
- String strReason = uRows.GetCellValue("refuseReason").ToString().Trim();
- if (ReqPD.Qty > ReqPD.QtyPur)
- {
- if (String.IsNullOrEmpty(strReason))
- {
- MessageUtil.ShowTips("若您部分核准物料:" + uRows.GetCellValue("itemName") + "的需求量,需填写减量的【处理意见】");
- comm.doActiveSelRow(ultraGrid1, "mrLineId", ReqPD.MrLineId);
- return;
- }
- ReqPD.RefuseReason = "【减量】" + strReason;
- }
- else if (ReqPD.Qty == ReqPD.QtyPur)
- {
- ReqPD.RefuseReason = strReason;
- }
- else
- {
- MessageUtil.ShowTips("物料:" + uRows.GetCellValue("itemName") + "的核准的需求量不能大于需求量");
- comm.doActiveSelRow(ultraGrid1, "mrLineId", ReqPD.MrLineId);
- return;
- }
- ReqPD.ItemUomId = uRows.Cells["itemUomId"].Value.ToString();
- ReqPD.ItemUnique = uRows.Cells["itemUnique"].Value.ToString();
- if(string.IsNullOrEmpty(ReqPD.ItemUomId))
- {
- MessageUtil.ShowTips("未获取物料:" + uRows.GetCellValue("itemName") + "采购单位编码");
- comm.doActiveSelRow(ultraGrid1, "mrLineId", ReqPD.MrLineId);
- return;
- }
- if (string.IsNullOrEmpty(ReqPD.ItemUnique))
- {
- MessageUtil.ShowTips("未获取物料:" + uRows.GetCellValue("itemName") + "采购单位编码");
- comm.doActiveSelRow(ultraGrid1, "mrLineId", ReqPD.MrLineId);
- return;
- }
- ReqPD.CreateUserid = UserInfo.GetUserID();
- ReqPD.CreateTime = DateTime.Now;
- ReqPD.CreateName = UserInfo.GetUserName();
- list.Add(ReqPD);
- }
- if (MessageUtil.ShowYesNoAndQuestion("确定接收?") == DialogResult.No)
- {
- return;
- }
- CoreResult re = this.execute<CoreResult>("com.hnshituo.pur.requireplan.service.RequirePlanDService", "doReceive", new object[] { list, "1" });
- if (re.Resultcode == 0)
- {
- MessageUtil.ShowTips("接收成功");
- GetPUR_REQUIRE_PLAND();
- return;
- }
- else
- {
- MessageUtil.ShowTips("操作失败:" + re.Resultmsg);
- return;
- }
- }
- catch (Exception ex)
- {
- MessageUtil.ShowTips("操作失败:" + ex);
- }
- }
- /// <summary>
- /// 取消利计划
- /// </summary>
- private void cancelBenefit()
- {
- try
- {
- if (ultraGrid4.ActiveRow == null)
- {
- MessageUtil.ShowTips("请选择撤销利计划的拆分需求计划行!");
- return;
- }
- UltraGridRow rowP = ultraGrid4.ActiveRow;
- String strMrLineId = rowP.GetCellValue("mrlineid").ToString().Trim();
- String strItemUnique = rowP.GetCellValue("itemUnique").ToString().Trim();
- string strId = rowP.GetCellValue("id").ToString().Trim();
- if (testStatus(strMrLineId, 3) == false)
- {
- return;
- }
- ArrayList list = new ArrayList();
- //减少接收表数据
- //插入接收表数据
- //更新需求计划行行状态
- RequireReceive rr = new RequireReceive();
- rr.Id = rowP.GetCellValue("id").ToString().Trim();
- rr.MrLineId = strMrLineId;
- rr.PurLineId = rowP.GetCellValue("mrLineId").ToString().Trim();
- //rr.Qty = Convert.ToDouble(uRows.GetCellValue("QTYLJHTemp"));
- rr.CreateUserid = UserInfo.GetUserID();
- rr.CreateTime = DateTime.Now;
- rr.CreateName = UserInfo.GetUserName();
- list.Add(rr);
- if (MessageUtil.ShowYesNoAndQuestion("确定对需求计划行:" + strMrLineId + "进行撤销利计划操作?") != DialogResult.Yes)
- {
- return;
- }
- CoreResult re = this.execute<CoreResult>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "doBenefit", new object[] { list, "2" });
- if (re.Resultcode == 0)
- {
- MessageUtil.ShowTips("撤销成功!");
- }
- else
- {
- MessageUtil.ShowTips("操作失败:" + re.Resultmsg + "!");
- return;
- }
- }
- catch (Exception ex)
- {
- MessageUtil.ShowTips("操作失败:" + ex.Message + "!");
- }
- }
- /// <summary>
- /// 取消接收
- /// </summary>
- private void CancelPUR_REQUIRE_PLAND()
- {
- try
- {
- ultraGrid2.UpdateData();
- IQueryable<UltraGridRow> checkRows = ultraGrid2.Rows.AsQueryable().Where("CHK = 'True' ");
- if (checkRows.Count() == 0)
- {
- MessageUtil.ShowWarning("未勾选需取消接收的需求计划行!");
- return;
- }
- ArrayList list = new ArrayList();
- foreach (UltraGridRow uRows in checkRows)
- {
- RequirePlanD ReqPD = new RequirePlanD();
- ReqPD.MrLineId = uRows.Cells["mrlineId"].Value.ToString();
- if (testStatus(ReqPD.MrLineId, 1) == false)
- {
- return;
- }
- //ReqPD.FlagGeneratedPurPlan = "1";//原则上只允许状态为1/2的才能转3
- ReqPD.CreateUserid = UserInfo.GetUserID();
- ReqPD.CreateTime = DateTime.Now;
- ReqPD.CreateName = UserInfo.GetUserName();
- list.Add(ReqPD);
- }
- if (MessageUtil.ShowYesNoAndQuestion("确定取消接收?") == DialogResult.No)
- {
- return;
- }
- CoreResult re = this.execute<CoreResult>("com.hnshituo.pur.requireplan.service.RequirePlanDService", "doReceive", new object[] { list, "2" });
- if (re.Resultcode == 0)
- {
- MessageUtil.ShowTips("取消成功");
- GetPUR_REQUIRE_PLAND();
- return;
- }
- else
- {
- MessageUtil.ShowTips("操作失败:" + re.Resultmsg);
- return;
- }
- }
- catch (Exception ex)
- {
- MessageUtil.ShowTips("操作失败:" + ex.Message);
- }
- }
- /// <summary>
- /// 退回需求计划行
- /// </summary>
- private void RejectPUR_REQUIRE_PLAND()
- {
- try
- {
- ultraGrid1.UpdateData();
- IQueryable<UltraGridRow> checkRows = ultraGrid1.Rows.AsQueryable().Where("CHK = 'True' ");
- if (checkRows.Count() == 0)
- {
- MessageUtil.ShowWarning("未勾选需要接收的需求计划行!");
- return;
- }
- ArrayList list = new ArrayList();
- foreach (UltraGridRow uRows in checkRows)
- {
- RequirePlanD ReqPD = new RequirePlanD();
- ReqPD.MrLineId = uRows.Cells["mrLineId"].Value.ToString();
- ReqPD.FlagGeneratedPurPlan = "3";//原则上只允许状态为1/2的才能转3
- String strReason = uRows.GetCellValue("refuseReason").ToString().Trim();
- if (String.IsNullOrEmpty(strReason))
- {
- MessageUtil.ShowTips("若您退回物料:" + uRows.GetCellValue("itemName") + "的需求,需填写您的【处理意见】");
- comm.doActiveSelRow(ultraGrid1,"mrLineId", ReqPD.MrLineId);
- return;
- }
- ReqPD.RefuseReason = "【退回】"+strReason;
- list.Add(ReqPD);
- }
- frmRequireReturnPop frm1 = new frmRequireReturnPop();
- frm1.ShowDialog();
- if (frm1.tips!="1")
- {
- return;
- }
- if (String.IsNullOrEmpty(frm1.status))
- {
- MessageUtil.ShowTips("请选择处理方式");
- return;
- }
- foreach (RequirePlanD ReqPD1 in list)
- {
- ReqPD1.IsAllowReturn = frm1.status;
- if (frm1.status == "1")
- {
- ReqPD1.RefuseReason = "【允许修改返回】" + ReqPD1.RefuseReason;
- }
- }
- CoreResult re = this.execute<CoreResult>("com.hnshituo.pur.requireplan.service.RequirePlanDService", "doReceive", new object[] { list, "3" });
- if (re.Resultcode == 0)
- {
- MessageUtil.ShowTips("退回成功");
- GetPUR_REQUIRE_PLAND();
- return;
- }
- else
- {
- MessageUtil.ShowTips("操作失败:" + re.Resultmsg);
- return;
- }
- }
- catch (Exception ex)
- {
- MessageUtil.ShowTips("操作失败:" + ex);
- }
- }
- /// <summary>
- /// 查询
- /// </summary>
- private void GetPUR_REQUIRE_PLAND()
- {
- try
- {
- this.Cursor = Cursors.WaitCursor;
- string adm = CoreUserInfo.UserInfo.GetUserID();
- Dictionary<string, object> ReqPnew = getQueryCondition(adm);
- if (ultraTabControl1.SelectedTab == ultraTabControl1.Tabs[0])
- {
- dataSet1.Clear();
- dataSet2.Clear();
- //审批未接收源需求计划
- ReqPnew.Add("statusCol", "1");//未接收
- DataTable dt1 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequirePlanDService", "get_RePDM", new object[] { ReqPnew });
- foreach (DataRow row in dt1.Rows)
- {
- row["qtypur"] = row["qty"];
- row["itemDescE"] = Convert.ToDateTime(row["itemDescE"]).ToString("yyyy/MM");
- }
- GridHelper.CopyDataToDatatable(dt1, dataTable1, true);
- GridHelper.RefreshAndAutoSize(ultraGrid1);
- //利计划计划
- ReqPnew["rStatus"] = "1";
- ReqPnew["lineSeq"] = "1";//非分拆开数据
- DataTable dt2 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "get_canUse", new object[] { ReqPnew });
- foreach (DataRow row in dt2.Rows)
- {
- row["itemDescE"] = Convert.ToDateTime(row["itemDescE"]).ToString("yyyy/MM");
- }
- GridHelper.CopyDataToDatatable(dt2, dataTable4, true);
-
- //已处理数据
- ReqPnew["rStatus"] = "2";
- ReqPnew["lineSeq"] = "2";//分拆开数据
- DataTable dt10 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "get_canUse", new object[] { ReqPnew });
- if (dt2.Rows.Count <= 0)
- {
- dt10.Clear();
- }
- else
- {
- for (int j = dt10.Rows.Count - 1; j >= 0; j--)
- {
- dt10.Rows[j]["itemDescE"] = Convert.ToDateTime(dt10.Rows[j]["itemDescE"]).ToString("yyyy/MM");
- String strMrLineId = dt10.Rows[j]["mrLineId"].ToString().Trim();
- DataRow[] rowss = dt2.Select("mrLineId='" + strMrLineId + "'");
- if (rowss.Count() <= 0)
- {
- dt10.Rows.RemoveAt(j);
- }
- }
- }
- GridHelper.CopyDataToDatatable(dt10, dataTable6, true);
- GridHelper.RefreshAndAutoSize(ultraGrid2);
-
- }
- else
- {
- dataSet3.Clear();
- dataSet4.Clear();
- //审批已接收源需求计划
- ReqPnew["statusCol"] = "2";//已接收(2已接收 4已编制)
- DataTable dt7 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequirePlanDService", "get_RePDM", new object[] { ReqPnew });
- foreach (DataRow row in dt7.Rows)
- {
- row["itemDescE"] = Convert.ToDateTime(row["itemDescE"]).ToString("yyyy/MM");
- }
- GridHelper.CopyDataToDatatable(dt7, dataTable2, true);
- GridHelper.RefreshAndAutoSize(ultraGrid3);
-
- }
- }
- catch (Exception ex)
- {
- MessageUtil.ShowTips("加载数据失败:" + ex);
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- }
- #endregion
- #region 界面函数
- /// <summary>
- /// 校验状态
- /// </summary>
- /// <param name="mrlineId"></param>
- /// <param name="p2"></param>
- /// <returns></returns>
- private bool testStatus(string mrlineId, int p2)//校验状态
- {
- if (String.IsNullOrEmpty(mrlineId))
- {
- MessageUtil.ShowTips("为获取到需求计划行号!");
- return false;
- }
-
- if (p2 == 1)
- {
- RequireReceive rr = new RequireReceive();
- rr.MrLineId = mrlineId;
- rr.Validflag = "1";
- DataTable dt2 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "find", new object[] { rr,0,0});
- if (dt2.Rows.Count == 0)
- {
- MessageUtil.ShowTips("需求计划行:" + mrlineId + "已退回或已删除!");
- comm.doActiveSelRow(ultraGrid2, "mrlineId", mrlineId);
- return false;
- }
- if (dt2.Rows.Count > 1)
- {
- MessageUtil.ShowTips("需求计划行:" + mrlineId + "已利计划,请先撤销利计划再操作!");
- comm.doActiveSelRow(ultraGrid2, "mrlineId", mrlineId);
- return false;
- }
- if (dt2.Rows[0]["status"].ToString().Trim() == "2")
- {
- MessageUtil.ShowTips("需求计划行:" + mrlineId + "已编制汇总,请先撤销编制汇总再操作!");
- comm.doActiveSelRow(ultraGrid2, "mrlineId", mrlineId);
- return false;
- }
- }
- //是否可以利计划判断
- else if (p2 == 2)
- {
- RequireReceive rr = new RequireReceive();
- rr.MrLineId = mrlineId;
- rr.Purtype = "1";//编制类型
- rr.Validflag = "1";//有效数据
- List<RequireReceive> listR = this.execute<List<RequireReceive>>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "find", new object[] { rr,0,0});
- if (listR.Count() == 0)
- {
- MessageUtil.ShowTips("未发现接收需求计划行:" + mrlineId+"信息记录,可能已被删除或退回,或请刷新重新操作!");
- return false;
- }
- else if (listR.Count() > 1)
- {
- MessageUtil.ShowTips("接收需求计划行:" + mrlineId + "数据异常,或请刷新重新操作!");
- return false;
- }
- else
- {
- rr = listR[0];
- if (rr.Status == "2")
- {
- MessageUtil.ShowTips("该接收需求计划行:" + mrlineId+"已编制汇总!");
- return false;
- }
- if (rr.Qty <= 0)
- {
- MessageUtil.ShowTips("该接收需求计划行:" + mrlineId + "剩余最大可利计划量【"+rr.Qty+rr.ItemUom+"】!");
- return false;
- }
- }
- }
- //是否可以利计划判断
- else if (p2 == 3)
- {
- RequireReceive rr = new RequireReceive();
- rr.MrLineId = mrlineId;
- rr.Purtype = "1";//编制类型
- rr.Validflag = "1";//有效数据
- List<RequireReceive> listR = this.execute<List<RequireReceive>>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "find", new object[] { rr, 0, 0 });
- if (listR.Count() == 0)
- {
- MessageUtil.ShowTips("未发现接收需求计划行:" + mrlineId + "信息记录,可能已被删除或退回,或请刷新重新操作!");
- return false;
- }
- else if (listR.Count() > 1)
- {
- MessageUtil.ShowTips("接收需求计划行:" + mrlineId + "数据异常,或请刷新重新操作!");
- return false;
- }
- else
- {
- rr = listR[0];
- if (rr.Status == "2")
- {
- MessageUtil.ShowTips("该接收需求计划行:" + mrlineId + "已编制汇总!");
- return false;
- }
- }
- }
- else
- {
- MessageUtil.ShowTips("未知验证参数!");
- return false;
- }
- return true;
- }
- /// <summary>
- /// 获取查询条件
- /// </summary>
- /// <param name="adm"></param>
- /// <returns></returns>
- private Dictionary<string, object> getQueryCondition(string adm)
- {
- Dictionary<string, object> ReqPnew = new Dictionary<string, object>();
- if (Ck_Ctime.Checked)
- {
- if (txtMrPeriodStart.Text != "")
- {
- DateTime Start = Convert.ToDateTime(txtMrPeriodStart.Value);
- ReqPnew.Add("createTimeStart", Start);
- }
- if (txtMrPeriodEnd.Text != "")
- {
- DateTime End = Convert.ToDateTime(txtMrPeriodEnd.Value);
- ReqPnew.Add("createTimeEnd", End);
- }
- }
- if (Ck_ptime.Checked)
- {
- if (txtAuditedStart.Text != "")
- {
- DateTime Start1 = Convert.ToDateTime(txtAuditedStart.Value);
- ReqPnew.Add("auditedTimeStart", Start1);
- }
- if (txtAuditedEnd.Text != "")
- {
- DateTime End1 = Convert.ToDateTime(txtAuditedEnd.Value);
- ReqPnew.Add("auditedTimeEnd", End1);
- }
- }
- //计划时间
- if (ck_Mtime.Checked == true)
- {
- if (cop_planMouthStart.Text != "")
- {
- DateTime Start1 = DateTime.Parse(Convert.ToDateTime(cop_planMouthStart.Value).ToString("yyyy/MM"));
- ReqPnew.Add("mrPeriodStart", Start1);
- }
- if (cop_planMouthEnd.Text != "")
- {
- DateTime End1 = DateTime.Parse(Convert.ToDateTime(cop_planMouthEnd.Value).ToString("yyyy/MM"));
- ReqPnew.Add("mrPeriodEnd", End1);
- }
- }
- ReqPnew.Add("mStatus", txt_Status.Value == null ? "" : txt_Status.Value.ToString().Trim());
- ReqPnew.Add("urgencyType", txt_UrgencyType.Value == null ? "" : txt_UrgencyType.Value.ToString().Trim());
- ReqPnew.Add("mrId", txt_MrId.Text.Trim());
- ReqPnew.Add("itemCode", txt_ItemCode.Text.Trim());
- ReqPnew.Add("itemName", txt_ItemName.Text.Trim());
- ReqPnew.Add("baseCode", basecode_pop);
- ReqPnew.Add("buyerUnitDesc", adm);
- ReqPnew.Add("style", "1");//仅查有效数据
- return ReqPnew;
- }
- #endregion
- #region 界面事件
- private void Ck_Ctime_CheckedChanged(object sender, EventArgs e)
- {
- txtMrPeriodStart.Enabled = Ck_Ctime.Checked;
- txtMrPeriodEnd.Enabled = Ck_Ctime.Checked;
- }
- private void Ck_ptime_CheckedChanged(object sender, EventArgs e)
- {
- txtAuditedEnd.Enabled = Ck_ptime.Checked;
- txtAuditedStart.Enabled = Ck_ptime.Checked;
- }
- /// <summary>
- /// 物料大类弹窗
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void txt_itemClass_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)// 物料大类弹窗
- {
- FrmMatClassPop_ups PopMat = new FrmMatClassPop_ups(this.ob);
- PopMat.ShowDialog();
- if (PopMat.Basecode == null)
- return;
- txt_itemClass.Text = PopMat.Basename;
- basecode_pop = PopMat.Basecode;
- }
-
- private void ultraGrid1_CellChange(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key.Equals("qtyPur"))
- {
- object oldv = e.Cell.Row.Cells["qtyPur"].Value;
- ultraGrid1.UpdateData();
- object newv = e.Cell.Row.Cells["qtyPur"].Value;
- double reqty = Convert.ToDouble(e.Cell.Row.Cells["qty"].Value);
- if (newv != DBNull.Value)
- {
- if (Convert.ToDouble(newv) > reqty)
- {
- e.Cell.Row.Cells["qtyPur"].Value = oldv;
- return;
- }
- }
- }
- }
- //查询筛选后待编制需求计划行
- private void btn_queryDate_Click(object sender, EventArgs e)
- {
- dataSet2.Clear();
- try
- {
- string adm = CoreUserInfo.UserInfo.GetUserID();
- Dictionary<string, object> ReqPnew = getQueryCondition(adm);
- ReqPnew["rStatus"] = "1";
- ReqPnew["lineSeq"] = "1";//非分拆开数据
- DataTable dt2 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "get_canUse", new object[] { ReqPnew });
- foreach (DataRow row in dt2.Rows)
- {
- row["itemDescE"] = Convert.ToDateTime(row["itemDescE"]).ToString("yyyy/MM");
- }
- ReqPnew["rStatus"] = "2";
- ReqPnew["lineSeq"] = "2";//分拆开数据
- DataTable dt10 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "get_canUse", new object[] { ReqPnew });
- if (dt2.Rows.Count <= 0)
- {
- dt10.Clear();
- }
- else
- {
- for (int j = dt10.Rows.Count - 1; j >= 0; j--)
- {
- dt10.Rows[j]["itemDescE"] = Convert.ToDateTime(dt10.Rows[j]["itemDescE"]).ToString("yyyy/MM");
- String strMrLineId = dt10.Rows[j]["mrLineId"].ToString().Trim();
- DataRow[] rowss = dt2.Select("mrLineId='" + strMrLineId + "'");
- if (rowss.Count() <= 0)
- {
- dt10.Rows.RemoveAt(j);
- }
- }
- }
- if (ck_isShowLi.Checked)
- {
- for (int j = dt2.Rows.Count - 1; j >= 0; j--)
- {
- if (dt10.Rows.Count > 0)
- {
- String strMrLineId = dt2.Rows[j]["mrLineId"].ToString().Trim();
- foreach (DataRow rows in dt10.Rows)
- {
- if (rows["mrLineId"].ToString().Trim() == strMrLineId)
- {
- }
- else
- {
- dt2.Rows.RemoveAt(j);
- }
- }
- }
- else
- {
- dt2.Rows.RemoveAt(j);
- }
- }
- }
- GridHelper.CopyDataToDatatable(dt2, dataTable4, true);
- GridHelper.CopyDataToDatatable(dt10, dataTable6, true);
- }
- catch (Exception ex)
- {
- MessageUtil.ShowTips("加载数据失败:" + ex);
- }
- }
- //查询拆分需求计划行
- private void ultraGrid3_ClickCell(object sender, ClickCellEventArgs e)
- {
- String strmrLineId = e.Cell.Row.GetCellValue("mrLineId").ToString().Trim();
- if (String.IsNullOrEmpty(strmrLineId))
- {
- return;
- }
- Dictionary<string, object> ReqPnew = new Dictionary<string, object>();
- ReqPnew["mrLineId"] = strmrLineId;
- ReqPnew["style"] = "1";//有效数据
- DataTable dt3 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "get_canUse", new object[] { ReqPnew });
- GridHelper.CopyDataToDatatable(dt3, dataTable3, true);
- GridHelper.RefreshAndAutoSize(ultraGrid4);
- }
- private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
- {
- if (e.Tab.TabControl.SelectedTab.Key.Equals("0"))
- {
- //if (toolMenu.Toolbars[0].Tools.Exists("doQuery")) { toolMenu.Toolbars[0].Tools["doQuery"].InstanceProps.Visible = DefaultableBoolean.True; }
- //if (toolMenu.Toolbars[0].Tools.Exists("doCreate")) { toolMenu.Toolbars[0].Tools["doCreate"].InstanceProps.Visible = DefaultableBoolean.False; }
- //if (toolMenu.Toolbars[0].Tools.Exists("cancelCreate")) { toolMenu.Toolbars[0].Tools["cancelCreate"].InstanceProps.Visible = DefaultableBoolean.True; }
- //if (toolMenu.Toolbars[0].Tools.Exists("doExcel")) { toolMenu.Toolbars[0].Tools["doExcel"].InstanceProps.Visible = DefaultableBoolean.True; }
- //if (toolMenu.Toolbars[0].Tools.Exists("doExit")) { toolMenu.Toolbars[0].Tools["doExit"].InstanceProps.Visible = DefaultableBoolean.True; }
- this.ToolBarItemEnable(this, "doReceive", true);
- this.ToolBarItemEnable(this, "doReject", true);
- this.ToolBarItemEnable(this, "cancelReceive", true);
- this.ToolBarItemEnable(this, "doChange", true);
- this.ToolBarItemEnable(this, "cancelBenefit", false);
- }
- else
- {
- //if (toolMenu.Toolbars[0].Tools.Exists("doQuery")) { toolMenu.Toolbars[0].Tools["doQuery"].InstanceProps.Visible = DefaultableBoolean.True; }
- //if (toolMenu.Toolbars[0].Tools.Exists("doCreate")) { toolMenu.Toolbars[0].Tools["doCreate"].InstanceProps.Visible = DefaultableBoolean.True; }
- //if (toolMenu.Toolbars[0].Tools.Exists("cancelCreate")) { toolMenu.Toolbars[0].Tools["cancelCreate"].InstanceProps.Visible = DefaultableBoolean.False; }
- //if (toolMenu.Toolbars[0].Tools.Exists("doExcel")) { toolMenu.Toolbars[0].Tools["doExcel"].InstanceProps.Visible = DefaultableBoolean.False; }
- //if (toolMenu.Toolbars[0].Tools.Exists("doExit")) { toolMenu.Toolbars[0].Tools["doExit"].InstanceProps.Visible = DefaultableBoolean.True; }
- this.ToolBarItemEnable(this, "doReceive", false);
- this.ToolBarItemEnable(this, "doReject", false);
- this.ToolBarItemEnable(this, "cancelReceive", false);
- this.ToolBarItemEnable(this, "doChange", false);
- this.ToolBarItemEnable(this, "cancelBenefit", true);
- }
- }
- private void ck_Mtime_CheckedChanged(object sender, EventArgs e)
- {
- cop_planMouthStart.Enabled = ck_Mtime.Checked;
- cop_planMouthEnd.Enabled = ck_Mtime.Checked;
- }
- #endregion
- private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
- {
- if (ultraExpandableGroupBox1.Expanded)
- {
- //加载单位
- String strItemCode = e.Cell.Row.GetCellValue("itemCode").ToString().Trim();
- if (String.IsNullOrEmpty(strItemCode))
- {
- return;
- }
-
- cg_itemName.Text = e.Cell.Row.GetCellValue("itemName").ToString().Trim();
- cg_itemUom.Text = e.Cell.Row.GetCellValue("itemUom").ToString().Trim();
- cg_Qty.Value = e.Cell.Row.GetCellValue("qty");
- cg_weightUnit.Text = e.Cell.Row.GetCellValue("weightUnit").ToString().Trim();
- cg_itemUomId = e.Cell.Row.GetCellValue("itemUomId").ToString().Trim();
- cg_conf.Text = e.Cell.Row.GetCellValue("itemUomConefficient").ToString().Trim();
- getMatUOM(strItemCode);
- cg_itemUom.Value = cg_itemUomId;
-
- }
- }
- // 获取单位转换
- private void getMatUOM(String strItemCode)
- {
- if (!string.IsNullOrEmpty(strItemCode))
- {
- PurMatUomsEntity MatUomsEntity = new PurMatUomsEntity();
- MatUomsEntity.ItemCode = strItemCode;
- MatUomsEntity.Validflag = "1";
- DataTable dt_matUOM = this.execute<DataTable>("com.hnshituo.pur.configure.service.MatUomsService", "find", new object[] { MatUomsEntity, 0, 0 });
- cg_itemUom.DataSource = dt_matUOM;
- cg_itemUom.ValueMember = "itemUomId";
- cg_itemUom.DisplayMember = "uomName";
- }
- }
- //选择单位
- private void cg_itemUom_ValueChanged(object sender, EventArgs e)
- {
- //获取改变之前的转化系数
- if (cg_itemUom.SelectedIndex==-1)
- {
- return;
- }
- if (String.IsNullOrEmpty(cg_conf.Text.Trim()))
- {
- return;
- }
- double oldCon = Convert.ToDouble(cg_conf.Text);
- cg_itemUomId = cg_itemUom.Value.ToString().Trim();
- //需改变数量
- PurMatUomsEntity dt_matUOM = this.execute<PurMatUomsEntity>("com.hnshituo.pur.configure.service.MatUomsService", "findById", new object[] { cg_itemUomId });
- if (dt_matUOM == null)
- {
- return;
- }
- double newCon = (double)dt_matUOM.ItemUomConefficient;
- double oldQtyPur = Convert.ToDouble(cg_Qty.Value);
- double newQtyPur = 0;
- if (oldCon != newCon)
- {
- newQtyPur = oldQtyPur * oldCon / newCon;
- cg_Qty.Value = newQtyPur;
- cg_conf.Text = newCon+"";
- }
- cg_weightUnit.Text = dt_matUOM.WeightUnit;
- cg_conf.Text = newCon + "";
- }
- //写到行信息里面
- private void btn_cg_Click(object sender, EventArgs e)
- {
- if (ultraGrid1.ActiveRow == null)
- {
- return;
- }
- UltraGridRow uge = ultraGrid1.ActiveRow;
- String strItemUomId = uge.GetCellValue("itemUomId").ToString().Trim();
- if (String.IsNullOrEmpty(strItemUomId))
- {
- MessageUtil.ShowTips("无法获取行单位ID");
- return;
- }
- if (String.IsNullOrEmpty(cg_itemUomId))
- {
- MessageUtil.ShowTips("请先选择采购单位");
- cg_itemUom.Focus();
- return;
- }
- if (cg_itemUomId == strItemUomId)
- {
- MessageUtil.ShowTips("未发现可调整项");
- cg_itemUom.Focus();
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("确定调整该需求行物料:" + uge.GetCellValue("itemName")) != DialogResult.Yes)
- {
- return;
- }
- uge.Cells["itemUomId"].Value = cg_itemUomId;//记录新的单位换算ID
- uge.Cells["itemUnique"].Value = uge.GetCellValue("itemCode").ToString().Trim() + "@" + uge.GetCellValue("itemAttrId").ToString().Trim() + "@" + uge.GetCellValue("itemStandardsId").ToString().Trim() + "@" + cg_itemUomId;
- uge.Cells["qty"].Value = cg_Qty.Value;
- uge.Cells["weightUnit"].Value = cg_weightUnit.Text.Trim();
- uge.Cells["itemUom"].Value = cg_itemUom.Text.Trim();
- uge.Cells["itemUomConefficient"].Value = cg_conf.Text.Trim();
- uge.Cells["refuseReason"].Value = "【调整】采购单位调整";
- ultraGrid1.UpdateData();
- MessageUtil.ShowTips("已修改");
- //清空
- cg_itemName.Clear();
- cg_itemUom.SelectedIndex = -1;
- cg_itemUomId = "";
- cg_weightUnit.Clear();
- cg_conf.Clear();
- }
- }
- }
|