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