From eafd4aeac993cc94faf79b128c16288efa652cd7 Mon Sep 17 00:00:00 2001 From: qian Date: Thu, 19 Dec 2024 16:01:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=B9=E5=B7=AE=E5=8A=A0=E6=9C=9F=E8=B4=A7?= =?UTF-8?q?=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controller/CK.SCP.Controller.csproj | 1 + Controller/SCP_ASK_CONTROLLER.cs | 19 +- Controller/SCP_PO_CONTROLLER.cs | 1460 ++++++++++------- .../SCP_ToleranceProportion_Controller.cs | 330 ++++ Models/CK.SCP.Models.csproj | 5 +- Models/ScpEntities.cs | 35 +- .../SCP_PART_ToleranceProportion.cs | 15 + Models/ScpEntity/TA_PART.cs | 2 + Models/ScpEntity/TA_ToleranceProportion.cs | 26 + Models/ScpEntity/TB_MAXPO_DETAIL.cs | 13 + Models/ScpEntity/V_TA_ToleranceProportion.cs | 20 + Models/ScpEntity/V_TB_MAXPO_DETAIL.cs | 18 + SCP/SCP.csproj | 8 + SCP/Views/BasicData/Part.aspx | 2 + SCP/Views/BasicData/Part.aspx.cs | 19 + SCP/Views/BasicData/Part.aspx.designer.cs | 59 +- .../BasicData/SCP_ToleranceProportion.aspx | 61 + .../BasicData/SCP_ToleranceProportion.aspx.cs | 143 ++ .../SCP_ToleranceProportion.aspx.designer.cs | 107 ++ SCP/Views/SupplierData/SCP_ASN_CREATE.aspx.cs | 216 +-- .../SupplierData/SCP_ASN_MANYCREATE.aspx.cs | 34 +- SCP/Views/富维冲压件/SCP_PO_MAX.aspx | 4 +- SCP/Views/富维冲压件/SCP_PO_MAX.aspx.cs | 14 +- .../SCP_PO_MAX.aspx.designer.cs | 18 - .../富维冲压件/SCP_PO_MAX_DETAIL.aspx | 112 +- .../富维冲压件/SCP_PO_MAX_DETAIL.aspx.cs | 74 +- .../SCP_PO_MAX_DETAIL.aspx.designer.cs | 26 +- .../Controller/OdbcApiQadController.cs | 18 +- UniApiGroup/Controller/PoBillNumcontroller.cs | 1 + 29 files changed, 1949 insertions(+), 911 deletions(-) create mode 100644 Controller/SCP_ToleranceProportion_Controller.cs create mode 100644 Models/ScpEntity/ExcelExportEnttity/SCP_PART_ToleranceProportion.cs create mode 100644 Models/ScpEntity/TA_ToleranceProportion.cs create mode 100644 Models/ScpEntity/V_TA_ToleranceProportion.cs create mode 100644 SCP/Views/BasicData/SCP_ToleranceProportion.aspx create mode 100644 SCP/Views/BasicData/SCP_ToleranceProportion.aspx.cs create mode 100644 SCP/Views/BasicData/SCP_ToleranceProportion.aspx.designer.cs diff --git a/Controller/CK.SCP.Controller.csproj b/Controller/CK.SCP.Controller.csproj index 53152c9..1e1bc61 100644 --- a/Controller/CK.SCP.Controller.csproj +++ b/Controller/CK.SCP.Controller.csproj @@ -77,6 +77,7 @@ + diff --git a/Controller/SCP_ASK_CONTROLLER.cs b/Controller/SCP_ASK_CONTROLLER.cs index 3c8e674..1ae2866 100644 --- a/Controller/SCP_ASK_CONTROLLER.cs +++ b/Controller/SCP_ASK_CONTROLLER.cs @@ -1628,7 +1628,15 @@ namespace CK.SCP.Controller } - + /// + /// 多组件看板生成发货单 + /// + /// + /// + /// + /// + /// + /// public static ResultObject Save_ASK_TO_WWDZJASN(V_TB_ASK p_ask, List p_order_list, string p_PlateNumber , string p_buyer, string p_buyerPhone) { @@ -1844,6 +1852,15 @@ namespace CK.SCP.Controller } return _ret; } + /// + /// 普通生成发货单 + /// + /// + /// + /// + /// + /// + /// public static ResultObject Save_ASK_TO_ASN(V_TB_ASK p_ask, List p_order_list, string p_PlateNumber , string p_buyer, string p_buyerPhone) { diff --git a/Controller/SCP_PO_CONTROLLER.cs b/Controller/SCP_PO_CONTROLLER.cs index 11466e2..d6639b5 100644 --- a/Controller/SCP_PO_CONTROLLER.cs +++ b/Controller/SCP_PO_CONTROLLER.cs @@ -138,7 +138,7 @@ namespace CK.SCP.Controller } if (!string.IsNullOrEmpty(p_entity.PartCode)) { - var _po = db.TB_PO_DETAIL.Where(p => p.PartCode == p_entity.PartCode ); + var _po = db.TB_PO_DETAIL.Where(p => p.PartCode == p_entity.PartCode); if (_po.Count() > 0) { List _list = new List(); @@ -205,7 +205,7 @@ namespace CK.SCP.Controller throw e; } } - + public static List LOAD_ASK_DETAIL_SUM(List p_list) { using (ScpEntities db = EntitiesFactory.CreateScpInstance()) @@ -229,153 +229,6 @@ namespace CK.SCP.Controller } return p_list; } - public static ResultObject Save_TB_MAXPO_DETAIL_QTY(List p_entitys) - { - ResultObject _ret = new ResultObject(); - try - { - using (ScpEntities db = EntitiesFactory.CreateScpInstance()) - { - - foreach (var itm in p_entitys) - { - var _entity = db.TB_MAXPO_DETAIL.Where(p => p.UID == itm.UID).FirstOrDefault(); - if(itm.OrderQtykg <_entity.OrderQtykg- _entity.AsnQty) - { - _ret.MessageList.Add("零件号"+_entity.PartCode+"剩余可消耗订货量不足!"); - } - if( itm.OrderQtykg == 0) - { - _ret.MessageList.Add("订货量不能修改为0!"); - } - else - { - _entity.SurplusQty = itm.OrderQtykg - _entity.OrderQtykg + _entity.SurplusQty; - _entity.AsnQty=itm.OrderQtykg - _entity.OrderQtykg + _entity.AsnQty; - _entity.OrderQtykg = itm.OrderQtykg; - _entity.OrderQtyd = itm.OrderQtykg / 1000; - db.TB_MAXPO_DETAIL.AddOrUpdate(p => p.UID, _entity); - TS_UNI_API maxuni = new TS_UNI_API(); - maxuni.BillNum = _entity.PoBillNum; - maxuni.InterfaceType = "MaxPobillnum"; - maxuni.TableName = "TS_UNI_API"; - maxuni.BillType = 701; - maxuni.SubBillType = 0; - maxuni.PartCode = _entity.PartCode; - maxuni.VendId = _entity.VendId;//供应商编号 - if (string.IsNullOrEmpty(_entity.Texture)) - { - maxuni.Batch = ""; - } - else - { - maxuni.Batch = _entity.Texture;//材质 - } - maxuni.Qty = _entity.OrderNumber; - maxuni.State = 1; - maxuni.CreateOper = _entity.CreateUser;//创建者 - maxuni.CreateTime =DateTime.Now; - maxuni.PutTime = DateTime.Now; - maxuni.Extend1 = _entity.PartNumber; - maxuni.PackQty = _entity.MinordQty; - maxuni.Price = _entity.OrderQtyd; - maxuni.VendBatch = _entity.ContractMonth;//合同月 - maxuni.Currency = _entity.Model; - maxuni.Buyer = _entity.TechStandard; - maxuni.BuyerPhone =_entity.Finprspec;//规格 - maxuni.Tax = 0; - maxuni.PoUnit = _entity.forecastone;//预测1 - maxuni.LocUnit = _entity.forecasttwo;//预测2 - maxuni.Attn =_entity.forecastthree;//预测3 - maxuni.Receiver = _entity.forecastfour;//预测4 - maxuni.ModType = _entity.forecastfive;//预测5 - maxuni.SubSite = _entity.forecastsix;//预测6 - maxuni.Site = _entity.Site; - maxuni.Extend2 = _entity.Matermanu; - maxuni.TaxAmt = _entity.Singlecon;//单件消耗 - maxuni.ValidDate = DateTime.Now; - maxuni.ErpLineNum = _entity.PoLine; - maxuni.Domain = _entity.Site; - maxuni.Extend3 = "U"; - db.TS_UNI_API.AddOrUpdate(maxuni); - } - - - } - - - if (_ret.MessageList.Count == 0) - { - int state = db.SaveChanges(); - if (state != -1) - { - _ret.State = ReturnStatus.Succeed; - _ret.Result = true; - } - else - { - _ret.State = ReturnStatus.Failed; - _ret.Result = false; - } - } - else - { - _ret.State = ReturnStatus.Failed; - _ret.Result = false; - } - - } - } - catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常 - { - var sb = new StringBuilder(); - foreach (var error in dbEx.EntityValidationErrors.ToList()) - { - error.ValidationErrors.ToList().ForEach(i => - { - sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage); - }); - } - _ret.State = ReturnStatus.Failed; - _ret.Result = false; - _ret.ErrorList.Add(dbEx); - LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", sb.ToString()); - throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); - } - catch (OptimisticConcurrencyException ex)//并发冲突异常 - { - _ret.State = ReturnStatus.Failed; - _ret.Result = false; - _ret.ErrorList.Add(ex); - LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", ex.ToString()); - throw new ScpException(ResultCode.Exception, "9999", ex.ToString()); - } - catch (ScpException ex) - { - _ret.State = ReturnStatus.Failed; - _ret.Result = false; - _ret.ErrorList.Add(ex); - LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", ex.ToString()); - if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException)) - { - var inner = (UpdateException)ex.InnerException; - throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); - } - else - { - if (ex.InnerException != null) throw ex.InnerException; - } - } - catch (Exception e) - { - _ret.State = ReturnStatus.Failed; - LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", e.Message); - _ret.Result = false; - _ret.ErrorList.Add(e); - throw e; - } - return _ret; - } public static List LOAD_PO_DETAIL_SUM(List p_list) { using (ScpEntities db = EntitiesFactory.CreateScpInstance()) @@ -654,7 +507,7 @@ namespace CK.SCP.Controller { using (ScpEntities db = EntitiesFactory.CreateScpInstance()) { - return db.V_TB_PO_DETAIL.Where(p => p_lst.Contains(p.PoBillNum)).ToList(); + return db.V_TB_PO_DETAIL.Where(p => p_lst.Contains(p.PoBillNum)).ToList(); } } public static List GetMaxpoConsume(string maxpobillnum) @@ -725,7 +578,7 @@ namespace CK.SCP.Controller { - _ret.State = ReturnStatus.Failed; + _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Save_TB_PO", ex.ToString()); @@ -817,8 +670,8 @@ namespace CK.SCP.Controller { List ErrorList = new List(); // 刨除作废的单子 - var _asn = db.TB_ASN_DETAIL.Count(p => (p.PoBillNum ==lt) && (p.State != (int)AsnState.Reject )); - if (_asn> 0) + var _asn = db.TB_ASN_DETAIL.Count(p => (p.PoBillNum == lt) && (p.State != (int)AsnState.Reject)); + if (_asn > 0) { ErrorList.Add(string.Format("订单【{0}】已经生成发货单了,不能作废", lt)); } @@ -1775,10 +1628,10 @@ namespace CK.SCP.Controller // } //} if ( - string.IsNullOrEmpty(p_excel.零件号码)|| - string.IsNullOrEmpty(p_excel.收货口)|| - string.IsNullOrEmpty(p_excel.供应商代码)|| - string.IsNullOrEmpty(p_excel.标包数) + string.IsNullOrEmpty(p_excel.零件号码) || + string.IsNullOrEmpty(p_excel.收货口) || + string.IsNullOrEmpty(p_excel.供应商代码) || + string.IsNullOrEmpty(p_excel.标包数) ) { ErrorList.Add(string.Format("零件号码【{0}】有填写为空!", p_excel.零件号码)); @@ -1803,11 +1656,11 @@ namespace CK.SCP.Controller ErrorList.Add(string.Format("零件号【{0}】不存在!", p_excel.零件号)); } } - - if ( - string.IsNullOrEmpty(p_excel.零件号) || - string.IsNullOrEmpty(p_excel.客户零件号) - ) + + if ( + string.IsNullOrEmpty(p_excel.零件号) || + string.IsNullOrEmpty(p_excel.客户零件号) + ) { ErrorList.Add(string.Format("零件号【{0}】有填写为空!", p_excel.零件号)); } @@ -1824,15 +1677,15 @@ namespace CK.SCP.Controller private static List CheckExcelMode_Receiving(ScpEntities db, SCP_VENDER_PART_EXPORT p_excel, string site) { List ErrorList = new List(); - if(p_excel.班次!="白班"&& p_excel.班次 != "夜班") + if (p_excel.班次 != "白班" && p_excel.班次 != "夜班") { ErrorList.Add(string.Format("班次【{0}】填写不对,班次只能为白班或者夜班!", p_excel.班次)); } if ( string.IsNullOrEmpty(p_excel.班次) || string.IsNullOrEmpty(p_excel.收货人) || - string.IsNullOrEmpty(p_excel.收货人电话) - + string.IsNullOrEmpty(p_excel.收货人电话) + ) { ErrorList.Add(string.Format("班次【{0}】有填写为空!", p_excel.班次)); @@ -1842,11 +1695,11 @@ namespace CK.SCP.Controller private static List CheckExcelMode_PurchasingGroup(ScpEntities db, SCP_VENDER_PART_EXPORT p_excel, string site) { List ErrorList = new List(); - + if ( string.IsNullOrEmpty(p_excel.采购组) || string.IsNullOrEmpty(p_excel.中文名称) || - string.IsNullOrEmpty(p_excel.描述) + string.IsNullOrEmpty(p_excel.描述) ) { ErrorList.Add(string.Format("采购组【{0}】有填写为空!", p_excel.采购组)); @@ -1860,8 +1713,8 @@ namespace CK.SCP.Controller if ( string.IsNullOrEmpty(p_excel.品番) || string.IsNullOrEmpty(p_excel.Code39条码) || - - string.IsNullOrEmpty(p_excel.条码内容) + + string.IsNullOrEmpty(p_excel.条码内容) ) { ErrorList.Add(string.Format("品番【{0}】有填写为空!", p_excel.品番)); @@ -1873,7 +1726,7 @@ namespace CK.SCP.Controller List ErrorList = new List(); if ( - + string.IsNullOrEmpty(p_excel.箱种) ) { @@ -1885,7 +1738,7 @@ namespace CK.SCP.Controller { List ErrorList = new List(); - var ModelCount = db.TA_CarModel.Count(p=>p.Model==p_excel.车型); + var ModelCount = db.TA_CarModel.Count(p => p.Model == p_excel.车型); if (ModelCount > 0) { ErrorList.Add(string.Format("车型【{0}】已经存在,请不要重复导入!", p_excel.车型)); @@ -1997,19 +1850,20 @@ namespace CK.SCP.Controller private static List CheckExcelMode_Po(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel) { List ErrorList = new List(); - if (!string.IsNullOrEmpty(p_excel.零件号)) { - var _count = db.TA_Appliance.Count(p => p.PartNumber == p_excel.零件号&&p.VendID==p_excel.供应商编号); - if (_count == 0) + if (!string.IsNullOrEmpty(p_excel.零件号)) { - ErrorList.Add(string.Format("零件号码{0}与供应商{1}没有对应的基础信息!", p_excel.零件号,p_excel.供应商编号)); - } + var _count = db.TA_Appliance.Count(p => p.PartNumber == p_excel.零件号 && p.VendID == p_excel.供应商编号); + if (_count == 0) + { + ErrorList.Add(string.Format("零件号码{0}与供应商{1}没有对应的基础信息!", p_excel.零件号, p_excel.供应商编号)); + } } var _count1 = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码); if (_count1 == 0) { ErrorList.Add(string.Format("物料号码{0}不存在!", p_excel.物料号码)); } - + if (_count1 > 0) { @@ -2018,22 +1872,22 @@ namespace CK.SCP.Controller ErrorList.Add(string.Format("普通采购订单不涉及组件物料号,请到委外采购订单菜单导入")); } var _part = db.TA_PART.SingleOrDefault(p => p.PartCode == p_excel.物料号码); - if (_part.PartCode.ToString()!= p_excel.物料号码.ToString()) + if (_part.PartCode.ToString() != p_excel.物料号码.ToString()) { ErrorList.Add(string.Format("物料号码{0}填写不正确请注意大小写!", p_excel.物料号码)); } - var _Unit = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码&&p.Unit==p_excel.单位); - if (_Unit==0) + var _Unit = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码 && p.Unit == p_excel.单位); + if (_Unit == 0) { ErrorList.Add(string.Format("物料号码{0}单位填写不正确!", p_excel.物料号码)); } - - if(_part.Unit.ToString()!= p_excel.单位.ToString()) - { + + if (_part.Unit.ToString() != p_excel.单位.ToString()) + { ErrorList.Add(string.Format("物料号码{0}单位填写不正确,请注意大小写!", p_excel.物料号码)); - } - - + } + + var _checkpart = db.TA_PART.FirstOrDefault(p => p.PartCode == p_excel.物料号码); if (decimal.Parse(_checkpart.Remark) <= 0) { @@ -2142,7 +1996,7 @@ namespace CK.SCP.Controller { ErrorList.Add(string.Format("物料号码{0}单位填写不正确,请注意大小写!", p_excel.物料号码)); } - + var _checkpart = db.TA_PART.FirstOrDefault(p => p.PartCode == p_excel.物料号码); if (decimal.Parse(_checkpart.Remark) <= 0) @@ -2163,10 +2017,10 @@ namespace CK.SCP.Controller ErrorList.Add(string.Format("供应商编号{0}不正确!", p_excel.供应商编号)); } } - var maxpocount = db.TB_MAXPO_DETAIL.Count(p=>p.PartCode==p_excel.物料号码&&p.VendId == p_excel.供应商编号); - if (maxpocount ==0) + var maxpocount = db.TB_MAXPO_DETAIL.Count(p => p.PartCode == p_excel.物料号码 && p.VendId == p_excel.供应商编号); + if (maxpocount == 0) { - ErrorList.Add(string.Format("物料号码{0}供应商编号{1}没有对应的大订单!",p_excel.物料号码, p_excel.供应商编号)); + ErrorList.Add(string.Format("物料号码{0}供应商编号{1}没有对应的大订单!", p_excel.物料号码, p_excel.供应商编号)); } var _count7 = db.TA_PurchasGroup.Count(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员); if (_count7 == 0) @@ -2216,7 +2070,7 @@ namespace CK.SCP.Controller /// /// /// - private static List CheckExcelMode_Po1(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel , bool _wmsweb) + private static List CheckExcelMode_Po1(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel, bool _wmsweb) { List ErrorList = new List(); var _count = db.TA_Appliance.Count(p => p.PartNumber == p_excel.零件号 && p.VendID == p_excel.供应商编号); @@ -2242,8 +2096,8 @@ namespace CK.SCP.Controller ErrorList.Add(string.Format("物料号码{0}的BOM版本号填写错误", p_excel.物料号码)); } } - - var price = db.TB_NetPrice.Count(p => p.PartCode == p_excel.物料号码 && p.VendId == p_excel.供应商编号 && p.EndTime > DateTime.Now && p.StartTime p.PartCode == p_excel.物料号码 && p.VendId == p_excel.供应商编号 && p.EndTime > DateTime.Now && p.StartTime < DateTime.Now && p.Extend3 != "D"); if (price == 0) { ErrorList.Add(string.Format("物料号码{0}不存在净价", p_excel.物料号码)); @@ -2284,14 +2138,14 @@ namespace CK.SCP.Controller ErrorList.Add(string.Format("组件物料号{0}组件计量单位填写不正确!", p_excel.组件物料号)); } - + if (decimal.Parse(_part.Remark) <= 0) { ErrorList.Add(string.Format("物料号码没有标准价格!", p_excel.物料号码)); } } - - + + var _count3 = db.TA_PART.Count(p => p.PartCode == p_excel.组件物料号); if (_count3 == 0) { @@ -2320,7 +2174,7 @@ namespace CK.SCP.Controller if (_count7 > 0) { var _count9 = db.TA_PurchasGroup.SingleOrDefault(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员 && p.ChineseName == p_excel.采购员); - if(_count9.PurchasingGroup.ToString() != p_excel.采购组.ToString()) + if (_count9.PurchasingGroup.ToString() != p_excel.采购组.ToString()) { ErrorList.Add(string.Format("采购组{0}填写错误,请注意大小写!", p_excel.采购组)); } @@ -2333,13 +2187,13 @@ namespace CK.SCP.Controller } if (_count8 > 0) { - var _count10= db.TA_StorageLocation.SingleOrDefault(p => p.StLocation == p_excel.存储地点); - if (_count10.StLocation.ToString()!= p_excel.存储地点.ToString()) + var _count10 = db.TA_StorageLocation.SingleOrDefault(p => p.StLocation == p_excel.存储地点); + if (_count10.StLocation.ToString() != p_excel.存储地点.ToString()) { ErrorList.Add(string.Format("存储地点{0}填写错误,请注意大小写!", p_excel.存储地点)); } } - + if ( string.IsNullOrEmpty(p_excel.订单创建时间) || //string.IsNullOrEmpty(p_excel.零件号) || @@ -2349,7 +2203,7 @@ namespace CK.SCP.Controller string.IsNullOrEmpty(p_excel.单位) || string.IsNullOrEmpty(p_excel.组件计量单位) || string.IsNullOrEmpty(p_excel.组件物料号) || - string.IsNullOrEmpty(p_excel.存储地点)|| + string.IsNullOrEmpty(p_excel.存储地点) || string.IsNullOrEmpty(p_excel.组件数量)) { @@ -2420,7 +2274,7 @@ namespace CK.SCP.Controller } } } - + var _Unit = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码 && p.Unit == p_excel.单位); if (_Unit == 0) { @@ -2514,10 +2368,11 @@ namespace CK.SCP.Controller /// /// /// - private static List CheckExcelMode_Multicomponent(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel,bool wmsweb) + private static List CheckExcelMode_Multicomponent(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel, bool wmsweb) { List ErrorList = new List(); - if (wmsweb == false) { + if (wmsweb == false) + { BomList.JsonService bomVersionRe = new BomList.JsonService(); var _ReturnRelust = bomVersionRe.GetBomsByVer(p_excel.物料号码, p_excel.BOM版本); if (!_ReturnRelust.Contains("Qty")) @@ -2534,7 +2389,7 @@ namespace CK.SCP.Controller ErrorList.Add(string.Format("不存在物料号为{0},版本号为{1}的数据", p_excel.物料号码, p_excel.BOM版本)); } } - + var _count = db.TA_Appliance.Count(p => p.PartNumber == p_excel.零件号 && p.VendID == p_excel.供应商编号); if (_count == 0) { @@ -2645,7 +2500,7 @@ namespace CK.SCP.Controller private static List CheckExcelMode_MAXPO(ScpEntities db, SCP_MAXPO_EXPORT p_excel) { List ErrorList = new List(); - + var _count1 = db.TA_PART.Count(p => p.PartCode == p_excel.零件号); if (_count1 == 0) { @@ -2669,7 +2524,6 @@ namespace CK.SCP.Controller ErrorList.Add(string.Format("供应商编号{0}不正确!", p_excel.供应商编号)); } } - BomList1.JsonService bomVersionRe = new BomList1.JsonService(); var _ReturnRelust = bomVersionRe.GetBom(p_excel.零件号, p_excel.原材物料号); if (_ReturnRelust == "[null]") @@ -2679,8 +2533,8 @@ namespace CK.SCP.Controller if ( string.IsNullOrEmpty(p_excel.零件号) || string.IsNullOrEmpty(p_excel.原材物料号) || - string.IsNullOrEmpty(p_excel.供应商编号)) - + string.IsNullOrEmpty(p_excel.供应商编号)) + { ErrorList.Add(string.Format("零件名称{0}有填写为空!", p_excel.零件号)); } @@ -3082,7 +2936,7 @@ namespace CK.SCP.Controller var _lst = p_order_list; _lst.ForEach(p => { - var _count = _lst.Count(itm => itm.零件号码 == p.零件号码 && itm.供应商代码==p.供应商代码); + var _count = _lst.Count(itm => itm.零件号码 == p.零件号码 && itm.供应商代码 == p.供应商代码); if (_count > 1) { lineError.Add(string.Format("零件号码有重复", p.零件号码)); @@ -3116,13 +2970,13 @@ namespace CK.SCP.Controller TA_Appliance _entity = new TA_Appliance(); _entity.PartNumber = p.零件号码; _entity.PackNumber = decimal.Parse(p.标包数); - _entity.PartDesc1 = p.零件描述; + _entity.PartDesc1 = p.零件描述; _entity.ReciteNumber = p.背番号; _entity.SufanLand = p.所番地; _entity.BoxType = p.箱种; _entity.PostEngineering = p.后工程; _entity.PartNumber = p.零件号码; - + _entity.Texture = p.材质; _entity.Model = p.车型; _entity.ReceivingPort = p.收货口; @@ -3134,7 +2988,7 @@ namespace CK.SCP.Controller else { var _partde = db.TA_Appliance.SingleOrDefault(t => t.PartNumber == p.零件号码 && t.VendID == p.供应商代码); - + _partde.PackNumber = decimal.Parse(p.标包数); _partde.PartDesc1 = p.零件描述; _partde.Model = p.车型; @@ -3143,7 +2997,7 @@ namespace CK.SCP.Controller _partde.BoxType = p.箱种; _partde.PostEngineering = p.后工程; _partde.PartNumber = p.零件号码; - + _partde.Texture = p.材质; _partde.ReceivingPort = p.收货口; _partde.OtherVendName = p.供应商别名; @@ -3252,7 +3106,7 @@ namespace CK.SCP.Controller List lineError = new List(); List ErrorList = new List(); var _lst = p_order_list; - + _lst.ForEach(p => { var _ls = CheckExcelMode_Receiving(db, p, site); @@ -3278,7 +3132,7 @@ namespace CK.SCP.Controller if (_partdes == 0) { TA_Receiving_Information _entity = new TA_Receiving_Information(); - + _entity.Shift = p.班次; _entity.Name = p.收货人; _entity.Phone = p.收货人电话; @@ -3288,8 +3142,8 @@ namespace CK.SCP.Controller else { var _partde = db.TA_Receiving_Information.FirstOrDefault(t => t.Shift == p.班次); - - + + _partde.Name = p.收货人; _partde.Phone = p.收货人电话; db.TA_Receiving_Information.AddOrUpdate(_partde); @@ -3392,8 +3246,8 @@ namespace CK.SCP.Controller { using (ScpEntities db = EntitiesFactory.CreateScpInstance()) { - - + + int number = 1; List lineError = new List(); List ErrorList = new List(); @@ -3441,8 +3295,8 @@ namespace CK.SCP.Controller var subpa = db.TA_SubPart.FirstOrDefault(t => t.PartCode == p.零件号.ToUpper()); subpa.SubPart = p.客户零件号; db.TA_SubPart.AddOrUpdate(subpa); - } - + } + }); if (_ret.MessageList.Count == 0) { @@ -3543,7 +3397,7 @@ namespace CK.SCP.Controller List lineError = new List(); List ErrorList = new List(); var _lst = p_order_list; - + _lst.ForEach(p => { var _ls = CheckExcelMode_PurchasingGroup(db, p, site); @@ -3570,7 +3424,7 @@ namespace CK.SCP.Controller { PurchasingGroup = p.采购组.ToUpper(), ChineseName = p.中文名称.ToUpper(), - Describe=p.描述.ToUpper(), + Describe = p.描述.ToUpper(), }; //_venderpart.Model = p.车型.ToUpper(); db.TA_PurchasGroup.AddOrUpdate(_venderpart); @@ -3829,12 +3683,12 @@ namespace CK.SCP.Controller _lst.ForEach(p => { - var _venderpart = db.TA_PinFan.SingleOrDefault(t => t.PartCode == p.品番.ToUpper() ) ?? + var _venderpart = db.TA_PinFan.SingleOrDefault(t => t.PartCode == p.品番.ToUpper()) ?? new TA_PinFan { PartCode = p.品番.ToUpper(), Barcodnt = p.条码内容.ToUpper(), - Identification = p.Code39条码.ToUpper(), + Identification = p.Code39条码.ToUpper(), }; //_venderpart.Model = p.车型.ToUpper(); db.TA_PinFan.AddOrUpdate(_venderpart); @@ -4086,7 +3940,7 @@ namespace CK.SCP.Controller ErrorList.Add(string.Join("
", _ls.ToArray())); } number++; - + }); _lst.ForEach(p => { @@ -4809,22 +4663,22 @@ namespace CK.SCP.Controller if (_Qty > 0) { //创建主单据及看板 - var _Po = CreatePo1(poList, dataRow, date, p_creator,site); + var _Po = CreatePo1(poList, dataRow, date, p_creator, site); //创建主单据及看板 - var _PoAsk = CreateAsk1(poList, askList, dataRow, date, p_creator,db,site); + var _PoAsk = CreateAsk1(poList, askList, dataRow, date, p_creator, db, site); //创建明细 - var _PoDetail = CreatePoDetail1(dataRow, _Qty, db, date, _Po, _PoAsk, p_creator,site); + var _PoDetail = CreatePoDetail1(dataRow, _Qty, db, date, _Po, _PoAsk, p_creator, site); po_Detail.Add(_PoDetail); - var _Askdetail = CreateAskDetail1(db, dataRow, _Po, _PoAsk, _PoDetail, p_creator,site); + var _Askdetail = CreateAskDetail1(db, dataRow, _Po, _PoAsk, _PoDetail, p_creator, site); askDetailList.Add(_Askdetail); - var Tsuniapi = CreateTsuniapi1(_Po, _PoAsk, _PoDetail, dataRow, _Askdetail,site); + var Tsuniapi = CreateTsuniapi1(_Po, _PoAsk, _PoDetail, dataRow, _Askdetail, site); uniList.Add(Tsuniapi); } } } } - var billGroups= poList.GroupBy(p=>new { p.VendId,p.EndTime}); + var billGroups = poList.GroupBy(p => new { p.VendId, p.EndTime }); foreach (var item in billGroups) ; db.TB_PO.AddRange(poList); db.TB_ASK.AddRange(askList); @@ -4982,15 +4836,15 @@ namespace CK.SCP.Controller if (_Qty > 0) { // 创建主单据及看板 - var _Po = CreatePo1( poList, dataRow, date, p_creator, site); + var _Po = CreatePo1(poList, dataRow, date, p_creator, site); // 创建主单据及看板 - var _PoAsk = CreateAsk1(poList, askList, dataRow, date, p_creator,db,site); + var _PoAsk = CreateAsk1(poList, askList, dataRow, date, p_creator, db, site); //创建明细 - var _PoDetail = CreatePoDetail1(dataRow, _Qty, db, date, _Po, _PoAsk, p_creator,site); + var _PoDetail = CreatePoDetail1(dataRow, _Qty, db, date, _Po, _PoAsk, p_creator, site); po_DetailList.Add(_PoDetail); - var _Askdetail = CreateAskDetail1(db, dataRow, _Po, _PoAsk, _PoDetail, p_creator,site); + var _Askdetail = CreateAskDetail1(db, dataRow, _Po, _PoAsk, _PoDetail, p_creator, site); askDetailList.Add(_Askdetail); - var Tsuniapi = CreateTsuniapi1(_Po, _PoAsk, _PoDetail,dataRow, _Askdetail,site); + var Tsuniapi = CreateTsuniapi1(_Po, _PoAsk, _PoDetail, dataRow, _Askdetail, site); uniList.Add(Tsuniapi); } } @@ -5001,11 +4855,11 @@ namespace CK.SCP.Controller { var oldGuid = item.PoBillNum; - + var newBillId = SCP_BILLCODE_CONTROLLER.MakePOCode2();//订单号 if (item.Site != "W21") { - newBillId=SCP_BILLCODE_CONTROLLER.MakePOCode4();//订单号 + newBillId = SCP_BILLCODE_CONTROLLER.MakePOCode4();//订单号 } var newAskNum = SCP_BILLCODE_CONTROLLER.MakeASKCodeByNum(cnt); @@ -5048,7 +4902,7 @@ namespace CK.SCP.Controller cntTS_detail++; }); Add_UniList.ForEach(p => p.BillNum = newBillId); - + db.TS_UNI_API.AddRange(Add_UniList); if (_ret.MessageList.Count == 0) { @@ -5216,7 +5070,7 @@ namespace CK.SCP.Controller } } } - var POdetailCount = po_DetailList.GroupBy(t => new { t.PartCode, t.UpdateInfo,t.EndTime }).ToList(); + var POdetailCount = po_DetailList.GroupBy(t => new { t.PartCode, t.UpdateInfo, t.EndTime }).ToList(); POdetailCount.ForEach((p) => { var _list = p.ToList(); @@ -5229,7 +5083,7 @@ namespace CK.SCP.Controller } else { - var _MaxpoList = db.TB_MAXPO_DETAIL.Where(t => t.PartCode == _ls.PartCode && t.SurplusQty > 0 && t.VendId == _ls.UpdateInfo).OrderBy(t => t.ContractMonth).ToList(); + var _MaxpoList = db.TB_MAXPO_DETAIL.Where(t => t.PartCode == _ls.PartCode && t.SurplusQty > 0 && t.VendId == _ls.UpdateInfo).OrderBy(t => t.PoBillNum).ToList(); foreach (var _maxpo in _MaxpoList) { if (_maxpo.SurplusQty > _PlanQTY) @@ -5274,14 +5128,14 @@ namespace CK.SCP.Controller _PlanQTY = _PlanQTY - _maxpo.SurplusQty; _maxpo.SurplusQty = 0; db.TB_MAXPO_DETAIL.AddOrUpdate(_maxpo); - + } } } }); - + int cnt = 1; foreach (var item in poList) { @@ -5307,14 +5161,14 @@ namespace CK.SCP.Controller p.PoLine = cntPo_detail; cntPo_detail++; }); - - db.TB_PO_DETAIL.AddRange(Add_Po_DETAIL); - + + db.TB_PO_DETAIL.AddRange(Add_Po_DETAIL); + var Add_AskList = askList.Where(p => p.PoBillNum == oldGuid).ToList(); Add_AskList.ForEach(p => p.PoBillNum = newBillId); Add_AskList.ForEach(p => p.AskBillNum = newAskNum); Add_AskList.ForEach(p => p.ErpBillNum = newBillId); - db.TB_ASK.AddRange(Add_AskList); + db.TB_ASK.AddRange(Add_AskList); var Add_ASK_DETAIL = askDetailList.Where(p => p.PoBillNum == oldGuid).ToList(); Add_ASK_DETAIL.ForEach(p => p.PoBillNum = newBillId); int cntAsk_detail = 1; @@ -5693,7 +5547,7 @@ namespace CK.SCP.Controller } return _ret; } - /// + /// /// 富维多组件订单导入验证 /// /// @@ -5702,7 +5556,7 @@ namespace CK.SCP.Controller /// /// /// - public static ResultObject EXCEL_PO_Multicomponent(DataTable p_order_list1, List p_order_list, bool wmsweb,string site) + public static ResultObject EXCEL_PO_Multicomponent(DataTable p_order_list1, List p_order_list, bool wmsweb, string site) { ResultObject _ret = new ResultObject(); try @@ -5711,7 +5565,7 @@ namespace CK.SCP.Controller { int number = 1; List lineError = new List(); - List ErrorList = new List(); + List ErrorList = new List(); var _lst = p_order_list; _lst.ForEach (p => @@ -5721,7 +5575,7 @@ namespace CK.SCP.Controller { lineError.Add(string.Format("导入的物料号码{0}有重复", p.物料号码)); ErrorList = lineError; - } + } var _ls = CheckExcelMode_Multicomponent(db, p, wmsweb); if (_ls.Count > 0) { @@ -5741,7 +5595,7 @@ namespace CK.SCP.Controller _lst.ForEach (p => { - + if (wmsweb == false) { BomList.JsonService bomVersionRe = new BomList.JsonService(); @@ -5749,13 +5603,13 @@ namespace CK.SCP.Controller var _Bomlist = JsonConvert.DeserializeObject>(_ReturnRelust); foreach (var bom in _Bomlist) { - var Bomsub = db.TA_SubPartCode.FirstOrDefault(t => t.PartCode == bom.PartCode && t.SubPartCode == bom.SubPartCode&&t.BOMedtiton==bom.BomFillIn); + var Bomsub = db.TA_SubPartCode.FirstOrDefault(t => t.PartCode == bom.PartCode && t.SubPartCode == bom.SubPartCode && t.BOMedtiton == bom.BomFillIn); if (Bomsub == null) { TA_SubPartCode subpart = new TA_SubPartCode(); subpart.PartCode = bom.PartCode; subpart.SubPartCode = bom.SubPartCode; - subpart.BOMedtiton = p.BOM版本; + subpart.BOMedtiton = p.BOM版本; subpart.Qty = bom.Qty; subpart.Site = site; db.TA_SubPartCode.AddOrUpdate(subpart); @@ -5782,7 +5636,7 @@ namespace CK.SCP.Controller TA_SubPartCode subpart = new TA_SubPartCode(); subpart.PartCode = bom.PartCode; subpart.SubPartCode = bom.SubPartCode; - subpart.BOMedtiton = p.BOM版本; + subpart.BOMedtiton = p.BOM版本; subpart.Qty = bom.Qty; subpart.Site = site; db.TA_SubPartCode.AddOrUpdate(subpart); @@ -5795,8 +5649,8 @@ namespace CK.SCP.Controller } - } - + } + }); if (_ret.MessageList.Count == 0) { @@ -5820,7 +5674,7 @@ namespace CK.SCP.Controller } } - } + } } catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常 @@ -5918,175 +5772,175 @@ namespace CK.SCP.Controller } else { - - var VendidList = _lst.GroupBy(t => t.供应商编号).ToList(); - VendidList.ForEach((p) => - { - var list = p.ToList(); - if (list.Count > 0) - { - var _entity = list.FirstOrDefault(); - - TB_MAXPO maxp = new TB_MAXPO(); - maxp.PoBillNum = SCP_BILLCODE_CONTROLLER.MakemaxPOCode(_entity.供应商编号, time); - maxp.VendId = _entity.供应商编号; - maxp.CreateUser = p_chineseName; - maxp.CreateTime = DateTime.Now; - maxp.ContractNo = maxp.PoBillNum; - maxp.ContractMonth = time; - maxp.Site = site; - maxp.Remark = _entity.备注; - db.TB_MAXPO.AddOrUpdate(maxp); - - - - int i = 1; + var VendidList = _lst.GroupBy(t => t.供应商编号).ToList(); + VendidList.ForEach((p) => + { + var list = p.ToList(); + + if (list.Count > 0) + { + var _entity = list.FirstOrDefault(); + + TB_MAXPO maxp = new TB_MAXPO(); + maxp.PoBillNum = SCP_BILLCODE_CONTROLLER.MakemaxPOCode(_entity.供应商编号, time); + maxp.VendId = _entity.供应商编号; + maxp.CreateUser = p_chineseName; + maxp.CreateTime = DateTime.Now; + maxp.ContractNo = maxp.PoBillNum; + maxp.ContractMonth = time; + maxp.Site = site; + maxp.Remark = _entity.备注; + db.TB_MAXPO.AddOrUpdate(maxp); + + + + int i = 1; list.ForEach((itm) => - { - List yclist = new List(); - TB_MAXPO_DETAIL maxpodetail = new TB_MAXPO_DETAIL(); - BomList1.JsonService bomVersionRe = new BomList1.JsonService(); - var _ReturnRelust = bomVersionRe.GetBom(itm.零件号, itm.原材物料号); - var _Bomlist = JsonConvert.DeserializeObject>(_ReturnRelust); - var _bom = _Bomlist.First(); - maxpodetail.Singlecon = _bom.Qty; - var part = db.TA_PART.FirstOrDefault(t => t.PartCode == itm.原材物料号); - maxpodetail.PoBillNum = maxp.PoBillNum; - maxpodetail.ContractNo = maxp.PoBillNum; - maxpodetail.VendId = itm.供应商编号; - maxpodetail.PartCode = itm.原材物料号; - maxpodetail.PartNumber = itm.零件号; - maxpodetail.Texture = part.ProjectId;//材质 - maxpodetail.Model = itm.车型; - maxpodetail.Finprspec = part.PartDesc2;//规格 - maxpodetail.TechStandard = itm.技术标准; - maxpodetail.MinordQty = decimal.Parse(itm.起定量); - maxpodetail.OrderQtyd = decimal.Parse(itm.订货量吨); - maxpodetail.OrderQtykg = decimal.Parse(itm.订货量吨) * 1000; - maxpodetail.OrderNumber = decimal.Parse(itm.订货件数); - maxpodetail.SurplusQty = maxpodetail.OrderQtykg; - maxpodetail.CreateTime = DateTime.Now; - maxpodetail.CreateUser = p_chineseName; - maxpodetail.Site = site; - maxpodetail.AsnQty = maxpodetail.OrderQtykg; - maxpodetail.ReceQty = 0; - foreach (DataColumn column in p_order_list1.Columns)// - { - int yuce = int.MaxValue; - int.TryParse(column.ColumnName, out yuce); - if (yuce > 0) - { - foreach (DataRow dataRow in p_order_list1.Rows) - { - decimal _Qty = 0; - decimal.TryParse(dataRow[column.ColumnName].ToString(), out _Qty); - if (dataRow["原材物料号"].ToString() == itm.原材物料号 && dataRow["供应商编号"].ToString()==itm.供应商编号) - { - string forecast = ""; - if (_Qty > 0) - { - forecast = yuce + "/" + _Qty.ToString(); - } - else - { - forecast = yuce + "/" + "0"; - } - - yclist.Add(forecast); - } - - } - } - - - - } - - maxpodetail.CreateTime = maxp.CreateTime; - maxpodetail.Matermanu = itm.材料厂家; - maxpodetail.ContractMonth = time; - if (yclist.Count() > 0) - { - int forecascount = 6 - yclist.Count(); - if (forecascount > 0) - { - for (int a=1;a<=forecascount; a++) - { - yclist.Add(""); - } - } - maxpodetail.forecastone = yclist.First();//预测1 - maxpodetail.forecasttwo = yclist[yclist.Count - 5];//预测2 - maxpodetail.forecastthree = yclist[yclist.Count - 4];//预测3 - maxpodetail.forecastfour = yclist[yclist.Count - 3];//预测4 - maxpodetail.forecastfive = yclist[yclist.Count - 2];//预测5 - maxpodetail.forecastsix = yclist.Last();//预测6 - } - - maxpodetail.PoLine = i; - db.TB_MAXPO_DETAIL.AddOrUpdate(maxpodetail); - i++; - TS_UNI_API maxuni = new TS_UNI_API(); - maxuni.BillNum = maxpodetail.PoBillNum; - maxuni.InterfaceType = "MaxPobillnum"; - maxuni.TableName = "TS_UNI_API"; - maxuni.BillType = 701; - maxuni.SubBillType = 0; - maxuni.PartCode = maxpodetail.PartCode; - maxuni.VendId = maxpodetail.VendId;//供应商编号 - if (string.IsNullOrEmpty(part.ProjectId)) - { - maxuni.Batch = ""; - } - else - { - maxuni.Batch = part.ProjectId;//材质 - } - - maxuni.Qty = decimal.Parse(itm.订货件数); - maxuni.State = 1; - maxuni.CreateOper = p_chineseName;//创建者 - maxuni.CreateTime = maxp.CreateTime; - maxuni.PutTime = DateTime.Now; - maxuni.Extend1 = itm.零件号; - maxuni.PackQty = decimal.Parse(itm.起定量); - maxuni.Price = decimal.Parse(itm.订货量吨); - maxuni.VendBatch = time;//合同月 - maxuni.Currency = itm.车型; - maxuni.Buyer = itm.技术标准; - maxuni.BuyerPhone = part.PartDesc2;//规格 - maxuni.Tax = 0; - maxuni.PoUnit = maxpodetail.forecastone;//预测1 - maxuni.LocUnit = maxpodetail.forecasttwo;//预测2 - maxuni.Attn = maxpodetail.forecastthree;//预测3 - maxuni.Receiver = maxpodetail.forecastfour;//预测4 - maxuni.ModType = maxpodetail.forecastfive;//预测5 - maxuni.SubSite = maxpodetail.forecastsix;//预测6 - maxuni.Site = site; - maxuni.Extend2 = itm.材料厂家; - maxuni.TaxAmt =_bom.Qty;//单件消耗 - maxuni.ValidDate = DateTime.Now; - maxuni.ErpLineNum = maxpodetail.PoLine; - maxuni.Site = site; - maxuni.Domain = site; - maxuni.Extend3 = "A"; - db.TS_UNI_API.AddOrUpdate(maxuni); - }); - } - - - + { + List yclist = new List(); + TB_MAXPO_DETAIL maxpodetail = new TB_MAXPO_DETAIL(); + BomList1.JsonService bomVersionRe = new BomList1.JsonService(); + var _ReturnRelust = bomVersionRe.GetBom(itm.零件号, itm.原材物料号); + var _Bomlist = JsonConvert.DeserializeObject>(_ReturnRelust); + var _bom = _Bomlist.First(); + maxpodetail.Singlecon = _bom.Qty; + var part = db.TA_PART.FirstOrDefault(t => t.PartCode == itm.原材物料号); + maxpodetail.PoBillNum = maxp.PoBillNum; + maxpodetail.ContractNo = maxp.PoBillNum; + maxpodetail.VendId = itm.供应商编号; + maxpodetail.PartCode = itm.原材物料号; + maxpodetail.PartNumber = itm.零件号; + maxpodetail.Texture = part.ProjectId;//材质 + maxpodetail.Model = itm.车型; + maxpodetail.Finprspec = part.PartDesc2;//规格 + maxpodetail.TechStandard = itm.技术标准; + maxpodetail.MinordQty = decimal.Parse(itm.起定量); + maxpodetail.OrderQtyd = decimal.Parse(itm.订货量吨); + maxpodetail.OrderQtykg = decimal.Parse(itm.订货量吨) * 1000; + maxpodetail.OrderNumber = decimal.Parse(itm.订货件数); + maxpodetail.SurplusQty = maxpodetail.OrderQtykg; + maxpodetail.CreateTime = DateTime.Now; + maxpodetail.CreateUser = p_chineseName; + maxpodetail.Site = site; + maxpodetail.AsnQty = maxpodetail.OrderQtykg; + maxpodetail.ReceQty = 0; + foreach (DataColumn column in p_order_list1.Columns)// + { + int yuce = int.MaxValue; + int.TryParse(column.ColumnName, out yuce); + if (yuce > 0) + { + foreach (DataRow dataRow in p_order_list1.Rows) + { + decimal _Qty = 0; + decimal.TryParse(dataRow[column.ColumnName].ToString(), out _Qty); + if (dataRow["原材物料号"].ToString() == itm.原材物料号 && dataRow["供应商编号"].ToString() == itm.供应商编号) + { + string forecast = ""; + if (_Qty > 0) + { + forecast = yuce + "/" + _Qty.ToString(); + } + else + { + forecast = yuce + "/" + "0"; + } + + yclist.Add(forecast); + } + + } + } + + + + } + + maxpodetail.CreateTime = maxp.CreateTime; + maxpodetail.Matermanu = itm.材料厂家; + maxpodetail.ContractMonth = time; + if (yclist.Count() > 0) + { + int forecascount = 6 - yclist.Count(); + if (forecascount > 0) + { + for (int a = 1; a <= forecascount; a++) + { + yclist.Add(""); + } + } + maxpodetail.forecastone = yclist.First();//预测1 + maxpodetail.forecasttwo = yclist[yclist.Count - 5];//预测2 + maxpodetail.forecastthree = yclist[yclist.Count - 4];//预测3 + maxpodetail.forecastfour = yclist[yclist.Count - 3];//预测4 + maxpodetail.forecastfive = yclist[yclist.Count - 2];//预测5 + maxpodetail.forecastsix = yclist.Last();//预测6 + } + + maxpodetail.PoLine = i; + db.TB_MAXPO_DETAIL.AddOrUpdate(maxpodetail); + i++; + TS_UNI_API maxuni = new TS_UNI_API(); + maxuni.BillNum = maxpodetail.PoBillNum; + maxuni.InterfaceType = "MaxPobillnum"; + maxuni.TableName = "TS_UNI_API"; + maxuni.BillType = 701; + maxuni.SubBillType = 0; + maxuni.PartCode = maxpodetail.PartCode; + maxuni.VendId = maxpodetail.VendId;//供应商编号 + if (string.IsNullOrEmpty(part.ProjectId)) + { + maxuni.Batch = ""; + } + else + { + maxuni.Batch = part.ProjectId;//材质 + } + + maxuni.Qty = decimal.Parse(itm.订货件数); + maxuni.State = 1; + maxuni.CreateOper = p_chineseName;//创建者 + maxuni.CreateTime = maxp.CreateTime; + maxuni.PutTime = DateTime.Now; + maxuni.Extend1 = itm.零件号; + maxuni.PackQty = decimal.Parse(itm.起定量); + maxuni.Price = decimal.Parse(itm.订货量吨); + maxuni.VendBatch = time;//合同月 + maxuni.Currency = itm.车型; + maxuni.Buyer = itm.技术标准; + maxuni.BuyerPhone = part.PartDesc2;//规格 + maxuni.Tax = 0; + maxuni.PoUnit = maxpodetail.forecastone;//预测1 + maxuni.LocUnit = maxpodetail.forecasttwo;//预测2 + maxuni.Attn = maxpodetail.forecastthree;//预测3 + maxuni.Receiver = maxpodetail.forecastfour;//预测4 + maxuni.ModType = maxpodetail.forecastfive;//预测5 + maxuni.SubSite = maxpodetail.forecastsix;//预测6 + maxuni.Site = site; + maxuni.Extend2 = itm.材料厂家; + maxuni.TaxAmt = _bom.Qty;//单件消耗 + maxuni.ValidDate = DateTime.Now; + maxuni.ErpLineNum = maxpodetail.PoLine; + maxuni.Site = site; + maxuni.Domain = site; + maxuni.Extend3 = "A"; + db.TS_UNI_API.AddOrUpdate(maxuni); + }); + } + + + + + }); + - }); - - if (_ret.MessageList.Count == 0) { int state = db.SaveChanges(); if (state != -1) - { + { _ret.State = ReturnStatus.Succeed; _ret.Result = true; } @@ -6160,7 +6014,7 @@ namespace CK.SCP.Controller LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "EXCEL_PO_MOD", e.Message); _ret.Result = false; _ret.ErrorList.Add(e); - throw e; + _ret.MessageList.Add(e.Message); } return _ret; } @@ -6179,48 +6033,48 @@ namespace CK.SCP.Controller { using (ScpEntities db = EntitiesFactory.CreateScpInstance()) { - - List poList = new List(); - List po_DetailList = new List(); - List askList = new List(); - List askDetailList = new List(); - List uniList = new List(); + + List poList = new List(); + List po_DetailList = new List(); + List askList = new List(); + List askDetailList = new List(); + List uniList = new List(); List posub_DetailList = new List(); - List asksubpartlist= new List(); + List asksubpartlist = new List(); //先循环找到一个日期的订单 foreach (DataColumn column in p_order_list1.Columns) - { - DateTime date = DateTime.MaxValue; - DateTime.TryParse(column.ColumnName, out date); + { + DateTime date = DateTime.MaxValue; + DateTime.TryParse(column.ColumnName, out date); - if (date != DateTime.MaxValue && date.Year > 2000) + if (date != DateTime.MaxValue && date.Year > 2000) + { + //找到所有日期下订单 + foreach (DataRow dataRow in p_order_list1.Rows)//订单分组表 { - //找到所有日期下订单 - foreach (DataRow dataRow in p_order_list1.Rows)//订单分组表 + decimal _Qty = 0; + decimal.TryParse(dataRow[column.ColumnName].ToString(), out _Qty); + if (_Qty > 0) { - decimal _Qty = 0; - decimal.TryParse(dataRow[column.ColumnName].ToString(), out _Qty); - if (_Qty > 0) + // 创建主单据及看板 + var _Po = CreatePo(db, poList, dataRow, date, p_creator, site); + // 创建主单据及看板 + var _PoAsk = CreateManyAsk(poList, askList, dataRow, date, p_creator, db, site); + //创建明细 + var _PoDetail = CreateManyPoDetail(dataRow, _Qty, db, date, _Po, _PoAsk, p_creator, po_DetailList, site); + po_DetailList.Add(_PoDetail); + var _Askdetail = CreateManyAskDetail(db, dataRow, _Po, _PoAsk, _PoDetail, p_creator, site); + askDetailList.Add(_Askdetail); + List Tsuniapi = CreateManyTsuniapi(_Po, _PoAsk, _PoDetail, _Askdetail, dataRow, site, db); + foreach (var ts in Tsuniapi) { - // 创建主单据及看板 - var _Po = CreatePo(db, poList, dataRow, date, p_creator, site); - // 创建主单据及看板 - var _PoAsk = CreateManyAsk(poList, askList, dataRow, date, p_creator, db, site); - //创建明细 - var _PoDetail = CreateManyPoDetail(dataRow, _Qty, db, date, _Po, _PoAsk, p_creator, po_DetailList, site); - po_DetailList.Add(_PoDetail); - var _Askdetail = CreateManyAskDetail(db, dataRow, _Po, _PoAsk, _PoDetail, p_creator, site); - askDetailList.Add(_Askdetail); - List Tsuniapi = CreateManyTsuniapi(_Po, _PoAsk, _PoDetail, _Askdetail, dataRow, site, db); - foreach(var ts in Tsuniapi) - { uniList.Add(ts); - } - List Subdetail = CreateManyPoDetailSubPart(_Po, _PoAsk, _PoDetail, _Askdetail, dataRow, site, db); - foreach (var su in Subdetail) - { + } + List Subdetail = CreateManyPoDetailSubPart(_Po, _PoAsk, _PoDetail, _Askdetail, dataRow, site, db); + foreach (var su in Subdetail) + { posub_DetailList.Add(su); - } + } List SubAskdetail = CreateManyAskSubPart(_Po, _PoAsk, _PoDetail, _Askdetail, dataRow, site, db); foreach (var suask in SubAskdetail) { @@ -6228,87 +6082,89 @@ namespace CK.SCP.Controller } } - } } } - int cnt = 1; - var podetail = po_DetailList.GroupBy(p => p.PoBillNum).ToList(); + } + int cnt = 1; + var podetail = po_DetailList.GroupBy(p => p.PoBillNum).ToList(); - foreach (var item in poList) - { + foreach (var item in poList) + { - var oldGuid = item.PoBillNum; - var newBillId = SCP_BILLCODE_CONTROLLER.MakePOCode1();//订单号 + var oldGuid = item.PoBillNum; + var newBillId = SCP_BILLCODE_CONTROLLER.MakePOCode1();//订单号 - var newAskNum = SCP_BILLCODE_CONTROLLER.MakeASKCodeByNum(cnt); + var newAskNum = SCP_BILLCODE_CONTROLLER.MakeASKCodeByNum(cnt); - var add_Po = item.Clone(newBillId, item.Site); - db.TB_PO.Add(add_Po); + var add_Po = item.Clone(newBillId, item.Site); + db.TB_PO.Add(add_Po); - var Add_Po_DETAIL = po_DetailList.Where(p => p.PoBillNum == oldGuid).ToList(); - int cntPo_detail = 1; - Add_Po_DETAIL.ForEach(p => p.PoBillNum = newBillId); - Add_Po_DETAIL.ForEach(p => - { - p.PoLine = cntPo_detail; - cntPo_detail++; - }); + var Add_Po_DETAIL = po_DetailList.Where(p => p.PoBillNum == oldGuid).ToList(); + int cntPo_detail = 1; + Add_Po_DETAIL.ForEach(p => p.PoBillNum = newBillId); + Add_Po_DETAIL.ForEach(p => + { + p.PoLine = cntPo_detail; + cntPo_detail++; + }); - db.TB_PO_DETAIL.AddRange(Add_Po_DETAIL); - var Add_AskList = askList.Where(p => p.PoBillNum == oldGuid).ToList(); - Add_AskList.ForEach(p => p.PoBillNum = newBillId); - Add_AskList.ForEach(p => p.AskBillNum = newAskNum); - Add_AskList.ForEach(p => p.ErpBillNum = newBillId); - db.TB_ASK.AddRange(Add_AskList); - var Add_AskSubList = asksubpartlist.Where(p => p.AskBillNum == oldGuid).ToList(); - Add_AskSubList.ForEach(p => p.AskBillNum = newAskNum); + db.TB_PO_DETAIL.AddRange(Add_Po_DETAIL); + var Add_AskList = askList.Where(p => p.PoBillNum == oldGuid).ToList(); + Add_AskList.ForEach(p => p.PoBillNum = newBillId); + Add_AskList.ForEach(p => p.AskBillNum = newAskNum); + Add_AskList.ForEach(p => p.ErpBillNum = newBillId); + db.TB_ASK.AddRange(Add_AskList); + var Add_AskSubList = asksubpartlist.Where(p => p.AskBillNum == oldGuid).ToList(); + Add_AskSubList.ForEach(p => p.AskBillNum = newAskNum); db.TA_ASK_SUBPART.AddRange(Add_AskSubList); var Add_ASK_DETAIL = askDetailList.Where(p => p.PoBillNum == oldGuid).ToList(); - Add_ASK_DETAIL.ForEach(p => p.PoBillNum = newBillId); - int cntAsk_detail = 1; - Add_ASK_DETAIL.ForEach(p => p.AskBillNum = newAskNum); - Add_ASK_DETAIL.ForEach(p => - { - p.PoLine = cntAsk_detail; - cntAsk_detail++; - }); - db.TB_ASK_DETAIL.AddRange(Add_ASK_DETAIL); - - var Add_UniList = uniList.Where(p => p.BillNum == oldGuid).ToList(); - int cntTS_detail = 1; - Add_UniList.ForEach(p => p.BillNum = newBillId); + Add_ASK_DETAIL.ForEach(p => p.PoBillNum = newBillId); + int cntAsk_detail = 1; + Add_ASK_DETAIL.ForEach(p => p.AskBillNum = newAskNum); + Add_ASK_DETAIL.ForEach(p => + { + p.PoLine = cntAsk_detail; + cntAsk_detail++; + }); + db.TB_ASK_DETAIL.AddRange(Add_ASK_DETAIL); + + var Add_UniList = uniList.Where(p => p.BillNum == oldGuid).ToList(); + int cntTS_detail = 1; + Add_UniList.ForEach(p => p.BillNum = newBillId); //Add_UniList.ForEach(p => //{ var unii = Add_UniList.GroupBy(t => t.PartCode).ToList(); - unii.ForEach(t => - { - var uniii = t.ToList(); - uniii.ForEach(r => { - r.ErpLineNum = cntTS_detail; - }); - cntTS_detail++; - }); + unii.ForEach(t => + { + var uniii = t.ToList(); + uniii.ForEach(r => + { + r.ErpLineNum = cntTS_detail; + }); + cntTS_detail++; + }); //}); - db.TS_UNI_API.AddRange(Add_UniList); - + db.TS_UNI_API.AddRange(Add_UniList); + var Add_PoSubList = posub_DetailList.Where(p => p.PoBillNum == oldGuid).ToList(); int poSub_detail = 1; Add_PoSubList.ForEach(p => p.PoBillNum = newBillId); //Add_PoSubList.ForEach(p => //{ var poii = Add_PoSubList.GroupBy(t => t.PartCode).ToList(); - poii.ForEach(t => + poii.ForEach(t => + { + var poiii = t.ToList(); + poiii.ForEach(r => { - var poiii = t.ToList(); - poiii.ForEach(r => { - r.PoLine = cntTS_detail; - }); - poSub_detail++; + r.PoLine = cntTS_detail; }); + poSub_detail++; + }); //}); - + db.TB_PO_SUBDETAIL.AddRange(Add_PoSubList); foreach (var sub in Add_UniList) @@ -6318,32 +6174,32 @@ namespace CK.SCP.Controller { db.TA_SubPartCode.Remove(suu); } - + } if (_ret.MessageList.Count == 0) + { + int state = db.SaveChanges(); + if (state != -1) { - int state = db.SaveChanges(); - if (state != -1) - { - _ret.State = ReturnStatus.Succeed; - _ret.Result = true; - } - else - { - _ret.State = ReturnStatus.Failed; - _ret.Result = false; - } + _ret.State = ReturnStatus.Succeed; + _ret.Result = true; } else { _ret.State = ReturnStatus.Failed; _ret.Result = false; } - } + else + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + } + } + } + - //} } @@ -6507,7 +6363,7 @@ namespace CK.SCP.Controller Add_Po_DETAIL.ForEach(p => p.PoBillNum = newBillId); Add_Po_DETAIL.ForEach(p => { - + p.PoLine = cntPo_detail; cntPo_detail++; }); @@ -6625,11 +6481,11 @@ namespace CK.SCP.Controller } return _ret; } - private static TB_PO CreatePo(ScpEntities db,List p_poList, DataRow p_dataRow,DateTime p_PoBillTime, string str,string site) + private static TB_PO CreatePo(ScpEntities db, List p_poList, DataRow p_dataRow, DateTime p_PoBillTime, string str, string site) { var _VendId = p_dataRow["供应商编号"].ToString(); - var po = p_poList.FirstOrDefault(p=>p.VendId== _VendId - && p.EndTime== p_PoBillTime); + var po = p_poList.FirstOrDefault(p => p.VendId == _VendId + && p.EndTime == p_PoBillTime); if (po != null) return po; TB_PO _po = new TB_PO(); _po.PoBillNum = Guid.NewGuid().ToString(); // @@ -6651,35 +6507,35 @@ namespace CK.SCP.Controller _po.Remark = p_dataRow["备注"].ToString(); } p_poList.Add(_po); - + return _po; } - private static TB_ASK CreateAsk(List p_poList, List p_askList, DataRow p_dataRow, DateTime p_PoBillTime, string str,ScpEntities db,string site) + private static TB_ASK CreateAsk(List p_poList, List p_askList, DataRow p_dataRow, DateTime p_PoBillTime, string str, ScpEntities db, string site) { var _VendId = p_dataRow["供应商编号"].ToString(); var _po = p_poList.FirstOrDefault(p => p.VendId == _VendId && p.EndTime == p_PoBillTime); var _Ask = p_askList.FirstOrDefault(p => p.VendId == _VendId && p.EndTime == p_PoBillTime); - if (_Ask != null) return _Ask; + if (_Ask != null) return _Ask; TB_ASK _ask = new TB_ASK(); - _ask.AskBillNum = "1"; + _ask.AskBillNum = "1"; _ask.GUID = Guid.NewGuid(); _ask.PoBillNum = _po.PoBillNum; _ask.VendId = _po.VendId; _ask.IsDeleted = false; _ask.CreateTime = DateTime.Now; - _ask.CreateUser = str; + _ask.CreateUser = str; _ask.Site = site; _ask.ReceivedPort = "";//交货口 - _ask.State = (int)AskState.New; + _ask.State = (int)AskState.New; _ask.ModType = 2; _ask.ErpBillNum = _po.PoBillNum; _ask.BeginTime = DateTime.Parse(_po.BeginTime.ToString()); _ask.Buyer = _po.Buyer; _ask.EndTime = p_PoBillTime; _ask.BuyerPhone = _po.BuyerPhone; - _ask.SubSite = site; + _ask.SubSite = site; if (site == "U32") { _ask.Remark = p_dataRow["备注"].ToString(); @@ -6724,7 +6580,7 @@ namespace CK.SCP.Controller return _ask; } - private static TB_ASK_DETAIL CreateAskDetail(ScpEntities db, DataRow p_dataRow, TB_PO p_Po, TB_ASK p_Ask,TB_PO_DETAIL p_PoDetail,string str,string site) + private static TB_ASK_DETAIL CreateAskDetail(ScpEntities db, DataRow p_dataRow, TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, string str, string site) { TB_ASK_DETAIL _tDetail = new TB_ASK_DETAIL(); @@ -6754,14 +6610,14 @@ namespace CK.SCP.Controller _tDetail.GUID = Guid.NewGuid(); _tDetail.Price = p_PoDetail.Price; _tDetail.Remark = p_Po.VendId; - _tDetail.Remark1= p_Po.VendId; - _tDetail.UpdateInfo= p_dataRow["组件物料号"].ToString(); + _tDetail.Remark1 = p_Po.VendId; + _tDetail.UpdateInfo = p_dataRow["组件物料号"].ToString(); if (site == "U32") { _tDetail.Remark = p_dataRow["备注"].ToString(); } - + return _tDetail; } private static TB_ASK_DETAIL CreateManyAskDetail(ScpEntities db, DataRow p_dataRow, TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, string str, string site) @@ -6798,23 +6654,23 @@ namespace CK.SCP.Controller return _tDetail; } - private static TB_PO_DETAIL CreatePoDetail(DataRow p_dataRow,decimal p_Qty, ScpEntities db, DateTime p_PoBillTime,TB_PO p_Po,TB_ASK p_Ask,string str, List po_DetailList,string site) + private static TB_PO_DETAIL CreatePoDetail(DataRow p_dataRow, decimal p_Qty, ScpEntities db, DateTime p_PoBillTime, TB_PO p_Po, TB_ASK p_Ask, string str, List po_DetailList, string site) { int _rowNumber = 1; var _Part = p_dataRow["物料号码"].ToString(); TB_PO_DETAIL _detail = new TB_PO_DETAIL(); - + _detail.PoBillNum = p_Po.PoBillNum; _detail.PartCode = p_dataRow["物料号码"].ToString(); - _detail.PoUnit = p_dataRow["单位"].ToString(); + _detail.PoUnit = p_dataRow["单位"].ToString(); _detail.Extend1 = p_dataRow["零件号"].ToString(); - _detail.Currency = "CNY"; - _detail.CreateTime =DateTime.Parse( p_dataRow["订单创建时间"].ToString()); + _detail.Currency = "CNY"; + _detail.CreateTime = DateTime.Parse(p_dataRow["订单创建时间"].ToString()); _detail.BeginTime = DateTime.Now; _detail.IsDeleted = false; _detail.LocUnit = p_dataRow["组件计量单位"].ToString(); _detail.UnConv = 1; - _detail.PackQty = decimal.Parse(p_dataRow["组件数量"].ToString()); + _detail.PackQty = decimal.Parse(p_dataRow["组件数量"].ToString()); _detail.State = (int)PoState.Open; _detail.GUID = Guid.NewGuid(); _detail.Site = site; @@ -6830,10 +6686,10 @@ namespace CK.SCP.Controller else { DateTime dateTime = DateTime.Now; - int count = db.TB_NetPrice.Count(t => t.PartCode == _detail.PartCode.ToUpper() && t.StartTime dateTime && t.VendId == p_Po.VendId && t.Extend3 != "D"); + int count = db.TB_NetPrice.Count(t => t.PartCode == _detail.PartCode.ToUpper() && t.StartTime < dateTime && t.EndTime > dateTime && t.VendId == p_Po.VendId && t.Extend3 != "D"); if (count > 0) { - var _price3 = db.TB_NetPrice.Where(t => t.PartCode == _detail.PartCode.ToUpper() && t.StartTime < dateTime && t.EndTime > dateTime && t.VendId == p_Po.VendId && t.Extend3 != "D").OrderByDescending(u=>u.UID).FirstOrDefault(); + var _price3 = db.TB_NetPrice.Where(t => t.PartCode == _detail.PartCode.ToUpper() && t.StartTime < dateTime && t.EndTime > dateTime && t.VendId == p_Po.VendId && t.Extend3 != "D").OrderByDescending(u => u.UID).FirstOrDefault(); _detail.Price = _price3.Amt; } else @@ -6842,13 +6698,13 @@ namespace CK.SCP.Controller _detail.Price = decimal.Parse(_price4.Remark); } } - _detail.Extend3 = p_dataRow["BOM版本"].ToString(); - _detail.Extend2= p_dataRow["存储地点"].ToString(); + _detail.Extend3 = p_dataRow["BOM版本"].ToString(); + _detail.Extend2 = p_dataRow["存储地点"].ToString(); _detail.SubSite = p_dataRow["组件物料号"].ToString(); _detail.CreateUser = p_dataRow["采购组"].ToString();//采购组 _rowNumber++; - - + + return _detail; } private static TB_PO_DETAIL CreateManyPoDetail(DataRow p_dataRow, decimal p_Qty, ScpEntities db, DateTime p_PoBillTime, TB_PO p_Po, TB_ASK p_Ask, string str, List po_DetailList, string site) @@ -6863,15 +6719,15 @@ namespace CK.SCP.Controller _detail.Currency = "CNY"; _detail.CreateTime = DateTime.Parse(p_dataRow["订单创建时间"].ToString()); _detail.BeginTime = DateTime.Now; - _detail.IsDeleted = false; - _detail.UnConv = 1; + _detail.IsDeleted = false; + _detail.UnConv = 1; _detail.State = (int)PoState.Open; _detail.GUID = Guid.NewGuid(); _detail.Site = site; _detail.EndTime = p_PoBillTime; _detail.PlanQty = p_Qty; _detail.CreateUser = str; - var _price = db.TB_NetPrice.Count(t => t.PartCode == _detail.PartCode.ToUpper() && t.VendId == p_Po.VendId && t.Extend3!="D"); + var _price = db.TB_NetPrice.Count(t => t.PartCode == _detail.PartCode.ToUpper() && t.VendId == p_Po.VendId && t.Extend3 != "D"); if (_price == 0) { var _price1 = db.TA_PART.SingleOrDefault(t => t.PartCode == _detail.PartCode.ToUpper()); @@ -6879,12 +6735,12 @@ namespace CK.SCP.Controller } else { - + DateTime dateTime = DateTime.Now; int count = db.TB_NetPrice.Count(t => t.PartCode == _detail.PartCode.ToUpper() && t.StartTime < dateTime && t.EndTime > dateTime && t.Extend3 != "D" && t.VendId == p_Po.VendId); if (count > 0) { - var _price3 = db.TB_NetPrice.Where(t => t.PartCode == _detail.PartCode.ToUpper() && t.StartTime < dateTime && t.EndTime > dateTime && t.Extend3 != "D" && t.VendId == p_Po.VendId).OrderByDescending(u=>u.UID).FirstOrDefault(); + var _price3 = db.TB_NetPrice.Where(t => t.PartCode == _detail.PartCode.ToUpper() && t.StartTime < dateTime && t.EndTime > dateTime && t.Extend3 != "D" && t.VendId == p_Po.VendId).OrderByDescending(u => u.UID).FirstOrDefault(); _detail.Price = _price3.Amt; } else @@ -6899,7 +6755,7 @@ namespace CK.SCP.Controller return _detail; } - private static TS_UNI_API CreateTsuniapi( TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail,TB_ASK_DETAIL p_AskDetail,DataRow p_dataRow,string site) + private static TS_UNI_API CreateTsuniapi(TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, TB_ASK_DETAIL p_AskDetail, DataRow p_dataRow, string site) { TS_UNI_API uni = new TS_UNI_API(); @@ -6916,7 +6772,7 @@ namespace CK.SCP.Controller uni.Qty = p_PoDetail.PlanQty;//零件数量 uni.CreateOper = p_Po.CreateUser; uni.CreateTime = p_Po.CreateTime;//订单创建时间 - + uni.VendId = p_Po.VendId;//供应商编号 uni.PoUnit = p_PoDetail.PoUnit;//零件单位 uni.LocUnit = p_PoDetail.LocUnit;//组件单位 @@ -6924,14 +6780,14 @@ namespace CK.SCP.Controller uni.ErpLineNum = p_PoDetail.PoLine;//订单行号 uni.Price = p_PoDetail.Price;//零件价格 uni.Site = p_Po.Site;//地点 - uni.Extend3= p_dataRow["存储地点"].ToString(); + uni.Extend3 = p_dataRow["存储地点"].ToString(); uni.Domain = site; uni.Extend2 = "N";//退货凭证 uni.Extend1 = p_PoDetail.SubSite;//组件物料号 if (site == "U32") { - uni.PutTime = DateTime.Parse(p_PoDetail.EndTime.ToString()); //要求到货日期 - uni.Attn = p_dataRow["备注"].ToString(); + uni.PutTime = DateTime.Parse(p_PoDetail.EndTime.ToString()); //要求到货日期 + uni.Attn = p_dataRow["备注"].ToString(); } else { @@ -6951,7 +6807,7 @@ namespace CK.SCP.Controller { uni.Barcode = "FB06"; } - + uni.Currency = p_PoDetail.Extend3; uni.Receiver = "I";//订单类型 uni.SubSite = p_AskDetail.Extend1; @@ -6961,9 +6817,9 @@ namespace CK.SCP.Controller private static List CreateManyTsuniapi(TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, TB_ASK_DETAIL p_AskDetail, DataRow p_dataRow, string site, ScpEntities db) { - List unilist = new List(); + List unilist = new List(); var _bom = p_dataRow["BOM版本"].ToString(); - var subpart = db.TA_SubPartCode.Where(p => p.PartCode == p_PoDetail.PartCode&&p.BOMedtiton == _bom).ToList(); + var subpart = db.TA_SubPartCode.Where(p => p.PartCode == p_PoDetail.PartCode && p.BOMedtiton == _bom).ToList(); foreach (var sub in subpart) { TS_UNI_API uni = new TS_UNI_API(); @@ -6982,7 +6838,7 @@ namespace CK.SCP.Controller uni.PutTime = ScpCache.GetServerTime(); uni.VendId = p_Po.VendId;//供应商编号 uni.PoUnit = p_PoDetail.PoUnit;//零件单位 - var unit = db.TA_PART.FirstOrDefault(t=>t.PartCode==sub.SubPartCode); + var unit = db.TA_PART.FirstOrDefault(t => t.PartCode == sub.SubPartCode); uni.LocUnit = unit.Unit;//组件单位 uni.ValidDate = DateTime.Now;//当前系统时间 uni.ErpLineNum = p_PoDetail.PoLine;//订单行号 @@ -6993,7 +6849,7 @@ namespace CK.SCP.Controller uni.Extend2 = "N";//退货凭证 uni.Extend1 = sub.SubPartCode;//组件物料号 uni.Batch = p_PoDetail.PoUnit;//采购计量单位 - uni.ErpBillNum = (sub.Qty* p_PoDetail.PlanQty).ToString();//组件数量 + uni.ErpBillNum = (sub.Qty * p_PoDetail.PlanQty).ToString();//组件数量 uni.VendBatch = p_PoDetail.CreateUser; uni.State = 1; uni.Invoice = "3"; @@ -7007,14 +6863,14 @@ namespace CK.SCP.Controller uni.Barcode = "FB06"; } - uni.Currency = p_dataRow["BOM版本"].ToString(); + uni.Currency = p_dataRow["BOM版本"].ToString(); uni.Receiver = "I";//订单类型 uni.SubSite = p_AskDetail.Extend1; unilist.Add(uni); } return unilist; } - private static List CreateManyPoDetailSubPart(TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, TB_ASK_DETAIL p_AskDetail, DataRow p_dataRow, string site, ScpEntities db) + private static List CreateManyPoDetailSubPart(TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, TB_ASK_DETAIL p_AskDetail, DataRow p_dataRow, string site, ScpEntities db) { List posublist = new List(); var _bom = p_dataRow["BOM版本"].ToString(); @@ -7031,8 +6887,8 @@ namespace CK.SCP.Controller posub.PoLine = p_PoDetail.PoLine; posublist.Add(posub); } - - + + return posublist; } private static List CreateManyAskSubPart(TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, TB_ASK_DETAIL p_AskDetail, DataRow p_dataRow, string site, ScpEntities db) @@ -7046,7 +6902,7 @@ namespace CK.SCP.Controller asksub.PartCode = p_PoDetail.PartCode; asksub.SubPartCode = sub.SubPartCode; asksub.BOMedtiton = sub.BOMedtiton; - asksub.Qty = p_PoDetail.PlanQty*sub.Qty; + asksub.Qty = p_PoDetail.PlanQty * sub.Qty; asksub.AskBillNum = p_AskDetail.PoBillNum; asksublist.Add(asksub); @@ -7055,7 +6911,7 @@ namespace CK.SCP.Controller return asksublist; } - private static TB_PO CreatePo1(List p_poList, DataRow p_dataRow, DateTime p_PoBillTime, string str,string site ) + private static TB_PO CreatePo1(List p_poList, DataRow p_dataRow, DateTime p_PoBillTime, string str, string site) { var _VendId = p_dataRow["供应商编号"].ToString(); var po = p_poList.FirstOrDefault(p => p.VendId == _VendId @@ -7104,17 +6960,17 @@ namespace CK.SCP.Controller _po.CreateUser = str; _po.BeginTime = DateTime.Now; _po.EndTime = p_PoBillTime; - + if (site == "U32") { _po.Remark = p_dataRow["备注"].ToString(); } - _po.UpdateInfo="Y"; + _po.UpdateInfo = "Y"; p_poList.Add(_po); return _po; } - private static TB_ASK CreateAsk1(List p_poList, List p_askList, DataRow p_dataRow, DateTime p_PoBillTime, string str, ScpEntities db,string site ) + private static TB_ASK CreateAsk1(List p_poList, List p_askList, DataRow p_dataRow, DateTime p_PoBillTime, string str, ScpEntities db, string site) { var _VendId = p_dataRow["供应商编号"].ToString(); var _po = p_poList.FirstOrDefault(p => p.VendId == _VendId @@ -7150,7 +7006,7 @@ namespace CK.SCP.Controller return _ask; } - private static TB_ASK_DETAIL CreateAskDetail1(ScpEntities db, DataRow p_dataRow, TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, string str,string site) + private static TB_ASK_DETAIL CreateAskDetail1(ScpEntities db, DataRow p_dataRow, TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, string str, string site) { TB_ASK_DETAIL _tDetail = new TB_ASK_DETAIL(); @@ -7178,7 +7034,7 @@ namespace CK.SCP.Controller } var part = db.TA_PART.SingleOrDefault(t => t.PartCode == _tDetail.PartCode); _tDetail.DockCode = part.PartGroup; - + _tDetail.State = (int)PoState.Open; _tDetail.Currency = part.PartDesc2;//规格 _tDetail.GUID = Guid.NewGuid(); @@ -7187,25 +7043,25 @@ namespace CK.SCP.Controller _tDetail.Remark1 = p_Po.VendId; if (site == "U32") { - _tDetail.Remark = p_dataRow["备注"].ToString(); + _tDetail.Remark = p_dataRow["备注"].ToString(); } return _tDetail; } - private static TB_PO_DETAIL CreatePoDetail1(DataRow p_dataRow, decimal p_Qty, ScpEntities db, DateTime p_PoBillTime, TB_PO p_Po, TB_ASK p_Ask, string str,string site) + private static TB_PO_DETAIL CreatePoDetail1(DataRow p_dataRow, decimal p_Qty, ScpEntities db, DateTime p_PoBillTime, TB_PO p_Po, TB_ASK p_Ask, string str, string site) { int _rowNumber = 1; TB_PO_DETAIL _detail = new TB_PO_DETAIL(); - _detail.PartCode= p_dataRow["物料号码"].ToString(); - _detail.PoBillNum = p_Po.PoBillNum; + _detail.PartCode = p_dataRow["物料号码"].ToString(); + _detail.PoBillNum = p_Po.PoBillNum; _detail.PoUnit = p_dataRow["单位"].ToString(); _detail.Extend1 = p_dataRow["零件号"].ToString(); _detail.Currency = "CNY"; _detail.PoLine = _rowNumber; _detail.CreateTime = DateTime.Parse(p_dataRow["订单创建时间"].ToString()); _detail.BeginTime = DateTime.Now; - _detail.IsDeleted = false; - _detail.UnConv = 1; + _detail.IsDeleted = false; + _detail.UnConv = 1; _detail.State = (int)PoState.Open; _detail.GUID = Guid.NewGuid(); _detail.Site = site; @@ -7223,7 +7079,7 @@ namespace CK.SCP.Controller int count1 = db.TB_PRICE.Count(t => t.PartCode == _detail.PartCode.ToUpper() && t.EndTime > DateTime.Now && t.StartTime < DateTime.Now && t.VendId == p_Po.VendId && t.Extend3 != "D"); if (count1 != 0) { - var _price3 = db.TB_PRICE.Where(t => t.PartCode == _detail.PartCode.ToUpper() && t.EndTime > DateTime.Now && t.StartTime < DateTime.Now && t.VendId == p_Po.VendId && t.Extend3 != "D").OrderByDescending(o => o.UID).FirstOrDefault(); //获取最新采购的价格 + var _price3 = db.TB_PRICE.Where(t => t.PartCode == _detail.PartCode.ToUpper() && t.EndTime > DateTime.Now && t.StartTime < DateTime.Now && t.VendId == p_Po.VendId && t.Extend3 != "D").OrderByDescending(o => o.UID).FirstOrDefault(); //获取最新采购的价格 _detail.Price = _price3.Amt; } else @@ -7231,11 +7087,11 @@ namespace CK.SCP.Controller var _price4 = db.TA_PART.FirstOrDefault(t => t.PartCode == _detail.PartCode.ToUpper()); _detail.Price = decimal.Parse(_price4.Remark); } - + } _detail.Extend2 = p_dataRow["存储地点"].ToString(); _detail.CreateUser = p_dataRow["采购组"].ToString();//采购组 - _rowNumber++; + _rowNumber++; return _detail; } private static TB_PO_DETAIL CreatePoDetail1Qh(DataRow p_dataRow, decimal p_Qty, ScpEntities db, DateTime p_PoBillTime, TB_PO p_Po, TB_ASK p_Ask, string str, string site) @@ -7258,7 +7114,7 @@ namespace CK.SCP.Controller _detail.EndTime = p_PoBillTime; _detail.PlanQty = p_Qty; _detail.CreateUser = str; - var _price = db.TB_PRICE.Count(t => t.PartCode == _detail.PartCode.ToUpper() && t.VendId == p_Po.VendId && t.Extend3!="D"); + var _price = db.TB_PRICE.Count(t => t.PartCode == _detail.PartCode.ToUpper() && t.VendId == p_Po.VendId && t.Extend3 != "D"); if (_price == 0) { var _price1 = db.TA_PART.SingleOrDefault(t => t.PartCode == _detail.PartCode.ToUpper()); @@ -7286,10 +7142,10 @@ namespace CK.SCP.Controller _detail.UpdateInfo = p_dataRow["供应商编号"].ToString(); _rowNumber++; - + return _detail; } - private static TS_UNI_API CreateTsuniapi1(TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, DataRow p_dataRow,TB_ASK_DETAIL _Askdetail,string site) + private static TS_UNI_API CreateTsuniapi1(TB_PO p_Po, TB_ASK p_Ask, TB_PO_DETAIL p_PoDetail, DataRow p_dataRow, TB_ASK_DETAIL _Askdetail, string site) { TS_UNI_API uni = new TS_UNI_API(); @@ -7317,7 +7173,7 @@ namespace CK.SCP.Controller uni.Extend3 = p_dataRow["存储地点"].ToString(); uni.Domain = site; uni.Extend2 = "N";//退货凭证 - uni.PutTime = DateTime.Parse(p_PoDetail.EndTime.ToString()); //要求到货日期 + uni.PutTime = DateTime.Parse(p_PoDetail.EndTime.ToString()); //要求到货日期 uni.Batch = p_PoDetail.PoUnit;//采购计量单位 uni.VendBatch = p_PoDetail.CreateUser; uni.State = 1; @@ -7326,10 +7182,11 @@ namespace CK.SCP.Controller { uni.Barcode = "CY01"; } - else{ + else + { uni.Barcode = "FB03"; } - + uni.Currency = p_PoDetail.Extend3; uni.Receiver = "I"; uni.SubSite = _Askdetail.Extend1; @@ -7383,7 +7240,7 @@ namespace CK.SCP.Controller uni.Currency = p_PoDetail.Extend3; uni.Receiver = "I"; - uni.SubSite = _Askdetail.Extend1; + uni.SubSite = _Askdetail.Extend1; uni.SubSite = "Y"; return uni; } @@ -7764,7 +7621,7 @@ namespace CK.SCP.Controller } return _ret; } - public static ResultObject ToVoid_ts_uni_api(List ls,List part) + public static ResultObject ToVoid_ts_uni_api(List ls, List part) { ResultObject _ret = new ResultObject(); try @@ -7783,24 +7640,24 @@ namespace CK.SCP.Controller ask1.IsDeleted = true; db.TB_ASK.AddOrUpdate(ask1); } - foreach(var po in ls) + foreach (var po in ls) { - foreach(var pa in part) + foreach (var pa in part) { - var asn = db.TB_ASN_DETAIL.Count(p => p.PartCode == pa && p.PoBillNum == po&&p.State>=0); + var asn = db.TB_ASN_DETAIL.Count(p => p.PartCode == pa && p.PoBillNum == po && p.State >= 0); if (asn > 0) { - _ret.MessageList.Add("零件号"+pa+"已经存在发货单,订单明细作废失败"); + _ret.MessageList.Add("零件号" + pa + "已经存在发货单,订单明细作废失败"); } else { - var ponum = db.TB_PO_DETAIL.Where(p => p.PartCode == pa && p.PoBillNum == po&&p.State>0).ToList(); - foreach(var poo in ponum) + var ponum = db.TB_PO_DETAIL.Where(p => p.PartCode == pa && p.PoBillNum == po && p.State > 0).ToList(); + foreach (var poo in ponum) { poo.State = 0; db.TB_PO_DETAIL.AddOrUpdate(poo); } - + var ask = db.TB_ASK_DETAIL.Where(p => p.PartCode == pa && p.PoBillNum == po).ToList(); foreach (var askk in ask) { @@ -7808,14 +7665,14 @@ namespace CK.SCP.Controller askk.IsDeleted = true; db.TB_ASK_DETAIL.AddOrUpdate(askk); } - var uni = db.TS_UNI_API.Where(p => p.PartCode == pa && p.BillNum == po&&p.Receiver=="I"); - foreach(var un in uni) + var uni = db.TS_UNI_API.Where(p => p.PartCode == pa && p.BillNum == po && p.Receiver == "I"); + foreach (var un in uni) { un.State = 1; un.Receiver = "D"; db.TS_UNI_API.AddOrUpdate(un); } - var coust = db.TB_MAXPO_CONSUME.Where(t => t.BillNum == po&&t.PartCode==pa).ToList(); + var coust = db.TB_MAXPO_CONSUME.Where(t => t.BillNum == po && t.PartCode == pa).ToList(); foreach (var co in coust) { var maxpo = db.TB_MAXPO_DETAIL.FirstOrDefault(t => t.PoBillNum == co.PoBillNum && t.PartCode == co.PartCode); @@ -7935,11 +7792,11 @@ namespace CK.SCP.Controller } else { - var po1 = db.TB_PO.FirstOrDefault(t => t.PoBillNum == po&&t.State==1); + var po1 = db.TB_PO.FirstOrDefault(t => t.PoBillNum == po && t.State == 1); po1.State = 0; - db.TB_PO.AddOrUpdate(po1); - var po2 = db.TB_PO_DETAIL.Where(t => t.PoBillNum == po&&t.State==1).ToList(); + db.TB_PO.AddOrUpdate(po1); + var po2 = db.TB_PO_DETAIL.Where(t => t.PoBillNum == po && t.State == 1).ToList(); foreach (var po3 in po2) { po3.State = 0; @@ -7949,13 +7806,13 @@ namespace CK.SCP.Controller ask1.State = -1; ask1.IsDeleted = true; db.TB_ASK.AddOrUpdate(ask1); - var ask2 = db.TB_ASK_DETAIL.Where(t => t.PoBillNum == po&&t.State>-1).ToList(); + var ask2 = db.TB_ASK_DETAIL.Where(t => t.PoBillNum == po && t.State > -1).ToList(); foreach (var ask3 in ask2) { ask3.State = -1; db.TB_ASK_DETAIL.AddOrUpdate(ask3); } - var lx = db.TS_UNI_API.Where(t => t.BillNum == po&&t.Receiver=="I").ToList(); + var lx = db.TS_UNI_API.Where(t => t.BillNum == po && t.Receiver == "I").ToList(); foreach (var po4 in lx) { po4.State = 1; @@ -7972,7 +7829,7 @@ namespace CK.SCP.Controller db.TB_MAXPO_CONSUME.Remove(co); } } - + } } @@ -8066,11 +7923,11 @@ namespace CK.SCP.Controller using (ScpEntities db = EntitiesFactory.CreateScpInstance()) { - { - foreach(var po in maxpo) + { + foreach (var po in maxpo) { - var _list = db.TB_MAXPO_DETAIL.Where(p=>p.PoBillNum==po).ToList(); - foreach(var _li in _list) + var _list = db.TB_MAXPO_DETAIL.Where(p => p.PoBillNum == po).ToList(); + foreach (var _li in _list) { if (_li.OrderQtykg != _li.SurplusQty) { @@ -8079,7 +7936,7 @@ namespace CK.SCP.Controller else { UniApiEntities idb = EntitiesFactory.CreateUniApiInstance(); - var _wmsret = idb.xxwms_rc_det.Where(p=>p.xxwms_rc_ware_class.Contains(_li.PoBillNum)).ToList(); + var _wmsret = idb.xxwms_rc_det.Where(p => p.xxwms_rc_ware_class.Contains(_li.PoBillNum)).ToList(); if (_wmsret.Count() > 0) { _ret.MessageList.Add("大订单号" + _li.PoBillNum + "已经开始收货消耗,作废失败"); @@ -8087,18 +7944,18 @@ namespace CK.SCP.Controller } } } - if(_ret.MessageList.Count == 0) + if (_ret.MessageList.Count == 0) { foreach (var po in maxpo) { - var _maxpo = db.TB_MAXPO.FirstOrDefault(p=>p.PoBillNum== po); + var _maxpo = db.TB_MAXPO.FirstOrDefault(p => p.PoBillNum == po); _maxpo.IsDeleted = true; db.TB_MAXPO.AddOrUpdate(_maxpo); - var _maxpodetail=db.TB_MAXPO_DETAIL.Where(p => p.PoBillNum == po).ToList(); + var _maxpodetail = db.TB_MAXPO_DETAIL.Where(p => p.PoBillNum == po).ToList(); _maxpodetail.ForEach(itm => itm.IsDeleted = true); db.TB_MAXPO_DETAIL.AddOrUpdate(itm => itm.UID, _maxpodetail.ToArray()); var _Ts = db.TS_UNI_API.Where(p => p.BillNum == po).ToList(); - foreach(var ts in _Ts) + foreach (var ts in _Ts) { ts.Extend3 = "D"; ts.State = 1; @@ -8124,7 +7981,7 @@ namespace CK.SCP.Controller } else { - _ret.MessageList= _ret.MessageList.Distinct().ToList(); + _ret.MessageList = _ret.MessageList.Distinct().ToList(); _ret.State = ReturnStatus.Failed; _ret.Result = false; } @@ -8200,18 +8057,18 @@ namespace CK.SCP.Controller { foreach (var ui in Uid) { - var maxpodetail = db.V_TB_MAXPO_DETAIL.FirstOrDefault(p=>p.UID.ToString()==ui); + var maxpodetail = db.V_TB_MAXPO_DETAIL.FirstOrDefault(p => p.UID.ToString() == ui); if (maxpodetail.SurplusQty != maxpodetail.OrderQtykg || maxpodetail.AnQty > 0 || maxpodetail.ReceQty > 0) { - _ret.MessageList.Add("零件号"+maxpodetail.PartCode+"已经开始消耗,作废失败!"); + _ret.MessageList.Add("零件号" + maxpodetail.PartCode + "已经开始消耗,作废失败!"); } } if (_ret.MessageList.Count == 0) { - foreach (var ui in Uid) + foreach (var ui in Uid) { var maxpodetail = db.V_TB_MAXPO_DETAIL.FirstOrDefault(p => p.UID.ToString() == ui); - var uni = db.TS_UNI_API.FirstOrDefault(p=>p.PartCode==maxpodetail.PartCode&&p.BillNum==maxpodetail.PoBillNum); + var uni = db.TS_UNI_API.FirstOrDefault(p => p.PartCode == maxpodetail.PartCode && p.BillNum == maxpodetail.PoBillNum); uni.State = 1; db.TS_UNI_API.AddOrUpdate(uni); } @@ -8309,11 +8166,11 @@ namespace CK.SCP.Controller { var sublist = db.TA_SubPartCode.ToList(); - foreach(var sub in sublist) + foreach (var sub in sublist) { db.TA_SubPartCode.Remove(sub); } - + } if (_ret.MessageList.Count == 0) @@ -8425,7 +8282,7 @@ namespace CK.SCP.Controller _ret.Result = false; } else - { + { var _entity = db.TB_ASK.FirstOrDefault(p => p.AskBillNum.ToString() == po); _entity.State = -1; _entity.IsDeleted = true; @@ -8435,16 +8292,16 @@ namespace CK.SCP.Controller var _po = db.TB_PO.FirstOrDefault(P => P.PoBillNum == _entity.PoBillNum); _po.State = 0; db.TB_PO.AddOrUpdate(_po); - var _podetail = db.TB_PO_DETAIL.Where(p=>p.PoBillNum==_entity.PoBillNum).ToList(); + var _podetail = db.TB_PO_DETAIL.Where(p => p.PoBillNum == _entity.PoBillNum).ToList(); _podetail.ForEach(p => { p.State = 0; db.TB_PO_DETAIL.AddOrUpdate(p); }); } - + var _entity1 = db.TB_ASK_DETAIL.Where(p => p.AskBillNum.ToString() == po).ToList(); - foreach(var ask in _entity1) + foreach (var ask in _entity1) { ask.State = -1; ask.IsDeleted = true; @@ -8844,7 +8701,7 @@ namespace CK.SCP.Controller { q = q.Where(p => p.CreateTime <= p_entity.EndTime); } - q = q.Where(p=>p.IsDeleted==p_entity.IsDeleted); + q = q.Where(p => p.IsDeleted == p_entity.IsDeleted); _ret.State = ReturnStatus.Succeed; _ret.Result = q; p_action(_ret); @@ -9097,7 +8954,7 @@ namespace CK.SCP.Controller { q = q.Where(p => p.PoBillNum == p_entity.PoBillNum); } - + _ret.State = ReturnStatus.Succeed; _ret.Result = q; p_action(_ret); @@ -9431,6 +9288,343 @@ namespace CK.SCP.Controller return p_list; } #endregion + + + public static ResultObject Save_TB_MAXPO_DETAIL_QTY(List p_entitys) + { + ResultObject _ret = new ResultObject(); + try + { + using (ScpEntities db = EntitiesFactory.CreateScpInstance()) + { + + foreach (var itm in p_entitys) + { + var _entity = db.TB_MAXPO_DETAIL.Where(p => p.UID == itm.UID).FirstOrDefault(); + if (itm.OrderQtykg < _entity.OrderQtykg - _entity.AsnQty) + { + _ret.MessageList.Add("零件号" + _entity.PartCode + "剩余可消耗订货量不足!"); + } + if (itm.OrderQtykg == 0) + { + _ret.MessageList.Add("订货量不能修改为0!"); + } + else + { + _entity.SurplusQty = itm.OrderQtykg - _entity.OrderQtykg + _entity.SurplusQty; + _entity.AsnQty = itm.OrderQtykg - _entity.OrderQtykg + _entity.AsnQty; + _entity.OrderQtykg = itm.OrderQtykg; + _entity.OrderQtyd = itm.OrderQtykg / 1000; + db.TB_MAXPO_DETAIL.AddOrUpdate(p => p.UID, _entity); + TS_UNI_API maxuni = new TS_UNI_API(); + maxuni.BillNum = _entity.PoBillNum; + maxuni.InterfaceType = "MaxPobillnum"; + maxuni.TableName = "TS_UNI_API"; + maxuni.BillType = 701; + maxuni.SubBillType = 0; + maxuni.PartCode = _entity.PartCode; + maxuni.VendId = _entity.VendId;//供应商编号 + if (string.IsNullOrEmpty(_entity.Texture)) + { + maxuni.Batch = ""; + } + else + { + maxuni.Batch = _entity.Texture;//材质 + } + maxuni.Qty = _entity.OrderNumber; + maxuni.State = 1; + maxuni.CreateOper = _entity.CreateUser;//创建者 + maxuni.CreateTime = DateTime.Now; + maxuni.PutTime = DateTime.Now; + maxuni.Extend1 = _entity.PartNumber; + maxuni.PackQty = _entity.MinordQty; + maxuni.Price = _entity.OrderQtyd; + maxuni.VendBatch = _entity.ContractMonth;//合同月 + maxuni.Currency = _entity.Model; + maxuni.Buyer = _entity.TechStandard; + maxuni.BuyerPhone = _entity.Finprspec;//规格 + maxuni.Tax = 0; + maxuni.PoUnit = _entity.forecastone;//预测1 + maxuni.LocUnit = _entity.forecasttwo;//预测2 + maxuni.Attn = _entity.forecastthree;//预测3 + maxuni.Receiver = _entity.forecastfour;//预测4 + maxuni.ModType = _entity.forecastfive;//预测5 + maxuni.SubSite = _entity.forecastsix;//预测6 + maxuni.Site = _entity.Site; + maxuni.Extend2 = _entity.Matermanu; + maxuni.TaxAmt = _entity.Singlecon;//单件消耗 + maxuni.ValidDate = DateTime.Now; + maxuni.ErpLineNum = _entity.PoLine; + maxuni.Domain = _entity.Site; + maxuni.Extend3 = "U"; + db.TS_UNI_API.AddOrUpdate(maxuni); + } + + + } + + + if (_ret.MessageList.Count == 0) + { + int state = db.SaveChanges(); + if (state != -1) + { + _ret.State = ReturnStatus.Succeed; + _ret.Result = true; + } + else + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + } + } + else + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + } + + } + } + #region + catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常 + { + var sb = new StringBuilder(); + foreach (var error in dbEx.EntityValidationErrors.ToList()) + { + error.ValidationErrors.ToList().ForEach(i => + { + sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage); + }); + } + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + _ret.ErrorList.Add(dbEx); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", sb.ToString()); + throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); + } + catch (OptimisticConcurrencyException ex)//并发冲突异常 + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + _ret.ErrorList.Add(ex); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", ex.ToString()); + throw new ScpException(ResultCode.Exception, "9999", ex.ToString()); + } + catch (ScpException ex) + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + _ret.ErrorList.Add(ex); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", ex.ToString()); + if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException)) + { + var inner = (UpdateException)ex.InnerException; + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); + } + else + { + if (ex.InnerException != null) throw ex.InnerException; + } + } + catch (Exception e) + { + _ret.State = ReturnStatus.Failed; + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", e.Message); + _ret.Result = false; + _ret.ErrorList.Add(e); + throw e; + } + #endregion + return _ret; + } + + /// + /// 保存削减量 + /// + /// + /// + public static ResultObject Save_TB_MAXPO_DETAIL_SaveReductionQty(List p_entitys) + { + ResultObject _ret = new ResultObject(); + List list = new List(); + List apilist = new List(); + try + { + using (ScpEntities db = EntitiesFactory.CreateScpInstance()) + { + + foreach (var itm in p_entitys) + { + var _entity = db.V_TB_MAXPO_DETAIL.Where(p => p.UID == itm.UID).FirstOrDefault(); + if (Math.Abs( (itm.ReductionQty * 1000).Value) < _entity.SurplusQty) + { + _ret.MessageList.Add("零件号" + _entity.PartCode + "单次削减量不能大于剩余订货量(千克)"); + } + if (((_entity.OrderQtydNow + itm.ReductionQty) * 1000) < _entity.OrderQtykg - _entity.AsnQty) + { + _ret.MessageList.Add("零件号" + _entity.PartCode + "剩余可消耗订货量不足"); + } + if ((_entity.OrderQtydNow + itm.ReductionQty) < 0) + { + _ret.MessageList.Add("削减失败,零件号" + _entity.PartCode + "本次填写的削减量过大,将会使得订货量小于0!"); + } + if (itm.ReductionQty == 0) + { + _ret.MessageList.Add("削减量不能修改为0!"); + } + else + { + var detail = db.TB_MAXPO_DETAIL.First(p => p.UID == itm.UID); + if (detail.ReductionQtyOne == null) + { + detail.ReductionQtyOne = itm.ReductionQty; + } + else if (detail.ReductionQtyTwo == null) + { + detail.ReductionQtyTwo = itm.ReductionQty; + } + else if (detail.ReductionQtyThree == null) + { + detail.ReductionQtyThree = itm.ReductionQty; + } + else if (detail.ReductionQtyFour == null) + { + detail.ReductionQtyFour = itm.ReductionQty; + } + else if (detail.ReductionQtyFive == null) + { + detail.ReductionQtyFive = itm.ReductionQty; + } + list.Add(detail); + + } + _entity.OrderQtykg = (_entity.OrderQtydNow + itm.ReductionQty).Value * 1000; + _entity.AsnQty = (itm.ReductionQty * 1000 + _entity.AsnQty).Value; + _entity.SurplusQty = (itm.ReductionQty * 1000 + _entity.SurplusQty).Value; + // 修改数据 + TS_UNI_API maxuni = new TS_UNI_API(); + maxuni.BillNum = _entity.PoBillNum; + maxuni.InterfaceType = "MaxPobillnum"; + maxuni.TableName = "TS_UNI_API"; + maxuni.BillType = 701; + maxuni.SubBillType = 0; + maxuni.PartCode = _entity.PartCode; + maxuni.VendId = _entity.VendId;//供应商编号 + if (string.IsNullOrEmpty(_entity.Texture)) + { + maxuni.Batch = ""; + } + else + { + maxuni.Batch = _entity.Texture;//材质 + } + maxuni.Qty = _entity.OrderNumber; + maxuni.State = 1; + maxuni.CreateOper = _entity.CreateUser;//创建者 + maxuni.CreateTime = DateTime.Now; + maxuni.PutTime = DateTime.Now; + maxuni.Extend1 = _entity.PartNumber; + maxuni.PackQty = _entity.OrderQtykg/1000; + maxuni.Price = _entity.OrderQtydNow; + maxuni.VendBatch = _entity.ContractMonth;//合同月 + maxuni.Currency = _entity.Model; + maxuni.Buyer = _entity.TechStandard; + maxuni.BuyerPhone = _entity.Finprspec;//规格 + maxuni.Tax = 0; + maxuni.PoUnit = _entity.forecastone;//预测1 + maxuni.LocUnit = _entity.forecasttwo;//预测2 + maxuni.Attn = _entity.forecastthree;//预测3 + maxuni.Receiver = _entity.forecastfour;//预测4 + maxuni.ModType = _entity.forecastfive;//预测5 + maxuni.SubSite = _entity.forecastsix;//预测6 + maxuni.Site = _entity.Site; + maxuni.Extend2 = _entity.Matermanu; + maxuni.TaxAmt = _entity.Singlecon;//单件消耗 + maxuni.ValidDate = DateTime.Now; + maxuni.ErpLineNum = _entity.PoLine; + maxuni.Domain = _entity.Site; + maxuni.Extend3 = "U"; + apilist.Add(maxuni); + + } + + + if (_ret.MessageList.Count == 0) + { + db.TB_MAXPO_DETAIL.AddOrUpdate(p => p.UID, list.ToArray()); + db.TS_UNI_API.AddOrUpdate(apilist.ToArray()); + int state = db.SaveChanges(); + if (state != -1) + { + _ret.State = ReturnStatus.Succeed; + _ret.Result = true; + } + else + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + } + } + else + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + return _ret; + } + + } + } + catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常 + { + var sb = new StringBuilder(); + foreach (var error in dbEx.EntityValidationErrors.ToList()) + { + error.ValidationErrors.ToList().ForEach(i => + { + sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage); + }); + } + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + _ret.ErrorList.Add(dbEx); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_MAXPO_DETAIL_SaveReductionQty", sb.ToString()); + throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); + } + catch (OptimisticConcurrencyException ex)//并发冲突异常 + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + _ret.ErrorList.Add(ex); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_MAXPO_DETAIL_SaveReductionQty", ex.ToString()); + throw new ScpException(ResultCode.Exception, "9999", ex.ToString()); + } + catch (ScpException ex) + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + _ret.ErrorList.Add(ex); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_MAXPO_DETAIL_SaveReductionQty", ex.ToString()); + if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException)) + { + var inner = (UpdateException)ex.InnerException; + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); + } + else + { + if (ex.InnerException != null) throw ex.InnerException; + } + } + catch (Exception e) + { + _ret.State = ReturnStatus.Failed; + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_MAXPO_DETAIL_SaveReductionQty", e.Message); + _ret.Result = false; + _ret.ErrorList.Add(e); + } + return _ret; + } } } diff --git a/Controller/SCP_ToleranceProportion_Controller.cs b/Controller/SCP_ToleranceProportion_Controller.cs new file mode 100644 index 0000000..0288896 --- /dev/null +++ b/Controller/SCP_ToleranceProportion_Controller.cs @@ -0,0 +1,330 @@ +using System; +using System.Linq; +using CK.SCP.Models.Enums; +using CK.SCP.Models.ScpEntity; +using CK.SCP.Utils; +using CK.SCP.Models; +using System.Data; +using System.Data.Entity.Core; +using System.Text; +using CK.SCP.Models.ScpEntity.ExcelExportEnttity; +using System.Collections.Generic; +using System.Data.Entity.Migrations; + +namespace CK.SCP.Controller +{ + public class SCP_ToleranceProportion_Controller + { + /// + /// 获取容差控制列表 + /// + /// + /// + public static void Get_TA_ToleranceProportion_List(TA_ToleranceProportion p_entity, Action>> p_action) + { + ResultObject> _ret = new ResultObject>(); + try + { + using (ScpEntities db = EntitiesFactory.CreateScpInstance()) + { + IQueryable q = db.V_TA_ToleranceProportion; + if (!string.IsNullOrEmpty(p_entity.PartCode)) + { + q = q.Where(p => p.PartCode == p_entity.PartCode); + } + _ret.State = ReturnStatus.Succeed; + _ret.Result = q; + p_action(_ret); + } + + } + catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常 + { + var sb = new StringBuilder(); + foreach (var error in dbEx.EntityValidationErrors.ToList()) + { + error.ValidationErrors.ToList().ForEach(i => + { + sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage); + }); + } + _ret.State = ReturnStatus.Failed; + _ret.ErrorList.Add(dbEx); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ToleranceProportion_Controller), "Get_TA_ToleranceProportion_List", sb.ToString()); + throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); + } + catch (OptimisticConcurrencyException ex)//并发冲突异常 + { + + _ret.State = ReturnStatus.Failed; + _ret.ErrorList.Add(ex); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ToleranceProportion_Controller), "Get_TA_ToleranceProportion_List", ex.ToString()); + throw new ScpException(ResultCode.Exception, "9999", ex.ToString()); + } + catch (ScpException ex) + { + _ret.State = ReturnStatus.Failed; + _ret.ErrorList.Add(ex); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ToleranceProportion_Controller), "Get_TA_ToleranceProportion_List", ex.ToString()); + + if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException)) + { + var inner = (UpdateException)ex.InnerException; + + + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); + } + else + { + if (ex.InnerException != null) throw ex.InnerException; + } + } + catch (Exception e) + { + _ret.State = ReturnStatus.Failed; + _ret.ErrorList.Add(e); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ToleranceProportion_Controller), "Get_TA_ToleranceProportion_List", e.Message); + } + + } + + + + /// + /// 模具分摊导入 + /// + /// + /// + /// + /// + public static ResultObject EXCEL_MOLDSHARING_MOD(List p_order_list, string site, string p_creator) + { + ResultObject _ret = new ResultObject(); + List list = new List(); + _ret.State = ReturnStatus.Succeed; + _ret.Result = true; + try + { + using (ScpEntities db = EntitiesFactory.CreateScpInstance()) + { + List ErrorList = new List(); + var _lst = p_order_list; + _lst.ForEach(p => + { + var _ls = CheckExcelMode_MoldSharing(db, p, site); + if (_ls.Count > 0) + { + ErrorList.Add(string.Join("
", _ls.ToArray())); + } + }); + if (ErrorList.Count > 0) + { + _ret.State = ReturnStatus.Failed; + _ret.MessageList.AddRange(ErrorList); + _ret.Result = false; + } + else + { + _lst.ForEach(p => + { + var mold = db.TA_ToleranceProportion.FirstOrDefault(t => t.PartCode.ToUpper() == p.零件号.ToUpper() && t.Site == p.工厂编码.Trim()); + if (mold == null) + { + mold = new TA_ToleranceProportion + { + PartCode = p.零件号.ToUpper(), + CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUser = p_creator, + Site = p.工厂编码.Trim(), + ToleranceProportion = decimal.Parse(p.容差), + }; + } + else + { + mold.ToleranceProportion = decimal.Parse(p.容差); + mold.UpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + mold.UpdateUser = p_creator; + } + list.Add(mold); + }); + + if (_ret.MessageList.Count == 0) + { + + db.TA_ToleranceProportion.AddOrUpdate(q => q.UID, list.ToArray()); + int state = db.SaveChanges(); + if (state != -1) + { + _ret.State = ReturnStatus.Succeed; + _ret.Result = true; + } + else + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + } + } + else + { + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + } + } + } + + } + catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常 + { + var sb = new StringBuilder(); + + foreach (var error in dbEx.EntityValidationErrors.ToList()) + { + + error.ValidationErrors.ToList().ForEach(i => + { + sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage); + }); + } + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + _ret.ErrorList.Add(dbEx); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ToleranceProportion_Controller), "EXCEL_MOLDSHARING_MOD", sb.ToString()); + throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); + } + catch (OptimisticConcurrencyException ex)//并发冲突异常 + { + + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + _ret.ErrorList.Add(ex); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ToleranceProportion_Controller), "EXCEL_MOLDSHARING_MOD", ex.ToString()); + throw new ScpException(ResultCode.Exception, "9999", ex.ToString()); + } + catch (ScpException ex) + { + + + _ret.State = ReturnStatus.Failed; + _ret.Result = false; + _ret.ErrorList.Add(ex); + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ToleranceProportion_Controller), "EXCEL_MOLDSHARING_MOD", ex.ToString()); + + if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException)) + { + var inner = (UpdateException)ex.InnerException; + + + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); + } + else + { + if (ex.InnerException != null) throw ex.InnerException; + } + } + catch (Exception e) + { + _ret.State = ReturnStatus.Failed; + LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ToleranceProportion_Controller), "EXCEL_MOLDSHARING_MOD", e.Message); + _ret.Result = false; + _ret.ErrorList.Add(e); + _ret.MessageList.Add("保存失败" + e.Message); + } + return _ret; + } + /// + /// 数据检验 + /// + /// + /// + /// + /// + public static List CheckExcelMode_MoldSharing(ScpEntities db, SCP_PART_ToleranceProportion p_excel, string site) + { + List ErrorList = new List(); + + if (string.IsNullOrEmpty(p_excel.零件号) || string.IsNullOrEmpty(p_excel.工厂编码) || string.IsNullOrEmpty(p_excel.容差)) + { + ErrorList.Add(string.Format("零件编号【{0}】有填写为空!", p_excel.零件号)); + } + else + { + int count = db.TA_PART.Count(p => p.PartCode == p_excel.零件号 && p.Site == site); + if (count <= 0) + { + ErrorList.Add(string.Format("零件编号{0}不存在!", p_excel.零件号)); + } + decimal ty = 0.00m; + if (!decimal.TryParse(p_excel.容差, out ty)) + { + ErrorList.Add(string.Format("零件编号{0},容差填写不正确,不是数字类型!", p_excel.零件号)); + } + else + { + if (ty > 1 || ty < 0) + { + ErrorList.Add(string.Format("零件编号{0},容差填写不正确,只能填写0到1之间小数!", p_excel.零件号)); + } + } + } + + + return ErrorList; + } + + /// + /// 检查是否超出容差数据 + /// + /// + /// + /// + public static List CheckToleranceProportion(V_TB_ASK_DETAIL entity, decimal QtyAll) + { + List ErrorList = new List(); + var canQty = entity.AskQty - entity.ShippedQty - entity.ReduceQty; + // WS 和 WG 类型物料 填写的 发货数 不能大于 (要货数量-已发数量) + if (entity.DockCode == "WS" || entity.DockCode == "WG") + { + if (canQty > 0) + { + if (QtyAll > canQty) + { + ErrorList.Add(entity.PartCode + "发货数量>可发数量"); + } + } + } + // YC 和 WT 填写的 发货数 能大于 (要货数 - 已发数量) 但是 不能 大于容差范围 并且 要货数 - 已发数量 不能小于等于0 + else if (entity.DockCode == "YC" || entity.DockCode == "WT") + { + using (ScpEntities db = EntitiesFactory.CreateScpInstance()) + { + var toleranceProportion = db.TA_ToleranceProportion.FirstOrDefault(q => q.PartCode == entity.PartCode); + if (toleranceProportion == null) + { + ErrorList.Add(entity.PartCode + "没有容差控制,请联系管理员进行填写"); + } + else + { + decimal maxqty = entity.AskQty * (1 + toleranceProportion.ToleranceProportion); + if (canQty <= 0) + { + ErrorList.Add(entity.PartCode + "只能超发一次哦"); + } + // 最大要货数量(要货数* 1+容差) - 累计发货数量 <当前填写的 要货数量 + else if ((maxqty - entity.ShippedQty - entity.ReduceQty )< QtyAll) + { + ErrorList.Add(entity.PartCode + "容差控制为"+ (toleranceProportion.ToleranceProportion * 100)+"% ,本次填写发货数量超出"+ Math.Abs((maxqty - entity.ShippedQty - QtyAll).Value)); + } + } + } + } + else if ((canQty <= 0) && (QtyAll > 0)) + { + ErrorList.Add(entity.PartCode + "只能超发一次哦"); + } + + + return ErrorList; + } + + } +} diff --git a/Models/CK.SCP.Models.csproj b/Models/CK.SCP.Models.csproj index bdf2ed7..500890b 100644 --- a/Models/CK.SCP.Models.csproj +++ b/Models/CK.SCP.Models.csproj @@ -348,6 +348,7 @@ + @@ -360,6 +361,9 @@ + + + @@ -430,7 +434,6 @@ - diff --git a/Models/ScpEntities.cs b/Models/ScpEntities.cs index 8fe6aab..1ea58f4 100644 --- a/Models/ScpEntities.cs +++ b/Models/ScpEntities.cs @@ -30,7 +30,7 @@ namespace CK.SCP.Models public ScpEntities(string strConn) : base(strConn) { - + } public virtual DbSet V_TB_REEEE { set; get; } public virtual DbSet TB_SUPPLIER_MAIL { set; get; } @@ -72,10 +72,10 @@ namespace CK.SCP.Models public virtual DbSet TB_REJECT_DETAIL { get; set; } public virtual DbSet TA_FACTORY_CONFIG { get; set; } public virtual DbSet TL_BASEDATA { get; set; } - public virtual DbSet TL_BILL { get; set; } + public virtual DbSet TL_BILL { get; set; } public virtual DbSet TL_OPER { get; set; } public virtual DbSet TS_BARCODE { get; set; } - public virtual DbSet V_TS_BARCODE { get; set; } + public virtual DbSet V_TS_BARCODE { get; set; } public virtual DbSet TS_BARCODE_SMALL { get; set; } public virtual DbSet TS_STOCK { get; set; } public virtual DbSet TS_UNI_API { get; set; } @@ -96,7 +96,7 @@ namespace CK.SCP.Models public virtual DbSet TA_VEND_USER { get; set; } public virtual DbSet TA_Part_User { get; set; } public virtual DbSet TA_REVICE_PORT { get; set; } - public virtual DbSet TB_PENING_ITEMS { get; set; } + public virtual DbSet TB_PENING_ITEMS { get; set; } public virtual DbSet TB_ASK { get; set; } public virtual DbSet V_TB_ASK { get; set; } public virtual DbSet TB_ASK_DETAIL { get; set; } @@ -120,7 +120,7 @@ namespace CK.SCP.Models public virtual DbSet V_TB_ARRIVE_DETAIL { get; set; } public virtual DbSet V_TB_REJECT { get; set; } public virtual DbSet V_TB_REJECT_DETAIL { get; set; } - public virtual DbSet TS_BARCODE_RULE { get; set; } + public virtual DbSet TS_BARCODE_RULE { get; set; } public virtual DbSet TS_BARCODE_RULE_SMALL { get; set; } public virtual DbSet TB_PALLETS_RULL { get; set; } public virtual DbSet V_TB_INVOICE_DETAIL { get; set; } @@ -130,10 +130,10 @@ namespace CK.SCP.Models public virtual DbSet V_TB_RECEIVE_LIST { get; set; } public virtual DbSet TB_PRINT_COUNT { get; set; } public virtual DbSet V_TB_ASN_DETAIL_VIEW { get; set; } - + public virtual DbSet V_TA_VENDER { get; set; } public virtual DbSet V_TB_INCOMPLETE_ASK { get; set; } - public virtual DbSet V_ARRIVE_PO_REPORT { get; set; } + public virtual DbSet V_ARRIVE_PO_REPORT { get; set; } public virtual DbSet V_TB_PALLET_DETAIL { get; set; } public virtual DbSet V_TB_PALLET { get; set; } public virtual DbSet TB_PALLET_DETAIL { get; set; } @@ -174,6 +174,8 @@ namespace CK.SCP.Models public virtual DbSet V_TB_MPO { get; set; } public virtual DbSet V_TB_MPO_DETAIL { get; set; } public virtual DbSet TS_Email { get; set; } + public virtual DbSet TA_ToleranceProportion { get; set; } + public virtual DbSet V_TA_ToleranceProportion { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity() @@ -185,7 +187,7 @@ namespace CK.SCP.Models modelBuilder.Entity() .Property(e => e.PORT_NO) .IsUnicode(false); - + modelBuilder.Entity() .Property(e => e.Sep) .IsUnicode(false); @@ -293,7 +295,7 @@ namespace CK.SCP.Models .HasPrecision(18, 2); modelBuilder.Entity() .Property(e => e.Qty) - .HasPrecision(18,5); + .HasPrecision(18, 5); modelBuilder.Entity() .Property(e => e.Qty) .HasPrecision(18, 2); @@ -345,6 +347,21 @@ namespace CK.SCP.Models modelBuilder.Entity() .Property(e => e.PoQty) .HasPrecision(18, 6); + modelBuilder.Entity() +.Property(e => e.ReductionQtyOne) +.HasPrecision(18, 5); + modelBuilder.Entity() +.Property(e => e.ReductionQtyTwo) +.HasPrecision(18, 5); + modelBuilder.Entity() +.Property(e => e.ReductionQtyThree) +.HasPrecision(18, 5); + modelBuilder.Entity() +.Property(e => e.ReductionQtyFour) +.HasPrecision(18, 5); + modelBuilder.Entity() +.Property(e => e.ReductionQtyFive) +.HasPrecision(18, 5); } } } diff --git a/Models/ScpEntity/ExcelExportEnttity/SCP_PART_ToleranceProportion.cs b/Models/ScpEntity/ExcelExportEnttity/SCP_PART_ToleranceProportion.cs new file mode 100644 index 0000000..8a34e04 --- /dev/null +++ b/Models/ScpEntity/ExcelExportEnttity/SCP_PART_ToleranceProportion.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CK.SCP.Models.ScpEntity.ExcelExportEnttity +{ + public class SCP_PART_ToleranceProportion + { + public string 零件号 { get; set; } + public string 工厂编码 { get; set; } + public string 容差 { get; set; } + } +} diff --git a/Models/ScpEntity/TA_PART.cs b/Models/ScpEntity/TA_PART.cs index 420f2bf..f17208f 100644 --- a/Models/ScpEntity/TA_PART.cs +++ b/Models/ScpEntity/TA_PART.cs @@ -68,6 +68,8 @@ namespace CK.SCP.Models.ScpEntity [NotMapped] public string ReceivedPort_Desc => ScpCache.GetRevicePort(ReceivePort); + [NotMapped] + public decimal? ToleranceProportion { get; set; } = 0.20m; } diff --git a/Models/ScpEntity/TA_ToleranceProportion.cs b/Models/ScpEntity/TA_ToleranceProportion.cs new file mode 100644 index 0000000..18f6411 --- /dev/null +++ b/Models/ScpEntity/TA_ToleranceProportion.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace CK.SCP.Models.ScpEntity +{ + public class TA_ToleranceProportion + { + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public long UID { get; set; } + + [StringLength(50)] + public string PartCode { get; set; } + [DisplayName("容差控制默认0.2 20%")] + public decimal ToleranceProportion { get; set; } + + [StringLength(20)] + public string CreateUser { get; set; } + public string CreateTime { get; set; } + public string UpdateUser { get; set; } + public string UpdateTime { get; set; } + [DisplayName("地点")] + public string Site { get; set; } + } +} diff --git a/Models/ScpEntity/TB_MAXPO_DETAIL.cs b/Models/ScpEntity/TB_MAXPO_DETAIL.cs index 81e41b9..e6977e1 100644 --- a/Models/ScpEntity/TB_MAXPO_DETAIL.cs +++ b/Models/ScpEntity/TB_MAXPO_DETAIL.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; @@ -54,5 +55,17 @@ namespace CK.SCP.Models.ScpEntity public decimal ReceQty { get; set; } public bool IsDeleted { get; set; } public decimal ReturnQty { get; set; } + [DisplayName("第一次削减量")] + public decimal? ReductionQtyOne { get; set; } + [DisplayName("第二次削减量")] + public decimal? ReductionQtyTwo { get; set; } + [DisplayName("第三次削减量")] + public decimal? ReductionQtyThree { get; set; } + [DisplayName("第四次削减量")] + public decimal? ReductionQtyFour { get; set; } + [DisplayName("第五次削减量")] + public decimal? ReductionQtyFive { get; set; } + [NotMapped] + public Decimal? ReductionQty { get; set; } = 0; } } diff --git a/Models/ScpEntity/V_TA_ToleranceProportion.cs b/Models/ScpEntity/V_TA_ToleranceProportion.cs new file mode 100644 index 0000000..79140e5 --- /dev/null +++ b/Models/ScpEntity/V_TA_ToleranceProportion.cs @@ -0,0 +1,20 @@ +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace CK.SCP.Models.ScpEntity +{ + public class V_TA_ToleranceProportion + { + [Key] + public long UID { get; set; } + + [StringLength(50)] + public string PartCode { get; set; } + [DisplayName("容差控制默认0.2 20%")] + public string VToleranceProportion { get; set; } + + [DisplayName("零件名称")] + public string PartName { get; set; } + } +} diff --git a/Models/ScpEntity/V_TB_MAXPO_DETAIL.cs b/Models/ScpEntity/V_TB_MAXPO_DETAIL.cs index ae727c4..03e221b 100644 --- a/Models/ScpEntity/V_TB_MAXPO_DETAIL.cs +++ b/Models/ScpEntity/V_TB_MAXPO_DETAIL.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; @@ -59,6 +60,23 @@ namespace CK.SCP.Models.ScpEntity public decimal ReceQty { get; set; } public decimal ReturnQty { get; set; } public bool IsDeleted { get; set; } + [DisplayName("第一次削减量")] + public decimal? ReductionQtyOne { get; set; } + [DisplayName("第二次削减量")] + public decimal? ReductionQtyTwo { get; set; } + [DisplayName("第三次削减量")] + public decimal? ReductionQtyThree { get; set; } + [DisplayName("第四次削减量")] + public decimal? ReductionQtyFour { get; set; } + [DisplayName("第五次削减量")] + public decimal? ReductionQtyFive { get; set; } + [NotMapped] + [DisplayName("单次削减量")] + public decimal ReductionQty { get; set; } = 0; + [DisplayName("订货量吨(当前)")] + public Decimal OrderQtydNow { get; set; } + [DisplayName("地点")] + public string Site { get; set; } } } diff --git a/SCP/SCP.csproj b/SCP/SCP.csproj index 6d2a8d1..d7302d3 100644 --- a/SCP/SCP.csproj +++ b/SCP/SCP.csproj @@ -266,6 +266,7 @@ + @@ -5033,6 +5034,13 @@ BoxType.aspx + + SCP_ToleranceProportion.aspx + ASPXCodeBehind + + + SCP_ToleranceProportion.aspx + Pinfan.aspx ASPXCodeBehind diff --git a/SCP/Views/BasicData/Part.aspx b/SCP/Views/BasicData/Part.aspx index 11d01ce..ef5ad27 100644 --- a/SCP/Views/BasicData/Part.aspx +++ b/SCP/Views/BasicData/Part.aspx @@ -22,6 +22,8 @@ + + diff --git a/SCP/Views/BasicData/Part.aspx.cs b/SCP/Views/BasicData/Part.aspx.cs index 6d4dbef..a3e5cb3 100644 --- a/SCP/Views/BasicData/Part.aspx.cs +++ b/SCP/Views/BasicData/Part.aspx.cs @@ -104,6 +104,7 @@ namespace SCP.BasicData var ret = SCP_PO_CONTROLLER.EXCEL_PART_MOD(list, CurrentUser.FactoryList[0], CurrentUser.Name); if (ret.State == ReturnStatus.Succeed && ret.Result == true) { + Alert.Show("导入成功!"); BindData(); } else @@ -257,5 +258,23 @@ namespace SCP.BasicData } } } + + protected void ButtonTemplate_OnClick(object sender, EventArgs e) + { + IQueryable q = SCPDB.TA_PART; + + if (!string.IsNullOrEmpty(txtPartCode.Text)) + { + q = q.Where(p => p.PartCode.Contains(txtPartCode.Text)); + } + Dictionary cellheader = new Dictionary + { + { "PartCode", "零件号" }, + {"Site","工厂编码" }, + { "ToleranceProportion", "容差" }, + }; + string url = EntityListToExcel2003(cellheader, q.ToList(), "零件容差模板"); + + } } } diff --git a/SCP/Views/BasicData/Part.aspx.designer.cs b/SCP/Views/BasicData/Part.aspx.designer.cs index 6fd69e2..16b826f 100644 --- a/SCP/Views/BasicData/Part.aspx.designer.cs +++ b/SCP/Views/BasicData/Part.aspx.designer.cs @@ -7,11 +7,13 @@ // //------------------------------------------------------------------------------ -namespace SCP.BasicData { - - - public partial class Part { - +namespace SCP.BasicData +{ + + + public partial class Part + { + /// /// form1 控件。 /// @@ -20,7 +22,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.HtmlControls.HtmlForm form1; - + /// /// Panel1 控件。 /// @@ -29,7 +31,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.Panel Panel1; - + /// /// Toolbar2 控件。 /// @@ -38,7 +40,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.Toolbar Toolbar2; - + /// /// Button3 控件。 /// @@ -47,7 +49,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.Button Button3; - + /// /// Button2 控件。 /// @@ -56,7 +58,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.Button Button2; - + /// /// btnSave 控件。 /// @@ -65,7 +67,16 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.Button btnSave; - + + /// + /// ButtonTemplate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.Button ButtonTemplate; + /// /// btnShow 控件。 /// @@ -74,7 +85,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.Button btnShow; - + /// /// FileUp 控件。 /// @@ -83,7 +94,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.FileUpload FileUp; - + /// /// btnInput 控件。 /// @@ -92,7 +103,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.Button btnInput; - + /// /// gp1 控件。 /// @@ -101,7 +112,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.GroupPanel gp1; - + /// /// txtPartCode 控件。 /// @@ -110,7 +121,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.TextBox txtPartCode; - + /// /// DPL_Factory 控件。 /// @@ -119,7 +130,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.DropDownList DPL_Factory; - + /// /// Button1 控件。 /// @@ -128,7 +139,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.Button Button1; - + /// /// Grid1 控件。 /// @@ -137,7 +148,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.Grid Grid1; - + /// /// ToolbarSeparator1 控件。 /// @@ -146,7 +157,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.ToolbarSeparator ToolbarSeparator1; - + /// /// ToolbarText1 控件。 /// @@ -155,7 +166,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.ToolbarText ToolbarText1; - + /// /// ddlGridPageSize 控件。 /// @@ -164,7 +175,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.DropDownList ddlGridPageSize; - + /// /// TXT_QLevel 控件。 /// @@ -173,7 +184,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.TextBox TXT_QLevel; - + /// /// DDL_ReceivedPort 控件。 /// @@ -182,7 +193,7 @@ namespace SCP.BasicData { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUI.DropDownList DDL_ReceivedPort; - + /// /// Window1 控件。 /// diff --git a/SCP/Views/BasicData/SCP_ToleranceProportion.aspx b/SCP/Views/BasicData/SCP_ToleranceProportion.aspx new file mode 100644 index 0000000..60518cd --- /dev/null +++ b/SCP/Views/BasicData/SCP_ToleranceProportion.aspx @@ -0,0 +1,61 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_ToleranceProportion.aspx.cs" Inherits="SCP.Views.BasicData.SCP_ToleranceProportion" %> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SCP/Views/BasicData/SCP_ToleranceProportion.aspx.cs b/SCP/Views/BasicData/SCP_ToleranceProportion.aspx.cs new file mode 100644 index 0000000..d9f09a5 --- /dev/null +++ b/SCP/Views/BasicData/SCP_ToleranceProportion.aspx.cs @@ -0,0 +1,143 @@ +using CK.SCP.Controller; +using CK.SCP.Models.ScpEntity; +using CK.SCP.Models.ScpEntity.ExcelExportEnttity; +using CK.SCP.Utils; +using FineUI; +using System; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using static System.Net.WebRequestMethods; + +namespace SCP.Views.BasicData +{ + public partial class SCP_ToleranceProportion : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindData(); + } + } + + public void BindData() + { + SearchData((result) => { + Grid1.RecordCount = result.Count(); + var list = SortAndPage(result, Grid1); + Grid1.DataSource = list; + Grid1.DataBind(); + }); + } + + public void SearchData(Action> p_action) + { + TA_ToleranceProportion _entity = new TA_ToleranceProportion(); + + _entity.PartCode = txtPartCode.Text; + SCP_ToleranceProportion_Controller.Get_TA_ToleranceProportion_List(_entity, (_ret) => + { + if (_ret.State == ReturnStatus.Succeed) + { + p_action(_ret.Result); + } + }); + } + + + //导出 + public void BtnOutPut_OnClick(object sender, EventArgs e) + { + //_list = SCP_TB_VENDER_CONTROLLER.Getlist(); + //var list = Sort(_list.AsQueryable(), Grid1).ToList(); + //// 2.设置单元格抬头 + //// key:实体对象属性名称,可通过反射获取值 + //// value:Excel列的名称 + //Dictionary cellheader = new Dictionary { + // { "VendId", "供应商编号" }, + // { "VendName", "供应商名称" }, + // { "VendAbbCode", "供应商缩写" }, + // { "VendType", "供应商类型" }, + // { "Country", "国家" }, + // { "City", "城市" }, + // { "Currency", "币种" }, + // { "Address", "地址" }, + // { "ZipCode", "邮编" }, + // { "Contacter", "联系人" }, + // { "Phone", "电话" }, + // { "Fax", "传真" }, + // { "Email", "电子邮件" }, + // { "State", "状态" }, + // { "Remark", "备注" }, + //}; + //string url = EntityListToExcel2003(cellheader, list, "供应商"); + } + + + + + //查询 + protected void btnSearch_OnClick(object sender, EventArgs e) + { + BindData(); + } + + + protected void Grid1_OnPageIndexChange(object sender, GridPageEventArgs e) + { + BindData(); + } + + protected void btnSearch_Click(object sender, EventArgs e) + { + BindData(); + } + + /// + /// 上传文件 + /// + /// + /// + protected void btnInput_Click(object sender, EventArgs e) + { + string _fileName = FileUp.FileName; + if (string.IsNullOrEmpty(_fileName)) + { + Alert.Show("选择文件为空!"); + return; + } + string _lx = _fileName.Split('.')[1]; + Stream _stream = FileUp.PostedFile.InputStream; + DataTable _dt = new DataTable(); + if (_lx == "xls") + { + _dt = ExcelHelper.GetDataTable(_stream); + } + else + { + _dt = ExcelHelper.GetDataTableOfXlsx(_stream); + } + var list = ConvertHelper.ToList(ExcelHelper.RemoveEmpty(_dt)).ToList(); + var ret = SCP_ToleranceProportion_Controller.EXCEL_MOLDSHARING_MOD(list, CurrentUser.FactoryList[0], CurrentUser.Name); + if (ret.State == ReturnStatus.Succeed && ret.Result == true) +{ + Alert.Show("导入成功"); + BindData(); + FileUp.Reset(); + } + else + { + Alert.Show(string.Join("
", ret.MessageList)); + FileUp.Reset(); + } + } + + + + } +} \ No newline at end of file diff --git a/SCP/Views/BasicData/SCP_ToleranceProportion.aspx.designer.cs b/SCP/Views/BasicData/SCP_ToleranceProportion.aspx.designer.cs new file mode 100644 index 0000000..6a26d3c --- /dev/null +++ b/SCP/Views/BasicData/SCP_ToleranceProportion.aspx.designer.cs @@ -0,0 +1,107 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace SCP.Views.BasicData +{ + + + public partial class SCP_ToleranceProportion + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.Panel Panel1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.Toolbar Toolbar1; + + /// + /// Button3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.Button Button3; + + /// + /// txtPartCode 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.TextBox txtPartCode; + + /// + /// btnSearch 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.Button btnSearch; + + /// + /// FileUp 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.FileUpload FileUp; + + /// + /// btnInput 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.Button btnInput; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.Grid Grid1; + } +} diff --git a/SCP/Views/SupplierData/SCP_ASN_CREATE.aspx.cs b/SCP/Views/SupplierData/SCP_ASN_CREATE.aspx.cs index 28ef17b..924f463 100644 --- a/SCP/Views/SupplierData/SCP_ASN_CREATE.aspx.cs +++ b/SCP/Views/SupplierData/SCP_ASN_CREATE.aspx.cs @@ -22,7 +22,7 @@ namespace SCP.SupplierData { if (!IsPostBack) { - + GetV_TB_POData(); if (Request.QueryString["State"] != null) { @@ -50,13 +50,14 @@ namespace SCP.SupplierData private void SetRoleRule() { IsPriceVisible(Grid_V_TB_ASK_DETAIL, "价格"); - + } public void SearchV_TB_ASK_DETAILData(Action> p_action) { V_TB_ASK_DETAIL _entity = new V_TB_ASK_DETAIL(); _entity.AskBillNum = Request["AskBillNum"]; - SCP_ASK_CONTROLLER.Get_V_TB_ASK_DETAIL_List(_entity, (_ret) => { + SCP_ASK_CONTROLLER.Get_V_TB_ASK_DETAIL_List(_entity, (_ret) => + { if (_ret.State == ReturnStatus.Succeed) { p_action(_ret.Result); @@ -97,11 +98,12 @@ namespace SCP.SupplierData } }); } - public void BindDetail(bool p_state=false) - { - SearchV_TB_ASK_DETAILData((ret) => { + public void BindDetail(bool p_state = false) + { + SearchV_TB_ASK_DETAILData((ret) => + { Grid_V_TB_ASK_DETAIL.RecordCount = ret.Count(); - var list = SortAndPage(ret, Grid_V_TB_ASK_DETAIL); + var list = SortAndPage(ret, Grid_V_TB_ASK_DETAIL); var _ls = SCP_ASK_CONTROLLER.Get_CAN_SHIPQTY(list.ToList()); var _notifyList = new List(); _ls.ForEach(p => @@ -122,8 +124,8 @@ namespace SCP.SupplierData { p.TempQty = 0; } - } - ); + } + ); Grid_V_TB_ASK_DETAIL.DataSource = _ls; Grid_V_TB_ASK_DETAIL.DataBind(); if (_notifyList.Count > 0) @@ -165,15 +167,15 @@ namespace SCP.SupplierData List _askDetaillist = new List(); protected void btnCreate_Click(object sender, EventArgs e) { - if (string.IsNullOrEmpty(TXT_AskBillNum.Text) || string.IsNullOrEmpty(TXT_ShipUser.Text) || DP_ReceiveTime.SelectedDate==null || DP_ShipTime.SelectedDate==null) + if (string.IsNullOrEmpty(TXT_AskBillNum.Text) || string.IsNullOrEmpty(TXT_ShipUser.Text) || DP_ReceiveTime.SelectedDate == null || DP_ShipTime.SelectedDate == null) { PageContext.RegisterStartupScript(Alert.GetShowInTopReference("要货看板单据编号、发货人、到货时间、收货时间不能为空")); return; } - - var _model=Session["Ask"] as V_TB_ASK; - + + var _model = Session["Ask"] as V_TB_ASK; + if (_model == null) { PageContext.RegisterStartupScript(Alert.GetShowInTopReference("浏览器缓存丢失,麻烦刷新页面重新操作")); @@ -182,97 +184,98 @@ namespace SCP.SupplierData if (_model.State != (int)AskState.Confirm && _model.State != (int)AskState.Receive && _model.State != (int)AskState.Ship) { Alert.Show("要货看板必须为确认后状态"); - return; + return; } - + Dictionary> modifiedDict = Grid_V_TB_ASK_DETAIL.GetModifiedDict(); for (int i = 0, count = Grid_V_TB_ASK_DETAIL.Rows.Count; i < count; i++) - { - V_TB_ASK_DETAIL _entity = new V_TB_ASK_DETAIL(); - object[] rowDataKeys = Grid_V_TB_ASK_DETAIL.DataKeys[i]; - _entity.UID = ConvertHelper.To(rowDataKeys[0]); - _entity.PoBillNum = rowDataKeys[1] as string; - _entity.PoLine = ConvertHelper.To(rowDataKeys[2]); - _entity.PartCode = rowDataKeys[3] as string; - _entity.ShippedQty = ConvertHelper.To(rowDataKeys[4]); - _entity.ReceivedQty = ConvertHelper.To(rowDataKeys[5]); - _entity.BeginTime = ConvertHelper.To(rowDataKeys[6]); - _entity.EndTime = ConvertHelper.To(rowDataKeys[7]); - _entity.PoUnit = rowDataKeys[8] as string; - _entity.LocUnit = rowDataKeys[9] as string; - _entity.Price = ConvertHelper.To(rowDataKeys[10]); - _entity.Currency = rowDataKeys[11] as string; - _entity.PackQty = ConvertHelper.To(rowDataKeys[12]); - _entity.UnConv = ConvertHelper.To(rowDataKeys[13]); - _entity.DockCode = rowDataKeys[14] as string; - _entity.State = ConvertHelper.To(rowDataKeys[15]); - _entity.Remark = rowDataKeys[21] as string; //把用户信息传给备注 - _entity.CreateTime = ConvertHelper.To(rowDataKeys[17]); - _entity.CreateUser = rowDataKeys[18] as string; - _entity.UpdateTime = ConvertHelper.To(rowDataKeys[19]); - _entity.UpdateUser = rowDataKeys[20] as string; - _entity.UpdateInfo = rowDataKeys[21] as string; - _entity.IsDeleted = ConvertHelper.To(rowDataKeys[22]); - _entity.PartDesc1 = rowDataKeys[23] as string; - _entity.CurrencyDesc = rowDataKeys[24] as string; - _entity.Site = rowDataKeys[25] as string; - _entity.SubSite = rowDataKeys[36] as string; - _entity.VendName = rowDataKeys[26] as string; - _entity.PartDesc2 = rowDataKeys[27] as string; - _entity.AskBillNum = rowDataKeys[28] as string; - _entity.AskQty = ConvertHelper.To(rowDataKeys[29]); - _entity.TempQty = ConvertHelper.To(rowDataKeys[30]); - _entity.ReceivedPort = rowDataKeys[31] as string; - _entity.ReduceQty = ConvertHelper.To(rowDataKeys[33]); - _entity.ValidityDays = ConvertHelper.To(rowDataKeys[34]); - _entity.Batch = ConvertHelper.To(rowDataKeys[35]); - _entity.Time = ConvertHelper.To(rowDataKeys[36]); + { + V_TB_ASK_DETAIL _entity = new V_TB_ASK_DETAIL(); + object[] rowDataKeys = Grid_V_TB_ASK_DETAIL.DataKeys[i]; + _entity.UID = ConvertHelper.To(rowDataKeys[0]); + _entity.PoBillNum = rowDataKeys[1] as string; + _entity.PoLine = ConvertHelper.To(rowDataKeys[2]); + _entity.PartCode = rowDataKeys[3] as string; + _entity.ShippedQty = ConvertHelper.To(rowDataKeys[4]); + _entity.ReceivedQty = ConvertHelper.To(rowDataKeys[5]); + _entity.BeginTime = ConvertHelper.To(rowDataKeys[6]); + _entity.EndTime = ConvertHelper.To(rowDataKeys[7]); + _entity.PoUnit = rowDataKeys[8] as string; + _entity.LocUnit = rowDataKeys[9] as string; + _entity.Price = ConvertHelper.To(rowDataKeys[10]); + _entity.Currency = rowDataKeys[11] as string; + _entity.PackQty = ConvertHelper.To(rowDataKeys[12]); + _entity.UnConv = ConvertHelper.To(rowDataKeys[13]); + _entity.DockCode = rowDataKeys[14] as string; + _entity.State = ConvertHelper.To(rowDataKeys[15]); + _entity.Remark = rowDataKeys[21] as string; //把用户信息传给备注 + _entity.CreateTime = ConvertHelper.To(rowDataKeys[17]); + _entity.CreateUser = rowDataKeys[18] as string; + _entity.UpdateTime = ConvertHelper.To(rowDataKeys[19]); + _entity.UpdateUser = rowDataKeys[20] as string; + _entity.UpdateInfo = rowDataKeys[21] as string; + _entity.IsDeleted = ConvertHelper.To(rowDataKeys[22]); + _entity.PartDesc1 = rowDataKeys[23] as string; + _entity.CurrencyDesc = rowDataKeys[24] as string; + _entity.Site = rowDataKeys[25] as string; + _entity.SubSite = rowDataKeys[36] as string; + _entity.VendName = rowDataKeys[26] as string; + _entity.PartDesc2 = rowDataKeys[27] as string; + _entity.AskBillNum = rowDataKeys[28] as string; + _entity.AskQty = ConvertHelper.To(rowDataKeys[29]); + _entity.TempQty = ConvertHelper.To(rowDataKeys[30]); + _entity.ReceivedPort = rowDataKeys[31] as string; + _entity.ReduceQty = ConvertHelper.To(rowDataKeys[33]); + _entity.ValidityDays = ConvertHelper.To(rowDataKeys[34]); + _entity.Batch = ConvertHelper.To(rowDataKeys[35]); + _entity.Time = ConvertHelper.To(rowDataKeys[36]); _entity.MaxTime = ConvertHelper.To(rowDataKeys[37]); //_entity.ProduceDate = DateTime.Now; if (Convert.ToDecimal(_entity.AskQty) == 0) - { - PageContext.RegisterStartupScript(Alert.GetShowInTopReference("要货看板数量不能为 0")); - return; - } - + { + PageContext.RegisterStartupScript(Alert.GetShowInTopReference("要货看板数量不能为 0")); + return; + } + if (modifiedDict.Keys.Contains(i)) { var modifyValue = modifiedDict[i]; - var _Qty1 = modifyValue.Keys.Contains("TempQty") ? modifyValue["TempQty"] : _entity.TempQty; - var _Batch1 = modifyValue.Keys.Contains("Batch") ? modifyValue["Batch"] : _entity.Batch; + var _Qty1 = modifyValue.Keys.Contains("TempQty") ? modifyValue["TempQty"] : _entity.TempQty; + var _Batch1 = modifyValue.Keys.Contains("Batch") ? modifyValue["Batch"] : _entity.Batch; var _VendBatch = modifyValue.Keys.Contains("VendBatch") ? modifyValue["VendBatch"].ToString() : "55"; - var _Sheets= modifyValue.Keys.Contains("Sheets") ? modifyValue["Sheets"] : _entity.ReceivedQty; - - var _ProduceDate = modifyValue.Keys.Contains("Time") ? modifyValue["Time"].ToString() :"33"; - - if (_ProduceDate=="33"&& ConvertHelper.To(_Qty1) > 0) + var _Sheets = modifyValue.Keys.Contains("Sheets") ? modifyValue["Sheets"] : _entity.ReceivedQty; + + var _ProduceDate = modifyValue.Keys.Contains("Time") ? modifyValue["Time"].ToString() : "33"; + + if (_ProduceDate == "33" && ConvertHelper.To(_Qty1) > 0) { Alert.Show("生产日期不能为空!"); return; } if (string.IsNullOrEmpty(_entity.MaxTime)) { - if (DateTime.Parse(_ProduceDate) > DateTime.Now){ + if (DateTime.Parse(_ProduceDate) > DateTime.Now) + { Alert.Show("生产日期不能大于当前日期"); return; } } - if (!string.IsNullOrEmpty(_entity.MaxTime)) + if (!string.IsNullOrEmpty(_entity.MaxTime)) { if (DateTime.Parse(_ProduceDate) < DateTime.Parse(_entity.MaxTime)) { Alert.Show("生产日期不能小于目前最大生产日期!"); return; } - if (DateTime.Parse(_ProduceDate) > DateTime.Now&& DateTime.Parse(_ProduceDate) != DateTime.Parse(_entity.MaxTime)) + if (DateTime.Parse(_ProduceDate) > DateTime.Now && DateTime.Parse(_ProduceDate) != DateTime.Parse(_entity.MaxTime)) { Alert.Show("生产日期不能大于当前日期,如果目前最大生产日期已经大于当前日期,请选择最大生产日期进行发货!"); return; } } - + object _PackQty = 0; if (modifyValue.Keys.Contains("PackQty")) { @@ -322,12 +325,12 @@ namespace SCP.SupplierData // _detail.ReduceQty = 0; // } //} - _detail.VendBatch = _VendBatch.ToString(); + _detail.VendBatch = _VendBatch.ToString(); _detail.ProduceDate = dt; _detail.ReceivedQty = decimal.Parse(_Sheets.ToString()); _askDetaillist.Add(_detail); } - } + } if (modifyValue.Keys.Contains("Qty2") && modifyValue.Keys.Contains("Batch2")) { var _Qty2 = modifyValue["Qty2"]; @@ -371,11 +374,11 @@ namespace SCP.SupplierData // } //} _detail.ReceivedQty = decimal.Parse(_Sheets.ToString()); - _detail.ProduceDate = DateTime.Parse(_ProduceDate.ToString()); + _detail.ProduceDate = DateTime.Parse(_ProduceDate.ToString()); _askDetaillist.Add(_detail); } } - } + } if (modifyValue.Keys.Contains("Qty3") && modifyValue.Keys.Contains("Batch3")) { var _Qty3 = modifyValue["Qty3"]; @@ -418,48 +421,45 @@ namespace SCP.SupplierData _detail.ProduceDate = DateTime.Parse(_ProduceDate.ToString()); _askDetaillist.Add(_detail); } - + } } - - if (QtyAll > _entity.AskQty - _entity.ShippedQty - _entity.ReduceQty&&(_entity.DockCode=="WS"|| _entity.DockCode == "WG")) - { - PageContext.RegisterStartupScript(Alert.GetShowInTopReference(_entity.PartCode + "发货数量>可发数量")); - return; - } + + if (_VendBatch == "55" && (_entity.DockCode == "YC" || _entity.DockCode == "WT") && QtyAll > 0) { Alert.Show("供应商批次不能为空"); return; - } - if (_entity.CreateTime.ToString("MM")=="05"&& _entity.CreateTime.Year.ToString()=="2021") + } + if (_entity.CreateTime.ToString("MM") == "05" && _entity.CreateTime.Year.ToString() == "2021") { Alert.Show("五月份的订单不能发货,如订单不够请联系对应计划员下新订单"); return; } - if ((_entity.AskQty - _entity.ShippedQty - _entity.ReduceQty).Value <= 0) + //校验是否超发 + List message = SCP_ToleranceProportion_Controller.CheckToleranceProportion(_entity,QtyAll); + + if (message.Count() > 0) { - if (QtyAll > 0) { - PageContext.RegisterStartupScript(Alert.GetShowInTopReference(_entity.PartCode + "只能超发一次哦")); + Alert.Show(string.Join("
", message)); return; - } } _entity.ShippedQty = _entity.ShippedQty + QtyAll; - + } else { - if (_entity.TempQty > 0||_entity.TempQty<0) + if (_entity.TempQty > 0 || _entity.TempQty < 0) { - V_TB_ASK_DETAIL _detail = ConvertHelper.GetObjectClone(_entity); - _entity.Batch = DateTime.Now.ToString("yyMMdd"); - _entity.VendBatch = DateTime.Now.ToString("yyMMdd"); - _entity.ShippedQty = _entity.TempQty; - _entity.ProduceDate = DateTime.Now; - _entity.PackQty = _entity.PackQty; - _askDetaillist.Add(_detail); + V_TB_ASK_DETAIL _detail = ConvertHelper.GetObjectClone(_entity); + _entity.Batch = DateTime.Now.ToString("yyMMdd"); + _entity.VendBatch = DateTime.Now.ToString("yyMMdd"); + _entity.ShippedQty = _entity.TempQty; + _entity.ProduceDate = DateTime.Now; + _entity.PackQty = _entity.PackQty; + _askDetaillist.Add(_detail); } - } + } } _model.ShipTime = DP_ShipTime.SelectedDate; _model.ShipUser = TXT_ShipUser.Text; @@ -474,25 +474,25 @@ namespace SCP.SupplierData if (CurrentUser.FactoryList.Count > 0) { - if (CurrentUser.FactoryList.FirstOrDefault()== "CNS" || CurrentUser.FactoryList.FirstOrDefault() == "BJCIAI") + if (CurrentUser.FactoryList.FirstOrDefault() == "CNS" || CurrentUser.FactoryList.FirstOrDefault() == "BJCIAI") { _askDetaillist.ForEach(p => { p.VendBatch = p.Batch; - + }); } } var vend = _askDetaillist.First(); List errlist = new List(); - + if (errlist.Count() > 0) { string STR = String.Join(";", errlist); Alert.Show(STR); return; } - var ret=SCP_ASK_CONTROLLER.Save_ASK_TO_ASN(_model, _askDetaillist, TXT_PlateNumber.Text, CurrentUser.ChineseName ,CurrentUser.CellPhone); + var ret = SCP_ASK_CONTROLLER.Save_ASK_TO_ASN(_model, _askDetaillist, TXT_PlateNumber.Text, CurrentUser.ChineseName, CurrentUser.CellPhone); if (ret.State == ReturnStatus.Succeed) { Alert.Show("生成发货单成功!"); @@ -500,8 +500,8 @@ namespace SCP.SupplierData BindDetail(); } } - - private string GetBatch(DateTime dt) + + private string GetBatch(DateTime dt) { string strResult = ""; @@ -543,10 +543,10 @@ namespace SCP.SupplierData protected void Grid_V_TB_ASK_DETAIL_RowDataBound(object sender, GridRowEventArgs e) { - + //GridRow row = Grid_V_TB_ASK_DETAIL.Rows[e.RowIndex]; //object[] rowDataKeys = Grid_V_TB_ASK_DETAIL.DataKeys[e.RowIndex]; - + ////var TXT_PackQty = (NumberBox)row.FindControl("TXT_PackQty"); ////var txtBatch1 = (System.Web.UI.WebControls.TextBox)row.FindControl("txtBatch1"); ////var txtBatch2 = (System.Web.UI.WebControls.TextBox)row.FindControl("txtBatch2"); @@ -559,7 +559,7 @@ namespace SCP.SupplierData //var a = row.TemplateContainers; //if (_shippedQty >= _askQty) //{ - + // //foreach (GridColumn column in Grid_V_TB_ASK_DETAIL.Columns) // //{ // // e @@ -569,7 +569,7 @@ namespace SCP.SupplierData //else //{ // //txtQty1.Text = "0"; - + // //txtBatch1.Text = DateTime.Now.ToString("yyMMdd"); //} } diff --git a/SCP/Views/SupplierData/SCP_ASN_MANYCREATE.aspx.cs b/SCP/Views/SupplierData/SCP_ASN_MANYCREATE.aspx.cs index 1e64ddf..517762b 100644 --- a/SCP/Views/SupplierData/SCP_ASN_MANYCREATE.aspx.cs +++ b/SCP/Views/SupplierData/SCP_ASN_MANYCREATE.aspx.cs @@ -362,24 +362,34 @@ namespace SCP.Views.SupplierData } } - if (QtyAll > _entity.AskQty - _entity.ShippedQty - _entity.ReduceQty && (_entity.DockCode == "WS" || _entity.DockCode == "WG")) - { - PageContext.RegisterStartupScript(Alert.GetShowInTopReference(_entity.PartCode + "发货数量>可发数量")); - return; - } - + if (_entity.CreateTime.ToString("MM") == "05" && _entity.CreateTime.Year.ToString() == "2021") { Alert.Show("五月份的订单不能发货,如订单不够请联系对应计划员下新订单"); return; } - if ((_entity.AskQty - _entity.ShippedQty - _entity.ReduceQty).Value <= 0) + //if (QtyAll > _entity.AskQty - _entity.ShippedQty - _entity.ReduceQty && (_entity.DockCode == "WS" || _entity.DockCode == "WG")) + //{ + // PageContext.RegisterStartupScript(Alert.GetShowInTopReference(_entity.PartCode + "发货数量>可发数量")); + // return; + //} + + //if ((_entity.AskQty - _entity.ShippedQty - _entity.ReduceQty).Value <= 0) + //{ + // if (QtyAll > 0) + // { + // PageContext.RegisterStartupScript(Alert.GetShowInTopReference(_entity.PartCode + "只能超发一次哦")); + // return; + // } + //} + + //校验是否超发 + List message = SCP_ToleranceProportion_Controller.CheckToleranceProportion(_entity, QtyAll); + + if (message.Count() > 0) { - if (QtyAll > 0) - { - PageContext.RegisterStartupScript(Alert.GetShowInTopReference(_entity.PartCode + "只能超发一次哦")); - return; - } + Alert.Show(string.Join("
", message)); + return; } _entity.ShippedQty = _entity.ShippedQty + QtyAll; diff --git a/SCP/Views/富维冲压件/SCP_PO_MAX.aspx b/SCP/Views/富维冲压件/SCP_PO_MAX.aspx index 3fb37aa..cded888 100644 --- a/SCP/Views/富维冲压件/SCP_PO_MAX.aspx +++ b/SCP/Views/富维冲压件/SCP_PO_MAX.aspx @@ -46,14 +46,14 @@ - + <%-- - + --%> diff --git a/SCP/Views/富维冲压件/SCP_PO_MAX.aspx.cs b/SCP/Views/富维冲压件/SCP_PO_MAX.aspx.cs index df24aeb..0bd4c65 100644 --- a/SCP/Views/富维冲压件/SCP_PO_MAX.aspx.cs +++ b/SCP/Views/富维冲压件/SCP_PO_MAX.aspx.cs @@ -243,12 +243,12 @@ namespace SCP.Views.富维冲压件 { _dt = ExcelHelper.GetDataTableOfXlsx(_stream); } - if (string.IsNullOrEmpty(DP_HTMONTHDate.SelectedDate.ToString())) - { - Alert.Show("请选择合同月再点击导入!"); - return; - } - DateTime month = DateTime.Parse(DP_HTMONTHDate.SelectedDate.ToString()); + //if (string.IsNullOrEmpty(DP_HTMONTHDate.SelectedDate.ToString())) + //{ + // Alert.Show("请选择合同月再点击导入!"); + // return; + //} + DateTime month = DateTime.Now.AddMonths(1); var time = month.ToString("yyyyMM"); var list = ConvertHelper.ToList(ExcelHelper.RemoveEmpty(_dt)).ToList(); List poerr = new List(); @@ -309,7 +309,7 @@ namespace SCP.Views.富维冲压件 _dt = ExcelHelper.GetDataTableOfXlsx(_stream); } - DateTime month = DateTime.Parse(DP_HTMONTHDate.SelectedDate.ToString()); + DateTime month = DateTime.Now.AddMonths(1); var time = month.ToString("yyyyMM"); var list = ConvertHelper.ToList(ExcelHelper.RemoveEmpty(_dt)).ToList(); var ret = SCP_PO_CONTROLLER.EXCEL_PO_MAX(_dt, list, CurrentUser.FactoryList[0], CurrentUser.Name, DateTime.Now, PoState.Open, CurrentUser.SubSiteList[0], CurrentUser.ChineseName, time); diff --git a/SCP/Views/富维冲压件/SCP_PO_MAX.aspx.designer.cs b/SCP/Views/富维冲压件/SCP_PO_MAX.aspx.designer.cs index 69e220f..80c26b7 100644 --- a/SCP/Views/富维冲压件/SCP_PO_MAX.aspx.designer.cs +++ b/SCP/Views/富维冲压件/SCP_PO_MAX.aspx.designer.cs @@ -113,24 +113,6 @@ namespace SCP.Views.富维冲压件 /// protected global::FineUI.GroupPanel gp1; - /// - /// FormRow_1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUI.FormRow FormRow_1; - - /// - /// DP_HTMONTHDate 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUI.DatePicker DP_HTMONTHDate; - /// /// FormRow_2 控件。 /// diff --git a/SCP/Views/富维冲压件/SCP_PO_MAX_DETAIL.aspx b/SCP/Views/富维冲压件/SCP_PO_MAX_DETAIL.aspx index b96d925..c63ba96 100644 --- a/SCP/Views/富维冲压件/SCP_PO_MAX_DETAIL.aspx +++ b/SCP/Views/富维冲压件/SCP_PO_MAX_DETAIL.aspx @@ -1,87 +1,89 @@ -<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_PO_MAX_DETAIL.aspx.cs" Inherits="SCP.Views.富维冲压件.SCP_PO_MAX_DETAIL" %> +<%@ Page Language="C#" AutoEventWireup="True" CodeBehind="SCP_PO_MAX_DETAIL.aspx.cs" Inherits="SCP.Views.富维冲压件.SCP_PO_MAX_DETAIL" %> - +
- + - - + <%-- --%> + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + -