| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397 |
- using System;
- using System.Collections.Generic;
- 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 Pur.Entity.configureEntity;
- using Core.Mes.Client.Comm.Control;
- using System.Collections;
- using com.hnshituo.pur.vo;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win;
- using Pur.Entity.ck;
- using Core.Mes.Client.Comm.Tool;
- using Pur.configure;
- using Pur.Pop_upWindow;
- using Infragistics.Win.UltraWinGrid;
- using Pur.require_plan;
- using Core.Mes.Client.Comm.Server;
- using Pur.Entity;
- using Pur.PublicTools;
- using com.hnshituo.ck;
- namespace Pur.ck
- {
- public partial class frmCkInBillNew : FrmPmsBase
- {
- Hashtable ht = new Hashtable();//存放库区对应的库位
- String strCoustomInfo = "";//若有值,则需单独配置物料接收界面
- public frmCkInBillNew()
- {
- InitializeComponent();
- }
- private void frmCkInBillNew_Shown(object sender, System.EventArgs e)
- {
- this.ToolBarItemEnable(this, "conFirmation", true);
- this.ToolBarItemEnable(this, "confirmation1", true);
- this.ToolBarItemEnable(this, "QuitCkRecBill", false);
- }
- private void frmCkInBillNew_Load(object sender, EventArgs e)
- {
- strCoustomInfo = this.CustomInfo == null ? "" : this.CustomInfo.ToString().Trim();
- if (String.IsNullOrEmpty(strCoustomInfo))
- {
- QcreateTime_BeginNoJL.Value = DateTime.Now.AddMonths(-1);
- QcreateTime_BeginJL.Value = DateTime.Now.AddMonths(-1);
- QcreateTime_BeginSJ.Value = DateTime.Now.AddMonths(-1);
- }
- else
- {
- QcreateTime_BeginNoJL.Value = DateTime.Now.AddDays(-3);
- QcreateTime_BeginJL.Value = DateTime.Now.AddDays(-3);
- QcreateTime_BeginSJ.Value = DateTime.Now.AddDays(-3);
- }
- QcreateTime_EndNoJL.Value = DateTime.Now.AddDays(2);
- QcreateTime_BeginNoJL.Enabled = true;
- QcreateTime_EndNoJL.Enabled = true;
- ck_createTimeNoJL.Checked = true;
- QcreateTime_EndJL.Value = DateTime.Now.AddDays(2);
- QcreateTime_BeginJL.Enabled = true;
- QcreateTime_EndJL.Enabled = true;
- ck_createtimeJL.Checked = true;
- QcreateTime_EndSJ.Value = DateTime.Now.AddDays(2);
- QcreateTime_BeginSJ.Enabled = true;
- QcreateTime_EndSJ.Enabled = true;
- ck_createtimeSJ.Checked = true;
- txt_shuttTimeStart_JL.Value = DateTime.Now.AddDays(-3);
- txt_shuttTimeEnd_JL.Value = DateTime.Now.AddDays(1);
- txt_shuttTimeStart_JL.Enabled = false;
- txt_shuttTimeEnd_JL.Enabled = false;
- ck_shutt_JL.Checked = false;
- PublicPur.InitCellEdit(new UltraGrid[] { GridSubDNoJL }, new string[] { "Check", "weightqTY", "INNUM", "INVPOS", "numException", "invPosException", "remarkException", "REC_ID", "CheckStatu", "KZQTY", "PACKAGEUNIT", "PACKAGEQTY", "ITEMUOMCONEFFICIENT", "JLQTY" });
- PublicPur.InitCellEdit(new UltraGrid[] { GridSubDJL }, new string[] { "Check", "INVPOS", "numException","invPosException", "remarkException","CheckStatu","CheckResult", "KZQTY", "PACKAGEUNIT", "PACKAGEQTY", "ITEMUOMCONEFFICIENT", "JLQTY" });
- QstatusJL.SelectedIndex = 0;
- QstatusNoJL.SelectedIndex = 0;
- QstatusSJ.SelectedIndex = 0;
- GridSubDJL.Cursor = Cursors.Default;
- GridSubDNoJL.Cursor = Cursors.Default;
- GridSubDSJ.Cursor = Cursors.Default;
- }
- #region toolbar工具栏
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- Get_PUR_EXC_DELIVERY_M("");
- break;
- case "conFirmation"://待检入库
- instock("1");
- break;
- case "confirmation1"://正式入库
- instock("2");
- break;
- case "QuitCkRecBill"://撤销入库
- QuitCkRecBill();
- break;
- case "doExcel"://导出excel
- doExcel();
- break;
- case "ESC":
- this.Close();
- break;
- }
- }
- /// <summary>
- /// 查询送货通知单主表
- /// </summary>
- private void Get_PUR_EXC_DELIVERY_M(String strsubId)
- {
- //清空数据
- try
- {
- this.Cursor=Cursors.WaitCursor;
- publicPms.clearOldData(panel_NOJL, new string[] { });
- publicPms.clearOldData(panel_JL, new string[] { });
- publicPms.clearOldData(panel_sj, new string[] { });
- JHY.Clear();
- JLdata.Clear();
- exception.Clear();
- inbill.Clear();
- if(ultraTabControl1.SelectedTab.Key=="1")
- {
- subMNoJL.Clear();
- subDNoJL.Clear();
- doQueryM("0", "1", strsubId);
- }
- else if(ultraTabControl1.SelectedTab.Key=="2")
- {
- subMJL.Clear();
- subDJL.Clear();
- doQueryM("1", "2", strsubId);
- }
- else if(ultraTabControl1.SelectedTab.Key=="3")
- {
- subMSJ.Clear();
- subDSJ.Clear();
- doQueryM("", "3", strsubId);
- }
- else{
- MessageUtil.ShowTips("未知参数");
- }
- }
- catch(Exception ex)
- {
- MessageUtil.ShowTips("加载数据失败:"+ex.Message);
- }
- finally
- {
- this.Cursor=Cursors.Default;
- }
- }
- /// <summary>
- /// 正式入库单
- /// </summary>
- private void setCkInBllList()
- {
- instock("1");
- }
- /// <summary>
- /// 待检入库
- /// </summary>
- private void setWaitChk_CkInBllList()
- {
- instock("2");
- }
- /// <summary>
- /// 撤销入库
- /// </summary>
- private void QuitCkRecBill()
- {
- UltraGrid ug = null;
- if (ultraTabControl1.SelectedTab.Key == "3")//计量
- {
- ug = GridSubDSJ;
- }
- else
- {
- MessageUtil.ShowTips("请选择需撤销入库的实绩");
- return;
- }
- ug.UpdateData();
- if (ug.Rows.Count <= 0)
- {
- MessageUtil.ShowTips("无可操作送货单行");
- return;
- }
- ArrayList aledsc = new ArrayList();
- ExcDeliverySubC edsc1 = new ExcDeliverySubC();
- ExcDeliverySubM edsM = new ExcDeliverySubM();
- foreach (UltraGridRow ugr in ug.Rows)
- {
- if (ugr.Hidden || !(bool)ugr.Cells["Check"].Value)
- { continue; }
- ExcDeliverySubC edsc = new ExcDeliverySubC();
- String strSubSqe = ugr.Cells["DeliverySubLineSqe"].Value.ToString().Trim();
- edsc.DeliverySubLineSqe = strSubSqe;
- if (!testDeliveryStatus(strSubSqe, 3, ref edsc1,ref edsM))
- {
- return;
- }
- edsc.UpdateName = UserInfo.GetUserName();
- edsc.UpdateUserid = UserInfo.GetUserID();
- edsc.UpdateTime = DateTime.Now;
- aledsc.Add(edsc);
- }
- if (aledsc.Count <= 0)
- {
- MessageUtil.ShowTips("请勾选送货单");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("确定撤销勾选的" + aledsc.Count + "条送货单行的入库记录?") == DialogResult.No)
- {
- return;
- }
- CoreResult crt = this.GetJsonService().execute<CoreResult>("com.hnshituo.pur.ck.service.CkInBillService", "QuitCkRecBill", new object[] { aledsc,strCoustomInfo});
- if (crt.Resultcode != 0)
- {
- MessageUtil.ShowTips("撤销入库失败 " + crt.Resultmsg);
- return;
- }
- MessageUtil.ShowTips("撤销入库成功");
- //循环判断此送货单是否全部收货,全部收货则关闭收货单
- Get_PUR_EXC_DELIVERY_M("");
- }
- /// <summary>
- /// 导出Excel
- /// </summary>
- private void doExcel()
- {
- try
- {
- this.Cursor = Cursors.Default;
- if (ultraTabControl1.SelectedTab.Key == "1")
- {
- if (GridSubDNoJL.Rows.Count <= 0)
- {
- MessageUtil.ShowTips("无可导出明细!");
- return;
- }
- ArrayList alUltraGrid = new ArrayList();
- alUltraGrid.Add(GridSubDNoJL);
- ArrayList alSheeft = new ArrayList();
- alSheeft.Add("非计量待入库明细");
- GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "非计量待入库明细");
- }
- else if (ultraTabControl1.SelectedTab.Key == "2")
- {
- if (GridSubDJL.Rows.Count <= 0)
- {
- MessageUtil.ShowTips("无可导出明细!");
- return;
- }
- ArrayList alUltraGrid = new ArrayList();
- alUltraGrid.Add(GridSubDJL);
- ArrayList alSheeft = new ArrayList();
- alSheeft.Add("计量待入库明细");
- GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "计量待入库明细");
- }
- else
- {
- if (GridSubDSJ.Rows.Count <= 0)
- {
- MessageUtil.ShowTips("无可导出明细!");
- return;
- }
- ArrayList alUltraGrid = new ArrayList();
- alUltraGrid.Add(GridSubDSJ);
- ArrayList alSheeft = new ArrayList();
- alSheeft.Add("已入库明细");
- GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "已入库明细");
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowTips("导出失败" + e.Message);
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- }
- private DateTime setCreateTimeEnd(Object value) {
- DateTime time = Convert.ToDateTime(value);
- DateTime endtime = new DateTime(time.Year, time.Month, time.Day,23,59,59);
- return endtime;
- }
- #endregion
-
- #region 界面事件
- private void GridSubMNOJL_CellChange(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key == "CHK")
- {
- getCheckdSubMCol(GridSubMNOJL,"1");
- }
- }
- private void GridSubMJL_CellChange(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key == "CHK")
- {
- getCheckdSubMCol(GridSubMJL, "2");
- }
- }
- private void GridSubMSJ_CellChange(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key == "CHK")
- {
- getCheckdSubMCol(GridSubMSJ, "3");
- }
- }
- /// <summary>
- /// 非过磅操作
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void GridSubDNoJL_CellChange(object sender, CellEventArgs e)
- {
- UltraGridRow ugr = e.Cell.Row;
- object o = e.Cell.Value;
- GridSubDNoJL.UpdateData();
- //计算带处置量
- if (e.Cell.Column.Key.ToUpper() == "INNUM".ToUpper() || e.Cell.Column.Key.ToUpper() == "weightQty".ToUpper())
- {
- double b_INNUM = 0; //入库量
- double b_weightQty = 0; //库存量
- double b_non_Standard = 0;//待编制量
- double b_ReceivedQty = 0; //收货量
- double b_ITEMUOMCONEFFICIENT = 0;
- double.TryParse(ugr.Cells["ITEMUOMCONEFFICIENT"].Value.ToString(), out b_ITEMUOMCONEFFICIENT);//转换系数
- double.TryParse(e.Cell.Row.Cells["INNUM"].Value.ToString(), out b_INNUM);
- double.TryParse(e.Cell.Row.Cells["weightQty"].Value.ToString(), out b_weightQty);
- double.TryParse(e.Cell.Row.Cells["numException"].Value.ToString(), out b_non_Standard);
- double.TryParse(e.Cell.Row.Cells["SHIPQTY"].Value.ToString(), out b_ReceivedQty);
- if (e.Cell.Column.Key == "INNUM")
- {
- //if (b_INNUM > b_ReceivedQty*1.1)
- //{
- // MessageUtil.ShowTips("入库量【" + b_INNUM + "】不能大于收货量【" + b_ReceivedQty + "】的1.1倍,请重新输入");
- // e.Cell.Value = o;
- // return;
- //}
- getInNum(ugr, "1");
- }
- else
- {
- //if (b_weightQty > b_ReceivedQty)
- //{
- // MessageUtil.ShowTips("输入的库存数量【" + b_weightQty + "】不能大于收货量【" + b_ReceivedQty + "】,请重新输入");
- // e.Cell.Value = o;
- // return;
- //}
- getInNum(ugr, "2");
- }
- }
- else if (e.Cell.Column.Key == "CheckStatu")//选择判定结果
- {
- getInNum(ugr, "1");
- }
- if (e.Cell.Column.Key == "ITEMUOMCONEFFICIENT")
- {
- if (ugr.Cells["ITEMUOM"].Value.ToString() == "基吨")//库存数量可输
- {
- getInNum(ugr, "2");
- }
- else
- {
- getInNum(ugr, "1");
- }
- }
- if (e.Cell.Column.Key == "PACKAGEQTY")
- {
- getInNum(ugr, "1");
- }
- if (e.Cell.Column.Key == "INVPOS")//选择储位
- {
- GridSubDNoJL.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
- }
- }
- /// <summary>
- /// 计量grid
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void GridSubDJL_CellChange(object sender, CellEventArgs e)
- {
- GridSubDJL.UpdateData();
- UltraGridRow ugr = e.Cell.Row;
- if (e.Cell.Column.Key == "CheckStatu")//选择判定结果
- {
- if (e.Cell.Value.ToString() == "0")
- {
- setCellColor(ugr, System.Drawing.Color.FromArgb(255, 255, 128), "InvPosException", "RemarkException", "CheckStatu", "KZQTY", "PACKAGEUNIT", "PACKAGEQTY", "ITEMUOMCONEFFICIENT", "JLQTY");
- //ugr.Cells["INNUM"].Value = 0;//入库量=收货量
- //ugr.Cells["numException"].Value = ugr.Cells["SHIPQTY"].Value;//待处置量
- getJlInNum(ugr);
- }
- else
- {
- setCellColor(ugr, System.Drawing.Color.FromArgb(255, 255, 128), "INVPOS", "CheckStatu", "KZQTY", "PACKAGEUNIT", "PACKAGEQTY", "ITEMUOMCONEFFICIENT", "JLQTY");
- //ugr.Cells["INNUM"].Value = ugr.Cells["SHIPQTY"].Value;//入库量=收货量
- //ugr.Cells["numException"].Value = 0;//待处置量
- getJlInNum(ugr);
- }
- }
- if (e.Cell.Column.Key == "KZQTY" || e.Cell.Column.Key == "ITEMUOMCONEFFICIENT" || e.Cell.Column.Key == "JLQTY")//口杂
- {
- if (e.Cell.Column.Key == "JLQTY")
- {
- ugr.Cells["SHIPQTY"].Value = ugr.Cells["JLQTY"].Value;
- }
- getJlInNum(ugr);
- }
- if (e.Cell.Column.Key == "PACKAGEQTY")
- {
- getInNum(ugr, "1");
- }
- if (e.Cell.Column.Key == "INVPOS")//选择储位
- {
- GridSubDJL.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
- //comm.RefreshAndAutoSizeExceptColumns(ultraGrid1);
- }
-
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void GridJL_CellChange(object sender, CellEventArgs e)
- {
- //匹配的料型是否一致
- if (e.Cell.Column.Key == "Check")
- foreach (UltraGridRow ugr2 in GridJL_JL.Rows)
- {
- if ((bool)ugr2.Cells["Check"].Value)
- {
- if (e.Cell.Row.Cells["materielRule"].Value.ToString() == ugr2.Cells["materielRule"].Value.ToString() && e.Cell.Row != ugr2)
- {
- comm.ConfirmOption("勾选匹配的计量料型必须一致");
- e.Cell.Row.Cells["Check"].Value = false;
- return;
- }
- }
- }
- }
- /// <summary>
- /// checkBox
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ck_createTimeNoJL_CheckedChanged(object sender, System.EventArgs e)
- {
- QcreateTime_BeginNoJL.Enabled = ck_createTimeNoJL.Checked;
- QcreateTime_EndNoJL.Enabled = ck_createTimeNoJL.Checked;
- }
- private void ck_createtimeJL_CheckedChanged(object sender, System.EventArgs e)
- {
- QcreateTime_BeginJL.Enabled = ck_createtimeJL.Checked;
- QcreateTime_EndJL.Enabled = ck_createtimeJL.Checked;
- }
- private void ck_createtimeSJ_CheckedChanged(object sender, System.EventArgs e)
- {
- QcreateTime_BeginSJ.Enabled = ck_createtimeSJ.Checked;
- QcreateTime_EndSJ.Enabled = ck_createtimeSJ.Checked;
- }
- private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
- {
- publicPms.clearOldData(panel_NOJL, new string[] { });
- publicPms.clearOldData(panel_sj, new string[] { });
- publicPms.clearOldData(panel_JL, new string[] { });
- JHY.Clear();
- JLdata.Clear();
- exception.Clear();
- if (ultraTabControl1.SelectedTab.Key == "1" || ultraTabControl1.SelectedTab.Key == "2")
- {
- this.ToolBarItemEnable(this, "conFirmation", true);
- this.ToolBarItemEnable(this, "confirmation1", true);
- this.ToolBarItemEnable(this, "QuitCkRecBill", false);
- }
- else
- {
- this.ToolBarItemEnable(this, "conFirmation", false);
- this.ToolBarItemEnable(this, "confirmation1", false);
- this.ToolBarItemEnable(this, "QuitCkRecBill", true);
- }
- }
- private void GridSubMSJ_AfterHeaderCheckStateChanged(object sender, AfterHeaderCheckStateChangedEventArgs e)
- {
- if (e.Column.Key == "CHK")
- {
- getCheckdSubMCol(GridSubMSJ, "3");
- }
- }
- private void GridSubMJL_AfterHeaderCheckStateChanged(object sender, AfterHeaderCheckStateChangedEventArgs e)
- {
- if (e.Column.Key == "CHK")
- {
- getCheckdSubMCol(GridSubMJL, "2");
- }
- }
- private void GridSubMNOJL_AfterHeaderCheckStateChanged(object sender, AfterHeaderCheckStateChangedEventArgs e)
- {
- if (e.Column.Key == "CHK")
- {
- getCheckdSubMCol(GridSubMNOJL, "1");
- }
- }
- #endregion
- #region 行按钮
- /// <summary>
- /// 计量信息筛选
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btn_JL_select_Click(object sender, System.EventArgs e)
- {
- UltraGridRow ugr = GridSubDJL.ActiveRow;
- if (ugr == null)
- {
- MessageUtil.ShowTips("请选择一个送货单的物料");
- return;
- }
- DataTable dtjl = getJLData("");
- if (dtjl != null && dtjl.Rows.Count > 0)
- {
- GridHelper.CopyDataToDatatable(dtjl, DTJL, true);
- GridHelper.RefreshAndAutoSize(GridJHY_JL);
- }
-
- }
- /// <summary>
- /// 单个匹配送货单行
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btn_JL_sure_Click(object sender, System.EventArgs e)
- {
- if (ultraTabControl1.SelectedTab.Key != "2")
- {
- MessageUtil.ShowTips("请选择计量入库界面");
- return;
- }
- UltraGridRow ugr1 = GridSubDJL.ActiveRow;
- if (ugr1 == null)
- {
- MessageUtil.ShowTips("请选择需匹配的送货单行");
- return;
- }
- UltraGridRow ugr2 = GridJL_JL.ActiveRow;
- if (ugr2 == null)
- {
- MessageUtil.ShowTips("请选择进行匹配的磅单");
- return;
- }
- String strSubSqe = ugr1.GetCellValue("DELIVERYSUBLINESQE").ToString().Trim();
- double numJLQTY = 0;
- double numTARE = 0;//皮重
- double numGROSS = 0; //毛重
- string strSUTTLETIME = "";//计量时间
- String strMaterielRule = "";
- double numKZQTY = 0;
- double b_txt_deduction2 = 0.00;//扣机铁
- double b_txt_deduction3 = 0.00;//扣超长
- double b_txt_deduction4 = 0.00;//扣轻薄
- Double.TryParse(ugr2.Cells["suttle"].Value.ToString().Trim(), out numJLQTY);
- Double.TryParse(ugr2.Cells["deduction"].Value.ToString().Trim(), out numKZQTY);
- Double.TryParse(ugr2.Cells["deduction2"].Value.ToString().Trim(), out b_txt_deduction2);//扣机铁
- Double.TryParse(ugr2.Cells["deduction3"].Value.ToString().Trim(), out b_txt_deduction3);//扣超长
- Double.TryParse(ugr2.Cells["deduction4"].Value.ToString().Trim(), out b_txt_deduction4);//扣轻薄
- Double.TryParse(ugr2.Cells["TARE"].Value.ToString().Trim(), out numTARE);//皮重
- Double.TryParse(ugr2.Cells["GROSS"].Value.ToString().Trim(), out numGROSS);//毛重
- string strmatchid = ugr2.Cells["matchid"].Value.ToString().Trim();//绑单号
- strMaterielRule = ugr2.Cells["materielRule"].Value.ToString().Trim();//废钢料型
- strSUTTLETIME = ugr2.Cells["SUTTLETIME"].Value.ToString().Trim();//计量时间
- int i = 0;
- String strSubSqe2 = "";
- foreach (UltraGridRow row in GridSubDJL.Rows)
- {
- if (row.GetCellValue("DELIVERYSUBLINESQE").ToString().Trim() != strSubSqe || row.GetCellValue("matchid").ToString().Trim() == "strmatchid")
- {
- strSubSqe2 = row.GetCellValue("DELIVERYSUBLINESQE").ToString().Trim();
- i = i + 1;
- }
- }
- if (i >= 1)
- {
- if (MessageUtil.ShowYesNoAndQuestion("送货单行:" + strSubSqe2 + "已绑定该磅单,确定重复绑定?") != DialogResult.Yes)
- {
- return;
- }
- }
- ugr1.Cells["JLQTY"].Value = numJLQTY;//净重
- ugr1.Cells["KZQTY"].Value = numKZQTY;//净扣杂
- ugr1.Cells["deduction2"].Value = b_txt_deduction2;//扣机铁
- ugr1.Cells["deduction3"].Value = b_txt_deduction3;//扣超长
- ugr1.Cells["deduction4"].Value = b_txt_deduction4;//扣轻薄
- ugr1.Cells["TARE"].Value = numTARE;//皮重
- ugr1.Cells["GROSS"].Value = numGROSS;//毛重
- ugr1.Cells["SUTTLETIME"].Value = strSUTTLETIME;//计量时间
- ugr1.Cells["CheckResult"].Value = strMaterielRule;//废钢料型
- ugr1.Cells["matchid"].Value = strmatchid;//绑单号
- GridSubDJL.UpdateData();
- }
- /// <summary>
- /// 批量确定
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btn_JL_sure_all_Click(object sender, System.EventArgs e)
- {
- bindJLItems();
- }
- private void ck_shutt_JL_CheckedChanged(object sender, System.EventArgs e)
- {
- txt_shuttTimeStart_JL.Enabled = ck_shutt_JL.Checked;
- txt_shuttTimeEnd_JL.Enabled = ck_shutt_JL.Checked;
- }
- #endregion
- #region 公共方法
- /// <summary>
- /// 查询方法
- /// </summary>
- /// <param name="strIsMeter">是否计量</param>
- /// <param name="tab">加载数据页面</param>
- /// <param name="subId">是否激活</param>
- private void doQueryM(String strIsMeter,String tab,String subId)
- {
- //ht.Clear();
- //ht_CheckStatu.Clear();
- Hashtable map = new Hashtable();
- if(tab=="1")
- {
- map.Clear();
- map.Add("deliverySubId", QsubIdNoJL.Text.Trim());
- map.Add("suppName", QsuppNameNoJL.Text.Trim());
- map.Add("orderId", QorderIdNoJL.Text.Trim());
- map.Add("invPhysicName", QInphysicNoJL.Text.Trim());
- map.Add("deliveryLocation", QLocationNoJL.Text.Trim());
- if (String.IsNullOrEmpty(strCoustomInfo))
- {
- map.Add("statusRK", QstatusNoJL.Value == null ? "" : QstatusNoJL.Value.ToString().Trim());
- }
- else {
- map.Add("statusEx", QstatusNoJL.Value == null ? "" : QstatusNoJL.Value.ToString().Trim());
- map.Add("itemCodeEx", strCoustomInfo);
- }
- if (ck_createTimeNoJL.Checked)
- {
- if (QcreateTime_BeginNoJL.Value!=null)//创建开始时间
- {
- map.Add("createTimeBegin", Convert.ToDateTime(QcreateTime_BeginNoJL.Value).ToString());
- }
- if (QcreateTime_EndNoJL.Value != null)//创建结束时间
- {
- map.Add("createTimeEnd", setCreateTimeEnd(QcreateTime_EndNoJL.Value));
- }
- }
- }
- else if (tab == "2")
- {
- map.Clear();
- map.Add("deliverySubId", QsubIdJL.Text.Trim());
- map.Add("suppName", QsuppNameJL.Text.Trim());
- map.Add("orderId", QorderIdJL.Text);
- map.Add("invPhysicName", QInphysicJL.Text.Trim());
- map.Add("deliveryLocation", QLocationJL.Text.Trim());
- if (String.IsNullOrEmpty(strCoustomInfo))
- {
- map.Add("statusRK", QstatusJL.Value == null ? "" : QstatusJL.Value.ToString().Trim());
- }
- else
- {
- map.Add("statusEx", QstatusJL.Value == null ? "" : QstatusJL.Value.ToString().Trim());
- map.Add("itemCodeEx", strCoustomInfo);
- }
- if (ck_createtimeJL.Checked)
- {
- if (QcreateTime_BeginJL.Value != null)//创建开始时间
- {
- map.Add("createTimeBegin", Convert.ToDateTime(QcreateTime_BeginJL.Value).ToString());
- }
- if (QcreateTime_EndJL.Value != null)//创建结束时间
- {
- map.Add("createTimeEnd", setCreateTimeEnd(QcreateTime_EndJL.Value));
- }
- }
- }
- else if (tab == "3")
- {
- map.Clear();
- map.Add("deliverySubId", QsubIdSJ.Text.Trim());
- map.Add("suppName", QsuppNameSJ.Text.Trim());
- map.Add("orderId", QorderIdSJ.Text);
- map.Add("invPhysicName", QInphysicSJ.Text.Trim());
- map.Add("deliveryLocation", QLocationSJ.Text.Trim());
- if (String.IsNullOrEmpty(strCoustomInfo))
- {
- map.Add("statusRK", QstatusSJ.Value == null ? "" : QstatusSJ.Value.ToString().Trim());
- }
- else
- {
- map.Add("statusEx", QstatusSJ.Value == null ? "" : QstatusSJ.Value.ToString().Trim());
- map.Add("itemCodeEx", strCoustomInfo);
- }
- if (ck_createtimeSJ.Checked)
- {
- if (QcreateTime_BeginSJ.Value != null)//创建开始时间
- {
- map.Add("createTimeBegin", Convert.ToDateTime(QcreateTime_BeginSJ.Value).ToString());
- }
- if (QcreateTime_EndSJ.Value != null)//创建结束时间
- {
- map.Add("createTimeEnd", setCreateTimeEnd(QcreateTime_EndSJ.Value));
- }
- }
- }
- else
- {
- MessageUtil.ShowTips("未知页面");
- }
- map.Add("meteringFlag", strIsMeter);
- DataTable dt = this.GetJsonService().execute<DataTable>("com.hnshituo.pur.ck.service.ExcDeliverySubMService", "doQueryDeliverySubMList", new object[] { map });
- if (dt != null && dt.Rows.Count > 0)
- {
- if (tab == "1")
- {
- GridHelper.CopyDataToDatatable(dt, DTSubMNojl, true);
- GridHelper.RefreshAndAutoSize(GridSubMNOJL);
- if (String.IsNullOrEmpty(subId))
- {
- publicPms.doActiveSelRow(GridSubMNOJL, "DELIVERYSUBID", subId);
- }
- }
- else if (tab == "2")
- {
- GridHelper.CopyDataToDatatable(dt, DTsubMJL, true);
- GridHelper.RefreshAndAutoSize(GridSubMJL);
- if (String.IsNullOrEmpty(subId))
- {
- publicPms.doActiveSelRow(GridSubMJL, "DELIVERYSUBID", subId);
- }
- }
- else if (tab == "3")
- {
- GridHelper.CopyDataToDatatable(dt, DTsubMSJ, true);
- GridHelper.RefreshAndAutoSize(GridSubMSJ);
- if (String.IsNullOrEmpty(subId))
- {
- publicPms.doActiveSelRow(GridSubMSJ, "DELIVERYSUBID", subId);
- }
- }
- else
- {
- MessageUtil.ShowTips("未知页面");
- }
- }
- }
- private List<UltraGridRow> UltraGridGetCHKRows(UltraGrid grid, string columnName = "CHK")
- {
- grid.UpdateData();
- List<UltraGridRow> list = new List<UltraGridRow>();
- RowsCollection rows = grid.Rows;
- foreach (var item in rows)
- {
- try
- {
- if (Convert.ToBoolean(item.Cells[columnName].Value) == true && item.Hidden == false && item.IsFilteredOut == false)
- {
- list.Add(item);
- }
- }
- catch { }
- }
- return list;
- }
- private void getCheckdSubMCol(UltraGrid grid, String tab)
- {
- try
- {
- this.Cursor = Cursors.WaitCursor;
- grid.UpdateData();
- ExcDeliverySubC edsc = new ExcDeliverySubC();
- List<string> l = new List<string>();
- List<UltraGridRow> rows = UltraGridGetCHKRows(grid);
- if (rows.Count == 0) {
- DTsubDNoJL.Clear();
- }
- //获取库区库位
- foreach (UltraGridRow ugr in rows)
- {
- if ((bool)ugr.Cells["CHK"].Value)
- {
- String strDeliverySubId = ugr.GetCellValue("DeliverySubId").ToString().Trim();
- if (tab != "3")
- {
- String strInvPhysic = ugr.GetCellValue("invPhysic").ToString().Trim();
- String strInvPhysicName = ugr.GetCellValue("InvPhysicName").ToString().Trim();
- if (String.IsNullOrEmpty(strInvPhysic) || String.IsNullOrEmpty(strInvPhysicName))
- {
- MessageUtil.ShowTips("送货单:" + strDeliverySubId + "交付地址未绑定库区,无法办理入库,请维护库区和地址挂接关系基础数据,请注意");
- ugr.Cells["CHK"].Value = false;
- ugr.Cells["CHK"].Activation = Activation.Disabled;
- ugr.Appearance.BackColor = Color.WhiteSmoke;
- continue;
- }
- if (!ht.ContainsKey(strInvPhysic))
- {
- DataTable tt = getInvPosdt(strInvPhysic);
- if (tt == null || tt.Rows.Count <= 0)
- {
- ugr.Cells["CHK"].Value = false;
- ugr.Cells["CHK"].Activation = Activation.Disabled;
- ugr.Appearance.BackColor = Color.WhiteSmoke;
- MessageUtil.ShowTips("送货单:" + strDeliverySubId + "对应的库区:" + strInvPhysicName + "无入库储位,无法办理入库,请维护库区和储位挂接关系基础数据,请注意");
- continue;
- }
- ht.Add(strInvPhysic, tt);
- }
- }
- l.Add(strDeliverySubId);
- }
- }
-
- if (l.Count >= 1)
- {
- edsc.Col = l.ToArray();
- Get_PUR_EXC_DELIVERY_C(edsc, tab);
- }
- }
- catch (Exception ex)
- {
- MessageUtil.ShowTips("加载送货单行失败:" + ex.Message);
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- }
- /// <summary>
- /// 查询送货通知单行表
- /// </summary>
- private void Get_PUR_EXC_DELIVERY_C(ExcDeliverySubC EdC, string tab)
- {
-
- JHY.Clear();
- JLdata.Clear();
- exception.Clear();
- JHY.Clear();
- if (tab == "1")//非过磅
- {
- publicPms.clearOldData(panel_NOJL, new string[] { });
- DTsubDNoJL.Rows.Clear();
- EdC.MeteringFlag = "0";
- if (String.IsNullOrEmpty(strCoustomInfo))
- {
- EdC.Status = QstatusNoJL.Value == null ? "" : QstatusNoJL.Value.ToString().Trim();
- }
- else {
- EdC.UpdateUserid = QstatusNoJL.Value == null ? "" : QstatusNoJL.Value.ToString().Trim();
- EdC.ItemCode = strCoustomInfo;
- }
- }
- else if(tab=="2")//过磅
- {
- publicPms.clearOldData(panel_JL, new string[] { });
- DTsubDJL.Rows.Clear();
- JLdata.Clear();
- EdC.MeteringFlag = "1";
- if (String.IsNullOrEmpty(strCoustomInfo))
- {
- EdC.Status = QstatusJL.Value == null ? "" : QstatusJL.Value.ToString().Trim();
- }
- else
- {
- EdC.UpdateUserid = QstatusJL.Value == null ? "" : QstatusJL.Value.ToString().Trim();
- EdC.ItemCode = strCoustomInfo;
- }
- }
- else if (tab == "3")//实绩
- {
- publicPms.clearOldData(panel_sj, new string[] { });
- DTsubDSJ.Rows.Clear();
- if (String.IsNullOrEmpty(strCoustomInfo))
- {
- EdC.Status = QstatusSJ.Value == null ? "" : QstatusSJ.Value.ToString().Trim();
- }
- else
- {
- EdC.UpdateUserid = QstatusSJ.Value == null ? "" : QstatusSJ.Value.ToString().Trim();
- EdC.ItemCode = strCoustomInfo;
- }
- }
- else
- {
- MessageUtil.ShowTips("页面参数错误");
- return;
- }
- EdC.Validflag = "1";
- EdC.UpdateUserid = strCoustomInfo;
- DataTable dt = this.GetJsonService().execute<DataTable>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "Query_C", new object[] { EdC });
- if (tab == "2")//过磅
- {
- GridHelper.CopyDataToDatatable(dt, DTsubDJL, true);
-
- foreach (UltraGridRow ugr in GridSubDJL.Rows)//过磅
- {
- ugr.Cells["Check"].Value = true;
- ugr.Cells["CheckStatu"].Value = "1";//判定结果默认为合格
- bindDropDown(ugr);//绑定库位
- bindCheckItems(DTsubDJL);//绑定检化验结果
- bindJLItems();//绑定计量结果
- getJlInNum(ugr);//自动计算入库量
- }
- GridSubDJL.UpdateData();
- //设置可编辑的行
- GridHelper.RefreshAndAutoSize(GridSubDJL);
- }
- else if (tab == "1")//非过磅入库
- {
- GridHelper.CopyDataToDatatable(dt, DTsubDNoJL, true);
- //1、入库量默认=收货量;待处置量为0
- //2、判定结果默认为合格
- foreach (UltraGridRow ugr in GridSubDNoJL.Rows)//非过磅
- {
- //设置送货单行默认全选
- ugr.Cells["Check"].Value = true;
- double b_INNUM = 0; //入库量
- double b_ReceivedQty = 0; //收货量
- double b_ITEMUOMCONEFFICIENT = 0;//转化系数
- double.TryParse(ugr.Cells["RECEIVEDQTY"].Value.ToString(), out b_INNUM);//接收量--用于待检入库
- double.TryParse(ugr.Cells["SHIPQTY"].Value.ToString(), out b_ReceivedQty);//接收量--入库
- double.TryParse(ugr.Cells["ITEMUOMCONEFFICIENT"].Value.ToString(), out b_ITEMUOMCONEFFICIENT);//转换系数
- if (ugr.Cells["status"].Value.ToString() != "待检入库")
- {
- ugr.Cells["INNUM"].Value = b_ReceivedQty;//采购收货量=初检量
- ugr.Cells["numException"].Value = 0;//待处置量
- ugr.Cells["CheckStatu"].Value = "1";//判定结果默认为合格
- if (ugr.Cells["ITEMUOM"].Value.ToString() == "基吨")//库存数量可输
- {
- ugr.Cells["weightqTY"].Value = b_ReceivedQty;//库存收货量=初检
- ugr.Cells["INNUM"].Value = Math.Round(b_ReceivedQty * b_ITEMUOMCONEFFICIENT,3);
- //ugr.Cells["INNUM"].Column.CellAppearance.BackColor = ugr.Cells["status"].Appearance.BackColor;
- //ugr.Cells["INNUM"].Column.CellActivation = Activation.ActivateOnly;
- getInNum(ugr, "2");
- }
- else
- {
- //ugr.Cells["weightqTY"].Column.CellAppearance.BackColor = ugr.Cells["status"].Appearance.BackColor;
- //ugr.Cells["weightqTY"].Column.CellActivation = Activation.ActivateOnly;
- getInNum(ugr, "1");
- }
-
- }
- else
- {
- ugr.Cells["INNUM"].Value = b_ReceivedQty;//入库量
- ugr.Cells["numException"].Value = 0;
- ugr.Cells["CheckStatu"].Value = "1";//判定结果默认为合格
- if (ugr.Cells["ITEMUOM"].Value.ToString() == "基吨")//库存数量可输
- {
- ugr.Cells["INNUM"].Value = Math.Round(b_ReceivedQty * b_ITEMUOMCONEFFICIENT, 3);
- ugr.Cells["weightqTY"].Value = b_ReceivedQty;//入库量
- getInNum(ugr, "2");
- }
- else
- {
- //ugr.Cells["weightqTY"].Column.CellAppearance.BackColor = ugr.Cells["status"].Column.CellAppearance.BackColor;
- //ugr.Cells["weightqTY"].Column.CellActivation = Activation.ActivateOnly;
- getInNum(ugr, "1");
- }
-
- }
- bindDropDown(ugr);//绑定行所有的下拉框
- }
- bindCheckItems(DTsubDNoJL);//绑定检化验结果
- GridSubDNoJL.UpdateData();
- GridHelper.RefreshAndAutoSize(GridSubDNoJL);
- }
- else
- {
- GridHelper.CopyDataToDatatable(dt, DTsubDSJ, true);
- foreach (UltraGridRow ugr in GridSubDSJ.Rows)//实绩
- {
- getInNum(ugr, "1");
- }
- GridHelper.RefreshAndAutoSize(GridSubDSJ);
-
- }
- }
- /// <summary>
- /// 入库送货单行状态校验
- /// </summary>
- /// <param name="deliverySubId"></param>
- /// <param name="p"></param>
- /// <returns></returns>
- private bool testDeliveryStatus(String deliverySubId, int p, ref ExcDeliverySubC subc, ref ExcDeliverySubM subM)
- {
- if (String.IsNullOrEmpty(deliverySubId))
- {
- MessageUtil.ShowTips("送货单行号为空,无法校验数据有效性");
- return false;
- }
- subc = this.GetJsonService().execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { deliverySubId });
- if (subc == null)
- {
- MessageUtil.ShowTips("未发现送货单行:" + deliverySubId + " 信息记录,可能已作废,或请刷新界面重试");
- return false;
- }
- if (subc.Validflag != "1")
- {
- MessageUtil.ShowTips("未发现送货单行:" + deliverySubId + " 信息记录,可能已作废,或请刷新界面重试");
- return false;
- }
- String testStatus = subc.Status;
- if (String.IsNullOrEmpty(subc.DeliverySubId))
- {
- MessageUtil.ShowTips("未找到送货单行的头信息");
- return false;
- }
- subM = this.GetJsonService().execute<ExcDeliverySubM>("com.hnshituo.pur.ck.service.ExcDeliverySubMService", "findById", new object[] { subc.DeliverySubId });
- if (subM == null)
- {
- MessageUtil.ShowTips("未发现送货单:" + subc.DeliverySubId + " 信息记录,可能已作废,或请刷新界面重试");
- return false;
- }
- if (subM.Validflag != "1")
- {
- MessageUtil.ShowTips("未发现送货单:" + subc.DeliverySubId + " 信息记录,可能已作废,或请刷新界面重试");
- return false;
- }
- //待检入库
- if (p == 1)
- {
- if (subM.ReceiveType == "110107")//JIT
- {
- if (testStatus != "3")
- {
- MessageUtil.ShowTips("送货单行:" + deliverySubId + " 为JIT入库,可能还未完成复检,或请刷新界面重试");
- return false;
- }
- }
- else if (subM.ReceiveType == "110101")
- {
- if (testStatus != "2")
- {
- MessageUtil.ShowTips("送货单行:" + deliverySubId + " 为非JIT,可能还未完成初检,或请刷新界面重试");
- return false;
- }
- }
- if (subc.MeteringFlag == "1")
- {
- if (subc.Ismeter == "0")
- {
- MessageUtil.ShowTips("物料:" + subc.ItemName + " 为计重物料,请先计量");
- return false;
- }
- }
- if (subc.PcFlag == "1")
- {
- if (String.IsNullOrEmpty(subc.CheckNo))
- {
- MessageUtil.ShowTips("物料:" + subc.ItemName + " 为检化验物料,请生成检化验委托并做好取样和检验准备");
- return false;
- }
- }
- }
- //正式入库
- else if (p == 2)
- {
- if (subM.ReceiveType == "110107")//JIT
- {
- if (testStatus != "3"&&testStatus != "4")
- {
- MessageUtil.ShowTips("送货单行:" + deliverySubId + " 为JIT入库,还未复检或者待检,或请刷新界面重试");
- return false;
- }
- }
- else if (subM.ReceiveType == "110101")
- {
- if (testStatus != "2" && testStatus != "4")
- {
- MessageUtil.ShowTips("送货单行:" + deliverySubId + " 为非JIT,可能还未初检或待检,或请刷新界面重试");
- return false;
- }
- }
- if (subc.MeteringFlag == "1")
- {
- if (subc.Ismeter == "0")
- {
- MessageUtil.ShowTips("物料:" + subc.ItemName + " 为计重物料,请先计量");
- return false;
- }
- }
- if (subc.PcFlag == "1")
- {
- if (String.IsNullOrEmpty(subc.CheckNo))
- {
- MessageUtil.ShowTips("物料:" + subc.ItemName + " 为检化验物料,请生成检化验委托并做好取样和检验准备");
- return false;
- }
- }
- }
- //正式入库(废钢)
- else if (p == 4)
- {
- if (testStatus != "1" && testStatus != "2" && testStatus != "3" && testStatus != "4")
- {
- MessageUtil.ShowTips("送货单行:" + deliverySubId + " 已入库,或请刷新界面重试");
- return false;
- }
- if (subc.MeteringFlag == "1")
- {
- if (subc.Ismeter == "0")
- {
- MessageUtil.ShowTips("物料:" + subc.ItemName + " 为计重物料,请先计量");
- return false;
- }
- }
- if (subc.PcFlag == "1")
- {
- if (String.IsNullOrEmpty(subc.CheckNo))
- {
- MessageUtil.ShowTips("物料:" + subc.ItemName + " 为检化验物料,请生成检化验委托并做好取样和检验准备");
- return false;
- }
- }
- }
- //撤销入库
- else if (p == 3)
- {
- if (testStatus != "5" && testStatus != "4")
- {
- MessageUtil.ShowTips("送货单行:" + deliverySubId + " 还未入库或者已结算,或请刷新界面重试");
- return false;
- }
- }
- else
- {
- MessageUtil.ShowTips("未知参数:" + p);
- return false;
- }
- return true;
- }
- /// <summary>
- /// 获取库区库库位数据
- /// </summary>
- /// <param name="strPhysic"></param>
- /// <returns></returns>
- private DataTable getInvPosdt(string strPhysic)
- {
- string strInvPhysic = strPhysic;
- ActualSeatPosEntity PosEntity = new ActualSeatPosEntity();
- PosEntity.Validflag = "1";
- PosEntity.InvPhysic = strInvPhysic;
- DataTable dt = this.GetJsonService().execute<DataTable>("com.hnshituo.pur.configure.service.ActualSeatPosService", "find", new object[] { PosEntity, 0, 0 });
- return dt;
- }
- /// <summary>
- /// 绑定当前行的库位,绑定判定结果下拉列表数据源(储位和判断等级)
- /// </summary>
- private void bindDropDown(UltraGridRow ugr)
- {
- try
- {
- //绑定储位
- if (ugr.Cells["INVPOS"].EditorComponent == null || ugr.Cells["InvPosException"].EditorComponent == null)
- {
- String strInvphysic = ugr.Cells["DELETEUSERID"].Value.ToString().Trim();
- if (!String.IsNullOrEmpty(strInvphysic))
- {
- DataTable dt = null;
- if (ht[strInvphysic] != null)
- {
- dt = (DataTable)ht[strInvphysic];
- }
- if (ugr.Cells["INVPOS"].EditorComponent == null)
- {
- UltraComboEditor ucbe = getNewUltraComboEditor();
- comm.setUltraComboEditorBind(ucbe, dt, "invPosName", "invPos");
- ugr.Cells["INVPOS"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- ugr.Cells["INVPOS"].EditorComponent = ucbe;
- if (dt.Rows.Count > 0 && ugr.Cells["INVPOS"].Value.ToString() == "")
- {
- ugr.Cells["INVPOS"].Value = dt.Rows[0]["invPos"].ToString();
- }
- }
- if (ugr.Cells["InvPosException"].EditorComponent == null)
- {
- //待处置库位
- UltraComboEditor ucbe1 = getNewUltraComboEditor();
- comm.setUltraComboEditorBind(ucbe1, dt, "invPosName", "invPos");
- ugr.Cells["InvPosException"].EditorComponent = ucbe1;
- ugr.Cells["InvPosException"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- }
- }
- //绑定判定结果
- ugr.Cells["CheckStatu"].EditorComponent = cmbCheck;
- }
- catch (System.Exception ex)
- {
- MessageUtil.ShowTips("加载送货单行:" + ugr.GetCellValue("DELIVERYSUBLINESQE") + "入库可选储位和可判定等级失败:" + ex.Message);
- ugr.Cells["Check"].Value = false;
- ugr.Cells["Check"].Activation = Activation.Disabled;
- ugr.Appearance.BackColor = Color.WhiteSmoke;
- }
- }
- /// <summary>
- /// 批量绑定检化验结果
- /// </summary>
- private void bindCheckItems(DataTable dtsub)
- {
- ArrayList al = comm.getDtGroupBy_reAl(dtsub, "CHECKNO");
- for (int i = 0; i < al.Count; )
- {
- if (al[i] == null)
- {
- al.RemoveAt(i);
- }
- else
- {
- i++;
- }
- }
- if (al.Count == 0)
- {
- return;
- }
- CheckconsignBaseinfo cb = new CheckconsignBaseinfo();
- cb.CheckNos = (string[])al.ToArray(typeof(string));
- DataTable dt = this.GetJsonService().execute<DataTable>("com.hnshituo.pur.jhy.service.CheckconsignBaseinfo_jhyService", "doQuery_Baseinfo", new object[] { cb });
- //DataTable dt = this.GetJsonService().execute<DataTable>("com.hnshituo.pur.utils.service.UtilsService", "readData1", new object[] { cb });
- if (dt == null || dt.Rows.Count <= 0)
- {
- return;
- }
- for (int i = 0; i < dtsub.Rows.Count; i++)
- {
- DataRow dr = dtsub.Rows[i];
- foreach (DataRow dr1 in dt.Rows)
- {
- if (dr["CHECKNO"].ToString() == dr1["CHECKNO"].ToString())
- {
- dr["CHECKUSERNAME"] = dr1["JUDGENAME"];//判断人
- dr["CHECKDATE"] = dr1["JUDGETIME"];//判断人
- //判定结果
- if (dr1["judgelevelcode"].ToString() == "" || dr1["judgelevelcode"].ToString() == "无")
- {
- if (dr1["judgelevelcode"].ToString() == "1")
- {
- dr["CheckStatu"] = "1";
- }
- else if (dr1["judgelevelcode"].ToString() == "0")
- {
- dr["CheckStatu"] = "0";
- }
- else
- {
- dr["CheckStatu"] = "1";
- }
- }
- break;
- }
- }
- }
- }
- /// <summary>
- /// 批量绑定计量结果
- /// </summary>
- private void bindJLItems()
- {
- if (ultraTabControl1.SelectedTab.Key != "2")
- {
- MessageUtil.ShowTips("请选择计量入库界面");
- return;
- }
- double numJLQTY = 0;
- double numTARE = 0;//皮重
- double numGROSS = 0; //毛重
- string strSUTTLETIME = "";//计量时间
- String strMaterielRule = "";
- double numKZQTY = 0;
- double b_txt_deduction2 = 0.00;//扣机铁
- double b_txt_deduction3 = 0.00;//扣超长
- double b_txt_deduction4 = 0.00;//扣轻薄
- ArrayList al = comm.getDtGroupBy_reAl(DTsubDJL, "DELIVERYSUBLINESQE");
- for (int i = 0; i < al.Count; )
- {
- if (al[i] == null)
- {
- al.RemoveAt(i);
- }
- else
- {
- i++;
- }
- }
- if (al.Count == 0)
- {
- return;
- }
- Hashtable ht = new Hashtable();
- ht.Add("ordernos", (string[])al.ToArray(typeof(string)));
- DataTable dt = this.GetJsonService().execute<DataTable>("com.hnshituo.pur.utils.service.UtilsService", "readData", new object[] { ht });
- if (dt == null || dt.Rows.Count <= 0)
- {
- return;
- }
- foreach (UltraGridRow row in GridSubDJL.Rows)
- {
- String strDELIVERYSUBLINESQE = row.GetCellValue("DELIVERYSUBLINESQE").ToString().Trim();
- foreach (DataRow dr1 in dt.Rows)
- {
- if (strDELIVERYSUBLINESQE == dr1["orderno"].ToString())
- {
- Double.TryParse(dr1["suttle"].ToString().Trim(), out numJLQTY);
- Double.TryParse(dr1["deduction"].ToString().Trim(), out numKZQTY);
- Double.TryParse(dr1["deduction2"].ToString().Trim(), out b_txt_deduction2);//扣机铁
- Double.TryParse(dr1["deduction3"].ToString().Trim(), out b_txt_deduction3);//扣超长
- Double.TryParse(dr1["deduction4"].ToString().Trim(), out b_txt_deduction4);//扣轻薄
- Double.TryParse(dr1["TARE"].ToString().Trim(), out numTARE);//皮重
- Double.TryParse(dr1["GROSS"].ToString().Trim(), out numGROSS);//毛重
- string strmatchid = dr1["matchid"].ToString().Trim();//绑单号
- strMaterielRule = dr1["materielRule"].ToString().Trim();//废钢料型
- strSUTTLETIME = dr1["SUTTLETIME"].ToString().Trim();//计量时间
- row.Cells["JLQTY"].Value = numJLQTY;//净重
- row.Cells["KZQTY"].Value = numKZQTY;//净扣杂
- row.Cells["deduction2"].Value = b_txt_deduction2;//扣机铁
- row.Cells["deduction3"].Value = b_txt_deduction3;//扣超长
- row.Cells["deduction4"].Value = b_txt_deduction4;//扣轻薄
- row.Cells["TARE"].Value = numTARE;//皮重
- row.Cells["GROSS"].Value = numGROSS;//毛重
- row.Cells["SUTTLETIME"].Value = strSUTTLETIME;//计量时间
- row.Cells["CheckResult"].Value = strMaterielRule;//废钢料型
- row.Cells["matchid"].Value = strmatchid;//绑单号
- }
- }
- }
- GridSubDJL.UpdateData();
- }
- /// <summary>
- /// 计算非计量入库量
- /// </summary>
- /// <param name="ugr"></param>
- /// <param name="tips">1:修改采购,2修改库存</param>
- private void getInNum(UltraGridRow ugr,String strTips)
- {
- if (ugr == null)
- { return; }
- double b_SHIPQTY = 0;//收货量
- double b_ReceivedQty = 0;//入库量_实绩
- double b_InNum = 0;//入库量_编制
- double b_weightQty = 0;//库存数量
- double b_ITEMUOMCONEFFICIENT = 0;
- double.TryParse(ugr.Cells["SHIPQTY"].Value.ToString(), out b_SHIPQTY);//收获量
- double.TryParse(ugr.Cells["INNUM"].Value.ToString(), out b_InNum);//入库量_编制
- double.TryParse(ugr.Cells["RECEIVEDQTY"].Value.ToString(), out b_ReceivedQty);//入库量_实绩
- double.TryParse(ugr.Cells["weightQty"].Value.ToString(), out b_weightQty);//库存数量
- double.TryParse(ugr.Cells["ITEMUOMCONEFFICIENT"].Value.ToString(), out b_ITEMUOMCONEFFICIENT);//转换系数
- double b_NumException = 0;//待入库量
- if (ultraTabControl1.SelectedTab.Key != "3")
- {
- if (ugr.Cells["ITEMUOM"].Value.ToString() == "基吨")//库存数量可输
- {
- //if (strTips == "2")
- //{
- // b_InNum = Math.Round(b_weightQty * b_ITEMUOMCONEFFICIENT, 3, System.MidpointRounding.AwayFromZero);
- // b_NumException = b_SHIPQTY - b_weightQty;
- // if (ugr.Cells["CheckStatu"].Value.ToString() == "0")//不合格
- // {
- // ugr.Cells["InNum"].Value = 0;
- // ugr.Cells["weightQty"].Value = 0;
- // //ugr.Cells["numException"].Value = Math.Round(b_SHIPQTY, 3, System.MidpointRounding.AwayFromZero);
- // }
- // else
- // {
- // ugr.Cells["InNum"].Value = b_InNum;
- // //ugr.Cells["numException"].Value = b_NumException;
- // }
- //}
- //else
- //{
- // b_weightQty = Math.Round(b_InNum / b_ITEMUOMCONEFFICIENT, 3, System.MidpointRounding.AwayFromZero);
- // //b_NumException = b_SHIPQTY - b_weightQty;
- // if (ugr.Cells["CheckStatu"].Value.ToString() == "0")//不合格
- // {
- // ugr.Cells["InNum"].Value = 0;
- // ugr.Cells["weightQty"].Value = 0;
- // // ugr.Cells["numException"].Value = Math.Round(b_SHIPQTY, 3, System.MidpointRounding.AwayFromZero);
- // }
- // else
- // {
- // ugr.Cells["weightQty"].Value = b_weightQty;
- // // ugr.Cells["numException"].Value = b_NumException;
- // }
- //}
- b_ITEMUOMCONEFFICIENT = Math.Round(b_InNum / b_weightQty, 12, System.MidpointRounding.AwayFromZero);
- if (ugr.Cells["CheckStatu"].Value.ToString() == "0")//不合格
- {
- ugr.Cells["ITEMUOMCONEFFICIENT"].Value = 0;
- }
- else
- {
- ugr.Cells["ITEMUOMCONEFFICIENT"].Value = b_ITEMUOMCONEFFICIENT;
- }
- }
- else
- {
- if (strTips == "2")//改库存量
- {
- //乘转换系数
- b_InNum = Math.Round(b_weightQty / b_ITEMUOMCONEFFICIENT, 3, System.MidpointRounding.AwayFromZero);
- // b_NumException = b_SHIPQTY - b_InNum;
- if (ugr.Cells["CheckStatu"].Value.ToString() == "0")//不合格
- {
- ugr.Cells["InNum"].Value = 0;
- ugr.Cells["weightQty"].Value = 0;
- // ugr.Cells["numException"].Value = b_SHIPQTY;
- }
- else
- {
- ugr.Cells["InNum"].Value = b_InNum;
- // ugr.Cells["numException"].Value = b_NumException;
- }
- }
- else//该采购量
- {
- //乘转换系数
- b_weightQty = Math.Round(b_InNum * b_ITEMUOMCONEFFICIENT, 3, System.MidpointRounding.AwayFromZero);
- // b_NumException = b_SHIPQTY - b_InNum;
- if (ugr.Cells["CheckStatu"].Value.ToString() == "0")//不合格
- {
- ugr.Cells["InNum"].Value = 0;
- ugr.Cells["weightQty"].Value = 0;
- // ugr.Cells["numException"].Value = b_SHIPQTY;
- }
- else
- {
- ugr.Cells["weightQty"].Value = b_weightQty;
- // ugr.Cells["numException"].Value = b_NumException;
- }
- }
- }
- double bUNITWEIGHT = 0;//每袋重量
- double bPACKAGEQTY = 0;//包装数量
- double.TryParse(ugr.Cells["PACKAGEQTY"].Value.ToString().Trim(), out bPACKAGEQTY);
- if (bPACKAGEQTY != 0)
- {
- bUNITWEIGHT = Math.Round(b_weightQty / bPACKAGEQTY, 3);
- }
- ugr.Cells["UNITWEIGHT"].Value = bUNITWEIGHT;
- }
- else
- {
- if (ugr.Cells["ITEMUOM"].Value.ToString() == "基吨")//库存数量可输
- {
- b_InNum = Math.Round(b_ReceivedQty * b_ITEMUOMCONEFFICIENT, 3, System.MidpointRounding.AwayFromZero);
- ugr.Cells["weightQty"].Value = b_ReceivedQty;
- ugr.Cells["RECEIVEDQTY"].Value = b_InNum;
- }
- else
- {
- b_weightQty = Math.Round(b_ReceivedQty * b_ITEMUOMCONEFFICIENT, 3, System.MidpointRounding.AwayFromZero);
- ugr.Cells["weightQty"].Value = b_weightQty;
- }
- }
- }
- /// <summary>
- /// 计算计量之后的量
- /// </summary>
- /// <returns></returns>
- private void getJlInNum(UltraGridRow ugr)
- {
- if (ugr == null)
- { return; }
- double b_JL_QTY = 0.00;
- double b_KZ_QTY = 0.00;
- double b_ITEMUOMCONEFFICIENT = 0;
- double b_txt_deduction2 = 0.00;
- double b_txt_deduction3 = 0.00;
- double b_txt_deduction4 = 0.00;
- double.TryParse(ugr.Cells["JLQTY"].Value.ToString(), out b_JL_QTY);//计量结果
- double.TryParse(ugr.Cells["KZQTY"].Value.ToString(), out b_KZ_QTY);//扣杂量
- double.TryParse(ugr.Cells["ITEMUOMCONEFFICIENT"].Value.ToString(), out b_ITEMUOMCONEFFICIENT);//转换系数
- double.TryParse(ugr.Cells["deduction2"].Value.ToString(), out b_txt_deduction2);//扣杂量
- double.TryParse(ugr.Cells["deduction3"].Value.ToString(), out b_txt_deduction3);//扣杂量
- double.TryParse(ugr.Cells["deduction4"].Value.ToString(), out b_txt_deduction4);//扣杂量
- double b_REC_QTY = 0.00;//可入库量..自动计算
- double b_weightQty = 0;//库存数量
- //b_REC_QTY = b_JL_QTY - b_KZ_QTY - b_txt_deduction2 - b_txt_deduction3 - b_txt_deduction4;//可入库量..自动计算
- b_REC_QTY = b_JL_QTY - b_txt_deduction2 - b_txt_deduction3 - b_txt_deduction4;//可入库量..自动计算
- //乘转换系数
- if (ugr.Cells["CheckStatu"].Value.ToString() == "0")
- {
- ugr.Cells["InNum"].Value = 0;
- ugr.Cells["weightQty"].Value = 0;
- // ugr.Cells["numException"].Value = Math.Round(b_REC_QTY, 3, System.MidpointRounding.AwayFromZero);
- }
- else
- {
- if (ugr.Cells["ITEMUOM"].Value.ToString() == "基吨")//库存数量可输
- {
- ugr.Cells["InNum"].Value = Math.Round(b_REC_QTY * b_ITEMUOMCONEFFICIENT, 3, System.MidpointRounding.AwayFromZero);
- ugr.Cells["weightQty"].Value = b_REC_QTY;
- }
- else
- {
- b_weightQty = Math.Round(b_REC_QTY * b_ITEMUOMCONEFFICIENT, 3);
- ugr.Cells["InNum"].Value = Math.Round(b_REC_QTY, 3, System.MidpointRounding.AwayFromZero);
- ugr.Cells["weightQty"].Value = b_weightQty;
- }
- }
- double bUNITWEIGHT = 0;//每袋重量
- double bPACKAGEQTY = 0;//包装数量
- double.TryParse(ugr.Cells["PACKAGEQTY"].Value.ToString().Trim(), out bPACKAGEQTY);
- if (bPACKAGEQTY != 0)
- {
- bUNITWEIGHT = Math.Round(b_weightQty / bPACKAGEQTY, 3);
- }
- ugr.Cells["UNITWEIGHT"].Value = bUNITWEIGHT;
- }
- /// <summary>
- /// 获取CMB
- /// </summary>
- /// <returns></returns>
- private UltraComboEditor getNewUltraComboEditor()
- {
- UltraComboEditor cmb = new UltraComboEditor();
- cmb.DropDownStyle = DropDownStyle.DropDownList;
- cmb.Visible = false;
- this.Controls.Add(cmb);
- return cmb;
- }
- /// <summary>
- /// 入库操作
- /// </summary>
- /// <param name="strTips">1:待检入库 2:正式入库</param>
- private void instock(String strTips)
- {
- try
- {
- Hashtable htAttr = new Hashtable();
- if (strTips != "1" && strTips != "2")
- {
- MessageUtil.ShowTips("入库类型参数错误 1:待检入库,2:正式入库");
- return;
- }
- int tips = Int32.Parse(strTips);
- UltraGrid ug = null;
- DataTable dt_forUsePlan = new DataTable();
- if (ultraTabControl1.SelectedTab.Key == "2")//计量
- {
- ug = GridSubDJL;
- ug.UpdateData();
- dt_forUsePlan = DTsubDJL;
- }
- else if (ultraTabControl1.SelectedTab.Key == "1")
- {
- ug = GridSubDNoJL;
- ug.UpdateData();
- dt_forUsePlan = DTsubDNoJL;
- }
- else
- {
- MessageUtil.ShowTips("请选择待入库数据");
- return;
- }
-
- ArrayList al_CkInBillEntity = new ArrayList();//入库单表
- ArrayList al_PurCkInbillPositionEntity = new ArrayList();//入库单储位明细表
- ArrayList al_CkStorageEntity = new ArrayList();//库存
- ArrayList al_CkStoragePosEntity = new ArrayList();//库存储位
- ArrayList al_ExcDeliverySubC = new ArrayList();//送货单行
- ArrayList al_ExcDeliveryException = new ArrayList();//送货单行---正式入库记录
- Hashtable htusePlan = null;//领用单表---正式入库记录
- foreach (UltraGridRow ugr in ug.Rows)
- {
- if (ugr.Hidden || !(bool)ugr.Cells["Check"].Value)
- { continue; }
- String strSubSqe = ugr.Cells["DELIVERYSUBLINESQE"].Value.ToString().Trim();
- if (String.IsNullOrEmpty(strSubSqe))
- {
- MessageUtil.ShowTips("送货单行号为空");
- return;
- }
- ExcDeliverySubC subCOld = new ExcDeliverySubC();
- ExcDeliverySubM subMOld = new ExcDeliverySubM();
- if (String.IsNullOrEmpty(strCoustomInfo))
- {
- if (testDeliveryStatus(strSubSqe, tips, ref subCOld, ref subMOld) == false)
- {
- return;
- }
- }
- else
- {
- if (testDeliveryStatus(strSubSqe, 4, ref subCOld, ref subMOld) == false)
- {
- return;
- }
- }
- //入库数据
- double b_QTY = 0; //编制量
- double b_INNUM = 0; //入库量
- double b_ReceivedQty = 0; //收货量
- double b_ITEMUOMCONEFFICIENT = 0;//转化系数
- double b_KZQTY = 0;//扣杂
- if (ugr.Cells["ITEMUOM"].Value.ToString() == "基吨")//入库量
- {
- double.TryParse(ugr.Cells["weightqTY"].Value.ToString().Trim(), out b_INNUM);
- }
- else
- {
- double.TryParse(ugr.Cells["INNUM"].Value.ToString().Trim(), out b_INNUM);
- }
- double.TryParse(ugr.Cells["KZQTY"].Value.ToString().Trim(), out b_KZQTY);//扣杂量
- double.TryParse(ugr.Cells["SHIPQTY"].Value.ToString().Trim(), out b_ReceivedQty);//接收量
- double.TryParse(ugr.Cells["ITEMUOMCONEFFICIENT"].Value.ToString().Trim(), out b_ITEMUOMCONEFFICIENT);//转换系数
- double.TryParse(ugr.Cells["QTY"].Value.ToString().Trim(), out b_QTY);//编制量
- //入库储位
- String strInvPhysic = ugr.Cells["DELETEUSERID"].Value.ToString().Trim();
- string strINVPOS = ugr.Cells["INVPOS"].Value.ToString().Trim();//入库储位
- //待处置数据
- String strRemarkException = ugr.Cells["RemarkException"].Value.ToString().Trim();//处置意见
- string strInvPosException = ugr.Cells["InvPosException"].Value.ToString().Trim();//待处置储位
- double b_non_Standard = 0;//待处置量
- double.TryParse(ugr.Cells["numException"].Value.ToString().Trim(), out b_non_Standard);
- //包装数据
- double bUNITWEIGHT = 0;//每袋重量
- double bPACKAGEQTY = 0;//包装数量
- double.TryParse(ugr.Cells["PACKAGEQTY"].Value.ToString().Trim(), out bPACKAGEQTY);
- if (bPACKAGEQTY != 0)
- {
- bUNITWEIGHT = Math.Round(b_INNUM / bPACKAGEQTY, 3);
- }
- String strPackUnit = ugr.Cells["PACKAGEUNIT"].Value.ToString().Trim();
- //计量数据
-
- double dbJLQty = ugr.Cells["JLQTY"].Value.ToString().Trim() == "" ? 0 : double.Parse(ugr.Cells["JLQTY"].Value.ToString());//净重
- double dbDeduction2 = ugr.Cells["Deduction2"].Value.ToString().Trim() == "" ? 0 : double.Parse(ugr.Cells["Deduction2"].Value.ToString());//扣机铁
- double dbDeduction3 = ugr.Cells["Deduction3"].Value.ToString().Trim() == "" ? 0 : double.Parse(ugr.Cells["Deduction3"].Value.ToString());//扣超长
- double dbDeduction4 = ugr.Cells["Deduction4"].Value.ToString().Trim() == "" ? 0 : double.Parse(ugr.Cells["Deduction4"].Value.ToString());//扣轻薄
- double dbGROSS = ugr.Cells["GROSS"].Value.ToString().Trim() == "" ? 0 : double.Parse(ugr.Cells["GROSS"].Value.ToString());//毛重
- double dbTARE = ugr.Cells["TARE"].Value.ToString().Trim() == "" ? 0 : double.Parse(ugr.Cells["TARE"].Value.ToString());//皮重
- string strmatchid = "";
- string strCheckResult = "";
- if (ultraTabControl1.SelectedTab.Key == "2")
- {
- strmatchid=ugr.Cells["matchid"].Value.ToString().Trim();//绑单号
- if (String.IsNullOrEmpty(strmatchid))
- {
- MessageUtil.ShowTips("送货单行:" + subCOld.DeliverySubLineSqe + "未绑定磅单,无法入库");
- return;
- }
- strCheckResult = ugr.Cells["CheckResult"].Value.ToString().Trim();//料型
- if (!String.IsNullOrEmpty(strCheckResult))
- {
- String keys=strCheckResult + subCOld.ItemCode;
- if (htAttr.ContainsKey(keys))
- {
- strCheckResult = (String)htAttr[keys];
- }
- else
- {
- PurClassMatAttrEntity MatAttr = new PurClassMatAttrEntity();
- MatAttr.AttrName = strCheckResult;
- MatAttr.ItemCode = subCOld.ItemCode;
- List<PurClassMatAttrEntity> listMatAttr = this.GetJsonService().execute<List<PurClassMatAttrEntity>>("com.hnshituo.pur.configure.service.ClassMatAttrService", "find", new object[] { MatAttr,0,0});
- if (listMatAttr != null && listMatAttr.Count >= 1)//此物料判定合格
- {
- htAttr.Add(keys, listMatAttr[0].AttrCode);
- strCheckResult = listMatAttr[0].AttrCode;
- }
- else
- {
- MessageUtil.ShowTips("未发现物料:" + subCOld.ItemName + "存在料型:" + strCheckResult+",或请维护!");
- return;
- }
- }
- }
- }
- //质检数据
- String strCheckStatu = ugr.Cells["CheckStatu"].Value.ToString().Trim();
- String strCheckUser = String.IsNullOrEmpty(ugr.Cells["CHECKUSERNAME"].Value.ToString().Trim()) ? UserInfo.GetUserName() : ugr.Cells["CHECKUSERNAME"].Value.ToString().Trim();//判断人
- DateTime DtCheck = DateTime.Now;
- if (!String.IsNullOrEmpty(ugr.Cells["CHECKDATE"].Value.ToString().Trim()))
- {
- DtCheck=DateTime.Parse(ugr.Cells["CHECKDATE"].Value.ToString().Trim());
- }
-
- //校验数据--待检
- if (tips == 1)
- {
- //入库量大于0
- if (b_INNUM <= 0)
- {
- MessageUtil.ShowTips("请填写送货单行:" + strSubSqe + "的入库量");
- return;
- }
- if (strINVPOS.Trim() == "")
- {
- MessageUtil.ShowTips("请填写送货单行:" + strSubSqe + "的入库储位");
- return;
- }
- if (b_non_Standard > 0)
- {
- MessageUtil.ShowTips("送货单行:" + strSubSqe + "有待处置数量,不能做待检入库操作");
- return;
- }
- }
- //校验数据--正式
- else
- {
- if (b_INNUM > 0 && strINVPOS.Trim() == "")
- {
- MessageUtil.ShowTips("请填写送货单行:" + strSubSqe + "的入库储位");
- return;
- }
- if (strCheckStatu == "0")
- {
- if (b_non_Standard <= 0)
- {
- MessageUtil.ShowTips("送货单行:" + strSubSqe + "的综合判定结果为不合格,待处置量必须>0");
- return;
- }
- }
- else
- {
- if (b_INNUM <= 0)
- {
- MessageUtil.ShowTips("送货单行:" + strSubSqe + "的综合判定结果为合格,入库量必须>0");
- return;
- }
- }
- //交货量差控制
- if (testDeliveryQtyCtrl(subMOld, subCOld,b_INNUM) == false)
- {
- return;
- }
- }
-
- //包装单位校验
- if (!String.IsNullOrEmpty(strPackUnit))
- {
- if (strPackUnit.Length >= 35)
- {
- MessageUtil.ShowTips("送货单行:" + strSubSqe + "的包装单位字符串多长,请控制在10个字以内");
- return;
- }
- if (bPACKAGEQTY <= 0 || bUNITWEIGHT<=0)
- {
- MessageUtil.ShowTips("送货单行:" + strSubSqe + "的包装单位信息不全,包装数量和包装重量不能为空");
- return;
- }
- }
- if (bPACKAGEQTY>0)
- {
- if (String.IsNullOrEmpty(strPackUnit))
- {
- MessageUtil.ShowTips("送货单行:" + strSubSqe + "的包装单位信息不全,请填写包装单位");
- return;
- }
- }
- PurCkInBillEntity CkInBillEntity = new PurCkInBillEntity();//入库单表
- CkStorage CkStorageEntity = new CkStorage();
- PurCkStoragePosEntity CkStoragePosEntity = new PurCkStoragePosEntity();//库存收发存表
- PurCkInbillPositionEntity CkInbillPositionEntity = new PurCkInbillPositionEntity();//入库单储位明细表
- ExcDeliveryException edecp = new ExcDeliveryException();//异常处理信息
- ExcDeliverySubC EdC = new ExcDeliverySubC();
- EdC.Status = "5";//正式入库
- if (tips == 1)
- {
- EdC.Status = "4";//待检入库
- }
- //正式入库---待处置入库
- if (b_non_Standard > 0 && tips == 2)
- {
- //异常单
- edecp.DeliverySubLineSqe = strSubSqe;
- edecp.DeliverySubId = subMOld.DeliverySubId;
- edecp.Qty = b_non_Standard;
- if (String.IsNullOrEmpty(strRemarkException))
- {
- MessageUtil.ShowTips("送货单行:" + strSubSqe + "有待处置量,待处置原因或意见不能为空");
- return;
- }
- if (String.IsNullOrEmpty(strInvPosException))
- {
- MessageUtil.ShowTips("送货单行:" + strSubSqe + "有待处置量,待检储位不能为空");
- return;
- }
- edecp.Remark = strRemarkException;
- edecp.InvPos = strInvPosException;
- edecp.InvPhysic = strInvPhysic;
- edecp.Ecptype = "3";
- edecp.Validflag = "1";
- edecp.Status = "1";
- edecp.CreateName = UserInfo.GetUserName();
- edecp.CreateUserid = UserInfo.GetUserID();
- edecp.CreateTime = System.DateTime.Now;
- al_ExcDeliveryException.Add(edecp);
- }
- if (strCheckStatu != "0")//合格入库
- {
-
- CkInBillEntity.RefeId = strSubSqe;//送货通知单行号
- CkInBillEntity.RefType = "2";
- CkInBillEntity.InvPhysic = strInvPhysic;
- CkInBillEntity.ItemUomConefficient = b_ITEMUOMCONEFFICIENT;
- CkInBillEntity.Status = tips == 2 ? "1" : "0";// 状态
- CkInBillEntity.InNum = b_INNUM;//入库量
- //读取计量结果
- CkInBillEntity.JlQty = dbJLQty; //净重
- CkInBillEntity.KzQty = b_KZQTY;//扣杂
- CkInBillEntity.Deduction2 = dbDeduction2;//扣机铁
- CkInBillEntity.Deduction3 = dbDeduction3;//扣超长
- CkInBillEntity.Deduction4 = dbDeduction4;//扣轻薄
- CkInBillEntity.Gross = dbGROSS;//毛重
- CkInBillEntity.Tare = dbTARE;//皮重
- CkInBillEntity.Matchid = strmatchid;
- if (ugr.Cells["Suttletime"].Value.ToString().Trim() != "")
- {
- CkInBillEntity.Suttletime= DateTime.Parse(ugr.Cells["Suttletime"].Value.ToString().Trim());
- }
- CkInBillEntity.Result = strCheckResult;
- //包装
- if (!String.IsNullOrEmpty(strPackUnit))
- {
- CkInBillEntity.PackageQty = bPACKAGEQTY + "";//包装数
- CkInBillEntity.UnitWeight = bUNITWEIGHT;//每包重量
- CkInBillEntity.PackageUnit = strPackUnit + "";//包装单位
- }
- CkInBillEntity.CreateUserid = UserInfo.GetUserID();
- CkInBillEntity.CreateName = UserInfo.GetUserName();
- CkInBillEntity.CreateTime = DateTime.Now;
- CkInBillEntity.InstockDate = DateTime.Now;
- CkInBillEntity.OperateOrgId = UserInfo.GetDeptid();
- CkInBillEntity.OperateOrgName = UserInfo.GetDepartment();
- CkInBillEntity.UpdateName = null;
- CkInBillEntity.UpdateUserid = null;
- CkInBillEntity.UpdateTime = null;
- //检化验数据
- CkInBillEntity.Result = strCheckResult;//检验结果(料型或者等级)
- CkInBillEntity.CheckResult = strCheckStatu;//判定是否合格
- CkInBillEntity.CheckDate = DtCheck;//判定时间
- CkInBillEntity.CheckUserName = strCheckUser;//判断人
- CkInBillEntity.RecId = ugr.Cells["REC_ID"].Value.ToString(); // 说明
- al_CkInBillEntity.Add(CkInBillEntity);
- //-----------------------------------------------------------------------------库存单表
- CkStorageEntity.RefeId = CkInBillEntity.RefeId;
- CkStorageEntity.Status = tips == 2 ? "1" : "0";
- CkStorageEntity.UseStatus = tips == 2 ? "1" : "0";
- CkStorageEntity.Validflag = "1";
- CkStorageEntity.InvPhysic = strInvPhysic;
- CkStorageEntity.InvQty = b_INNUM;//库存数量
- CkStorageEntity.InvOrigQty = b_INNUM;//期初库存数量
- if (!String.IsNullOrEmpty(strPackUnit))
- {
- CkStorageEntity.PackageQty = bPACKAGEQTY + "";//包装数
- CkStorageEntity.UnitWeight = bUNITWEIGHT + "";//每包重量
- CkStorageEntity.PackageUnit = strPackUnit + "";//包装单位
- }
- CkStorageEntity.CreateUserid = UserInfo.GetUserID();
- CkStorageEntity.CreateName = UserInfo.GetUserName();
- CkStorageEntity.OperateOrgId = UserInfo.GetDeptid();
- CkStorageEntity.OperateOrgName = UserInfo.GetDepartment();
- CkStorageEntity.UpdateName = null;
- CkStorageEntity.UpdateUserid = null;
- CkStorageEntity.UpdateTime = null;
- CkStorageEntity.ItemUomConefficient = b_ITEMUOMCONEFFICIENT;
- //检化验数据
- CkStorageEntity.Result = "";//检验结果(料型或者等级)
- CkStorageEntity.CheckResult = strCheckStatu;//判定是否合格
- CkStorageEntity.CheckDate = DtCheck;//判定时间
- CkStorageEntity.CheckUsername = strCheckUser;//判断人
- al_CkStorageEntity.Add(CkStorageEntity);
- //-----------------------------------------------------------------------------------------------------------入库单储位明细表
- CkInbillPositionEntity.InStockNo = CkInBillEntity.RefeId;// ultraGrid5.ActiveRow.Cells["DELIVERYSUBLINESQE"].Value.ToString();//入库单号记录送货通知单行号,方便在后台获取入库单号
- CkInbillPositionEntity.Validflag = "1";
- CkInbillPositionEntity.InNum = b_INNUM;//入库量
- CkInbillPositionEntity.InvPhysic = CkInBillEntity.InvPhysic;//物理库区
- CkInbillPositionEntity.InvPos = strINVPOS; ;//库位
- CkInbillPositionEntity.CreateUserid = UserInfo.GetUserID();
- if (!String.IsNullOrEmpty(strPackUnit))
- {
- CkInbillPositionEntity.PackageQty = bPACKAGEQTY + "";//包装数量
- }
- CkInbillPositionEntity.CreateUserid = UserInfo.GetUserID();
- CkInbillPositionEntity.CreateName = UserInfo.GetUserName();
- al_PurCkInbillPositionEntity.Add(CkInbillPositionEntity);//添加入库单储位明细表
- //---------------------------------------------------------------------------------------------------------------------------------库存储位明细表
- CkStoragePosEntity.InvId = CkInBillEntity.RefeId;//库存记录号记录发货通知单行号,方便在后台获取入库单号
- CkStoragePosEntity.Validflag = "1";
- CkStoragePosEntity.InvOrigQty = b_INNUM;//期初入库量
- CkStoragePosEntity.InvQty = b_INNUM;//库存数量
- CkStoragePosEntity.InvPhysic = CkInBillEntity.InvPhysic; //txt_INV_PHYSIC.Value == null ? null : txt_INV_PHYSIC.Value.ToString();//物理库区
- CkStoragePosEntity.InvPos = strINVPOS;//ugr_5.Cells["INVPOS"].Value.ToString();//库位
- if (!String.IsNullOrEmpty(strPackUnit))
- {
- CkStoragePosEntity.PackageQty = bPACKAGEQTY + "";//包装数量
- CkStoragePosEntity.PackageUnit = strPackUnit + "";//包装单位
- CkStoragePosEntity.UnitWeight = bUNITWEIGHT;//每袋重量
- }
- CkStoragePosEntity.InvQtyWeight = b_INNUM * b_ITEMUOMCONEFFICIENT;
- CkStoragePosEntity.CreateUserid = UserInfo.GetUserID();
- CkStoragePosEntity.CreateName = UserInfo.GetUserName();
- al_CkStoragePosEntity.Add(CkStoragePosEntity);//添加库存单储位明细表
- }
- //送货单
- EdC.DeliverySubLineSqe = strSubSqe;//送货通知单行号
- //获取计量信息
- EdC.JlQty = dbJLQty;//计量结果
- EdC.ReceivedQty = b_INNUM;//实际入库量
- EdC.KzQty = b_KZQTY;//扣杂量
- EdC.ItemUomConefficient = b_ITEMUOMCONEFFICIENT;
- EdC.Deduction2 = dbDeduction2;//扣机铁
- EdC.Deduction3 = dbDeduction3;//扣超长
- EdC.Deduction4 = dbDeduction4;//扣轻薄
- EdC.Matchid = strmatchid;
- EdC.PackageQty = bPACKAGEQTY + "";//包装数量
- EdC.PackageUnit = strPackUnit + "";//包装单位
- EdC.UnitWeight = bUNITWEIGHT;//每袋重量
- EdC.RkName = UserInfo.GetUserName();
- EdC.RkUserid = UserInfo.GetUserID();
- EdC.RkTime = DateTime.Now;
- al_ExcDeliverySubC.Add(EdC);
- }
- if (al_ExcDeliverySubC.Count < 1)
- {
- MessageUtil.ShowTips("请勾选送货单");
- return;
- }
- CoreResult crt = new CoreResult();
- if (tips == 1)
- {
- if (MessageUtil.ShowYesNoAndQuestion("确定待检入库?") != DialogResult.Yes)
- {
- return;
- }
- crt = this.GetJsonService().execute<CoreResult>("com.hnshituo.pur.ck.service.ExcDeliverySubMService", "doWaitInstock", new object[] { al_ExcDeliverySubC, al_CkInBillEntity, al_PurCkInbillPositionEntity, al_CkStorageEntity, al_CkStoragePosEntity,strCoustomInfo });
- }
- else if (tips == 2)
- {
- frmPopSetCkInBillOutNum frm = new frmPopSetCkInBillOutNum(this.ob, dt_forUsePlan, al_ExcDeliverySubC);
- frm.ShowDialog();
- htusePlan = frm.ht;
- if (frm.strTips == "0")
- {
- return;
- }
- else
- {
- if (frm.strTips == "1")
- {
- if (MessageUtil.ShowYesNoAndQuestion("确定正式入库? 若存在异常单数量,请及时输入异常单数量并及时通知业务员进行异常单处置。") != DialogResult.Yes)
- {
- return;
- }
- }
- }
- crt = this.GetJsonService().execute<CoreResult>("com.hnshituo.pur.ck.service.CkInBillService", "doInstock", new object[] { al_CkInBillEntity, al_PurCkInbillPositionEntity, al_CkStorageEntity, al_CkStoragePosEntity, al_ExcDeliverySubC, al_ExcDeliveryException, htusePlan, strCoustomInfo});
- }
- else
- {
- MessageUtil.ShowTips("入库类型参数错误 1:待检入库,2:正式入库");
- return;
- }
- if (crt.Resultcode != 0)
- {
- MessageUtil.ShowTips("操作失败 " + crt.Resultmsg);
- return;
- }
- MessageUtil.ShowTips("操作成功");
- Get_PUR_EXC_DELIVERY_M("");
- }
- catch (System.Exception ex)
- {
- MessageUtil.ShowTips("操作失败:" + ex.Message);
- }
- }
- #endregion
- #region 交货量差控制
- private bool testDeliveryQtyCtrl(ExcDeliverySubM subMOld, ExcDeliverySubC subCOld, double b_INNUM)
- {
- String strSupp = subMOld.SuppCode;
- String strItemCode = subCOld.ItemCode;
- Entity_SuppGrade grade = new Entity_SuppGrade();
- grade.SuppCode = strSupp;
- grade.ItemCode = strItemCode;
- double qty = (double)subCOld.ShipQty;
- List<Entity_SuppGrade> listGrade = this.execute<List<Entity_SuppGrade>>("com.hnshituo.pur.configure.service.SuppGradeService", "find", new object[] { grade,0,0 });//添加操作
- if (listGrade != null && listGrade.Count >= 1)
- {
- grade = listGrade[0];
- if (grade.DelvryRangeTpe == "0")
- {
- return true;
- }
- else if (grade.DelvryRangeTpe == "1")//绝对值
- {
- double maxQty = (double)grade.DelvryRangeMax + qty;
- double minQty = qty - (double)grade.DelvryRangeMin;
- if (b_INNUM > maxQty)
- {
- MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + subCOld.ItemName + "的入库量已经超出交货量上限为:" + maxQty);
- return false;
- }
- if (b_INNUM < minQty)
- {
- MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + subCOld.ItemName + "的入库量已经超出交货量下限为:" + minQty);
- return false;
- }
- }
- else if (grade.DelvryRangeTpe == "2")//百分比
- {
- double maxQty = Math.Round(qty * (1 + (double)grade.DelvryRangeMax / 100), 3);
- double minQty = Math.Round(qty * (1 - (double)grade.DelvryRangeMax / 100), 3);
- if (b_INNUM > maxQty)
- {
- MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + subCOld.ItemName + "的入库量已经超出交货量上限为:" + maxQty);
- return false;
- }
- if (b_INNUM < minQty)
- {
- MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + subCOld.ItemName + "的入库量已经超出交货量下限为:" + minQty);
- return false;
- }
- }
- else if (grade.DelvryRangeTpe == "2") //不允许
- {
- if (b_INNUM != qty)
- {
- MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + subCOld.ItemName + "的入库量不允许有交货量差,入库量和和要求送货量必须一致");
- return false;
- }
- }
- else
- {
- MessageUtil.ShowTips("请维护供应商:" + subMOld.SuppName + "的物料:" + subCOld.ItemName + "的交货量差方式");
- return false;
- }
- }
- else
- {
- MessageUtil.ShowTips("请维护供应商:" + subMOld.SuppName + "的物料:" + subCOld.ItemName + "的交货量差");
- return false;
- }
- return true;
- }
- #endregion
- #region 公共函数
- /// <summary>
- /// 设置可编辑的单元格及其颜色
- /// </summary>
- /// <param name="ugr"></param>
- /// <param name="columnName"></param>
- private void setCellColor(UltraGridRow ugr, Color color, params string[] columnName)
- {
- for (int i = 0; i < columnName.Length; i++)
- {
- columnName[i] = columnName[i].ToUpper();
- }
- foreach (UltraGridCell ugc in ugr.Cells)
- {
- if (columnName.Contains(ugc.Column.Key.ToString().ToUpper()))
- {
- ugc.Appearance.BackColor = color;
- ugc.Activation = Activation.AllowEdit;
- }
- else
- {
- ugc.Appearance.BackColor = ugr.Cells["status"].Appearance.BackColor;
- ugc.Activation = Activation.ActivateOnly;
- }
- if (ugc.Column.Key.ToString().ToUpper() == "CHECK")
- {
- ugc.Appearance.BackColor = color;
- ugc.Activation = Activation.AllowEdit;
- }
- }
- }
- /// <summary>
- /// 设置单元格颜色,和在可编辑状态
- /// </summary>
- /// <param name="ugr"></param>
- /// <param name="columnName"></param>
- private void setColumnColor(UltraGrid ug, Color color, params string[] columnName)
- {
- return;
- for (int i = 0; i < columnName.Length; i++)
- {
- columnName[i] = columnName[i].ToUpper();
- }
- foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns)
- {
- if (columnName.Contains(ugc.Key.ToString().ToUpper()))
- {
- ugc.CellAppearance.BackColor = color;
- ugc.CellActivation = Activation.AllowEdit;
- }
- else
- {
- ugc.CellAppearance.BackColor = ug.DisplayLayout.Bands[0].Columns["status"].CellAppearance.BackColor;
- ugc.CellActivation = Activation.ActivateOnly;
- }
- }
- }
- #endregion
- #region 计量-检化验-异常单 行信息
- /// <summary>
- /// 查询非计量入库单质检、异常单信息
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void GridSubDNoJL_ClickCell(object sender, ClickCellEventArgs e)
- {
- UltraGridRow row = e.Cell.Row;
- String subSqe = row.GetCellValue("DELIVERYSUBLINESQE").ToString().Trim();
- getDetailForSubD(subSqe, "1");
- }
- /// <summary>
- /// 查询计量入库单质检、异常单信息
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void GridSubDJL_ClickCell(object sender, ClickCellEventArgs e)
- {
-
- }
- /// <summary>
- /// 查询实绩入库单质检、异常单信息
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void GridSubDSJ_ClickCell(object sender, ClickCellEventArgs e)
- {
- UltraGridRow row = e.Cell.Row;
- String subSqe = row.GetCellValue("DELIVERYSUBLINESQE").ToString().Trim();
- getDetailForSubD(subSqe, "3");
- }
- /// <summary>
- /// 获取计量-检化验-异常单数据
- /// </summary>
- /// <param name="subSqe"></param>
- /// <param name="p"></param>
- private void getDetailForSubD(String subSqe, string p)
- {
- if ("1" == p)
- {
- publicPms.clearOldData(panel_NOJL, new string[] { });
- }
- else if ("2" == p)
- {
- publicPms.clearOldData(panel_JL, new string[] { });
- }
- else if ("3" == p)
- {
- publicPms.clearOldData(panel_sj, new string[] { });
- }
- JHY.Clear();
- JLdata.Clear();
- exception.Clear();
- if (!String.IsNullOrEmpty(subSqe))
- {
- ExcDeliverySubC subc = this.GetJsonService().execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { subSqe });
- if (subc == null)
- {
- return;
- }
- String strCheckNo = subc.CheckNo;
- //查询检化验
- if (!String.IsNullOrEmpty(strCheckNo))
- {
- CheckconsignBaseinfo baseinfo = new CheckconsignBaseinfo();
- baseinfo.CheckNo = strCheckNo;
- List<CheckconsignBaseinfo> Listbaseinfo = this.GetJsonService().execute<List<CheckconsignBaseinfo>>("com.hnshituo.pur.jhy.service.CheckconsignBaseinfo_jhyService", "doQuery_Baseinfo", new object[] { baseinfo });
- if (Listbaseinfo != null && Listbaseinfo.Count >= 1)
- {
- baseinfo = Listbaseinfo[0];
- if ("1" == p)
- {
- JHY_check_no_NOJL.Text = baseinfo.CheckNo;
- JHY_CHECK_COUNT_NOJL.Text = baseinfo.CheckCount;
- JHY_CONSIGN_DEPT_NOJL.Text = baseinfo.ConsignDept;
- JHY_CONSIGN_NAME_NOJL.Text = baseinfo.ConsignName;
- JHY_CONSIGN_TIME_NOJL.Value = baseinfo.ConsignTime;
- JHY_IS_JUDGE_NOJL.Text = baseinfo.IsJudge;
- JHY_JUDGE_LEVEL_NOJL.Text = baseinfo.JudgeLevel;
- JHY_PRODUCT_STD_NOJL.Text = baseinfo.ProductStd;
- }
- else if ("2" == p)
- {
- JHY_check_no_JL.Text = baseinfo.CheckNo;
- JHY_CHECK_COUNT_JL.Text = baseinfo.CheckCount;
- JHY_CONSIGN_DEPT_JL.Text = baseinfo.ConsignDept;
- JHY_CONSIGN_NAME_JL.Text = baseinfo.ConsignName;
- JHY_CONSIGN_TIME_JL.Value = baseinfo.ConsignTime;
- JHY_IS_JUDGE_JL.Text = baseinfo.IsJudge;
- JHY_JUDGE_LEVEL_JL.Text = baseinfo.JudgeLevel;
- JHY_PRODUCT_STD_JL.Text = baseinfo.ProductStd;
- }
- else if ("3" == p)
- {
- JHY_check_no_SJ.Text = baseinfo.CheckNo;
- JHY_CHECK_COUNT_SJ.Text = baseinfo.CheckCount;
- JHY_CONSIGN_DEPT_SJ.Text = baseinfo.ConsignDept;
- JHY_CONSIGN_NAME_SJ.Text = baseinfo.ConsignName;
- JHY_CONSIGN_TIME_SJ.Value = baseinfo.ConsignTime;
- JHY_IS_JUDGE_SJ.Text = baseinfo.IsJudge;
- JHY_JUDGE_LEVEL_SJ.Text = baseinfo.JudgeLevel;
- JHY_PRODUCT_STD_SJ.Text = baseinfo.ProductStd;
- }
- //加载行表
- CheckconsignDetail detail = new CheckconsignDetail();
- detail.CheckNo = strCheckNo;
- DataTable dt = this.execute<DataTable>("com.hnshituo.pur.jhy.service.CheckconsignDetail_jhyService", "doQuery_Detail", new object[] { detail, 0, 0 });
- GridHelper.CopyDataToDatatable(dt, DTJHY, true);
- }
- }
- //加载异常单
- ExcDeliveryException hand = new ExcDeliveryException();
- hand.DeliverySubLineSqe = subSqe;
- hand.Validflag = "1";
- DataTable dte = this.execute<DataTable>("com.hnshituo.pur.ck.service.ExcDeliveryExceptionService", "doQuery_Exceptions", new object[] { hand });
- GridHelper.CopyDataToDatatable(dte, DTHandle, true);
- if ("1" == p)
- {
- GridHelper.RefreshAndAutoSize(GridJHY_NOJL);
- GridHelper.RefreshAndAutoSize(GridHandleNoJL);
- }
- else if ("2" == p)
- {
- //加载计量数据
- QSubSqe_JL.Text = subSqe;
- DataTable dtjl = getJLData("");
- GridHelper.CopyDataToDatatable(dtjl, DTJL, true);
- GridHelper.RefreshAndAutoSize(GridJHY_JL);
- GridHelper.RefreshAndAutoSize(GridHandleJL);
- GridHelper.RefreshAndAutoSize(GridJL_JL);
- }
- else if ("3" == p)
- {
- if (!String.IsNullOrEmpty(subc.Matchid))
- {
- //加载计量数据
- DataTable dtjl = getJLData(subc.Matchid);
- if (dtjl != null && dtjl.Rows.Count> 0)
- {
- GridHelper.CopyDataToDatatable(dtjl, DTJL, true);
- }
- }
- //加载入库数据
- PurCkInBillEntity pcibEntity = new PurCkInBillEntity();
- pcibEntity.RefeId = subSqe;
- DataTable dtinbill = this.execute<DataTable>("com.hnshituo.pur.ck.service.CkInBillService", "GetCkInBill", new object[] { pcibEntity });
- GridHelper.CopyDataToDatatable(dtinbill, DTinbill, true);
- GridHelper.RefreshAndAutoSize(GridJHY_SJ);
- GridHelper.RefreshAndAutoSize(GridHandleSJ);
- GridHelper.RefreshAndAutoSize(GridJL_SJ);
- GridHelper.RefreshAndAutoSize(GridInbill);
- }
- }
- }
- /// <summary>
- /// 查询
- /// </summary>
- private DataTable getJLData(String strMatchId)
- {
- try
- {
- this.Cursor = Cursors.WaitCursor;//等待
- Hashtable ht = new Hashtable();
- if(String.IsNullOrEmpty(strMatchId))
- {
- ht.Add("materialcode", QitemCode_JL.Text.Trim());
- ht.Add("materialname", QitemName_JL.Text.Trim());
- ht.Add("sourcecode", QsuppCode_JL.Text.Trim());
- ht.Add("sourcename", QSuppName_JL.Text);
- if (ck_shutt_JL.Checked)
- {
- if (txt_shuttTimeStart_JL.Value != null)
- {
- ht.Add("suttletime", ((DateTime)txt_shuttTimeStart_JL.Value));//净重时间开始
- }
- if (txt_shuttTimeEnd_JL.Value != null)
- {
- ht.Add("taretime", ((DateTime)txt_shuttTimeEnd_JL.Value));//净重时间结束
- }
- }
- ht.Add("matchid", Qmatchid_JL.Text.Trim());
- ht.Add("carno", QCarNo_JL.Text.Trim());
- ht.Add("orderno", QSubSqe_JL.Text.Trim());
- }
- else
- {
- ht.Add("matchid", strMatchId);
- }
- DataTable dt = this.GetJsonService().execute<DataTable>("com.hnshituo.pur.utils.service.UtilsService", "readData", new object[] { ht });
- return dt;
- }
- catch (System.Exception e)
- {
- MessageUtil.ShowTips("加载计量数据异常:" + e.Message);
- return null;
- }
- finally
- {
- this.Cursor = Cursors.Default;//鼠标状态恢复正常
- }
- }
- #endregion
- private void GridSubDJL_AfterRowActivate(object sender, System.EventArgs e)
- {
- if (GridSubDJL.ActiveRow == null)
- return;
- UltraGridRow row = GridSubDJL.ActiveRow;
- String subSqe = row.GetCellValue("DELIVERYSUBLINESQE").ToString().Trim();
- getDetailForSubD(subSqe, "2");
- }
- }
- }
|