Browse Source

北汽加成都新域以及多地点导入

master
qian 4 months ago
parent
commit
c96e31bef4
  1. 410
      北京北汽/Controller/SCP_DC_UNI_CONTROLLER.cs
  2. 6
      北京北汽/Controller/SCP_PO_CONTROLLER.cs
  3. 26
      北京北汽/Controller/SCP_TA_LANGUAGE_CONTROLLER.cs
  4. 14
      北京北汽/Controller/SCP_TB_ADDRESS_BUYER_CONTROLLER.cs
  5. 9
      北京北汽/Controller/SCP_TB_PRICE_CONTROLLER.cs
  6. 4
      北京北汽/Models/ScpEntity/TB_ADDRESS.cs
  7. 1
      北京北汽/Models/ScpEntity/TB_ADDRESS_BUYER.cs
  8. 6
      北京北汽/SCP/Views/BasicData/SCP_PRICE_TemporaryPrice.aspx.cs
  9. 32
      北京北汽/SCP/Views/BasicData/SCP_TB_Address.aspx.cs
  10. 8
      北京北汽/SCP/Views/BasicData/SCP_TB_Address_Buyer.aspx.cs
  11. 2
      北京北汽/SCP/Views/PlanData/SCP_ASK.aspx
  12. 7
      北京北汽/SCP/Views/PlanData/SCP_ASK.aspx.cs
  13. 12
      北京北汽/SCP/Views/PlanData/SCP_PO_CQ.aspx.cs
  14. 23
      北京北汽/SCP/Views/PlanData/SCP_PO_CREATE_ASK.aspx.cs
  15. 6
      北京北汽/SCP/Views/SupplierData/SCP_ASN_DETAIL.aspx.cs
  16. 2
      北京北汽/SCP/grf/Material.grf
  17. 2
      北京北汽/SCP/grf/Material_CQ.grf
  18. 2
      北京北汽/SCP/grf/SendBill_CQ.grf

410
北京北汽/Controller/SCP_DC_UNI_CONTROLLER.cs

