| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323 |
- 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;
- using CoreFS.CA06;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Control;
- using Infragistics.Win.UltraWinGrid;
- using Core.Mes.Client.Comm.Format;
- using System.Collections;
- using Core.Mes.Client.Comm.Tool;
- using Core.Mes.Client.Comm;
- using Infragistics.Win.UltraWinEditors;
- using System.Reflection;
- using Core.StlMes.Client.SaleOrder.Dialog;
- namespace Core.StlMes.Client.SaleOrder.ReviewForm
- {
- public partial class frmOrderReport : FrmBase
- {
- public frmOrderReport()
- {
- InitializeComponent();
- this.IsLoadUserView = true;
- }
- /// <summary>
- /// 用于查询利库数据的参数
- /// </summary>
- ArrayList listLiku = new ArrayList();
- /// <summary>
- /// 重写基类toolBar方法
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="ToolbarKey"></param>
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "doQuery":
- doQuery();
- break;
- case "doReport":
- doReport();
- break;
- case "doClearReport":
- doClearReport();
- break;
- case "Export":
- ExportData();
- break;
- case "LiKu":
- ReportLiKu();
- break;
- case "CheckNLK":
- CheckNLK();
- break;
- case "CheckLK":
- CheckLK();
- break;
- case "UpdatePresentStatus":
- UpdatePresentStatus();
- break;
- case "doClose":
- this.Close();
- break;
- }
- }
- private void UpdatePresentStatus()
- {
- ultraGridReport.UpdateData();
- UltraGridRow[] dr = GridHelper.GetRowsWithKey(ultraGridReport, new string[] { "CHK" }, new string[] { "True" });
- if (dr.Length <= 0)
- {
- MessageBox.Show("请先选择交货行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- //这里只是先在界面判断一下状态,后台会实时查询状态的。
- foreach (UltraGridRow urow in ultraGridReport.Rows)
- {
- if (Convert.ToBoolean(urow.Cells["CHK"].Value))
- {
- if (urow.Cells["PORDERSTATUS"].Value.ToString() != "未提报")
- {
- MessageBox.Show("您选择的记录存在已经被处理的状态,不能修改提报状态,\r\n只有[未提报]可以修改提报状态!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- urow.Activate();
- return;
- }
- if (urow.Cells["ORDERFROMCODE"].Value.ToString() != "100102")
- {
- MessageBox.Show("只有[国际贸易部]可以修改提报状态!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- urow.Activate();
- return;
- }
- }
- }
- if (MessageBox.Show("是否确认修改提报状态选择的记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- ArrayList list = new ArrayList();
- foreach (UltraGridRow urow in ultraGridReport.Rows)
- {
- if (Convert.ToBoolean(urow.Cells["CHK"].Value))
- {
- ArrayList parm = new ArrayList();
- string ordLnDlyPk = urow.Cells["ORD_LN_DLY_PK"].Value.ToString();
- parm.Add(ordLnDlyPk);
- parm.Add(urow.Cells["PRESENT_STATUS"].Value.ToString());
- list.Add(parm);
- }
- }
- CoreClientParam ccp = new CoreClientParam();
- ccp.IfShowErrMsg = false;
- ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReport";
- ccp.MethodName = "UpdatePresentStatus";
- ccp.ServerParams = new Object[] { list };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp == null)
- return;
- else
- {
- if (ccp.ReturnCode == -1)
- {
- MessageBox.Show(ccp.ReturnObject.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- return;
- }
- }
- MessageBox.Show("修改完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- doQuery();
- }
- /// <summary>
- /// 评审不利库的原因
- /// </summary>
- private void CheckNLK()
- {
- ultraGridReport.UpdateData();
- UltraGridRow ugr = ultraGridReport.ActiveRow;
- if (ugr == null)
- {
- MessageUtil.ShowWarning("请选择您要审核不利库愿意的交货行!");
- return;
- }
- if (ugr.Cells["ORDER_LN_STATUS_NM"].Value.ToString() == "提报完毕")
- {
- MessageUtil.ShowWarning("您选择的记录已经提报完毕,此功能只针对“生效状态”的交货行!");
- ugr.Activate();
- return;
- }
- string ordLnDlyPk = ugr.Cells["ORD_LN_DLY_PK"].Value.ToString();
- string str = "合同号:" + ugr.Cells["ORDER_NO"].Value.ToString() + "/" + ugr.Cells["ORDER_SEQ"].Value.ToString() + " 交货行号:" + ugr.Cells["DELIVERY_NO"].Value.ToString();
- DataTable lkDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.queryLKFlag", new object[] { ordLnDlyPk }, this.ob);
- if (lkDt != null && lkDt.Rows.Count > 0)
- {
- string lkFlag = lkDt.Rows[0]["IS_LIKU"].ToString2();
- string lkCheck = lkDt.Rows[0]["NLK_CHECK"].ToString2();
- if (lkFlag == "1")
- {
- if (lkCheck != "L")
- {
- MessageUtil.ShowWarning("您选择的交货行没有利库原因可审核!");
- return;
- }
- }
- else
- {
- MessageUtil.ShowWarning("您选择的交货行没有利库原因可审核!");
- return;
- }
- }
- else
- {
- MessageUtil.ShowWarning("交货行已不存在,请刷新数据!");
- return;
- }
- FrmCheckNLK fcn = new FrmCheckNLK(ordLnDlyPk, this.ob);
- fcn.TipStr = str;
- fcn.ShowDialog();
- }
- /// <summary>
- /// 对已经利库的数据进行评审
- /// </summary>
- private void CheckLK()
- {
- ultraGridReport.UpdateData();
- UltraGridRow ugr = ultraGridReport.ActiveRow;
- if (ugr == null)
- {
- MessageUtil.ShowWarning("请选择您要利库的交货行!");
- return;
- }
- if (ugr.Cells["ORDER_LN_STATUS_NM"].Value.ToString() == "提报完毕")
- {
- MessageUtil.ShowWarning("您选择的记录已经提报完毕,此功能只能对“生效状态”的交货行利库!");
- ugr.Activate();
- return;
- }
- string ordLnDlyPk = ugr.Cells["ORD_LN_DLY_PK"].Value.ToString();
- string saleOrg = ugr.Cells["ORDERFROMCODE"].Value.ToString();
- if (!IsNeedCheckLK(ordLnDlyPk))
- {
- MessageUtil.ShowWarning("您选择的交货行没有利库记录需要审核!");
- ugr.Activate();
- return;
- }
- FrmReportLiKu frl = new FrmReportLiKu(this.ob, "2");
- frl.DataArr = this.ValidDataPurviewIds;
- frl.ListParm = listLiku;
- frl.OrdSaleOrg = saleOrg;
- frl.OrdLnDlyPk = ordLnDlyPk;
- frl.FormClosingQueryHandle += frl_FormClosingQueryHandle;
- frl.WindowState = FormWindowState.Maximized;
- frl.StartPosition = FormStartPosition.CenterScreen;
- frl.ShowDialog();
- }
- /// <summary>
- /// 导出
- /// </summary>
- private void ExportData()
- {
- GridHelper.ulGridToExcel(ultraGridReport, "提报数据");
- }
- /// <summary>
- /// 取消提报
- /// </summary>
- private void doClearReport()
- {
- ultraGridReport.UpdateData();
- UltraGridRow[] dr = GridHelper.GetRowsWithKey(ultraGridReport, new string[] { "CHK" }, new string[] { "True" });
- if (dr.Length <= 0)
- {
- MessageBox.Show("请先选择交货行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- //这里只是先在界面判断一下状态,后台会实时查询状态的。
- foreach (UltraGridRow urow in ultraGridReport.Rows)
- {
- if (Convert.ToBoolean(urow.Cells["CHK"].Value))
- {
- if (urow.Cells["PORDERSTATUS"].Value.ToString() == "未提报")
- {
- MessageBox.Show("您选择的记录还没有提报,不能取消提报!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- urow.Activate();
- return;
- }
- else if (urow.Cells["PORDERSTATUS"].Value.ToString() != "待接收")
- {
- MessageBox.Show("您选择的记录存在已经被处理的状态,不能取消提报,\r\n只有[待接收]可以取消提报!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- urow.Activate();
- return;
- }
- }
- }
- if (MessageBox.Show("是否确认取消提报选择的记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- ArrayList list = new ArrayList();
- foreach (UltraGridRow urow in ultraGridReport.Rows)
- {
- if (Convert.ToBoolean(urow.Cells["CHK"].Value))
- {
- ArrayList parm = new ArrayList();
- string ordPk = urow.Cells["ORD_PK"].Value.ToString();
- string ordLnPk = urow.Cells["ORD_LN_PK"].Value.ToString();
- string ordLnDlyPk = urow.Cells["ORD_LN_DLY_PK"].Value.ToString();
- parm.Add(ordPk);
- parm.Add(ordLnPk);
- parm.Add(ordLnDlyPk);
- parm.Add(UserInfo.GetUserName());
- list.Add(parm);
- }
- }
- CoreClientParam ccp = new CoreClientParam();
- ccp.IfShowErrMsg = false;
- ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReport";
- ccp.MethodName = "doClearReport";
- ccp.ServerParams = new Object[] { list };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp == null)
- return;
- else
- {
- if (ccp.ReturnCode == -1)
- {
- MessageBox.Show(ccp.ReturnObject.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- return;
- }
- list = new ArrayList();
- foreach (UltraGridRow urow in ultraGridReport.Rows)
- {
- if (Convert.ToBoolean(urow.Cells["CHK"].Value))
- {
- if (urow.Cells["ORDERFROMCODE"].Value.ToString() != "100102")
- {
- continue;
- }
- ArrayList parm = new ArrayList();
- string ordLnDlyPk = urow.Cells["ORD_LN_DLY_PK"].Value.ToString();
- parm.Add(ordLnDlyPk);
- parm.Add(urow.Cells["PRESENT_STATUS"].Value.ToString());
- list.Add(parm);
- }
- }
- if (list.Count > 0)
- {
- ccp = new CoreClientParam();
- ccp.IfShowErrMsg = false;
- ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReport";
- ccp.MethodName = "UpdatePresentStatus";
- ccp.ServerParams = new Object[] { list };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- }
- }
- MessageBox.Show("取消提报完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- doQuery();
- }
- /// <summary>
- /// 获取当前选中交货行数据库中的状态
- /// </summary>
- /// <param name="ordPk"></param>
- /// <param name="ordLnPk"></param>
- /// <param name="ordLnDlyPk"></param>
- /// <returns></returns>
- private string GetDeliverySts(string ordPk, string ordLnPk, string ordLnDlyPk)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.GetDeliverySts", new Object[] { ordPk, ordLnPk, ordLnDlyPk }, this.ob);
- return dt.Rows[0]["DELIVERY_STATUS"].ToString();
- }
- /// <summary>
- /// 提报
- /// </summary>
- private void doReport()
- {
- ultraGridReport.UpdateData();
- ArrayList craft = new ArrayList();
- UltraGridRow[] dr = GridHelper.GetRowsWithKey(ultraGridReport, new string[] { "CHK" }, new string[] { "True" });
- if (dr.Length <= 0)
- {
- MessageBox.Show("请先选择交货行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- return;
- }
- DataTable timeDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getServerTime", null, this.ob);
- int mon = Convert.ToInt16(timeDt.Rows[0][0].ToString().Substring(5, 2));
- int year = Convert.ToDateTime(timeDt.Rows[0][0].ToString()).Year;
- ArrayList list = new ArrayList();
- UltraGridRow[] rows = ultraGridReport.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString().ToUpper() == "TRUE").ToArray();
- foreach (UltraGridRow urow in rows)
- {
- string ordStr = "合同号:" + urow.Cells["ORDER_NO"].Value.ToString() + "/" + urow.Cells["ORDER_SEQ"].Value.ToString() + " 交货行号:" + urow.Cells["DELIVERY_NO"].Value.ToString();
- if (urow.Cells["ORDER_LN_STATUS_NM"].Value.ToString() == "提报完毕")
- {
- MessageUtil.ShowWarning(ordStr + "已经提报完毕,不必重复提报!");
- urow.Activate();
- return;
- }
- //合同行被锁定的 交货行不能提报!
- DataTable lockDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getOrderLineLock", new object[] { urow.Cells["ORD_LN_PK"].Value.ToString() }, this.ob);
- if (lockDt != null && lockDt.Rows.Count > 0)
- {
- if (lockDt.Rows[0][0].ToString() == "1")
- {
- MessageUtil.ShowWarning(ordStr + "所在的合同行已被锁定,合同处于合同变更中,无法提报!");
- return;
- }
- }
- else
- {
- MessageUtil.ShowWarning(ordStr + "所在的合同行已不存在!");
- return;
- }
- //合同行提报锁定的!
- DataTable lockDt1 = ServerHelper.GetData("com.steering.pss.sale.order.DAL.SlmOrderLineLockDAL.getOrderLineLock", new object[] { urow.Cells["ORD_LN_PK"].Value.ToString() }, this.ob);
- if (lockDt1 != null && lockDt1.Rows.Count > 0)
- {
- if (lockDt1.Rows[0][0].ToString() == "1")
- {
- MessageUtil.ShowWarning(ordStr + "该合同行提报排产被锁定请重新审批合同价格!不允许提报排产! ");
- return;
- }
- }
- string ordPk = urow.Cells["ORD_PK"].Value.ToString();
- //现货合同不能提报
- string ordType = "";
- DataTable ordTypDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getOrderType", new object[] { ordPk }, this.ob);
- if (ordTypDt != null && ordTypDt.Rows.Count > 0)
- {
- ordType = ordTypDt.Rows[0][0].ToString();
- }
- if (ordType.Equals("120102") || ordType.Equals("120105"))
- {
- MessageUtil.ShowWarning(ordStr + "的合同类型是现货合同或者贸易合同,无法提报!");
- urow.Activate();
- return;
- }
- else if (ordType.Equals("120103")) //研发合同 所有生效方可提报
- {
- DataTable yfDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getAllEffect", new object[] { ordPk }, this.ob);
- if(yfDt!=null && yfDt.Rows.Count>0)
- {
- MessageUtil.ShowWarning(ordStr + "所在的合同下,存在尚未生效的合同行,只有整个合同都生效了,方可提报!");
- urow.Activate();
- return;
- }
- }
- if (urow.Cells["REVIEW_ASK_END"].Value == null || urow.Cells["REVIEW_ASK_END"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning(ordStr + "轧制月份为空,不能提报,可以尝试退回交货期进行交货期分析\n或者进行交货行变更");
- return;
- }
- var DateSum = new List<string>();
- for (var date = Convert.ToDateTime(timeDt.Rows[0][0].ToString()); date < Convert.ToDateTime(timeDt.Rows[0][0].ToString()).AddMonths(12); date = date.AddMonths(1))
- {
- DateSum.Add(date.ToString("yyyy-MM"));
- }
- if (!DateSum.Contains(urow.Cells["REVIEW_ASK_END"].Value.ToString()))
- {
- MessageUtil.ShowWarning(ordStr + "的记录轧制月份不在(" + string.Join(",", DateSum) + ")月,不能提报!");
- urow.Activate();
- return;
- }
- //if (mon < 11)
- //{
- // if (Convert.ToInt16(urow.Cells["REVIEW_ASK_END"].Value.ToString().Substring(5, 2)) < mon
- // || Convert.ToInt16(urow.Cells["REVIEW_ASK_END"].Value.ToString().Substring(5, 2)) > mon + 2)
- // {
- // int mon1 = mon + 1;
- // int mon2 = mon + 2;
- // MessageUtil.ShowWarning(ordStr + "的记录轧制月份不在(" + mon + "," + mon1 + "," + mon2 + ")月,不能提报!");
- // urow.Activate();
- // return;
- // }
- //}
- //else
- //{
- // int cmon = Convert.ToDateTime(urow.Cells["REVIEW_ASK_END"].Value.ToString()).Month; //10 1月
- // int cyear = Convert.ToDateTime(urow.Cells["REVIEW_ASK_END"].Value.ToString()).Year; // 2015 2016年
- // DateTime time = new DateTime(cyear, cmon, 1);
- // DateTime time1 = new DateTime(year, mon, 1); //本月
- // DateTime time2 = new DateTime(); //下下月
- // int cmon1 = mon + 1;
- // int cmon2 = mon + 2;
- // string cmon1str = "";
- // string cmon2str = "";
- // if (cmon1 > 12)
- // {
- // cmon1str = (year + 1).ToString() + "年" + (cmon1 - 12).ToString();
- // }
- // else
- // {
- // cmon1str = (year).ToString() + "年" + (cmon1).ToString();
- // }
- // if (cmon2 > 12)
- // {
- // cmon2str = (year + 1).ToString() + "年" + (cmon2 - 12).ToString();
- // time2 = new DateTime(year + 1, cmon2 - 12, 1);
- // }
- // else
- // {
- // cmon2str = (year).ToString() + "年" + (cmon2).ToString();
- // time2 = new DateTime(year, cmon2, 1);
- // }
- // if (time < time1 || time > time2)
- // {
- // MessageUtil.ShowWarning(ordStr + "的记录轧制月份不在(" + year.ToString() + "年" + mon + "," + cmon1str + "," + cmon2str + ")月,不能提报!");
- // urow.Activate();
- // return;
- // }
- //}
- string ordLnDlyPk = urow.Cells["ORD_LN_DLY_PK"].Value.ToString();
- string ordLnPk = urow.Cells["ORD_LN_PK"].Value.ToString();
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getPrdcrIsNull", new object[] { ordLnPk }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- MessageUtil.ShowWarning(ordStr + "的合同没有维护监制要求!");
- urow.Activate();
- return;
- }
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getPrdcrNotNull", new object[] { ordLnPk }, this.ob);
- if (dt1 != null && dt1.Rows.Count > 0)
- {
- MessageUtil.ShowWarning(ordStr + "的合同,维护的监制没有生效!");
- urow.Activate();
- return;
- }
- if (urow.Cells["ORDERFROMCODE"].Value.ToString() == "100102" && urow.Cells["PRESENT_STATUS"].Value.ToString() != "可提报")
- {
- MessageUtil.ShowWarning(ordStr + "的合同为不可提报状态,不能提报!");
- urow.Activate();
- return;
- }
- listLiku = new ArrayList();
- listLiku.Add(urow.Cells["PRODUCCODE"].Value.ToString());
- listLiku.Add(urow.Cells["STEELCODE"].Value.ToString());
- listLiku.Add(urow.Cells["SPEC_CODE"].Value.ToString());
- listLiku.Add(urow.Cells["MODEL_CODE"].Value.ToString());
- listLiku.Add(urow.Cells["STD_STYLE_DESC"].Value.ToString());
- listLiku.Add(urow.Cells["STD_STYLE_DESC"].Value.ToString());
- //判断是否已经选择是否利库
- bool isSelected = false;
- DataTable lkDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.queryLKFlag", new object[] { ordLnDlyPk }, this.ob);
- if (lkDt != null && lkDt.Rows.Count > 0)
- {
- string lkFlag = lkDt.Rows[0]["IS_LIKU"].ToString2();
- string lkCheck = lkDt.Rows[0]["NLK_CHECK"].ToString2();
- if (lkFlag == "1" && this.CustomInfo.Equals("120504"))
- {
- isSelected = true;
- if (lkCheck == "L")
- {
- MessageUtil.ShowWarning(ordStr + "请先审核放弃利库的原因!");
- return;
- }
- }
- }
- else
- {
- MessageUtil.ShowWarning(ordStr + "交货行已不存在,请刷新数据!");
- return;
- }
- //是否有成品库存
- bool hasMat = false;
- if (!isSelected && this.CustomInfo.Equals("120504"))
- {
- string saleOrg = urow.Cells["ORDERFROMCODE"].Value.ToString();
- //是否有利库的资源 然后判断交货行有没有利库
- DataTable matDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.queryIsExistsMat", new object[] { listLiku, saleOrg, urow.Cells["SUPPLY_UNIT_CODE"].Value.ToString() }, this.ob);
- if (matDt != null && matDt.Rows.Count > 0)
- {
- if (Convert.ToInt16(matDt.Rows[0][0].ToString3()) > 0)
- {
- hasMat = true;
- }
- }
- DataTable liKuDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.queryIsLiKu", new object[] { ordLnDlyPk }, this.ob);
- if (liKuDt != null && liKuDt.Rows.Count > 0)
- {
- if (hasMat)
- {
- if (Convert.ToDecimal(liKuDt.Rows[0][0].ToString3()) < Convert.ToDecimal(urow.Cells["ORDERWEIGHT"].Value))
- {
- string str = ordStr + " 存在可利库的成品信息!\n请问是否利库?";
- if (MessageUtil.ShowYesNoAndQuestion(str) == DialogResult.No)
- {
- //更新交货行状态 同时保存原因
- dlgReviewMemo dlg = new dlgReviewMemo();
- dlg.ReviewSatus = "请输入有库存而不利库的原因";
- dlg.ReviewFlag = 4;
- dlg.ShowDialog();
- if (dlg.DialogResult == DialogResult.OK)
- {
- string reviewMemo = dlg.ReviewMemo;
- int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderReport.updateLKFlag", new object[] { ordLnDlyPk, reviewMemo }, this.ob);
- if (count > 0)
- {
- MessageUtil.ShowTips("请审核不利库的原因!");
- return;
- }
- }
- return;
- }
- else
- {
- MessageUtil.ShowTips("请点击利库按钮进行利库操作!");
- }
- return;
- }
- }
- }
- }
- //判断是否利库了 但利库数据尚未审核的
- if (IsNeedCheckLK(ordLnDlyPk) && this.CustomInfo.Equals("120504"))
- {
- MessageUtil.ShowWarning(ordStr + "存在没有审核的利库数据,请审核!");
- return;
- }
- DataRow row = null;
- DataRow[] dRow = SLM_ORDER_LINE_DELIVERY.Select("ORD_LN_DLY_PK = '" + ordLnDlyPk + "'");
- row = dRow[0];
- //for (int i = 0; i < SLM_ORDER_LINE_DELIVERY.Rows.Count; i++)
- //{
- // if (ordLnDlyPk.Equals(SLM_ORDER_LINE_DELIVERY.Rows[i]["ORD_LN_DLY_PK"].ToString()))
- // {
- // row = SLM_ORDER_LINE_DELIVERY.Rows[i];
- // break;
- // }
- //}
- ReportOrderLineDelivery reportModel = new ReportOrderLineDelivery();
- reportModel.OrdPk = row["ORD_PK"].ToString();
- reportModel.OrdLnPk = row["ORD_LN_PK"].ToString();
- // ORD_LN_DLY_PK VARCHAR2(40) NOT NULL,
- reportModel.OrdLnDlyPk = row["ORD_LN_DLY_PK"].ToString();
- // ORDER_NO VARCHAR2(20),
- reportModel.OrderNo = row["ORDER_NO"].ToString();
- // ORDER_SEQ VARCHAR2(3),
- reportModel.OrderSeq = row["ORDER_SEQ"].ToString();
- // DELIVERY_NO VARCHAR2(3),
- reportModel.DeliveryNo = row["DELIVERY_NO"].ToString();
- // PRD_CLS VARCHAR2(20),
- reportModel.PrdCls = row["PRD_CLS"].ToString();
- // PRODUCCODE VARCHAR2(20),
- reportModel.Produccode = row["PRODUCCODE"].ToString();
- // PRODUCNAME VARCHAR2(100),
- reportModel.Producname = row["PRODUCNAME"].ToString();
- // STD_CODE VARCHAR2(20),
- reportModel.StdCode = row["STD_CODE"].ToString();
- // STD_NAME VARCHAR2(200),
- reportModel.StdName = row["STD_NAME"].ToString();
- // STEELCODE VARCHAR2(10),
- reportModel.Steelcode = row["STEELCODE"].ToString();
- // STEELNAME VARCHAR2(100),
- reportModel.Steelname = row["STEELNAME"].ToString();
- // SPEC_CODE VARCHAR2(20),
- reportModel.SpecCode = row["SPEC_CODE"].ToString();
- string specCode = row["SPEC_CODE"].ToString();
- // SPEC_NAME VARCHAR2(100),
- reportModel.SpecName = row["SPEC_NAME"].ToString();
- // OUTDIAMETER外径
- reportModel.Outdiameter = row["OUTDIAMETER"].ToString();
- // WALLTHICK NUMBER(10,3),
- reportModel.Wallthick = row["WALLTHICK"].ToString();
- // LEN_NO VARCHAR2(20),
- reportModel.LenNo = row["LEN_NO"].ToString();
- // LENGTHMAX NUMBER(10,3),
- reportModel.Lengthmax = row["LENGTHMAX"].ToString();
- // LENGTHMIN NUMBER(10,3),
- reportModel.Lengthmin = row["LENGTHMIN"].ToString();
- // LENGTHDISC VARCHAR2(100),
- reportModel.Lengthdisc = row["LENGTHDISC"].ToString();
- // MODEL_CODE VARCHAR2(20),
- reportModel.ModelCode = row["MODEL_CODE"].ToString();
- // MODEL_DESC VARCHAR2(100),
- reportModel.ModelDesc = row["MODEL_DESC"].ToString();
- // ORDER_UNIT VARCHAR2(20),
- reportModel.OrderUnit = row["ORDER_UNIT"].ToString();
- string ordUnit = row["ORDER_UNIT"].ToString();
- string elimNum = ""; //脱单量
- string elimWgt = "";
- string elimLen = "";
- string chargeNum = ""; //利库量
- string chargeWgt = "";
- string chargeLen = "";
- decimal ordQty = Convert.ToDecimal(row["DELVRY_QTY"].ToString()); //交货行的交货量
- // reportModel.OrderQty = row["DELVRY_QTY"].ToString(); 以前的提报量
- //reportModel.Orderweight = row["ORDERWEIGHT"].ToString(); 估算重量
- //reportModel.Totlength = row["TOTLENGTH"].ToString(); 保总长
- decimal repQty = 0; //提报量 订单量-利库量+脱单量
- decimal estWgt = 0; //估算重量
- decimal sureLen = 0; //保总长
- if ("120504".Equals(this.CustomInfo.ToString()))
- {
- //新增 利库量 脱单量的处理逻辑
- DataTable dt2 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getProcessOrderInfo", new object[] { row["ORD_LN_DLY_PK"].ToString() }, ob);
- if (dt2 != null && dt2.Rows.Count > 0)
- {
- elimNum = dt2.Rows[0]["ELIM_NUM"].ToString();
- elimWgt = dt2.Rows[0]["ELIM_WGT"].ToString();
- elimLen = dt2.Rows[0]["ELIM_LEN"].ToString();
- chargeNum = dt2.Rows[0]["CHARGE_NUM"].ToString();
- chargeWgt = dt2.Rows[0]["CHARGE_WGT"].ToString();
- chargeLen = dt2.Rows[0]["CHARGE_LEN"].ToString();
- }
- }
- if (ordUnit == "吨")
- {
- repQty = ordQty - Convert.ToDecimal(chargeWgt == "" ? "0" : chargeWgt) + Convert.ToDecimal(elimWgt == "" ? "0" : elimWgt);
- estWgt = repQty;
- sureLen = repQty / Convert.ToDecimal(row["DELVRY_QTY"].ToString()) * Convert.ToDecimal(row["TOTLENGTH"].ToString3());
- }
- else if (ordUnit == "支")
- {
- repQty = ordQty - Convert.ToDecimal(chargeNum == "" ? "0" : chargeNum) + Convert.ToDecimal(elimNum == "" ? "0" : elimNum);
- estWgt = repQty;
- sureLen = repQty / Convert.ToDecimal(row["DELVRY_QTY"].ToString()) * Convert.ToDecimal(row["TOTLENGTH"].ToString3());
- }
- else if (ordUnit == "米")
- {
- repQty = ordQty - Convert.ToDecimal(chargeLen == "" ? "0" : chargeLen) + Convert.ToDecimal(elimLen == "" ? "0" : elimLen);
- estWgt = OrderFunction.GetPrdctWgtNew(repQty, ordUnit, specCode, ob);
- sureLen = repQty / Convert.ToDecimal(row["DELVRY_QTY"].ToString()) * Convert.ToDecimal(row["TOTLENGTH"].ToString3());
- }
- else if (ordUnit == "毫米")
- {
- repQty = ordQty - Convert.ToDecimal(chargeLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(chargeLen) * 1000)) + Convert.ToDecimal(elimLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(elimLen) * 1000));
- estWgt = OrderFunction.GetPrdctWgtNew(repQty, ordUnit, specCode, ob);
- sureLen = repQty / Convert.ToDecimal(row["DELVRY_QTY"].ToString()) * Convert.ToDecimal(row["TOTLENGTH"].ToString3());
- }
- else if (ordUnit == "英尺")
- {
- repQty = ordQty - Convert.ToDecimal(chargeLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(chargeLen) / Convert.ToDecimal(0.3048))) + Convert.ToDecimal(elimLen == "" ? "0" : Convert.ToString(Convert.ToDecimal(elimLen) / Convert.ToDecimal(0.3048)));
- estWgt = OrderFunction.GetPrdctWgtNew(repQty, ordUnit, specCode, ob);
- sureLen = repQty / Convert.ToDecimal(row["DELVRY_QTY"].ToString()) * Convert.ToDecimal(row["TOTLENGTH"].ToString3());
- }
- else if (ordUnit == "英镑")
- {
- repQty = ordQty - Convert.ToDecimal(chargeWgt == "" ? "0" : Convert.ToString(Convert.ToDecimal(chargeWgt) / Convert.ToDecimal(0.45359237))) + Convert.ToDecimal(elimWgt == "" ? "0" : Convert.ToString(Convert.ToDecimal(elimWgt) / Convert.ToDecimal(0.45359237)));
- estWgt = OrderFunction.GetPrdctWgtNew(repQty, ordUnit, specCode, ob);
- sureLen = repQty / Convert.ToDecimal(row["DELVRY_QTY"].ToString()) * Convert.ToDecimal(row["TOTLENGTH"].ToString3());
- }
- if (repQty <= 0)
- continue;
- reportModel.DelvryQty = ordQty.ToString();
- reportModel.ChargeNum = chargeNum;
- reportModel.ChargeWgt = chargeWgt;
- reportModel.ChargeLen = chargeLen;
- reportModel.ElimNum = elimNum;
- reportModel.ElimWgt = elimWgt;
- reportModel.ElimLen = elimLen;
- // ORDER_QTY NUMBER(8,3),
- reportModel.OrderQty = Convert.ToString(repQty);
- // ORDERWEIGHT NUMBER(16,3),重量估算
- reportModel.Orderweight = Convert.ToString(estWgt);
- // ORDERNUM NUMBER(10),合同支数,无。
- reportModel.Ordernum = row["ORDERNUM"].ToString();
- // TOTLENGTH NUMBER(16,3),OrdEnsuTotlLen,总保长
- reportModel.Totlength = Convert.ToString(sureLen);
- // DELVRY_RANGE_TPE VARCHAR2(20),
- reportModel.DelvryRangeTpe = row["DELVRY_RANGE_TPE"].ToString();
- // DELVRY_RANGE_MIN NUMBER(2),
- reportModel.DelvryRangeMin = row["DELVRY_RANGE_MIN"].ToString();
- // DELVRY_RANGE_MAX NUMBER(2),
- reportModel.DelvryRangeMax = row["DELVRY_RANGE_MAX"].ToString();
- // BUYER_ID VARCHAR2(20), 客户编码
- reportModel.BuyerId = row["BUYER_ID"].ToString();
- // BUYER_NAME VARCHAR2(100),客户名称
- reportModel.BuyerName = row["BUYER_NAME"].ToString();
- //CUST_ALPHA_NO VARCHAR2(20),客户AlphaNo
- reportModel.CustAlphaNo = row["CUST_ALPHA_NO"].ToString();
- // ORDER_SPECIAL_DESC VARCHAR2(200),产品特殊要求描述 \r\n 特殊字符 导致JSON转化异常。
- string specialDesc = row["ORDER_SPECIAL_DESC"].ToString().Trim();
- //specialDesc = specialDesc.Replace("\r", "");
- //specialDesc = specialDesc.Replace("\n", "");
- reportModel.OrderSpecialDesc = specialDesc.Trim();
- // ADD_ASK_NO VARCHAR2(16),
- reportModel.AddAskNo = row["ADD_ASK_NO"].ToString();
- // ORDER_ADD_DESC VARCHAR2(200), \r\n 特殊字符 导致JSON转化异常。
- string addDesc = row["ORDER_ADD_DESC"].ToString().Trim();
- //addDesc = addDesc.Replace("\r", "");
- // addDesc = addDesc.Replace("\n", "");
- reportModel.OrderAddDesc = addDesc.Trim();
- // ORDERFROM VARCHAR2(20),合同来源,无此字段--销售组织。
- reportModel.Orderfrom = row["ORDERFROMCODE"].ToString();
- // FINAL_USER VARCHAR2(20),
- reportModel.FinalUser = row["FINAL_USER"].ToString();
- // FINAL_USER_DESC VARCHAR2(100),
- reportModel.FinalUserDesc = row["FINAL_USER_DESC"].ToString();
- // UPPERLIMIT NUMBER(10,3),上限
- reportModel.Upperlimit = row["UPPERLIMIT"].ToString();
- // LOWERLIMT NUMBER(10,3),下限,
- reportModel.Lowerlimt = row["LOWERLIMT"].ToString();
- // DELVRY_BDATE DATE,
- reportModel.DelvryBdate = row["DELVRY_BDATE"].ToString() != "" ? Convert.ToDateTime(row["DELVRY_BDATE"].ToString()).ToString("yyyy-MM-dd") : row["DELVRY_BDATE"].ToString();
- // DELVRY_EDATE DATE,
- reportModel.DelvryEdate = row["DELVRY_EDATE"].ToString() != "" ? Convert.ToDateTime(row["DELVRY_EDATE"].ToString()).ToString("yyyy-MM-dd") : row["DELVRY_EDATE"].ToString();
- // LATEST_PROD_DATE最迟生产日期,无此字段,上面是最迟交货日期
- reportModel.LatestProdDate = row["LATEST_PROD_DATE"].ToString() != "" ? Convert.ToDateTime(row["LATEST_PROD_DATE"].ToString()).ToString("yyyy-MM-dd") : row["LATEST_PROD_DATE"].ToString();
- // ORDERCONTACT VARCHAR2(20),合同联系人,无此字段。
- reportModel.Ordercontact = row["ORDERCONTACT"].ToString();
- // MONITORDEMAND VARCHAR2(200),监制要求
- reportModel.Monitordemand = row["MONITORDEMAND"].ToString();
- // SPECSTANDARD VARCHAR2(20),公差标准
- //reportModel.SPECSTANDARD = row["ORD_LN_PK"].ToString();
- // PACKTYPE VARCHAR2(20),包装要求
- //reportModel.OrdLnPk = row["ORD_LN_PK"].ToString();
- // PSC
- reportModel.Psc = row["PSC"].ToString();
- // PRIORITY VARCHAR2(20),合同优先级
- //reportModel.OrdLnPk = row["ORD_LN_PK"].ToString();
- // msc
- reportModel.Msc = row["MSC"].ToString();
- //
- reportModel.CreateName = this.UserInfo.GetUserName();
- reportModel.JzFileIfAll = string.IsNullOrEmpty(row["PRDCR_NO"].ToString()) ? "0" : "1"; //row["JZ_FILE_IF_ALL"].ToString();
- //
- reportModel.PrdcrNo = row["PRDCR_NO"].ToString();
- reportModel.MaterialNo = row["MATERIAL_NO"].ToString();
- reportModel.MaterialDesc = row["MATERIAL_DESC"].ToString();
- reportModel.ShrtLenRato = row["SHRT_LEN_RATO"].ToString();
- reportModel.Shortest = row["SHORTEST"].ToString();
- reportModel.LongLenRato = row["LONG_LEN_RATO"].ToString();
- reportModel.Longest = row["LONGEST"].ToString();
- reportModel.SiglLen = row["SIGL_LEN"].ToString();
- reportModel.LenUnit = row["LEN_UNIT"].ToString();
- reportModel.PrdcrDesc = row["PRDCR_DESC"].ToString();
- reportModel.OutsBilletFl = row["OUTS_BILLET_FL_CODE"].ToString();
- reportModel.UseCode = row["USE_CODE"].ToString();
- reportModel.UseDesc = row["USE_DESC"].ToString();
- reportModel.EndLenSpecStd = row["ENDLEN_SPECSTD"].ToString();
- reportModel.AvgLenMin = row["AVG_LEN_MIN"].ToString();
- reportModel.ShrtStove = row["SHRT_STOVE"].ToString();
- reportModel.DifrncLenMax = row["DIFRNC_LEN_MAX"].ToString();
- reportModel.StdStyleDesc = row["STD_STYLE_DESC"].ToString();
- reportModel.OutsStlPipeFl = row["OUTS_STL_PIPE_FL_CODE"].ToString();
- reportModel.RollMonth = row["REVIEW_ASK_END"].ToString();
- reportModel.SupplyUnitCode = row["SUPPLY_UNIT_CODE"].ToString();
- reportModel.SupplyUnit = row["SUPPLY_UNIT"].ToString();
- reportModel.DelvryAddr = row["DELVRY_ADDR"].ToString();
- if (row["ORDER_TYP"].ToString().Equals("120108"))
- reportModel.TypeFlag = "1";
- else if (row["ORDER_TYP"].ToString().Equals("120109"))
- reportModel.TypeFlag = "2";
- else
- reportModel.TypeFlag = "0";
- list.Add(JSONFormat.Format(reportModel));
- if (!craft.Contains(ordLnPk))
- {
- craft.Add(ordLnPk);
- }
- }
- if (list.Count <= 0)
- {
- MessageUtil.ShowWarning("没有符合提报要求的数据!");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认提报所选记录?") == DialogResult.No) return;
- //执行数据库相关操作
- CoreClientParam ccp = new CoreClientParam();
- ccp.IfShowErrMsg = false;
- ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReport";
- ccp.MethodName = "doReport";
- ccp.ServerParams = new object[] { list };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp == null)
- return;
- else
- {
- if (ccp.ReturnCode == -1)
- {
- if (ccp.ReturnObject != null)
- {
- MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
- return;
- }
- else
- {
- MessageUtil.ShowWarning(ccp.ReturnInfo);
- return;
- }
- }
- else
- {
- MessageBox.Show("提报完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- //工艺评审 2015-12-09新增
- frmCraftReviewTechnology crt = new frmCraftReviewTechnology();
- foreach (string pk in craft)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.getCraftState",
- new string[] { pk }, ob);
- if (dt.Rows.Count > 0 && dt.Rows[0]["VALIDFLAG"].ToString() == "1" && dt.Rows[0]["CRAFT_SOURCE"].ToString() != "人工上传")
- {
- continue;
- }
- crt.CheckQuality(pk, true, this.ob);
- crt.Quality(pk, true, this.ob);
- }
- doQuery();
- }
- }
- }
- /// <summary>
- /// 查询
- /// </summary>
- private void doQuery()
- {
- string orderNo = "";
- string orderSts = cmbSts.Value.ToString().Trim();
- string orderStart = "";
- string orderEnd = "";
- string reportStartTime = "";
- string reportEndTime = "";
- if (uchkOrderNo.Checked)
- orderNo = utxtOrderNo.Text.Trim().ToLower();
- if (uchkDate.Checked)
- {
- orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
- orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
- }
- else
- {
- orderStart = "1000-01-01 00:00:01";
- orderEnd = "9999-12-31 23:59:59";
- }
- if (rchkDate.Checked)
- {
- reportStartTime = rdtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
- reportEndTime = rdtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
- }
-
- string[] arr = this.ValidDataPurviewIds;
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.doQuery", new Object[] { orderNo, orderSts, orderStart, orderEnd, arr, CustomInfo, reportStartTime, reportEndTime }, this.ob);
- string strSelect = "CREATE_TIME >= '" + orderStart + "' AND CREATE_TIME <= '" + orderEnd + "'";
- DataRow[] arrayDR = dt.Select(strSelect, "ORDER_NO,ORDER_SEQ,DELIVERY_NO ASC");
- DataTable dtNew = dt.Clone();
- ArrayList list = new ArrayList();
- for (int i = 0; i < arrayDR.Length; i++)
- {
- dtNew.ImportRow(arrayDR[i]);
- list.Add(arrayDR[i]["PRDCR_NO_GM"]);
- }
- GridHelper.CopyDataToDatatable(ref dtNew, ref this.SLM_ORDER_LINE_DELIVERY, true);
- foreach (UltraGridRow row in ultraGridReport.Rows)
- {
- if (list.Contains(row.Cells["PRDCR_NO"].Value.ToString()))
- {
- row.Appearance.BackColor = Color.Yellow;
- }
- }
- }
- /// <summary>
- /// 提报状态数据源绑定
- /// </summary>
- private void bindCmbSts()
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.GetSts", null, this.ob);
- //查询区域适用单位绑定,提供空值。
- ComboBoxHelper.FillUlcmItemsAddEmpty(cmbSts, dt);
- }
- private void frmOrderReport_Load(object sender, EventArgs e)
- {
- //提报状态数据源绑定。
- bindCmbSts();
- cmbSts.Value = "12020301";
- cmbSts.ReadOnly = false;
- ClsBaseInfo.SetComboItemHeight(cmbSts);
- udtStart.Value = DateTime.Now.AddDays(-31).ToShortDateString();
- udtEnd.Value = DateTime.Now.ToShortDateString();
- //加载库存信息数据
- InitMat();
- }
- /// <summary>
- /// 初始化库存信息
- /// </summary>
- private void InitMat()
- {
- EntityHelper.ShowGridCaption<MatZcMEntity>(gdMat.DisplayLayout.Bands[0]);
- UltraComboEditor uce = new UltraComboEditor();
- uce.Items.Add("1", "封锁");
- uce.Items.Add("0", "未封锁");
- gdMat.DisplayLayout.Bands[0].Columns["lockFlag"].EditorComponent = uce;
- gdMat.DisplayLayout.Bands[0].Columns["mngLockFlag"].EditorComponent = uce;
- }
- private void uchkOrderNo_CheckedChanged(object sender, EventArgs e)
- {
- if (uchkOrderNo.Checked)
- {
- utxtOrderNo.ReadOnly = false;
- string orderNo = utxtOrderNo.Text.Trim();
- if (orderNo != "")
- {
- uchkDate.Enabled = true;
- uchkDate.Checked = false;
- }
- else
- {
- uchkDate.Enabled = false;
- uchkDate.Checked = true;
- }
- }
- else
- {
- utxtOrderNo.ReadOnly = true;
- uchkDate.Enabled = false;
- uchkDate.Checked = true;
- }
- }
- private void uchkSts_CheckedChanged(object sender, EventArgs e)
- {
- if (uchkSts.Checked)
- {
- cmbSts.ReadOnly = false;
- }
- else
- {
- cmbSts.SelectedIndex = 0;
- cmbSts.ReadOnly = true;
- }
- }
- private void uchkDate_CheckedChanged(object sender, EventArgs e)
- {
- if (uchkDate.Checked)
- {
- udtStart.ReadOnly = false;
- udtEnd.ReadOnly = false;
- }
- else
- {
- udtStart.ReadOnly = true;
- udtEnd.ReadOnly = true;
- }
- }
- private void ultraGridReport_AfterRowActivate(object sender, EventArgs e)
- {
- ultraGridReport.UpdateData();
- UltraGridRow ugr = ultraGridReport.ActiveRow;
- if (ugr == null)
- return;
- for (int i = 0; i < ugr.Cells.Count; i++)
- {
- if (!ugr.Cells[i].Column.Key.Equals("CHK"))
- {
- ugr.Cells[i].Activation = Activation.ActivateOnly;
- }
- else
- ugr.Cells[i].Activation = Activation.AllowEdit;
- }
- // 查询库存信息 ORDERFROMCODE 考虑到效率问题 放在CellButton事件中查询
- //string saleOrg = ugr.Cells["ORDERFROMCODE"].Value.ToString();
- listLiku = new ArrayList();
- listLiku.Add(ugr.Cells["PRODUCCODE"].Value.ToString());
- listLiku.Add(ugr.Cells["STEELCODE"].Value.ToString());
- listLiku.Add(ugr.Cells["SPEC_CODE"].Value.ToString());
- listLiku.Add(ugr.Cells["MODEL_CODE"].Value.ToString());
- listLiku.Add(ugr.Cells["STD_STYLE_DESC"].Value.ToString());
- listLiku.Add(ugr.Cells["STD_STYLE_DESC"].Value.ToString());
- //QueryMatInfo(list, saleOrg);
- matZcMEntityBindingSource.Clear();
- this.labTips.Text = "";
- }
- private void QueryMatInfo(ArrayList parm, string saleOrg, string suppUnit)
- {
- List<MatZcMEntity> listSource = EntityHelper.GetData<MatZcMEntity>(
- "com.steering.pss.sale.order.CoreOrderReport.queryMatInfo", new object[] { parm, saleOrg, suppUnit }, this.ob);
- matZcMEntityBindingSource.DataSource = listSource;
- }
- private void utxtOrderNo_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == 13)
- doQuery();
- }
- private void ultraGridReport_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
- {
- foreach (UltraGridRow uRow in ultraGridReport.Selected.Rows)
- {
- if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
- {
- uRow.Cells["CHK"].Value = true;
- }
- }
- }
- private void btnReset_Click(object sender, EventArgs e)
- {
- ultraGridReport.DisplayLayout.Bands[0].ColumnFilters.ClearAllFilters();
- }
- private void utxtOrderNo_ValueChanged(object sender, EventArgs e)
- {
- string orderNo = utxtOrderNo.Text.Trim();
- if (orderNo != "")
- {
- uchkDate.Enabled = true;
- uchkDate.Checked = false;
- }
- else
- {
- uchkDate.Enabled = false;
- uchkDate.Checked = true;
- }
- }
- private void ultraGridReport_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- if (e.Row.Cells["ORDER_TYP"].Value.ToString2() == "120103")
- {
- e.Row.Cells["REVIEW_ASK_END"].Value = DateTime.Now.ToString("yyyy-MM");
- }
- }
- /// <summary>
- /// cellButton
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ultraGridReport_ClickCellButton(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key.Equals("ORDER_SEQ"))
- {
- ultraGridReport.UpdateData();
- UltraGridRow ugr = ultraGridReport.ActiveRow;
- if (ugr == null)
- return;
- string saleOrg = ugr.Cells["ORDERFROMCODE"].Value.ToString();
- string suppUnit = ugr.Cells["SUPPLY_UNIT_CODE"].Value.ToString();
- QueryMatInfo(listLiku, saleOrg, suppUnit);
- string str = "合同号:" + ugr.Cells["ORDER_NO"].Value.ToString() + "/" + ugr.Cells["ORDER_SEQ"].Value.ToString()
- + " 交货行号:" + ugr.Cells["DELIVERY_NO"].Value.ToString() + " 的可利库的库存信息。";
- this.labTips.Text = str;
- this.labTips.AutoSize = true;
- }
- }
- private void ReportLiKu()
- {
- ultraGridReport.UpdateData();
- UltraGridRow ugr = ultraGridReport.ActiveRow;
- if (ugr == null)
- {
- MessageUtil.ShowWarning("请选择您要利库的交货行!");
- return;
- }
- if (ugr.Cells["ORDER_LN_STATUS_NM"].Value.ToString() == "提报完毕")
- {
- MessageUtil.ShowWarning("您选择的记录已经提报完毕,此功能只能对“生效状态”的交货行利库!");
- ugr.Activate();
- return;
- }
- string ordStr = "合同号:" + ugr.Cells["ORDER_NO"].Value.ToString() + "/" + ugr.Cells["ORDER_SEQ"].Value.ToString() + " 交货行号:" + ugr.Cells["DELIVERY_NO"].Value.ToString();
- //合同行提报锁定的!
- DataTable lockDt1 = ServerHelper.GetData("com.steering.pss.sale.order.DAL.SlmOrderLineLockDAL.getOrderLineLock", new object[] { ugr.Cells["ORD_LN_PK"].Value.ToString() }, this.ob);
- if (lockDt1 != null && lockDt1.Rows.Count > 0)
- {
- if (lockDt1.Rows[0][0].ToString() == "1")
- {
- MessageUtil.ShowWarning(ordStr + "该合同行提报排产被锁定请重新审批合同价格!不允许利库! ");
- return;
- }
- }
- string ordLnDlyPk = ugr.Cells["ORD_LN_DLY_PK"].Value.ToString();
- string saleOrg = ugr.Cells["ORDERFROMCODE"].Value.ToString();
- FrmReportLiKu frl = new FrmReportLiKu(this.ob, "1",this.CustomInfo);
- frl.DataArr = this.ValidDataPurviewIds;
- frl.ListParm = listLiku;
- frl.OrdSaleOrg = saleOrg;
- frl.OrdLnDlyPk = ordLnDlyPk;
- frl.FormClosingQueryHandle += frl_FormClosingQueryHandle;
- frl.WindowState = FormWindowState.Maximized;
- frl.StartPosition = FormStartPosition.CenterScreen;
- frl.ShowDialog();
- }
- void frl_FormClosingQueryHandle(string ordLnDlyPk)
- {
- this.doQuery();
- foreach (UltraGridRow row in ultraGridReport.Rows)
- {
- if (row.Cells["ORD_LN_DLY_PK"].Value.ToString() == ordLnDlyPk)
- {
- row.Activate();
- break;
- }
- }
- }
- /// <summary>
- /// 判断交货行是否具有需要审核的利库数据
- /// </summary>
- /// <param name="ordLnDlyPk"></param>
- /// <returns>True 是 False 否 </returns>
- private bool IsNeedCheckLK(string ordLnDlyPk)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.queryDlyLkTd", new object[] { ordLnDlyPk }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- string lkId = dt.Rows[0]["LK_ID"].ToString2();
- string tdId = dt.Rows[0]["TD_ID"].ToString2();
- string[] lk = lkId.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries);
- string[] td = tdId.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries);
- if (lk != null && lk.Length > 0)
- {
- List<string> lkList = new List<string>(lk);
- List<string> tdList = null;
- if (td != null && td.Length > 0)
- {
- tdList = new List<string>(td);
- }
- else
- {
- tdList = new List<string> { "1" }; //下面的差集函数不能跟NULL做差集,所以随便给一个值
- }
- var interList = lkList.Except(tdList).ToList();
- for (int i = 0; i < interList.Count; i++)
- {
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReport.queryMatCheck", new object[] { ordLnDlyPk, interList[i] }, this.ob);
- if (dt1 != null && dt1.Rows.Count > 0)
- {
- if (dt1.Rows[0][0].ToString2().Contains("1"))
- return true;
- }
- }
- }
- }
- return false;
- }
- /* public void OpenOtherAssemblyForm(Form vParentFrm, string vKey, string vAssemblyName,
- string vClassName, string vCaption, OpeBase _ob)
- {
- //检查窗体是否已经打开
- foreach (Form mdiChild in vParentFrm.MdiChildren)
- {
- if ((mdiChild as FrmBase).Key == vKey)
- {
- mdiChild.Activate();
- return;
- }
- }
- FrmBase form = null;
- //实例化窗体并打开
- try
- {
- Assembly baseFormAssembly = Assembly.Load(vAssemblyName);
- Type type = baseFormAssembly.GetType(vClassName);
- System.Diagnostics.Debug.Assert(type.IsSubclassOf(typeof(FrmBase)));
- form = Activator.CreateInstance(type, true) as FrmBase;
- PropertyInfo info = type.GetProperty("MyValidDataPurviewIds");
- info.SetValue(form, this.ValidDataPurviewIds, null);
- form.MdiParent = vParentFrm;
- form.Text = vCaption;
- form.Key = vKey;
- form.ob = _ob;
- form.CustomInfo = "";
- form.Show();
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- form.Dispose();
- }
- } */
- }
- }
|