diff --git a/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx b/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx index c9ec919..d68c20b 100644 --- a/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx +++ b/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx @@ -46,11 +46,18 @@ - + + + + + + + + diff --git a/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx.cs b/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx.cs index 5e76944..293324e 100644 --- a/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx.cs +++ b/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx.cs @@ -54,7 +54,18 @@ namespace SCP.Views.SupplierData { _entity.DocDateEnd = Convert.ToDateTime(DP_EndDate.SelectedDate); } - _entity.PurdocNO = TXT_PurdocNO.Text; + if (!string.IsNullOrWhiteSpace(TXT_CreatedByDesc.Text)) + { + _entity.CreatedBy = TXT_CreatedByDesc.Text.Trim(); + } + if (!string.IsNullOrEmpty(DDL_State.SelectedValue)) + { + _entity.AcceptStatusSelect = DDL_State.SelectedValue; + } + if (!string.IsNullOrWhiteSpace(TXT_PurdocNO.Text)) + { + _entity.PurdocNO = TXT_PurdocNO.Text.Trim(); + } _entity.UserInVendIds = CurrentUser.VenderList; SCP_MPO_CONTROLLER.Get_V_TB_MPO_List(_entity, (_ret) => { diff --git a/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx.designer.cs b/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx.designer.cs index 0785fea..a6f437c 100644 --- a/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx.designer.cs +++ b/SCP/Views/SupplierData/SCP_PO_MATERIAL.aspx.designer.cs @@ -122,6 +122,24 @@ namespace SCP.Views.SupplierData /// protected global::FineUI.DatePicker DP_EndDate; + /// + /// TXT_CreatedByDesc 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.TextBox TXT_CreatedByDesc; + + /// + /// DDL_State 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.DropDownList DDL_State; + /// /// BtnClose 控件。 /// diff --git a/UniApiGroup/Controller/OdbcApiQadController.cs b/UniApiGroup/Controller/OdbcApiQadController.cs index 97ae661..40834bf 100644 --- a/UniApiGroup/Controller/OdbcApiQadController.cs +++ b/UniApiGroup/Controller/OdbcApiQadController.cs @@ -801,6 +801,11 @@ namespace CK.SCP.GrupUniApi.Controller var FATCTORY = wdb.TB_FACTORY.FirstOrDefault(); DataTable b = PoBillNumcontroller.GetInvBatchStock(a, FATCTORY.FactoryId); List list = ChangKeTec.Utils.ListHelper.DataTableToList(b); + if (list.Count() == 0) + { + Console.WriteLine(" ERPɹ :" + ""); + return; + } var wmsPoList = new List(); var wmsPoDetailList = new List(); var wmsAskList = new List(); @@ -1637,7 +1642,7 @@ namespace CK.SCP.GrupUniApi.Controller { try { - DateTime time = DateTime.Now.AddYears(-1); + DateTime time = DateTime.Now.AddMonths(-12); var hisList = idb.xxDiMaxes_Order.Where(q => q.CREATEDDATE > time).ToList(); // ȡһ һ϶ DataTable b = GetGeneralMaterialOrder(); @@ -1650,33 +1655,34 @@ namespace CK.SCP.GrupUniApi.Controller return; } List list = new List(); + //ȡ foreach (var exitem in expectedList) { var selectList = orderlist.Where(q => q.PURDOCNO == exitem.PURDOCNO && q.DI_BATCHNO == exitem.DI_BATCHNO && q.PURDOCITEMNO == exitem.PURDOCITEMNO).ToList(); list.AddRange(selectList); } - var PoList = new List(); var PoDetailList = new List(); var InPoList = new List(); var InPoDetailList = new List(); var xxMaxbath = new List(); var emails = new List(); - var Dlist = list.Where(p => p.CTYPE == "D"); - var Ilist = list.Where(p => p.CTYPE == "I").GroupBy(p => p.PURDOCNO).Distinct(); - var _Dlist = Dlist.GroupBy(p => p.PURDOCNO).Distinct(); + var Dlist = list.Where(p => p.DI_OPERTYPE == "D").GroupBy(p => p.PURDOCNO).Distinct();// նŷȥ + var Ilist = list.Where(p => p.DI_OPERTYPE == "I").GroupBy(p => p.PURDOCNO).Distinct();// նŷȥ string wwadres= sdb.TA_CONFIG.FirstOrDefault(q => q.ParamName == "ӿʼַ").ParamValue; - foreach (var DeleteItem in _Dlist) + // + foreach (var DeleteItem in Dlist) { var _list = DeleteItem.ToList(); var _entity = _list.First(); + var MATERIALORDERDETAILList = sdb.TB_MATERIALORDERS_DETAIL.Where(q => q.PurdocNO == _entity.PURDOCNO).ToList(); foreach (var Ditem in _list) { - var MATERIALORDERDETAILList = sdb.TB_MATERIALORDERS_DETAIL.Where(q => q.PurdocNO == Ditem.PURDOCNO).ToList(); if (MATERIALORDERDETAILList.Count() == 0) { continue; } + // к ӱݱΪ״̬ MATERIALORDERDETAILList.ForEach(p => { if (p.PURDOCITEMNO == Ditem.PURDOCITEMNO) @@ -1684,7 +1690,34 @@ namespace CK.SCP.GrupUniApi.Controller p.Ctype = Ditem.CTYPE; p.AcceptStatus = (int)GeneralMaterialOrderState.Cancel; PoDetailList.Add(p); + + #region + // ӷʼ + TS_Email email = new TS_Email(); + email.EmailToUser = Ditem.VENDORDESC; + string mailbody = ""; + mailbody += "𾴵 Ӧ
"; + mailbody += "ã

"; + mailbody += "һ϶ " + Ditem.PURDOCNO +""+" к"+p.PURDOCITEMNO+ " ϵIJ¼ӦЭͬվж鿴
"; + mailbody += "¼˺ţ" + Ditem.VENDORNO + "@W21" + "
"; + mailbody += "¼ַ" + wwadres + "

"; + mailbody += "



ڣ" + DateTime.Now; + email.EmailString = mailbody; + var user = authdb.Users.FirstOrDefault(q => q.Name.Contains(Ditem.VENDORNO)); + if (user == null) + { + email.EmailSendState = 2; + email.EmailSendFailReason = "ùӦδά"; + } + else + { + email.EmailAddress = user.Email; + email.EmailSendState = 0; + } + emails.Add(email); + #endregion } + }); var valueType = MATERIALORDERDETAILList.Select(q => q.Ctype).Distinct().ToList(); var type = valueType.FirstOrDefault(); @@ -1744,10 +1777,19 @@ namespace CK.SCP.GrupUniApi.Controller }; xxMaxbath.Add(maxlist1); } - - - + var itemnolist = _list.Select(q => q.PURDOCITEMNO).ToList(); + foreach (var Mitem in MATERIALORDERDETAILList) + { + //ӱı½״̬ + if (!itemnolist.Contains(Mitem.PURDOCITEMNO)) + { + Mitem.Ctype = "N"; + Mitem.AcceptStatus = (int)GeneralMaterialOrderState.New; + PoDetailList.Add(Mitem); + } + } } + // foreach (var InsertItem in Ilist) { var inlist = InsertItem.ToList(); @@ -1832,22 +1874,25 @@ namespace CK.SCP.GrupUniApi.Controller sdb.BulkInsert(emails);// һ϶ʼ sdb.BulkInsert(InPoList);// Ӳ sdb.BulkInsert(InPoDetailList);// ϸ - item.Remark = ((int)UniApiState.ɹ).ToString(); - item.MaxdibatchNO = item.MaxdibatchNO + list.Count; - idb.xxDiMaxes_Order.AddOrUpdate(xxMaxbath.ToArray()); - // - sdb.TB_MATERIALORDERS.BulkUpdate(PoList); - sdb.TB_MATERIALORDERS_DETAIL.BulkUpdate(PoDetailList); - Console.WriteLine($" һ϶ ݣ{list.Count}"); + idb.BulkInsert(xxMaxbath); + if (PoList.Count()>0) + { + sdb.TB_MATERIALORDERS.AddOrUpdate(q => q.UID, PoList.ToArray()); + } + if (PoDetailList.Count()>0) + { + sdb.TB_MATERIALORDERS_DETAIL.AddOrUpdate(q => q.UID, PoDetailList.ToArray()); + } + Console.WriteLine($" һ϶ ݣ{Dlist.Count()+Ilist.Count()}"); } catch (Exception ex) { Console.WriteLine(ex.Message); + if (ex.InnerException != null) + { + Console.WriteLine(ex.InnerException.Message); + } } } - - } - - } diff --git a/UniApiGroup/Controller/PoBillNumcontroller.cs b/UniApiGroup/Controller/PoBillNumcontroller.cs index 9f09639..fbb1014 100644 --- a/UniApiGroup/Controller/PoBillNumcontroller.cs +++ b/UniApiGroup/Controller/PoBillNumcontroller.cs @@ -76,6 +76,9 @@ namespace CK.SCP.UniApi.Controller { string Sql = $"select * from PURStockBill"; Sql += $" Where ((ordType='CY02'AND APPROVALSTATUS = '4') OR (ordType='CY04' AND APPROVALSTATUS = '4') OR (ordType='CY05' AND APPROVALSTATUS = '4') OR ( ordType='CY08'AND APPROVALSTATUS = '4' ) OR (ordType='CY09' AND APPROVALSTATUS = '4') ) and plant='W21' and docDate > add_months(trunc(SYSDATE), -12)"; + //sql server + //Sql += $" Where ((ordType='CY02'AND APPROVALSTATUS = '4') OR (ordType='CY04' AND APPROVALSTATUS = '4') OR (ordType='CY05' AND APPROVALSTATUS = '4') OR ( ordType='CY08'AND APPROVALSTATUS = '4' ) OR (ordType='CY09' AND APPROVALSTATUS = '4') ) and plant='W21' and docDate > DATEADD(YEAR,-1,GETDATE())"; + var dt_Part = DBControllerByOracle.GetDataTable(Sql); return dt_Part; }