| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595 |
- 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 Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- using Pur.configure;
- using Pur.Entity;
- using Pur.Entity.ck;
- using Pur.Entity.configureEntity;
- using Pur.PublicTools;
- namespace Pur.require_plan
- {
- public partial class FrmPurInstockRequireChange : FrmPmsBase
- {
- public FrmPurInstockRequireChange()
- {
- InitializeComponent();
- }
- String strShowType = "1";
- private void FrmPurInstockRequireChange_Load(object sender, EventArgs e)
- {
- strShowType = this.CustomInfo;
- if (strShowType != "1" && strShowType != "2")
- {
- MessageUtil.ShowTips("请指定界面操作类型:1:脱单挂单,2:利库");
- return;
- }
- ultraExpandableGroupBox2.Expanded = false;
- ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[0];
- isAll.Checked = true;
- txt_g_qty.Enabled = false;
- chkDate.Checked = false;
- txt_date_yueBegin.Enabled = false;
- txt_date_yueBegin.Value = DateTime.Now;
- txt_date_yueEnd.Enabled = false;
- txt_date_yueEnd.Value = DateTime.Now;
-
- txt_createTM_be_re.Enabled = true;
- txt_createTM_be_re.Value = DateTime.Now.AddMonths(-2);
- txt_createTM_end_re.Enabled = true;
- txt_createTM_end_re.Value = DateTime.Now.AddDays(2);
- ck_ctime_re.Checked = true;
- txt_createTimeE.Enabled = true;
- txt_createTimeS.Enabled = true;
- txt_createTimeE.Value = System.DateTime.Now;
- txt_createTimeS.Value = DateTime.Now.AddMonths(-1);
- ck_ctime.Checked = true;
- GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], new string[] {});
- GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], new string[] {"ReleaseQty","CHK"});
- getDropDownList();
- GetPUR_CK_STORAGE();
- }
- private void FrmPurInstockRequireChange_Shown(object sender, EventArgs e)
- {
- this.ToolBarItemEnable(this, "ReleaseQty", true);
- this.ToolBarItemEnable(this, "CancelReleaseQty", false);
- if (strShowType == "1")
- {
- this.ToolBarItemCaption(this, "ReleaseQty", "脱单");
- this.ToolBarItemCaption(this, "CancelReleaseQty", "取消脱单");
- }
- else
- {
- this.ToolBarItemCaption(this, "ReleaseQty", "利库");
- this.ToolBarItemCaption(this, "CancelReleaseQty", "取消利库");
- }
- }
- #region toolbar
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- GetPUR_CK_STORAGE();
- break;
- case "ReleaseQty":
- ReleaseQty();
- break;
- case "CancelReleaseQty":
- CancelReleaseQty();
- break;
- case "doExcel":
- doExcel();
- break;
- }
- }
- private void doExcel()
- {
- try
- {
- if (ultraTabControl1.SelectedTab == ultraTabControl1.Tabs[0])
- {
- this.Cursor = Cursors.WaitCursor;
- ArrayList alUltraGrid = new ArrayList();
- alUltraGrid.Add(ultraGrid1);
- alUltraGrid.Add(ultraGrid2);
- ArrayList alSheeft = new ArrayList();
- alSheeft.Add("可挂单(利库)库存数据");
- alSheeft.Add("可挂单(利库)采购计划数据");
- if (ultraGrid1.Rows.Count > 0)
- {
- GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "可挂单库存数据");//导出excel
- }
- }
- else
- {
- this.Cursor = Cursors.WaitCursor;
- ArrayList alUltraGrid = new ArrayList();
- alUltraGrid.Add(ultraGrid4);
- ArrayList alSheeft = new ArrayList();
- alSheeft.Add("脱挂单(利库)历史数据");
- if (ultraGrid4.Rows.Count > 0)
- {
- GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "脱挂单(利库)历史数据");//导出excel
- }
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowTips("导出失败" + e.Message);
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- }
- /// <summary>
- /// 取消挂单
- /// </summary>
- private void CancelReleaseQty()
- {
- UltraGridRow uge = ultraGrid4.ActiveRow;
- if (uge == null)
- {
- MessageUtil.ShowTips("请选择脱单或者挂单记录进行操作");
- return;
- }
- String strTid = uge.GetCellValue("TID").ToString().Trim();
- if (String.IsNullOrEmpty(strTid))
- {
- MessageUtil.ShowTips("单号不能为空");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("确定取消?") != DialogResult.Yes)
- {
- return;
- }
- RequireReleaseInstockqty release = new RequireReleaseInstockqty();
- release.DeleteName = UserInfo.GetUserName();
- release.DeleteUserid = UserInfo.GetUserID();
- release.DeleteTime = DateTime.Now;
- release.Tid = strTid;
- CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "cancelReleaseQty", new object[] { release });
- if (crt.Resultcode == 0)
- {
- MessageUtil.ShowTips("操作成功");
- GetPUR_CK_STORAGE();
- }
- else
- {
- MessageUtil.ShowTips("操作失败:" + crt.Resultmsg);
- }
- }
- /// <summary>
- /// 挂单
- /// </summary>
- private void ReleaseQty()
- {
- //ArrayList list = new ArrayList();
- //IQueryable<UltraGridRow> checkRows = ultraGrid2.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True"); //("CHK = 'True' and QTYLJHTemp='0'");
- UltraGridRow uge = ultraGrid1.ActiveRow;
- if (uge == null)
- {
- MessageUtil.ShowTips("请选择库存记录进行操作");
- return;
- }
- String strInvIdOld = uge.GetCellValue("invPosId").ToString().Trim();
- String strItemCode = uge.GetCellValue("itemCode").ToString().Trim();
- if (string.IsNullOrEmpty(strInvIdOld))
- {
- MessageUtil.ShowTips("库存记录行号为空");
- return;
- }
- double dbGQty = 0;
- if (isAll.Checked)
- {
- if (uge.GetCellValue("itemUom").ToString() == "基吨")
- {
- double.TryParse(uge.GetCellValue("INVQTYWEIGHT").ToString().Trim(), out dbGQty);
- }
- else
- {
- double.TryParse(uge.GetCellValue("INVQTY").ToString().Trim(), out dbGQty);
- }
- }
- else
- {
- double.TryParse(txt_g_qty.Value.ToString().Trim(), out dbGQty);
- }
- if (dbGQty <= 0)
- {
- MessageUtil.ShowTips("挂单数量需大于0");
- return;
- }
- UltraGridRow row = ultraGrid2.ActiveRow;
- if (row==null)
- {
- MessageUtil.ShowTips("请选择待挂单的采购计划行");
- return;
- }
- String StrPurLineId = row.GetCellValue("mrLineId").ToString().Trim();
- if (string.IsNullOrEmpty(StrPurLineId))
- {
- MessageUtil.ShowTips("采购计划行号为空");
- return;
- }
- RequireReleaseInstockqty release = new RequireReleaseInstockqty();
- release.CreateName = UserInfo.GetUserName();
- release.CreateUserId = UserInfo.GetUserID();
- release.CreateTime = DateTime.Now;
- release.ReleaseQty = dbGQty;
- //release.InvPosId = strInvIdOld;
- release.PurLineId = StrPurLineId;
- if (MessageUtil.ShowYesNoAndQuestion("确定进行脱挂单操作?") != DialogResult.Yes)
- {
- return;
- }
- CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "doReleaseQty", new object[] { release });
- if (crt.Resultcode == 0)
- {
- MessageUtil.ShowTips("操作成功");
- GetPUR_CK_STORAGE();
- }
- else
- {
- MessageUtil.ShowTips("操作失败:" + crt.Resultmsg);
- }
- }
- /// <summary>
- /// 加载下拉框数据
- /// </summary>
- private void getDropDownList()
- {
- //txt_type.SelectedIndex = 0;
- PhysicSeatEntity Phouse = new PhysicSeatEntity();
- Phouse.Validflag = "1";
- Phouse.DeleteUserid = "1";
- DataTable dt3 = this.execute<DataTable>("com.hnshituo.pur.configure.service.ActualSeatService", "getActualSeat", new object[] { Phouse, 0, 0 });
- publicPms.FilComboboxAdd(txt_invPhysic, dt3, "INVPHYSIC", "INVPHYSICNAME", "", true, "/", "");
- txt_invPhysic.SelectedIndex = 0;
- }
- #endregion
- #region 界面事件
- private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
- {
- UltraGridRow uge = ultraGrid1.ActiveRow;
- if (uge == null)
- {
- MessageUtil.ShowTips("请选择库存记录进行操作");
- return;
- }
- double dbSQty = 0;//库存数量
- double dbGQty = 0;//有主需求量
- double dbLkQty = 0;//无主需求量
- if (uge.GetCellValue("itemUom").ToString() == "基吨")
- {
- double.TryParse(uge.GetCellValue("INVQTYWEIGHT").ToString().Trim(), out dbSQty);//基吨的只能利库存数量
- double.TryParse(uge.GetCellValue("normalQtyWeight").ToString().Trim(), out dbGQty);//基吨的只能利库存数量
- double.TryParse(uge.GetCellValue("yucaiQtyWeight").ToString().Trim(), out dbLkQty);//基吨的只能利库存数量
- }
- else
- {
- double.TryParse(uge.GetCellValue("INVQTY").ToString().Trim(), out dbSQty);
- double.TryParse(uge.GetCellValue("normalQty").ToString().Trim(), out dbGQty);
- double.TryParse(uge.GetCellValue("yucaiQty").ToString().Trim(), out dbLkQty);
- }
- if (strShowType == "1")//脱单
- {
- txt_g_qty.MaxValue = dbSQty;
- txt_g_qty.Value = dbSQty;
- }
- else //利库
- {
- txt_g_qty.MaxValue = dbSQty;
- txt_g_qty.Value = dbSQty;
- }
- String strItemCode = ultraGrid1.ActiveRow.GetCellValue("itemCode").ToString().Trim();
- getPurPlanDDetail(strItemCode);
- }
- private void ultraGrid2_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
- {
- UltraGridRow uge = ultraGrid1.ActiveRow;
- if (uge == null)
- {
- MessageUtil.ShowTips("请选择库存记录进行操作");
- return;
- }
- double qtyInstock = 0;
- double noticeQty = 0;
- double oldQty = 0;
- double.TryParse(uge.GetCellValue("INVQTY").ToString().Trim(), out qtyInstock);
- double.TryParse(e.Cell.Row.GetCellValue("qty").ToString().Trim(), out noticeQty);
- double.TryParse(e.Cell.Row.GetCellValue("releaseQty").ToString().Trim(), out oldQty);
- ultraGrid2.UpdateData();
- if (e.Cell.Column.Key == "ReleaseQty")
- {
- if (e.Cell.Row.Cells["type"].Value.ToString().Trim() == "脱单")
- {
- double newQty = 0;
- double.TryParse(e.Cell.Row.GetCellValue("releaseQty").ToString().Trim(), out newQty);
- if (newQty > Math.Min(qtyInstock, noticeQty))
- {
- MessageUtil.ShowTips("最大脱单量为:" + Math.Min(qtyInstock, noticeQty) + ",不能超过需求的通知量和库存量");
- e.Cell.Row.Cells["releaseQty"].Value = oldQty;
- return;
- }
- }
- else if (e.Cell.Row.Cells["type"].Value.ToString().Trim() == "挂单")
- {
- double allNoticeQty_req = 0;
- foreach (UltraGridRow row in ultraGrid2.Rows)
- {
- double req = 0;
- double.TryParse(e.Cell.Row.GetCellValue("qty").ToString().Trim(), out req);
- allNoticeQty_req = allNoticeQty_req + req;
- }
- double newQty = 0;
- double.TryParse(e.Cell.Row.GetCellValue("releaseQty").ToString().Trim(), out newQty);
- if (newQty > Math.Min(qtyInstock, noticeQty))
- {
- MessageUtil.ShowTips("最大脱单量为:" + Math.Min(qtyInstock, noticeQty) + ",不能超过需求的通知量和库存量");
- e.Cell.Row.Cells["releaseQty"].Value = oldQty;
- return;
- }
- }
- else
- {
- MessageUtil.ShowTips("请选择操作类型:脱单或者挂单");
- e.Cell.Row.Cells["releaseQty"].Value = oldQty;
- return;
- }
- }
- }
- #endregion
- #region 公共方法
- /// <summary>
- /// 获取可调整的需求计划信息
- /// </summary>
- private void getPurPlanDDetail(String strItemCode)
- {
- EntityPurPlanD pur = new EntityPurPlanD();
- //获取通知单行号
-
- DateTime End1 = new DateTime();
- DateTime End2 = new DateTime();
- if (chkDate.Checked)
- {
- if (txt_date_yueBegin.Value == null)
- {
- MessageUtil.ShowTips("请输入计划月份(起)");
- return;
- }
- End1 = DateTime.Parse(Convert.ToDateTime(txt_date_yueBegin.Value).ToString("yyyy/MM"));
- pur.CreateTime = End1;
- if (txt_date_yueEnd.Value == null)
- {
- MessageUtil.ShowTips("请输入计划月份(止)");
- return;
- }
- End2 = DateTime.Parse(Convert.ToDateTime(txt_date_yueEnd.Value).ToString("yyyy/MM"));
- pur.UpdateTime = End2;
- }
- if (String.IsNullOrEmpty(strItemCode))
- {
- MessageUtil.ShowTips("物料编号为空");
- return;
- }
- pur.DeleteName = txt_selectDeptId.Text.Trim();
- pur.Remark = "1";//挂单查询
- pur.UpdateUserid = strItemCode;
- double dbGQty = 0;
- if(isAll.Checked)
- {
- double.TryParse(ultraGrid1.ActiveRow.GetCellValue("INVQTY").ToString().Trim(), out dbGQty);
- }
- else
- {
- double.TryParse(txt_g_qty.Value.ToString(), out dbGQty);
- }
- pur.QtyYcUseable = dbGQty;
- DataTable dt1 = this.execute<DataTable>("com.hnshituo.pur.purplan.service.PurPlanDService", "getPlanD", new object[] { pur });
- GridHelper.CopyDataToDatatable(dt1, dataTable2, true);
- GridHelper.RefreshAndAutoSize(ultraGrid2);
- }
- /// <summary>
- /// 查询库存
- /// </summary>
- private void GetPUR_CK_STORAGE()
- {
- //查询库存
- dataTable1.Rows.Clear();
- dataTable2.Rows.Clear();
- PurCkStoragePosEntity CkSto = new PurCkStoragePosEntity();
- CkSto.InvId = txt_InvId.Text.Trim();
- CkSto.ItemCode = txt_itemCode.Text.Trim();
- CkSto.ItemName = txt_itemName.Text.Trim();
- if (txt_invPhysic.SelectedIndex != -1 && txt_invPhysic.SelectedIndex != 0)
- {
- CkSto.DeleteUserid = txt_invPhysic.Text.Trim();
- }
- CkSto.SuppName = txt_suppName.Text.Trim();
- CkSto.PurLineId = txt_purLineId.Text.Trim();
- if (ck_ctime.Checked)
- {
- if (!string.IsNullOrEmpty(txt_createTimeS.Text))
- {
- CkSto.CreateTime = Convert.ToDateTime(txt_createTimeS.Value);
- }
- if (!string.IsNullOrEmpty(txt_createTimeE.Text))
- {
- CkSto.UpdateTime = Convert.ToDateTime(txt_createTimeE.Value).AddDays(1);
- }
- }
- DataTable dt = this.execute<DataTable>("com.hnshituo.pur.ck.service.CkStoragePosService", "getCkStoragePosTd", new object[] { CkSto });
- GridHelper.CopyDataToDatatable(dt, dataTable1, true);
- GridHelper.RefreshAndAutoSize(ultraGrid1);
- //查询脱挂单记录
- record.Clear();
- RequireReleaseInstockqty release = new RequireReleaseInstockqty();
- release.ItemCode = txt_itemCode_re.Text.Trim();
- release.ItemName = txt_itemName_re.Text.Trim();
- if (ck_ctime_re.Checked)
- {
- if (!string.IsNullOrEmpty(txt_createTM_be_re.Text))
- {
- CkSto.CreateTime = Convert.ToDateTime(txt_createTM_be_re.Value);
- }
- if (!string.IsNullOrEmpty(txt_createTM_end_re.Text))
- {
- CkSto.DeleteTime = Convert.ToDateTime(txt_createTM_end_re.Value).AddDays(1);
- }
- }
- if (txt_releaseType.SelectedIndex != -1)
- {
- release.ReleaseType = txt_releaseType.Value.ToString().Trim();
- }
- DataTable dt1 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "doQuery_List", new object[] { release });
- GridHelper.CopyDataToDatatable(dt1, dataTable4, true);
- GridHelper.RefreshAndAutoSize(ultraGrid4);
- }
- #endregion
- #region 行工具栏
- private void btn_query_Click(object sender, EventArgs e)
- {
- UltraGridRow uge = ultraGrid1.ActiveRow;
- if (uge == null)
- {
- MessageUtil.ShowTips("请选择库存记录进行操作");
- return;
- }
- String strItemCode = uge.GetCellValue("itemCode").ToString().Trim();
- getPurPlanDDetail(strItemCode);
- }
- private void btn_release_Click(object sender, EventArgs e)
- {
- ArrayList list = new ArrayList();
- IQueryable<UltraGridRow> checkRows = ultraGrid2.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True" && a.GetValue("releaseQty") != "" && double.Parse(a.GetValue("releaseQty")) > 0);//("CHK = 'True' and QTYLJHTemp='0'");
- if (checkRows.Count() <= 0)
- {
- MessageUtil.ShowTips("请选择需求计划行");
- return;
- }
- if (true)//脱单
- {
-
- foreach (UltraGridRow uRows in checkRows)
- {
- RequireReleaseInstockqty release = new RequireReleaseInstockqty();
- //release.CreateName = UserInfo.GetUserName();
- //release.CreateUserId = UserInfo.GetUserID();
- //release.CreateTime = DateTime.Now;
- //double releaseQty = 0;
- //double.TryParse(uRows.GetCellValue("ReleaseQty").ToString().Trim(), out releaseQty);
- //release.ReleaseQty = releaseQty;
- //release.Rid = uRows.GetCellValue("id").ToString().Trim();
- //release.Type = "1";
- //list.Add(release);
- }
- }
- if (MessageUtil.ShowYesNoAndQuestion("确定进行:" +1 + " 操作?") != DialogResult.Yes)
- {
- return;
- }
- CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "doReleaseQty", new object[] { list });
- if (crt.Resultcode == 0)
- {
- MessageUtil.ShowTips("操作成功");
- //getPurPlanDDetail();
- }
- else
- {
- MessageUtil.ShowTips("操作失败:"+crt.Resultmsg);
- }
- }
- #endregion
- private void isAll_CheckedChanged(object sender, EventArgs e)
- {
- txt_g_qty.Enabled = !isAll.Checked;
- }
- private void chkDate_CheckedChanged(object sender, EventArgs e)
- {
- txt_date_yueEnd.Enabled = chkDate.Checked;
- txt_date_yueBegin.Enabled = chkDate.Checked;
- }
- private void txt_selectDept_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- frmdepartment frm = new frmdepartment(this.ob);
- // frm.StartPosition = FormStartPosition.Manual;
- // frm.Location = publicPms.getShowLocation(frm);
- frm.ShowDialog();
- String strdeptId = frm.BuyerUnitCode;
- String strDeptName = frm.Fulltext;
- txt_selectDept.Text = strDeptName;
- txt_selectDeptId.Text = strdeptId;
- }
- private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
- {
- dataTable3.Clear();
- String strMRLINEID = ultraGrid2.ActiveRow.GetCellValue("MRLINEID").ToString().Trim();
- if (String.IsNullOrEmpty(strMRLINEID))
- {
- return;
- }
- Dictionary<string, object> ReqPnew = new Dictionary<string,object>();
- ReqPnew["purLineId"] = strMRLINEID;
- 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, dataTable2, true);
- GridHelper.RefreshAndAutoSize(ultraGrid2);
- }
- private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
- {
- if (ultraTabControl1.SelectedTab == ultraTabControl1.Tabs[0])
- {
- this.ToolBarItemEnable(this, "ReleaseQty", true);
- this.ToolBarItemEnable(this, "CancelReleaseQty", false);
- }
- else
- {
- this.ToolBarItemEnable(this, "ReleaseQty", false);
- this.ToolBarItemEnable(this, "CancelReleaseQty", true);
- }
- }
- private void ck_ctime_re_CheckedChanged(object sender, EventArgs e)
- {
- txt_createTM_be_re.Enabled = ck_ctime_re.Checked;
- txt_createTM_end_re.Enabled = ck_ctime_re.Checked;
- }
- private void ck_ctime_CheckedChanged(object sender, EventArgs e)
- {
- txt_createTimeE.Enabled = ck_ctime.Checked;
- txt_createTimeS.Enabled = ck_ctime.Checked;
- }
- }
- }
|