@ -18,6 +18,7 @@ using System.Transactions;
using System.Data.Entity.Core;
using System.Security.Cryptography;
using System.Data.Entity;
using System.Collections.ObjectModel;
//using WebSrvAPITest;
namespace CK.SCP.Controller
@ -52,7 +53,7 @@ namespace CK.SCP.Controller
ResultObject<List<TEA_SUBSCRIBE>> _ret = new ResultObject<List<TEA_SUBSCRIBE>>();
try
{
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
{
IQueryable<TEA_SUBSCRIBE> q = db.TEA_SUBSCRIBE;
if (!string.IsNullOrEmpty(p_entity.TableName))
@ -112,7 +113,7 @@ namespace CK.SCP.Controller
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
{
foreach (var itm in p_entitys)
{
@ -148,7 +149,7 @@ namespace CK.SCP.Controller
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
{
foreach (var itm in p_entitys)
{
@ -180,84 +181,32 @@ namespace CK.SCP.Controller
/// 获取
/// </summary>
/// <returns></returns>
public static List<TEA_TASK_SUB> Get_TEA_TASK_SUB_List(ExchangeCenterContext db,TEA_TASK_SUB p_entity)
{
List<TEA_TASK_SUB> list = new List<TEA_TASK_SUB>();
//public static List<TEA_TASK_SUB> Get_TEA_TASK_SUB_List(TEA_TASK_SUB p_entity)
//{
// List<TEA_TASK_SUB> list = new List<TEA_TASK_SUB>();
string _sql = "select * from TEA_TASK_SUB where TaskState = '{0}' and Subscriber = '{1}'";
_sql = string.Format(_sql, (int)p_entity.TaskState,p_entity.Subscriber);
list = db.Database.SqlQuery<TEA_TASK_SUB>(_sql).ToList();
return list;
}
// using (var db = EntitiesFactory.CreateExchangeCenterInstance())
// {
// string _sql = "select * from TEA_TASK_SUB where TaskState = '{0}' and Subscriber = '{1}'";
// _sql = string.Format(_sql, (int)p_entity.TaskState, p_entity.Subscriber);
// list = db.Database.SqlQuery<TEA_TASK_SUB>(_sql).ToList();
// }
// return list;
//}
public static ResultObject<List<TEA_TASK_SUB>> Get_TEA_TASK_SUB_List(TEA_TASK_SUB p_entity)
{
ResultObject<List<TEA_TASK_SUB>> _ret = new ResultObject<List<TEA_TASK_SUB>>();
try
{
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
{
IQueryable<TEA_TASK_SUB> q = db.TEA_TASK_SUB;
if (!string.IsNullOrEmpty(p_entity.TableName))
{
q = q.Where(p => p.TableName.Contains(p_entity.TableName));
}
if (!string.IsNullOrEmpty(p_entity.Creator))
{
q = q.Where(p => p.Creator.Contains(p_entity.Creator));
}
if (p_entity.DataCount != 0)
{
q = q.Where(p => p.DataCount == p_entity.DataCount);
}
if (!string.IsNullOrEmpty(p_entity.Subscriber))
{
q = q.Where(p => p.Subscriber == p_entity.Subscriber);
}
if (p_entity.FailedCount != 0)
{
q = q.Where(p => p.FailedCount == p_entity.FailedCount);
}
if (!string.IsNullOrEmpty(p_entity.FailedInfo))
{
q = q.Where(p => p.FailedInfo.Contains(p_entity.FailedInfo));
}
if (!string.IsNullOrEmpty(p_entity.Domain))
{
q = q.Where(p => p.Domain.Contains(p_entity.Domain));
}
if (!string.IsNullOrEmpty(p_entity.Site))
{
q = q.Where(p => p.Site.Contains(p_entity.Site));
}
if (p_entity.UID != 0)
{
q = q.Where(p => p.UID == p_entity.UID);
}
if (!string.IsNullOrEmpty(p_entity.CreateUser))
{
q = q.Where(p => p.CreateUser.Contains(p_entity.CreateUser));
}
if (!string.IsNullOrEmpty(p_entity.Remark))
{
q = q.Where(p => p.Remark.Contains(p_entity.Remark));
}
if (!string.IsNullOrEmpty(p_entity.UpdateUser))
{
q = q.Where(p => p.UpdateUser.Contains(p_entity.UpdateUser));
}
if (p_entity.IsChecked != false)
{
q = q.Where(p => p.IsChecked == p_entity.IsChecked);
}
//if (!string.IsNullOrEmpty(p_entity.TaskState))
//{
// q = q.Where(p => p.UpdateUser.Contains(p_entity.UpdateUser));
//}
q = q.Where(p => p.TaskState==p_entity.TaskState);
string _sql = "select * from TEA_TASK_SUB with(nolock) where TaskState = '{0}' and Subscriber = '{1}'";
_sql = string.Format(_sql, (int)p_entity.TaskState, p_entity.Subscriber);
var q = db.Database.SqlQuery<TEA_TASK_SUB>(_sql).OrderBy(p=>p.CreateTime).ToList();
_ret.State = ReturnStatus.Succeed;
_ret.Result = q.OrderBy(p => p.CreateTime).ToList();
_ret.Result = q;
}
}
catch (Exception e)
@ -293,7 +242,7 @@ namespace CK.SCP.Controller
return _ret;
}
public static ResultObject<bool> CREATE_TEA_TASK_SUB(ExchangeCenterContext db, bool p_ismasterslave ,TEA_TASK_SUB p_task)
public static ResultObject<bool> CREATE_TEA_TASK_SUB(ExchangeCenterContext db, bool p_ismasterslave, TEA_TASK_SUB p_task)
{
ResultObject<bool> _ret = new ResultObject<bool>();
try
@ -385,7 +334,7 @@ namespace CK.SCP.Controller
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
{
foreach (var itm in p_entitys)
{
@ -407,23 +356,24 @@ namespace CK.SCP.Controller
public static void ReadService(Action<ResultObject<bool>> p_action)
{
ResultObject<bool> result = new ResultObject<bool>();
ExchangeCenterContext db = EntitiesFactory.CreateExchangeCenterInstance();
//ExchangeCenterContext db = EntitiesFactory.CreateExchangeCenterInstance();
// ResultObject<List<LogModel>> result = new ResultObject<List<LogModel>>();
//var _result = Get_TEA_TASK_SUB_List(new TEA_TASK_SUB() { TaskState = EnumTaskState.Unread, Subscriber = "SCP"});
List<TEA_TASK_SUB> tasklist = Get_TEA_TASK_SUB_List(db,new TEA_TASK_SUB() { TaskState = EnumTaskState.Unread, Subscriber = "SCP" });
if (tasklist.Count()>0)
//if (_result.State == ReturnStatus.Succeed)
var _result = Get_TEA_TASK_SUB_List(new TEA_TASK_SUB() { TaskState = EnumTaskState.Unread, Subscriber = "SCP"});
//List<TEA_TASK_SUB> tasklist = Get_TEA_TASK_SUB_List(new TEA_TASK_SUB() { TaskState = EnumTaskState.Unread, Subscriber = "SCP" });
//if (tasklist.Count() > 0)
if (_result.State == ReturnStatus.Succeed)
{
foreach (var _task in tasklist)
//foreach (var _task in _result.Result)
//foreach (var _task in tasklist)
foreach (var _task in _result.Result)
{
ScpEntities scpdb = EntitiesFactory.CreateScpInstance();
DataCenterContext dc = EntitiesFactory.CreateDataCenterInstance();
AppBoxContext authdb = EntitiesFactory.CreateAppBoxInstance();
//ExchangeCenterContext db = EntitiesFactory.CreateExchangeCenterInstance();
ExchangeCenterContext db = EntitiesFactory.CreateExchangeCenterInstance();
using (var scope =
// 注释内容可去掉mdtc
//new TransactionScope(TransactionScopeOption.Suppress, new TransactionOptions()
// 注释内容可去掉dtc
//new TransactionScope(TransactionScopeOption.Suppress, new TransactionOptions()
new TransactionScope(TransactionScopeOption.Required, new TransactionOptions()
{
IsolationLevel = System.Transactions.IsolationLevel.Serializable,
@ -470,15 +420,19 @@ namespace CK.SCP.Controller
break;
case "TES_SUPPLIER":
var _supplierlist = db.TES_SUPPLIER.Where(p => p.TaskID == _task.TaskID).ToList();
result = UpdateSupplier(_supplierlist, scpdb,authdb, _task);
result = UpdateSupplier(_supplierlist, scpdb, authdb, _task);
result.Message = _task.TaskID.ToString();
Update_TEA_TASK_SUB(db, _task);
EntitiesFactory.SaveDb(scpdb);
EntitiesFactory.SaveDb(db);
EntitiesFactory.SaveDb(dc);
EntitiesFactory.SaveDb(authdb);
scope.Complete();
scpdb.BulkSaveChanges();
db.BulkSaveChanges();
authdb.BulkSaveChanges();
dc.BulkSaveChanges();
//EntitiesFactory.SaveDb(scpdb);
//EntitiesFactory.SaveDb(db);
//EntitiesFactory.SaveDb(dc);
//EntitiesFactory.SaveDb(authdb);
UpdateSupplierExtend(_supplierlist);
scope.Complete();
break;
case "TES_PART_MSTR":
result = UpdatePart(db, scpdb, _task);
@ -498,7 +452,7 @@ namespace CK.SCP.Controller
EntitiesFactory.SaveDb(dc);
scope.Complete();
break;
// 作废asn单
// 作废asn单
case "TED_SCRAPASN":
result = UpApAsn(db, scpdb, _task);
result.Message = _task.TaskID.ToString();
@ -517,33 +471,38 @@ namespace CK.SCP.Controller
result.State = ReturnStatus.Succeed;
result.Result = true;
}
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);
});
}
scope.Dispose();
result.State = ReturnStatus.Failed;
result.ErrorList.Add(dbEx);
}
catch (OptimisticConcurrencyException ex)//并发冲突异常
{
//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);
// });
// }
// scope.Dispose();
// result.State = ReturnStatus.Failed;
// result.ErrorList.Add(dbEx);
//}
//catch (OptimisticConcurrencyException ex)//并发冲突异常
//{
scope.Dispose();
result.State = ReturnStatus.Failed;
result.ErrorList.Add(ex);
}
// scope.Dispose();
// result.State = ReturnStatus.Failed;
// result.ErrorList.Add(ex);
//}
catch (Exception ex)
{
scope.Dispose();
result.State = ReturnStatus.Failed;
result.ErrorList.Add(ex);
result.Message = _task.TaskID.ToString();
result.Message = ex.Message; //_task.TaskID.ToString();
if (ex.InnerException != null)
{
result.Message = ex.InnerException.Message;
}
// result.MessageList.Add("任务编号:" + _task.TaskID + "错误信息:" + ex.Message);
}
}
@ -568,11 +527,12 @@ namespace CK.SCP.Controller
{
ScpEntities scpdb = EntitiesFactory.CreateScpInstance();
ExchangeCenterContext db = EntitiesFactory.CreateExchangeCenterInstance();
var _list = scpdb.TS_UNI_API.Where(p => p.State == (int)DataState.Enabled&&p.Domain== "HFBMPT").OrderBy(p => p.UID).ToList();
var _list1 = scpdb.TS_UNI_API.Where(p => p.State == (int)DataState.Enabled && p.Domain == "HFBMPT" && p.InterfaceType== "Price").OrderBy(p => p.UID).ToList();
var _list = scpdb.TS_UNI_API.Where(p => p.State == (int)DataState.Enabled && p.Domain == "CDBMPT").OrderBy(p => p.UID).ToList();
var _list1 = scpdb.TS_UNI_API.Where(p => p.State == (int)DataState.Enabled && p.Domain == "CDBMPT" && p.InterfaceType == "Price").OrderBy(p => p.UID).ToList();
var apiii = _list1.Count();
if (apiii > 0) {
if (apiii > 0)
{
var ret = UpdateTES_PURCHASE_PRICE(db, scpdb, _list1);
}
var billNumList = _list.Select(p => p.BillNum).Distinct();
@ -596,7 +556,7 @@ namespace CK.SCP.Controller
{
var _taskId = Guid.NewGuid();
_msglist.Add(new LogModel() { LogMessage = string.Format("发现发票信息{0}条", _invoiceList.Count), LogTime = DateTime.Now.ToString(), TaskId = _taskId.ToString(), TableName = "TED_INVOICE_MSTR" });
var ret = UpdateInvoice(db, scpdb,_invoiceList, _taskId);
var ret = UpdateInvoice(db, scpdb, _invoiceList, _taskId);
if (ret.State == ReturnStatus.Succeed)
{
_msglist.Add(ret.Result);
@ -632,10 +592,10 @@ namespace CK.SCP.Controller
result.State = ReturnStatus.Succeed;
result.Result = _msglist;
}
catch(Exception e)
catch (Exception e)
{
_msglist.Add(new LogModel() { LogMessage = e.Message, LogTime = DateTime.Now.ToString(), TaskId =string.Empty, TableName = "ERROR" });
result.State = ReturnStatus.Failed;
_msglist.Add(new LogModel() { LogMessage = e.Message, LogTime = DateTime.Now.ToString(), TaskId = string.Empty, TableName = "ERROR" });
result.State = ReturnStatus.Failed;
result.Result = _msglist;
scope.Dispose();
@ -759,7 +719,7 @@ namespace CK.SCP.Controller
using (var db = EntitiesFactory.CreateScpInstance())
{
_ls = db.TB_ASN.Where(p => p.AsnBillNum == p_asn&&p.State==3).ToList();
_ls = db.TB_ASN.Where(p => p.AsnBillNum == p_asn && p.State == 3).ToList();
}
return _ls;
}
@ -784,7 +744,7 @@ namespace CK.SCP.Controller
_asn.KanbanBillNum = asn.AskBillNum;
_asn.PurchaseOrder = asn.PoBillNum.Trim();
if(_api.Domain=="CQBMPT")
if (_api.Domain == "CQBMPT")
{
_asn.Domain = "CQBMPT";
_asn.Site = "CQ01";
@ -858,7 +818,7 @@ namespace CK.SCP.Controller
});
}
_ret.State = ReturnStatus.Succeed;
_ret.Result = new LogModel() { LogMessage=string.Format("成功发布发货单信息{0}条", _asnList.Count), LogTime=DateTime.Now.ToString(), TaskId= p_taskID.ToString(), TableName= "TED_ASN_MSTR" };
_ret.Result = new LogModel() { LogMessage = string.Format("成功发布发货单信息{0}条", _asnList.Count), LogTime = DateTime.Now.ToString(), TaskId = p_taskID.ToString(), TableName = "TED_ASN_MSTR" };
}
catch (Exception e)
{
@ -1056,7 +1016,7 @@ namespace CK.SCP.Controller
{
var _api = _poList.FirstOrDefault();
TED_PO_MSTR _po = new TED_PO_MSTR();
_po.GUID= Guid.NewGuid();
_po.GUID = Guid.NewGuid();
_po.PurchaseOrder = _api.BillNum;
_po.ModeType = _api.SubBillType.ToString();
_po.Supplier = _api.VendId;
@ -1065,9 +1025,10 @@ namespace CK.SCP.Controller
_po.OrderDate = _api.CreateTime;
_po.DueDate = _api.PutTime;
_po.Confirm = true;
_po.Buyer= _api.Buyer;
if (_api.SubBillType == 1) {
_po.ScheduledOrder =true ;
_po.Buyer = _api.Buyer;
if (_api.SubBillType == 1)
{
_po.ScheduledOrder = true;
}
else
{
@ -1086,12 +1047,12 @@ namespace CK.SCP.Controller
_po.CommandType = "A";
_po.TaskID = p_taskID;
_po.DataID = Guid.NewGuid();
_po.Pricelist= _api.VendId.ToUpper().Trim() + _api.Site.Trim().Substring(1, 1) + _api.Site.Substring(3, 1).Trim();
_po.Pricelist = _api.VendId.ToUpper().Trim() + _api.Site.Trim().Substring(1, 1) + _api.Site.Substring(3, 1).Trim();
db.TED_PO_MSTR.Add(_po);
foreach (var detail in _poList)
{
TED_PO_DET _entity = new TED_PO_DET();
_entity.GUID= Guid.NewGuid();
_entity.GUID = Guid.NewGuid();
_entity.PurchaseOrder = detail.BillNum;
_entity.Line = detail.ErpLineNum;
_entity.PartCode = detail.PartCode;
@ -1114,7 +1075,7 @@ namespace CK.SCP.Controller
_entity.EndDate = detail.ValidDate;
_entity.CreateUser = detail.VendBatch;
_entity.CreateTime = DateTime.Now;
_entity.DataID= Guid.NewGuid();
_entity.DataID = Guid.NewGuid();
_entity.TaskID = _po.TaskID;
_entity.CommandType = "A";
_entity.Domain = _po.Domain;
@ -1367,7 +1328,7 @@ namespace CK.SCP.Controller
p.PoLine == detail.Line &&
p.PartCode == detail.PartCode
&& p.SubSite==detail.Site
&& p.SubSite == detail.Site
);
if (scpRcvDetail == null)
{
@ -1390,7 +1351,7 @@ namespace CK.SCP.Controller
scpRcvDetail.VendBatch = detail.SupplierLot;//供应商批号
scpRcvDetail.PoUnit = detail.Um;//采购单位
scpRcvDetail.LocUnit = detail.logisticsUm;//物流单位
//收货总量 //DockCode = ?,//收货口
//收货总量 //DockCode = ?,//收货口
scpRcvDetail.State = 1;// (int)FormState.关闭,
scpRcvDetail.Remark = detail.Remark;
scpRcvDetail.CreateTime = detail.CreateTime == null ? DateTime.Now : (DateTime)detail.CreateTime;//创建日期
@ -1402,7 +1363,7 @@ namespace CK.SCP.Controller
scpRcvDetail.Site = detail.Domain;
scpRcvDetail.Currency = detail.Currency;
scpRcvDetail.Currencyamount = detail.Currencyamount;
scpRcvDetail.ExchangeRate = detail.Exchangerate==null?"1":detail.Exchangerate.Value.ToString();
scpRcvDetail.ExchangeRate = detail.Exchangerate == null ? "1" : detail.Exchangerate.Value.ToString();
scpRcvDetail.ExchangeRate1 = detail.Exchangerate2 == null ? "1" : detail.Exchangerate2.Value.ToString();
scpRcvDetail.ExchangeRateType = detail.Exchangeratetype;
scpRcvDetail.WorkOrderID = detail.WorkOrderID;
@ -1422,7 +1383,7 @@ namespace CK.SCP.Controller
}
scpRcvDetail.Qty = detail.ReceiveQuantity;
}
// var _str=JsonHelper.GetJson<List<TB_RECEIVE_DETAIL>>(scpRcveDetailList);
// var _str=JsonHelper.GetJson<List<TB_RECEIVE_DETAIL>>(scpRcveDetailList);
scpdb.TB_RECEIVE_DETAIL.AddOrUpdate(scpRcveDetailList.ToArray());
_ret.State = ReturnStatus.Succeed;
_ret.MessageList.Add(string.Format("QAD收货单更新{0}任务编号{1}", _reciveDetailList.Count().ToString(), p_entity.TaskID));
@ -1500,7 +1461,7 @@ namespace CK.SCP.Controller
if (!string.IsNullOrEmpty(detail.ASN))
{
var _entity=scpdb.TB_ASN.Where(p => p.AsnBillNum == detail.ASN).FirstOrDefault();
var _entity = scpdb.TB_ASN.Where(p => p.AsnBillNum == detail.ASN).FirstOrDefault();
if (_entity != null)
{
_entity.State = 4;
@ -1525,7 +1486,7 @@ namespace CK.SCP.Controller
p.PoLine == detail.Line &&
p.PartCode == detail.PartCode &&
p.Batch == detail.Lot
&&p.SubSite==detail.Site
&& p.SubSite == detail.Site
);
if (scpRcvDetail == null)
{
@ -1608,7 +1569,7 @@ namespace CK.SCP.Controller
ResultObject<LogModel> _ret = new ResultObject<LogModel>();
List<TED_INVOICE_MSTR> _mstList = new List<TED_INVOICE_MSTR>();
List<TED_INVOICE_DET> _detList = new List<TED_INVOICE_DET>();
// List<TED_INVOICE_ADD> _addList = new List<TED_INVOICE_ADD>();
// List<TED_INVOICE_ADD> _addList = new List<TED_INVOICE_ADD>();
try
{
if (p_invoiceList.FirstOrDefault() != null)
@ -1629,7 +1590,7 @@ namespace CK.SCP.Controller
_invMast.InvoiceHoldAmountTC = _vinvoice.Amount.Value;
_invMast.InvoiceVoucher = 0;
_invMast.InvoiceRegistrationNbr = 1000;
_invMast.PostingDate = _vinvoice.PostingDate==null?DateTime.Now:_vinvoice.PostingDate.Value;
_invMast.PostingDate = _vinvoice.PostingDate == null ? DateTime.Now : _vinvoice.PostingDate.Value;
_invMast.Currency = "CNY";
_invMast.InvoiceDate = _vinvoice.UpdateTime == null ? DateTime.Now : _vinvoice.UpdateTime.Value;
_invMast.GUID = Guid.NewGuid();
@ -1638,7 +1599,7 @@ namespace CK.SCP.Controller
_invMast.PaymentCondCode = "90";
_invMast.InvoiceDueDate = _invMast.InvoiceDate.AddDays(int.Parse(_invMast.PaymentCondCode));
_invMast.InvoiceIsStatusFinal = true;
_invMast.InvoicePostingYear = _vinvoice.PostingDate==null?DateTime.Now.Year: _vinvoice.PostingDate.Value.Year;
_invMast.InvoicePostingYear = _vinvoice.PostingDate == null ? DateTime.Now.Year : _vinvoice.PostingDate.Value.Year;
_invMast.APMatchingIsStatusFinal = true;
_invMast.InvoiceRemark = _vinvoice.InvcBillNum;//发票编号
_invMast.CreateWithAmountIsTax = true;
@ -1661,14 +1622,14 @@ namespace CK.SCP.Controller
_mstList.Add(_invMast);
#endregion
#region 发票差异
if ((_vinvoice.ContractPrice != null && _vinvoice.ContractPrice.Value != 0) )
if ((_vinvoice.ContractPrice != null && _vinvoice.ContractPrice.Value != 0))
{
_invMast.InvoiceHoldAmountTC = _vinvoice.Amount.Value + _vinvoice.ContractPrice.Value;
//_add.VatDebitCC = _vinvoice.ContractPrice.Value;//折扣
//_add.VatDebitLC = _vinvoice.BlancePrice.Value;//税额调整
//_add.VatDebitTC = _vinvoice.ContractPrice.Value;
// _addList.Add(_add);
// _addList.Add(_add);
}
if ((_vinvoice.BlancePrice != null && _vinvoice.BlancePrice.Value != 0))
{
@ -1682,12 +1643,12 @@ namespace CK.SCP.Controller
var _invDetail = JsonConvert.DeserializeObject<V_TB_INVOICE_DETAIL>(detail.Extend2);
_entity.CommandType = "A";
_entity.GUID = _invDetail.GUID;
_entity.Status =_invMast.Status;
_entity.Status = _invMast.Status;
_entity.PurchaseOrder = _invDetail.PoBillNum;
_entity.Line = _invDetail.PoLineNum;
_entity.ReceiveNbr = _invDetail.RecvBillNum;
_entity.MatchQuantity = _invDetail.Qty;
_entity.MatchPrice = _invDetail.Price + ((_invDetail.BlancePrice==null)?0: _invDetail.BlancePrice.Value);
_entity.MatchPrice = _invDetail.Price + ((_invDetail.BlancePrice == null) ? 0 : _invDetail.BlancePrice.Value);
_entity.IsPvodFinished = true;
_entity.UsageDate = DateTime.Now;
_entity.IsRecalculateTaxes = true;
@ -1724,11 +1685,11 @@ namespace CK.SCP.Controller
db.TED_INVOICE_DET.AddOrUpdate(_detList.ToArray());
//db.TED_INVOICE_ADD.AddOrUpdate(_addList.ToArray());
var str=JsonHelper.GetJson(_mstList.ToArray());
var str1=JsonHelper.GetJson(_detList.ToArray());
var str = JsonHelper.GetJson(_mstList.ToArray());
var str1 = JsonHelper.GetJson(_detList.ToArray());
_ret.State = ReturnStatus.Succeed;
_ret.Result = new LogModel() { LogMessage = string.Format("成功发布发票信息{0}条",_detList.Count), LogTime = DateTime.Now.ToString(), TaskId = p_taskId.ToString(), TableName = "TED_INVOICE_MSTR" };
_ret.Result = new LogModel() { LogMessage = string.Format("成功发布发票信息{0}条", _detList.Count), LogTime = DateTime.Now.ToString(), TaskId = p_taskId.ToString(), TableName = "TED_INVOICE_MSTR" };
}
catch (Exception e)
@ -1809,7 +1770,7 @@ namespace CK.SCP.Controller
public static ResultObject<bool> UpdateReturn(ExchangeCenterContext db, ScpEntities scpdb, TEA_TASK_SUB p_entity)
{
ResultObject<bool> _ret = new ResultObject<bool>();
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
var _reciveList = db.TED_RETURN_MSTR.Where(p => p.TaskID == p_entity.TaskID && !string.IsNullOrEmpty(p.ReturnNbr)).ToList();
@ -1865,7 +1826,7 @@ namespace CK.SCP.Controller
if (!string.IsNullOrEmpty(detail.ASN))
{
var _entity=scpdb.TB_ASN.Where(p => p.AsnBillNum == detail.ASN).FirstOrDefault();
var _entity = scpdb.TB_ASN.Where(p => p.AsnBillNum == detail.ASN).FirstOrDefault();
if (_entity != null)
{
_entity.State = 4;
@ -1879,7 +1840,7 @@ namespace CK.SCP.Controller
}
var scpRcveDetailList = new List<TB_ARRIVE_DETAIL>();
var _reciveDetailList = db.TED_RETURN_DET.Where(p => p.TaskID == p_entity.TaskID ).ToList();
var _reciveDetailList = db.TED_RETURN_DET.Where(p => p.TaskID == p_entity.TaskID).ToList();
var _recive = db.TED_RETURN_MSTR.Where(p => p.TaskID == p_entity.TaskID && !string.IsNullOrEmpty(p.ReturnNbr)).FirstOrDefault();
if (_recive != null)
{
@ -1981,7 +1942,7 @@ namespace CK.SCP.Controller
PoDetail.PlanQty = detail.Qty;//订货数量-采购量
PoDetail.PoUnit = detail.PoUm;//采购单位
PoDetail.LocUnit = detail.LocUm;//存储单位
PoDetail.Price = ScpCache.Config. == ProjectName..ToString()? 0 : detail.Price;
PoDetail.Price = ScpCache.Config. == ProjectName..ToString() ? 0 : detail.Price;
PoDetail.Currency = detail.Currency;//币种
PoDetail.PackQty = detail.PackQty;//标包数量
PoDetail.UnConv = detail.Conv;//转换率
@ -2032,7 +1993,7 @@ namespace CK.SCP.Controller
CreateTime = po.CreateTime == null ? DateTime.Now : (DateTime)po.CreateTime,//创建日期
CreateUser = po.CreateUser,//创建用户
IsDeleted = false,
GUID =po.TaskID,
GUID = po.TaskID,
BeginTime = po.OrderDate == null ? DateTime.Now : po.OrderDate,//创建日期
EndTime = po.DueDate//收货结束时间
};
@ -2079,6 +2040,7 @@ namespace CK.SCP.Controller
_dic.Add("CQBMPT", "CQ01");
_dic.Add("ZZBMPT", "ZZ01");
_dic.Add("HFBMPT", "HF01");
_dic.Add("CDBMPT", "CD01");
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
@ -2139,7 +2101,7 @@ namespace CK.SCP.Controller
_venderlist.Add(_supplier);
}
}
scpdb.TA_VENDER.AddOrUpdate(_venderlist.ToArray());
scpdb.TA_VENDER.AddOrUpdate(q => q.UID, _venderlist.ToArray());
_ret.State = ReturnStatus.Succeed;
_ret.MessageList.Add(string.Format("更新表{0}任务ID{1}成功!", "TES_SUPPLIER", p_entity.TaskID));
}
@ -2157,7 +2119,7 @@ namespace CK.SCP.Controller
private static void UpdateSupplierExtend(List<TES_SUPPLIER> p_vendList )
private static void UpdateSupplierExtend(List<TES_SUPPLIER> p_vendList)
{
var _ls = new List<VenderUsers>();
using (var db = EntitiesFactory.CreateAppBoxInstance())
@ -2166,26 +2128,43 @@ namespace CK.SCP.Controller
{
try
{
var vendname = string.Format("{0}@{1}", qadData.SupplierCode.ToUpper(), qadData.Domain.ToUpper());
var _first = db.Users.Where(p => p.Name == vendname).FirstOrDefault();
//var vendname = string.Format("{0}@{1}", qadData.SupplierCode.ToUpper(), qadData.Domain.ToUpper());
string vendtoup = qadData.SupplierCode.ToUpper();
var _first = db.Users.Where(p => p.Name.Contains(vendtoup)).ToList();
if (_first != null)
{
var _ef = db.VenderUsers.FirstOrDefault(p => p.VenderId == qadData.SupplierCode && p.UserId == _first.ID) ?? new VenderUsers()
{
foreach (var item in _first)
{
UserId = _first.ID,
VenderId = qadData.SupplierCode.ToUpper()
};
_ls.Add(_ef);
var count = db.VenderUsers.Count(p => p.VenderId == qadData.SupplierCode && p.UserId == item.ID);
if (count == 0)
{
var _ef = new VenderUsers()
{
UserId = item.ID,
VenderId = qadData.SupplierCode.ToUpper()
};
_ls.Add(_ef);
}
else
{
var _ef = db.VenderUsers.FirstOrDefault(p => p.VenderId == qadData.SupplierCode && p.UserId == item.ID);
_ef.UserId = item.ID;
_ef.VenderId = qadData.SupplierCode.ToUpper();
_ls.Add(_ef);
}
}
}
}
catch
catch(Exception EX)
{
throw EX;
}
db.VenderUsers.AddOrUpdate(_ls.ToArray());
db.VenderUsers.AddOrUpdate(q=>q.Id,_ls.ToArray());
db.BulkSaveChanges();
}
}
}
/// <summary>
/// 更新供应商零件
/// </summary>
@ -2204,7 +2183,7 @@ namespace CK.SCP.Controller
decimal _packqty = 1;
foreach (var supplierpart in _supplierpartlist)
{
var _supplierpart = scpdb.TA_VEND_PART.SingleOrDefault(p => p.VendId == supplierpart.Supplier && p.PartCode == supplierpart.PartCode && p.VendPartCode == supplierpart.SupplierPart && p.Site == supplierpart.Domain );
var _supplierpart = scpdb.TA_VEND_PART.SingleOrDefault(p => p.VendId == supplierpart.Supplier && p.PartCode == supplierpart.PartCode && p.VendPartCode == supplierpart.SupplierPart && p.Site == supplierpart.Domain);
if (_supplierpart == null)
{
var _pack = dc.TS_PACK.SingleOrDefault(p => p.PartCode == supplierpart.PartCode && p.Site == supplierpart.Domain && p.Site == supplierpart.Site);
@ -2262,13 +2241,13 @@ namespace CK.SCP.Controller
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
var _partmstrlist = db.TES_PART_MSTR.Where(p => p.TaskID == p_entity.TaskID&&p.CommandType!="D").ToList();
var _partmstrlistD = db.TES_PART_MSTR.Where(p => p.TaskID == p_entity.TaskID&&p.CommandType=="D").ToList();
var _partmstrlist = db.TES_PART_MSTR.Where(p => p.TaskID == p_entity.TaskID && p.CommandType != "D").ToList();
var _partmstrlistD = db.TES_PART_MSTR.Where(p => p.TaskID == p_entity.TaskID && p.CommandType == "D").ToList();
var _partlist = new List<TA_PART>();
var _partlistD = new List<TA_PART>();
foreach (var part in _partmstrlist)
{
var _part = scpdb.TA_PART.SingleOrDefault(p => p.PartCode == part.PartCode && p.Site == part.Domain );
var _part = scpdb.TA_PART.SingleOrDefault(p => p.PartCode == part.PartCode && p.Site == part.Domain);
if (_part == null)
{
@ -2279,14 +2258,14 @@ namespace CK.SCP.Controller
};
}
_part.PartDesc1 = part.Desc1;
_part.PartDesc2 = string.IsNullOrEmpty(part.Desc2)?string.Empty: part.Desc2;
_part.PartDesc2 = string.IsNullOrEmpty(part.Desc2) ? string.Empty : part.Desc2;
if (!string.IsNullOrEmpty(part.Group))
{
_part.ProjectId = part.Group;
}
else
{
_part.ProjectId ="public";
_part.ProjectId = "public";
}
_part.Unit = !string.IsNullOrEmpty(part.Um) ? part.Um.ToUpper() : "EA";
@ -2308,10 +2287,10 @@ namespace CK.SCP.Controller
_part.PartGroup = "其他";
}
}
_part.Qlevel = string.IsNullOrEmpty(part.Qgrade)?string.Empty: part.Qgrade;
_part.Qlevel = string.IsNullOrEmpty(part.Qgrade) ? string.Empty : part.Qgrade;
_part.State = part.Status;
_part.Site = part.Domain;
// _part.SubSite = part.Site;
// _part.SubSite = part.Site;
_part.Remark = part.TaskID.ToString();
_partlist.Add(_part);
}
@ -2327,7 +2306,7 @@ namespace CK.SCP.Controller
}
}
var str= JsonHelper.GetJson<List<TA_PART>>(_partlist);
var str = JsonHelper.GetJson<List<TA_PART>>(_partlist);
scpdb.TA_PART.AddOrUpdate(_partlist.ToArray());
if (_partlistD.Count() > 0)
@ -2357,7 +2336,7 @@ namespace CK.SCP.Controller
var _factorylist = db.TES_SITE.Where(p => p.TaskID == p_entity.TaskID).ToList();
var _appboxfactorylist = new List<TA_FACTORY>();
var _scpfactorylist = new List<TB_FACTORY>();
foreach(var factory in _factorylist)
foreach (var factory in _factorylist)
{
var item1 = appscpdb.TA_FACTORY.SingleOrDefault(p => p.ErpDomain == factory.Domain && p.ErpSite == factory.Site);
if (item1 == null)
@ -2369,7 +2348,7 @@ namespace CK.SCP.Controller
GUID = Guid.NewGuid(),
State = 1,
CreateTime = DateTime.Now,
CreateUser= factory.CreateUser
CreateUser = factory.CreateUser
};
}
item1.FactoryId = factory.Domain;
@ -2427,11 +2406,11 @@ namespace CK.SCP.Controller
public static ResultObject<bool> UpdateTES_PURCHASE_PRICE(List<long> p_list, string domain, string site, string name, bool flag,int ConfirmState)
public static ResultObject<bool> UpdateTES_PURCHASE_PRICE(List<long> p_list, string domain, string site, string name, bool flag, int ConfirmState)
{
ResultObject<bool> _ret = new ResultObject<bool>();
if (ConfirmState!=(int)PriceState.FConfirm)
if (ConfirmState != (int)PriceState.FConfirm)
{
_ret.State = ReturnStatus.Succeed;
_ret.Result = true;
@ -2464,18 +2443,18 @@ namespace CK.SCP.Controller
{
_item.Batch = "No";
}
_item.Qty = _price.Amt+_price.SharingPrice;
_item.Qty = _price.Amt + _price.SharingPrice;
_item.Price = _price.Amt;
_item.State = 1;
_item.ValidDate = DateTime.Now;
_item.ErpLineNum = 1;
_item.PartCode =_partCode;//零件编号
_item.Domain = _domain;//域
_item.Site = _site;//地点
_item.Extend1 = _price.Remarks;
_item.CreateTime = Convert.ToDateTime(_price.StartTime);//开始时间
_item.PutTime = Convert.ToDateTime(_price.EndTime);//结束时间
_item.CreateOper = _price.Creator;
_item.ValidDate = DateTime.Now;
_item.ErpLineNum = 1;
_item.PartCode = _partCode;//零件编号
_item.Domain = _domain;//域
_item.Site = _site;//地点
_item.Extend1 = _price.Remarks;
_item.CreateTime = Convert.ToDateTime(_price.StartTime);//开始时间
_item.PutTime = Convert.ToDateTime(_price.EndTime);//结束时间
_item.CreateOper = _price.Creator;
_item.Currency = _price.Curr;//货币
var _first = scpdb.TA_PART.Where(itm => itm.PartCode == _partCode).FirstOrDefault();
if (_first != null)
@ -2487,14 +2466,14 @@ namespace CK.SCP.Controller
_item.PoUnit = _price.Unit;//单位
}
if(_domain == "BJBMPT")
if (_domain == "BJBMPT")
{
var po = scpdb.V_TB_PO_DETAIL.Count(p => p.PartCode == _partCode&&p.Site== "BJBMPT"&&p.VendId== _vend.Trim());
var po = scpdb.V_TB_PO_DETAIL.Count(p => p.PartCode == _partCode && p.Site == "BJBMPT" && p.VendId == _vend.Trim());
if (po > 0)
{
var _list = scpdb.V_TB_PO_DETAIL.Where(p => p.PartCode == _partCode && p.Site == "BJBMPT" && p.VendId == _vend.Trim()).ToList();
foreach(var b in _list)
foreach (var b in _list)
{
var PP = scpdb.TB_PO_DETAIL.FirstOrDefault(p => p.PartCode == b.PartCode && p.Site == "BJBMPT" && p.PoBillNum == b.PoBillNum);
PP.Price = _item.Price;
@ -2527,7 +2506,7 @@ namespace CK.SCP.Controller
{
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.Message =e.InnerException.Message;
_ret.Message = e.InnerException.Message;
}
return _ret;
}
@ -2557,7 +2536,7 @@ namespace CK.SCP.Controller
_item.BillNum = (_vend + _site.Substring(1, 1) + _site.Substring(3, 1)).Trim();
_item.InterfaceType = "Price";
_item.Batch = "No";
_item.Batch = "No";
_item.Qty = _price.Amt + _price.SharingPrice;
_item.Price = _price.Amt;
@ -2624,7 +2603,7 @@ namespace CK.SCP.Controller
ScpEntities scpdb = EntitiesFactory.CreateScpInstance();
ExchangeCenterContext db = EntitiesFactory.CreateExchangeCenterInstance();
var OrderList = p_order_list.GroupBy(p => p.).ToList();
string _polist = "";
string _polist = "";
int _num = 1;
OrderList.ForEach((p) =>
{
@ -2640,7 +2619,7 @@ namespace CK.SCP.Controller
{
_po = new TB_PO { GUID = Guid.NewGuid(), PoBillNum = _entity..ToUpper(), State = (int)PoState.Open, Site = site, SubSite = subsite, VendId = _entity..Trim().ToUpper() };
}
_po.ErpBillNum = _entity..Trim().ToUpper();;
_po.ErpBillNum = _entity..Trim().ToUpper(); ;
_po.ModType = (int)p_modtype;
_po.Contacter = p_chineseName;// _entity.联系人;
_po.Buyer = p_chineseName;// _entity.联系人;
@ -2655,7 +2634,7 @@ namespace CK.SCP.Controller
_po.EndTime = string.IsNullOrEmpty(_entity.) ? DateTime.Now.AddYears(10) : DateTime.Parse(_entity.);
_po.Pricelist = _entity..Trim().ToUpper() + subsite.Substring(1, 1) + subsite.Substring(3, 1);
_po.Taxclass = _entity.;
_po.SubSite= subsite.Trim().ToUpper();
_po.SubSite = subsite.Trim().ToUpper();
scpdb.TB_PO.AddOrUpdate(_po);
list.ForEach((itm) =>
@ -2665,7 +2644,7 @@ namespace CK.SCP.Controller
_PO_Detail.PoBillNum = _po.PoBillNum;
_PO_Detail.PartCode = itm..Trim();
var part = scpdb.TA_PART.FirstOrDefault(t => t.PartCode == itm..Trim() && t.Site == _po.Site);
_PO_Detail.PoLine =int.Parse(itm.);
_PO_Detail.PoLine = int.Parse(itm.);
_PO_Detail.PoUnit = part.Unit;
_PO_Detail.CreateTime = DateTime.Now;
_PO_Detail.CreateUser = p_creator;
@ -2675,7 +2654,7 @@ namespace CK.SCP.Controller
_PO_Detail.IsDeleted = false;
_PO_Detail.LocUnit = part.Unit;
_PO_Detail.UnConv = 1;
_PO_Detail.State= (int)PoState.Open;
_PO_Detail.State = (int)PoState.Open;
_PO_Detail.Remark = itm.;
_PO_Detail.Price = string.IsNullOrEmpty(itm.) ? 0 : decimal.Parse(itm.);
_PO_Detail.Workorderlot = string.IsNullOrEmpty(itm.) ? 0 : int.Parse(itm.);
@ -2690,7 +2669,7 @@ namespace CK.SCP.Controller
_PO_Detail.Dliverypatterncode = itm.;
_PO_Detail.Deliverytimecode = itm.;
_PO_Detail.Transportdays = string.IsNullOrEmpty(itm.) ? 0 : int.Parse(itm.);
_PO_Detail.Site= site.Trim().ToUpper();
_PO_Detail.Site = site.Trim().ToUpper();
_PO_Detail.SubSite = subsite.Trim().ToUpper();
TS_UNI_API Ts = new TS_UNI_API();
Ts.InterfaceType = "PO";
@ -2717,8 +2696,8 @@ namespace CK.SCP.Controller
Ts.Domain = site.Trim().ToUpper();
Ts.Extend1 = _entity.;
Ts.Extend2 = _entity.;
Ts.CreateOper= _entity.;
Ts.VendBatch= p_creator;
Ts.CreateOper = _entity.;
Ts.VendBatch = p_creator;
Ts.ErpLineNum = _PO_Detail.PoLine;
if (_entity..ToUpper() == "S")
{
@ -2866,7 +2845,7 @@ namespace CK.SCP.Controller
Ts.Extend2 = _entity.;
Ts.CreateOper = _entity.;
Ts.VendBatch = p_creator;
Ts.ErpBillNum= _po.PoBillNum;
Ts.ErpBillNum = _po.PoBillNum;
Ts.ErpLineNum = _PO_Detail.PoLine;
if (!string.IsNullOrEmpty(_entity.))
{
@ -2905,7 +2884,7 @@ namespace CK.SCP.Controller
scope.Complete();
_ret.State = ReturnStatus.Succeed;
_ret.Result = true;
_ret.Message= _polist;
_ret.Message = _polist;
}
catch (Exception e)
@ -2913,7 +2892,7 @@ namespace CK.SCP.Controller
_ret.State = ReturnStatus.Failed;
LogHelper.Writlog(LogHelper.LogType.Error, typeof(TEA_TASK_SUB), "InsterPo", e.Message);
_ret.Result = false;
_ret.Message = e.InnerException != null? e.Message+ e.InnerException.Message:e.Message;
_ret.Message = e.InnerException != null ? e.Message + e.InnerException.Message : e.Message;
scope.Dispose();
}
@ -2956,7 +2935,7 @@ namespace CK.SCP.Controller
_po.Contacter = p_chineseName;// _entity.联系人;
_po.Buyer = p_chineseName;// _entity.联系人;
_po.Site = site.Trim().ToUpper();
_po.State= (int)PoState.Open;
_po.State = (int)PoState.Open;
_po.BuyerPhone = p_buyerPhone;
_po.Remark = _entity.;
_po.IsDeleted = false;
@ -2975,7 +2954,7 @@ namespace CK.SCP.Controller
_PO_Detail.Currency = "CNY";
_PO_Detail.PoBillNum = _po.PoBillNum;
_PO_Detail.PartCode = itm..Trim();
var part = scpdb.TA_PART.FirstOrDefault(t=>t.PartCode== itm..Trim()&&t.Site==_po.Site);
var part = scpdb.TA_PART.FirstOrDefault(t => t.PartCode == itm..Trim() && t.Site == _po.Site);
_PO_Detail.PoLine = int.Parse(itm.);
_PO_Detail.PoUnit = part.Unit;
_PO_Detail.CreateTime = DateTime.Now;
@ -3544,7 +3523,7 @@ namespace CK.SCP.Controller
});
}
var ret = CREATE_TEA_TASK_SUB(db, true ,new TEA_TASK_SUB()
var ret = CREATE_TEA_TASK_SUB(db, true, new TEA_TASK_SUB()
{
DataCount = 1,
TaskID = taskid,
@ -3580,25 +3559,25 @@ namespace CK.SCP.Controller
return _ret;
}
public static ResultObject<bool> UpdatePo(List<string> p_po_list, string site, string p_creator, DateTime p_time, string subsite)
public static ResultObject<bool> UpdatePo(List<string> p_po_list, string site, string p_creator, DateTime p_time, string subsite)
{
ScpEntities scpdb = EntitiesFactory.CreateScpInstance();
ExchangeCenterContext db = EntitiesFactory.CreateExchangeCenterInstance();
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
foreach(var _num in p_po_list)
foreach (var _num in p_po_list)
{
Guid taskid = Guid.NewGuid();
TED_PO_MSTR item = new TED_PO_MSTR();
var _mstr = scpdb.TB_PO.FirstOrDefault(t => t.PoBillNum == _num && t.State == (int)PoState.Open);
if (_mstr!= null)
if (_mstr != null)
{
// var uid = oldpolist.Select(p => p.UID).Max();
// var _mstr = db.TED_PO_MSTR.FirstOrDefault(t => t.UID == uid);
// var uid = oldpolist.Select(p => p.UID).Max();
// var _mstr = db.TED_PO_MSTR.FirstOrDefault(t => t.UID == uid);
var oldpodetaillist = scpdb.TB_PO_DETAIL.Where(q => q.PoBillNum == _num && q.State == (int)PoState.Open).ToList() ;
var oldpodetaillist = scpdb.TB_PO_DETAIL.Where(q => q.PoBillNum == _num && q.State == (int)PoState.Open).ToList();
item.CommandType = "U";
item.GUID = Guid.NewGuid();
item.DataID = _mstr.GUID;
@ -3612,15 +3591,15 @@ namespace CK.SCP.Controller
item.OrderDate = _mstr.CreateTime;//订单日期
item.DueDate = Convert.ToDateTime(_mstr.EndTime);
item.StartDate = _mstr.CreateTime;//订单日期
item.EndDate =Convert.ToDateTime( _mstr.EndTime);
item.EndDate = Convert.ToDateTime(_mstr.EndTime);
item.MadeIn = "";
item.Confirm = true;
item.Buyer = _mstr.Buyer;
item.BuyerPhone = _mstr.BuyerPhone;
item.ScheduledOrder = _mstr.ModType==1?true:false;
item.ScheduledOrder = _mstr.ModType == 1 ? true : false;
item.CreateUser = _mstr.CreateUser;
item.CreateTime = _mstr.CreateTime;
item.Remark = "订单关闭" ;
item.Remark = "订单关闭";
item.Domain = _mstr.Site;
item.ModeType = _mstr.ModType.ToString();
item.Site = _mstr.SubSite;
@ -3730,10 +3709,11 @@ namespace CK.SCP.Controller
b_ASN.Reason = asn.Reason;
b_ASN.State = (int)AskState.Reject;
b_ASN.IsDeleted = true;
List<TB_ASN_DETAIL> asn_details = scpdb.TB_ASN_DETAIL.Where(q => q.AsnBillNum == asn.BillNum).ToList();
List<TB_ASN_DETAIL> asn_details = scpdb.TB_ASN_DETAIL.Where(q => q.AsnBillNum == asn.BillNum).ToList();
if (asn_details != null)
{
asn_details.ForEach(itm => {
asn_details.ForEach(itm =>
{
itm.IsDeleted = true;
itm.State = (int)AskState.Reject;
});

6
北京北汽/Controller/SCP_PO_CONTROLLER.cs

@ -4120,7 +4120,7 @@ namespace CK.SCP.Controller
_PO_Detail.Scheduledays = string.IsNullOrEmpty(itm.) ? 7 : int.Parse(itm.);
_PO_Detail.Scheduleweeks = string.IsNullOrEmpty(itm.) ? 2 : int.Parse(itm.);
_PO_Detail.Schedulemonth = string.IsNullOrEmpty(itm.) ? 1 : int.Parse(itm.);
_PO_Detail.Supplieritem = itm..ToUpper();
_PO_Detail.Supplieritem =string.IsNullOrEmpty(itm.)? itm. :itm..ToUpper();
_PO_Detail.Dliverypatterncode = itm.;
_PO_Detail.Deliverytimecode = itm.;
_PO_Detail.Transportdays = string.IsNullOrEmpty(itm.) ? 0 : int.Parse(itm.);
@ -4180,7 +4180,7 @@ namespace CK.SCP.Controller
{
TB_PO_DETAIL _PO_Detail = new TB_PO_DETAIL();
_PO_Detail.GUID = Guid.NewGuid();
_PO_Detail.PartCode = itm..Trim().ToUpper();
_PO_Detail.PartCode = string.IsNullOrEmpty(itm.) ? itm. : itm..Trim().ToUpper();
_PO_Detail.PoLine = _number;
_PO_Detail.PoBillNum = _po.PoBillNum;
_PO_Detail.State = (int)PoState.Open;
@ -4219,7 +4219,7 @@ namespace CK.SCP.Controller
_tDetail.PoUnit = itm.;
_tDetail.CreateTime = DateTime.Now;
_tDetail.CreateUser = p_creator;
_tDetail.PartCode = itm..Trim().ToUpper();
_tDetail.PartCode = string.IsNullOrEmpty(itm.) ? itm. : itm..Trim().ToUpper();
_tDetail.ReceivedPort = "";
_tDetail.BeginTime = p_time;
_tDetail.EndTime = Convert.ToDateTime(itm.);

26
北京北汽/Controller/SCP_TA_LANGUAGE_CONTROLLER.cs

@ -124,6 +124,13 @@ namespace CK.SCP.Controller
return _ret;
}
/// <summary>
/// 导入收货信息管理(重庆专用)
/// </summary>
/// <param name="p_order_list">导入信息</param>
/// <param name="site">当前登录地点</param>
/// <param name="p_creator">创建人</param>
/// <returns></returns>
public static ResultObject<bool> EXCEL_ADRESS_LIST_CQ(List<SCP_VENDER_EXPORT> p_order_list, string site, string p_creator)
{
ResultObject<bool> _ret = new ResultObject<bool>();
@ -131,7 +138,6 @@ namespace CK.SCP.Controller
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
int number = 1;
List<string> lineError = new List<string>();
List<string> ErrorList = new List<string>();
var _lst = p_order_list;
@ -157,20 +163,20 @@ namespace CK.SCP.Controller
_lst.ForEach(p =>
{
var _Sitelist = db.TB_ADDRESS.Count(t => t.Address == p.);
var _Sitelist = db.TB_ADDRESS.Count(t => t.Address == p. && t.SubSite == site);
if (_Sitelist == 0)
{
TB_ADDRESS Price = new TB_ADDRESS();
Price.Address = p.;
Price.NamePone = p.;
db.TB_ADDRESS.AddOrUpdate(Price);
TB_ADDRESS address = new TB_ADDRESS();
address.Address = p.;
address.NamePone = p.;
address.SubSite = site;
db.TB_ADDRESS.AddOrUpdate(address);
}
else if (_Sitelist == 1)
{
var _PAlist = db.TB_ADDRESS.SingleOrDefault(t => t.Address == p.);
_PAlist.NamePone = p.;
db.TB_ADDRESS.AddOrUpdate(_PAlist);
TB_ADDRESS tB_address = db.TB_ADDRESS.SingleOrDefault(t => t.Address == p. && t.SubSite == site);
tB_address.NamePone = p.;
db.TB_ADDRESS.AddOrUpdate(tB_address);
}
});

14
北京北汽/Controller/SCP_TB_ADDRESS_BUYER_CONTROLLER.cs

@ -26,7 +26,7 @@ namespace CK.SCP.Controller
/// </summary>
/// <param name="Buyer">采购</param>
/// <param name="p_action"></param>
public static void GetTbAddressBuyerList(string Buyer, Action<ResultObject<IQueryable<TB_ADDRESS_BUYER>>> p_action)
public static void GetTbAddressBuyerList(string Buyer,string SubSite, Action<ResultObject<IQueryable<TB_ADDRESS_BUYER>>> p_action)
{
ResultObject<IQueryable<TB_ADDRESS_BUYER>> _ret = new ResultObject<IQueryable<TB_ADDRESS_BUYER>>();
try
@ -38,6 +38,10 @@ namespace CK.SCP.Controller
{
q = q.Where(p => p.Buyer.Contains(Buyer));
}
if (!string.IsNullOrEmpty(SubSite))
{
q = q.Where(p => p.SubSite == SubSite);
}
_ret.State = ReturnStatus.Succeed;
_ret.Result = q;
p_action(_ret);
@ -63,7 +67,7 @@ namespace CK.SCP.Controller
/// <param name="p_order_list"></param>
/// <param name="p_creator"></param>
/// <returns></returns>
public static ResultObject<bool> EXCEL_ADRESS_BUYER_LIST(List<SCP_ADDRESS_BUYER_EXPORT> p_order_list, string p_creator)
public static ResultObject<bool> EXCEL_ADRESS_BUYER_LIST(List<SCP_ADDRESS_BUYER_EXPORT> p_order_list,string SubSite, string p_creator)
{
ResultObject<bool> _ret = new ResultObject<bool>();
try
@ -88,7 +92,7 @@ namespace CK.SCP.Controller
DateTime time = DateTime.Now;
_lst.ForEach(p =>
{
var _Sitelist = db.TB_ADDRESS_BUYER.Count(t => t.Buyer == p.);
var _Sitelist = db.TB_ADDRESS_BUYER.Count(t => t.Buyer == p. && t.SubSite == SubSite);
if (_Sitelist == 0)
{
TB_ADDRESS_BUYER buyer = new TB_ADDRESS_BUYER();
@ -96,11 +100,12 @@ namespace CK.SCP.Controller
buyer.Buyer = p.;
buyer.Creator = p_creator;
buyer.CreateTime = time;
buyer.SubSite = SubSite;
db.TB_ADDRESS_BUYER.Add(buyer);
}
else if (_Sitelist == 1)
{
var buyer = db.TB_ADDRESS_BUYER.SingleOrDefault(t => t.Buyer == p.);
var buyer = db.TB_ADDRESS_BUYER.SingleOrDefault(t => t.Buyer == p. && t.SubSite == SubSite);
buyer.AddressUID = long.Parse(p.ID);
buyer.UpdateTime = time;
buyer.UpdateUser = p_creator;
@ -157,7 +162,6 @@ namespace CK.SCP.Controller
using (AppBoxContext db = EntitiesFactory.CreateAppBoxInstance())
{
List<User> users = db.Users.ToList();
//users = users.Where(q => q.Roles.Select(itm => itm.ID).Contains(8)).ToList();
userName = users.Select(q => q.Name).ToList();
}
long ID;

9
北京北汽/Controller/SCP_TB_PRICE_CONTROLLER.cs

@ -8,7 +8,6 @@ using System.Data.Entity.Core;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CK.SCP.Controller
{
@ -442,10 +441,10 @@ namespace CK.SCP.Controller
//{
// q = q.Where(p => p_entity.UserInAddress.Contains(p.Site));
//}
if (p_entity.UserInSubSite != null && p_entity.UserInSubSite.Count > 0)
{
q = q.Where(p => p_entity.UserInSubSite.Contains(p.SubSite));
}
//if (p_entity.UserInSubSite != null && p_entity.UserInSubSite.Count > 0)
//{
// q = q.Where(p => p_entity.UserInSubSite.Contains(p.SubSite));
//}
if (p_entity.UserInVendIds != null && p_entity.UserInVendIds.Count > 0)
{
q = q.Where(p => p_entity.UserInVendIds.Contains(p.VendId));

4
北京北汽/Models/ScpEntity/TB_ADDRESS.cs

@ -13,5 +13,9 @@ namespace CK.SCP.Models.ScpEntity
public long UID { get; set; }
public string Address { get; set; }
public string NamePone { get; set; }
/// <summary>
/// 地点
/// </summary>
public string SubSite { get; set; }
}
}

1
北京北汽/Models/ScpEntity/TB_ADDRESS_BUYER.cs

@ -25,5 +25,6 @@ namespace CK.SCP.Models.ScpEntity
public string UpdateUser { get; set; }
public DateTime? UpdateTime { get; set; }
public string SubSite { get; set; }
}
}

6
北京北汽/SCP/Views/BasicData/SCP_PRICE_TemporaryPrice.aspx.cs

@ -57,7 +57,7 @@ namespace SCP.Views.BasicData
SearchV_TB_PRICEData((result) =>
{
Grid1.RecordCount = result.Count();
var list = SortAndPage<V_TB_PRICE_TemporaryPrice>(result, Grid1);
var list = SortAndPage(result, Grid1);
Grid1.DataSource = list;
Grid1.DataBind();
@ -129,6 +129,10 @@ namespace SCP.Views.BasicData
{
_entity.SubSite = factoryList.SelectedValue;
}
else
{
_entity.SubSite = CurrentUser.UserdSite;
}
_entity.UserInAddress = CurrentUser.FactoryList;
_entity.UserInVendIds = CurrentUser.VenderList;
_entity.UserInSubSite = CurrentUser.SubSiteList;

32
北京北汽/SCP/Views/BasicData/SCP_TB_Address.aspx.cs

@ -54,38 +54,20 @@ namespace SCP.Views.BasicData
{
q = q.Where(p => p.Address.Contains(txtPartCode.Text));
}
if (!string.IsNullOrEmpty( CurrentUser.UserdSite))
{
q = q.Where(p => p.SubSite == CurrentUser.UserdSite);
}
// 排列和数据库分页
Grid1.RecordCount = q.Count();
q = SortAndPage<TB_ADDRESS>(q, Grid1);
q = SortAndPage(q, Grid1);
var _list = q.ToList();
Grid1.DataSource = _list;
Grid1.DataBind();
}
//导出
public void BtnOutPut_OnClick(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window2.GetShowReference(string.Format("../BasicData/SCP_TB_Address_DETAIL.aspx?")));
}
//查询
protected void btnSearch_OnClick(object sender, EventArgs e)
{
BindData();
}
protected void Grid1_OnPageIndexChange(object sender, GridPageEventArgs e)
{
BindData();
@ -126,8 +108,8 @@ namespace SCP.Views.BasicData
Alert.Show("文件内容为空!");
return;
}
var ret = SCP_TA_LANGUAGE_CONTROLLER.EXCEL_ADRESS_LIST_CQ(list, CurrentUser.FactoryList[0], CurrentUser.Name);
if (ret.State == ReturnStatus.Succeed && ret.Result == true)
var ret = SCP_TA_LANGUAGE_CONTROLLER.EXCEL_ADRESS_LIST_CQ(list, CurrentUser.UserdSite, CurrentUser.Name);
if (ret.State == ReturnStatus.Succeed && ret.Result)
{
Alert.Show("导入成功");
BindData();

8
北京北汽/SCP/Views/BasicData/SCP_TB_Address_Buyer.aspx.cs

@ -51,14 +51,14 @@ namespace SCP.Views.BasicData
{
SearchADDRESS_BUYER(txtBuyer.Text, (rs) =>
{
var list1 = SortAndPage<TB_ADDRESS_BUYER>(rs, Grid1);
var list1 = SortAndPage(rs, Grid1);
var count1 = list1.ToList().Count;
if (count1 > 0)
{
var _ls1 = list1.ToList();
_ls1.ForEach(p =>
{
var address = SCPDB.TB_ADDRESS.Where(itm => itm.UID == p.AddressUID).FirstOrDefault();
var address = SCPDB.TB_ADDRESS.Where(itm => itm.UID == p.AddressUID && itm.SubSite == CurrentUser.UserdSite ).FirstOrDefault();
if (address != null)
{
@ -80,7 +80,7 @@ namespace SCP.Views.BasicData
public void SearchADDRESS_BUYER(string Buyer, Action<IQueryable<TB_ADDRESS_BUYER>> p_action)
{
SCP_TB_ADDRESS_BUYER_CONTROLLER.GetTbAddressBuyerList(Buyer, (_ret) =>
SCP_TB_ADDRESS_BUYER_CONTROLLER.GetTbAddressBuyerList(Buyer,CurrentUser.UserdSite, (_ret) =>
{
if (_ret.State == ReturnStatus.Succeed)
{
@ -138,7 +138,7 @@ namespace SCP.Views.BasicData
Alert.Show("文件内容为空!");
return;
}
var ret = SCP_TB_ADDRESS_BUYER_CONTROLLER.EXCEL_ADRESS_BUYER_LIST(list, CurrentUser.Name);
var ret = SCP_TB_ADDRESS_BUYER_CONTROLLER.EXCEL_ADRESS_BUYER_LIST(list,CurrentUser.UserdSite ,CurrentUser.Name);
if (ret.State == ReturnStatus.Succeed && ret.Result == true)
{
Alert.Show("导入成功");

2
北京北汽/SCP/Views/PlanData/SCP_ASK.aspx

@ -12,7 +12,7 @@
<form id="form1" runat="server">
<f:PageManager runat="server" AutoSizePanelID="Panel1" />
<f:Panel ID="Panel1" runat="server" Title="" Layout="VBox" BoxConfigAlign="Stretch" BoxConfigPosition="Start">
<f:Panel ID="Panel1" runat="server" Title="" Layout="VBox" BoxConfigAlign="Stretch" BoxConfigPosition="Start" AutoScroll="True" >
<Items>
<f:Form runat="server">
<Toolbars>

7
北京北汽/SCP/Views/PlanData/SCP_ASK.aspx.cs

@ -42,7 +42,7 @@ namespace SCP.PlanData
}
private void BindDDL_Site()
{
var _ls = ScpCache.ADRESSList;
var _ls = ScpCache.ADRESSList.Where(q=>q.SubSite == CurrentUser.UserdSite).ToList();
DDL_Site.DataSource = _ls;
DDL_Site.DataBind();
var name = CurrentUser.Name.ToString();
@ -102,10 +102,9 @@ namespace SCP.PlanData
BtnPublish.Hidden = false;
BtnCanclePublish.Hidden = false;
}
if (CurrentUser.RoleList.Contains("采购人员") && CurrentUser.FactoryList.Contains("CQBMPT"))
if (CurrentUser.RoleList.Contains("采购人员") && ( CurrentUser.UserdSite =="CQ01" || (CurrentUser.UserdSite == "CD01") ))
{
DDL_Site.Hidden = false;
}
}
private void SetRoleRule()
@ -377,7 +376,7 @@ namespace SCP.PlanData
_dt = ExcelHelper.GetDataTableOfXlsx(_stream);
}
var list = ConvertHelper.ToList<SCP_PO_DETAIL_EXPORT_MODEL>(ExcelHelper.RemoveEmpty(_dt)).ToList();
if (CurrentUser.FactoryList.Contains("CQBMPT"))
if (CurrentUser.UserdSite == "CQ01" || (CurrentUser.UserdSite == "CD01"))
{
Ssite = DDL_Site.SelectedValue;
}

12
北京北汽/SCP/Views/PlanData/SCP_PO_CQ.aspx.cs

@ -57,6 +57,14 @@ namespace SCP.Views.PlanData
linkbutton.Hidden = false;
}
if (CurrentUser.RoleList.Contains("采购人员") && CurrentUser.SubSiteList.Contains("CD01"))
{
FileUp.Hidden = false;
btnInput_Contract.Hidden = false;
btnInput_Non_Contract.Hidden = false;
linkbutton.Hidden = false;
}
}
public void BindOrder()
@ -267,11 +275,11 @@ namespace SCP.Views.PlanData
}
if (CurrentUser.ConfigList.ContainsKey("数据中心接口"))
{
saveret = SCP_DC_UNI_CONTROLLER.WritePo_PO(list, CurrentUser.FactoryList[0], CurrentUser.Name, DateTime.Now, p_modtype, CurrentUser.SubSiteList[0], CurrentUser.ChineseName, CurrentUser.CellPhone);
saveret = SCP_DC_UNI_CONTROLLER.WritePo_PO(list, CurrentUser.FactoryList[0], CurrentUser.Name, DateTime.Now, p_modtype, CurrentUser.UserdSite, CurrentUser.ChineseName, CurrentUser.CellPhone);
}
else
{
saveret = SCP_PO_CONTROLLER.Save_EXCEL_PO_MOD(list, CurrentUser.FactoryList[0], CurrentUser.Name, DateTime.Now, p_modtype, CurrentUser.SubSiteList[0], CurrentUser.ChineseName, CurrentUser.CellPhone);
saveret = SCP_PO_CONTROLLER.Save_EXCEL_PO_MOD(list, CurrentUser.FactoryList[0], CurrentUser.Name, DateTime.Now, p_modtype, CurrentUser.UserdSite, CurrentUser.ChineseName, CurrentUser.CellPhone);
}
//if (CurrentUser.ConfigList.ContainsKey("数据中心接口"))
//{

23
北京北汽/SCP/Views/PlanData/SCP_PO_CREATE_ASK.aspx.cs

@ -32,7 +32,7 @@ namespace SCP.PlanData
}
private void BindDDL_Site()
{
var _ls = ScpCache.ADRESSList;
var _ls = ScpCache.ADRESSList.Where(p =>p.SubSite == CurrentUser.UserdSite).ToList();
DDL_Site.DataSource = _ls;
DDL_Site.DataBind();
var name = CurrentUser.Name.ToString();
@ -41,23 +41,6 @@ namespace SCP.PlanData
{
DDL_Site.SelectedIndex = _ls.IndexOf(_ls.FirstOrDefault(q => q.UID == buyer.AddressUID));
}
//List<string> stinglist = new List<string>();
//var list = _ls.Select(q => q.NamePone).ToList();
//if (list != null)
//{
// list.ForEach(q =>
// {
// if (q.Contains(' '))
// {
// stinglist.Add(q.Substring(0, q.IndexOf(' ')));
// }
// });
//}
//if (stinglist != null)
//{
// DDL_Site.SelectedIndex = stinglist.IndexOf(CurrentUser.ChineseName) == -1?0: stinglist.IndexOf(CurrentUser.ChineseName);
//}
}
private void SetRoleRule()
@ -69,7 +52,7 @@ namespace SCP.PlanData
}
private void CheckRolesMenu()
{
if (CurrentUser.RoleList.Contains("采购人员") && CurrentUser.FactoryList.Contains("CQBMPT"))
if (CurrentUser.RoleList.Contains("采购人员") && ((CurrentUser.UserdSite == "CQ01") || (CurrentUser.UserdSite == "CD01")))
{
DDL_Site.Hidden = false;
@ -460,7 +443,7 @@ namespace SCP.PlanData
}
}
string Ssite = "";
if (CurrentUser.FactoryList.Contains("CQBMPT"))
if ((CurrentUser.UserdSite == "CQ01") || (CurrentUser.UserdSite == "CD01"))
{
Ssite = DDL_Site.SelectedValue;
}

6
北京北汽/SCP/Views/SupplierData/SCP_ASN_DETAIL.aspx.cs

@ -418,7 +418,7 @@ namespace SCP.SupplierData
BindDetail();
var SubSite = SCP_BARCODE_CONTROLLER.GetBillNum(_asn.AsnBillNum);
if (SubSite.Site == "CQBMPT")
if (SubSite.Site == "CQBMPT" || SubSite.Site == "CDBMPT")
{
var str = string.Format("window.open(\"../../Handlers/GenerateReport.ashx?report=SendBill_CQ&data=102&type=pdf&filename=SendBill.pdf&AsnBillNum={0}&open=\")", _asn.AsnBillNum);
PageContext.RegisterStartupScript(str);
@ -536,7 +536,7 @@ namespace SCP.SupplierData
Alert.Show(AsnBillNum + GetResourceKey("请先点击确认发货再打印发货单!"));
return;
}
if (SubSite.Site == "CQBMPT")
if (SubSite.Site == "CQBMPT" || SubSite.Site == "CDBMPT")
{
var str = string.Format("window.open(\"../../Handlers/GenerateReport.ashx?report=SendBill_CQ&data=102&type=pdf&filename=SendBill.pdf&AsnBillNum={0}&open=\")", AsnBillNum);
PageContext.RegisterStartupScript(str);
@ -560,7 +560,7 @@ namespace SCP.SupplierData
return;
}
var SubSite = SCP_BARCODE_CONTROLLER.GetBillNum(AsnBillNum);
if (!string.IsNullOrEmpty(AsnBillNum) && SubSite.Site == "CQBMPT")
if (!string.IsNullOrEmpty(AsnBillNum) && (SubSite.Site == "CQBMPT"|| SubSite.Site == "CDBMPT"))
{
var str = string.Format("window.open(\"../../Handlers/GenerateReport.ashx?report=Material_CQ&data=101&type=pdf&filename=标签.pdf&AsnBillNum={0}&open=\")", AsnBillNum);
PageContext.RegisterStartupScript(str);

2
北京北汽/SCP/grf/Material.grf

@ -1 +1 @@
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

2
北京北汽/SCP/grf/Material_CQ.grf

@ -1 +1 @@
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

2
北京北汽/SCP/grf/SendBill_CQ.grf

@ -1 +1 @@
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
Loading…
Cancel
Save