|
@ -34,7 +34,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p.InvcBillNum.Contains(p_entity.InvcBillNum)); |
|
|
q = q.Where(p => p.InvcBillNum.Contains(p_entity.InvcBillNum)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(p_entity.VendName)) |
|
|
if (!string.IsNullOrEmpty(p_entity.VendName)) |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p.VendName.Contains(p_entity.VendName)); |
|
|
q = q.Where(p => p.VendName.Contains(p_entity.VendName)); |
|
@ -197,7 +197,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
if (!string.IsNullOrEmpty(p_entity.VendId)) |
|
|
if (!string.IsNullOrEmpty(p_entity.VendId)) |
|
|
{ |
|
|
{ |
|
|
_builder.AppendFormat(" and B.VendId = '{0}' \r\n ",p_entity.VendId); |
|
|
_builder.AppendFormat(" and B.VendId = '{0}' \r\n ", p_entity.VendId); |
|
|
} |
|
|
} |
|
|
if (!string.IsNullOrEmpty(p_entity.SubSite)) |
|
|
if (!string.IsNullOrEmpty(p_entity.SubSite)) |
|
|
{ |
|
|
{ |
|
@ -216,14 +216,14 @@ namespace CK.SCP.Controller |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static List<string> Get_V_TB_INVOICE_BY_TIME(string p_begin,string p_end,string p_po,string p_asn) |
|
|
public static List<string> Get_V_TB_INVOICE_BY_TIME(string p_begin, string p_end, string p_po, string p_asn) |
|
|
{ |
|
|
{ |
|
|
List<string> _list = new List<string>(); |
|
|
List<string> _list = new List<string>(); |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
StringBuilder _builder = new StringBuilder(); |
|
|
StringBuilder _builder = new StringBuilder(); |
|
|
_builder.Append( "SELECT DISTINCT InvcBillNum FROM TB_INVOICE_DETAIL a Inner join TB_RECEIVE B on A.RecvBillNum = B.RecvBillNum\r\n"); |
|
|
_builder.Append("SELECT DISTINCT InvcBillNum FROM TB_INVOICE_DETAIL a Inner join TB_RECEIVE B on A.RecvBillNum = B.RecvBillNum\r\n"); |
|
|
_builder.AppendFormat(" WHERE 1=1 \r\n"); |
|
|
_builder.AppendFormat(" WHERE 1=1 \r\n"); |
|
|
if (!string.IsNullOrEmpty(p_begin)) |
|
|
if (!string.IsNullOrEmpty(p_begin)) |
|
|
{ |
|
|
{ |
|
@ -239,10 +239,10 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
if (!string.IsNullOrEmpty(p_asn)) |
|
|
if (!string.IsNullOrEmpty(p_asn)) |
|
|
{ |
|
|
{ |
|
|
_builder.AppendFormat(" and A.AsnBillNum='{0}' \r\n",p_asn); |
|
|
_builder.AppendFormat(" and A.AsnBillNum='{0}' \r\n", p_asn); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
_list =db.Database.SqlQuery<string>(_builder.ToString()).ToList(); |
|
|
_list = db.Database.SqlQuery<string>(_builder.ToString()).ToList(); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
return _list; |
|
|
return _list; |
|
@ -431,7 +431,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p.VendName.Contains(p_entity.VendName)); |
|
|
q = q.Where(p => p.VendName.Contains(p_entity.VendName)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(p_entity.InvoiceNum)) |
|
|
if (!string.IsNullOrEmpty(p_entity.InvoiceNum)) |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p.InvoiceNum.Contains(p_entity.InvoiceNum)); |
|
|
q = q.Where(p => p.InvoiceNum.Contains(p_entity.InvoiceNum)); |
|
@ -440,7 +440,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p_entity.BillStateList.Contains(p.State)); |
|
|
q = q.Where(p => p_entity.BillStateList.Contains(p.State)); |
|
|
} |
|
|
} |
|
|
if (!string.IsNullOrEmpty( p_entity.Site)) |
|
|
if (!string.IsNullOrEmpty(p_entity.Site)) |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p.Site == p_entity.Site); |
|
|
q = q.Where(p => p.Site == p_entity.Site); |
|
|
} |
|
|
} |
|
@ -481,11 +481,11 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p.CreateUser.Contains(p_entity.CreateUser)); |
|
|
q = q.Where(p => p.CreateUser.Contains(p_entity.CreateUser)); |
|
|
} |
|
|
} |
|
|
if (p_entity.InvoiceList!=null && p_entity.InvoiceList.Count>0) |
|
|
if (p_entity.InvoiceList != null && p_entity.InvoiceList.Count > 0) |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p_entity.InvoiceList.Contains(p.InvcBillNum)); |
|
|
q = q.Where(p => p_entity.InvoiceList.Contains(p.InvcBillNum)); |
|
|
} |
|
|
} |
|
|
if (p_entity.EndTimeb!= null) |
|
|
if (p_entity.EndTimeb != null) |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p.EndTimeb == p_entity.EndTimeb); |
|
|
q = q.Where(p => p.EndTimeb == p_entity.EndTimeb); |
|
|
} |
|
|
} |
|
@ -523,7 +523,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString()); |
|
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString()); |
|
@ -531,7 +531,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (ScpException ex) |
|
|
catch (ScpException ex) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -541,7 +541,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -579,7 +579,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
if (!string.IsNullOrEmpty(p_entity.InvcBillNum)) |
|
|
if (!string.IsNullOrEmpty(p_entity.InvcBillNum)) |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p.InvcBillNum ==p_entity.InvcBillNum); |
|
|
q = q.Where(p => p.InvcBillNum == p_entity.InvcBillNum); |
|
|
} |
|
|
} |
|
|
if (!string.IsNullOrEmpty(p_entity.VendId)) |
|
|
if (!string.IsNullOrEmpty(p_entity.VendId)) |
|
|
{ |
|
|
{ |
|
@ -728,7 +728,7 @@ namespace CK.SCP.Controller |
|
|
//{
|
|
|
//{
|
|
|
// q = q.Where(p => p.UID == p_entity.UID);
|
|
|
// q = q.Where(p => p.UID == p_entity.UID);
|
|
|
//}
|
|
|
//}
|
|
|
if (p_ls!=null && p_ls.Count>0) |
|
|
if (p_ls != null && p_ls.Count > 0) |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p_ls.Contains(p.InvcBillNum)); |
|
|
q = q.Where(p => p_ls.Contains(p.InvcBillNum)); |
|
|
} |
|
|
} |
|
@ -996,7 +996,7 @@ namespace CK.SCP.Controller |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static void Get_V_TB_INVOICE_DETAIL_List(V_TB_INVOICE_DETAIL p_entity, Action<ResultObject<IQueryable<V_TB_INVOICE_DETAIL>>> p_action) |
|
|
public static void Get_V_TB_INVOICE_DETAIL_List(V_TB_INVOICE_DETAIL p_entity, Action<ResultObject<IQueryable<V_TB_INVOICE_DETAIL>>> p_action) |
|
|
{ |
|
|
{ |
|
|
ResultObject<IQueryable<V_TB_INVOICE_DETAIL>> _ret = new ResultObject<IQueryable<V_TB_INVOICE_DETAIL>>(); |
|
|
ResultObject<IQueryable<V_TB_INVOICE_DETAIL>> _ret = new ResultObject<IQueryable<V_TB_INVOICE_DETAIL>>(); |
|
@ -1123,7 +1123,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_DETAIL_List", ex.ToString()); |
|
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_DETAIL_List", ex.ToString()); |
|
@ -1131,7 +1131,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (ScpException ex) |
|
|
catch (ScpException ex) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -1141,7 +1141,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -1178,7 +1178,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
if (!string.IsNullOrEmpty(p_entity.InvcBillNum)) |
|
|
if (!string.IsNullOrEmpty(p_entity.InvcBillNum)) |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p.InvcBillNum ==p_entity.InvcBillNum); |
|
|
q = q.Where(p => p.InvcBillNum == p_entity.InvcBillNum); |
|
|
} |
|
|
} |
|
|
if (!string.IsNullOrEmpty(p_entity.PoBillNum)) |
|
|
if (!string.IsNullOrEmpty(p_entity.PoBillNum)) |
|
|
{ |
|
|
{ |
|
@ -1333,7 +1333,7 @@ namespace CK.SCP.Controller |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
{ |
|
|
{ |
|
|
IQueryable<V_TB_INVOICE_DETAIL> q = db.V_TB_INVOICE_DETAIL; |
|
|
IQueryable<V_TB_INVOICE_DETAIL> q = db.V_TB_INVOICE_DETAIL; |
|
|
if (p_list.Count>0) |
|
|
if (p_list.Count > 0) |
|
|
{ |
|
|
{ |
|
|
q = q.Where(p => p_list.Contains(p.InvcBillNum)); |
|
|
q = q.Where(p => p_list.Contains(p.InvcBillNum)); |
|
|
} |
|
|
} |
|
@ -1490,14 +1490,14 @@ namespace CK.SCP.Controller |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static ResultObject<bool> CREATE_TB_INVOICE(V_TB_INVOICE p_entity,List<V_TB_RECEIVE_LIST> p_list) |
|
|
public static ResultObject<bool> CREATE_TB_INVOICE(V_TB_INVOICE p_entity, List<V_TB_RECEIVE_LIST> p_list) |
|
|
{ |
|
|
{ |
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
{ |
|
|
{ |
|
|
var _tax=db.TA_VENDER.Where(p => p.VendId == p_entity.VendId).Select(p => p.Tax).FirstOrDefault(); |
|
|
var _tax = db.TA_VENDER.Where(p => p.VendId == p_entity.VendId).Select(p => p.Tax).FirstOrDefault(); |
|
|
TB_INVOICE invoice = new TB_INVOICE(); |
|
|
TB_INVOICE invoice = new TB_INVOICE(); |
|
|
invoice.InvcBillNum = SCP_BILLCODE_CONTROLLER.MakeInvoiceCode(); |
|
|
invoice.InvcBillNum = SCP_BILLCODE_CONTROLLER.MakeInvoiceCode(); |
|
|
invoice.VendId = p_entity.VendId; |
|
|
invoice.VendId = p_entity.VendId; |
|
@ -1517,11 +1517,12 @@ namespace CK.SCP.Controller |
|
|
invoice.BlancePrice = p_entity.BlancePrice; |
|
|
invoice.BlancePrice = p_entity.BlancePrice; |
|
|
invoice.SubSite = p_entity.SubSite; |
|
|
invoice.SubSite = p_entity.SubSite; |
|
|
db.TB_INVOICE.AddOrUpdate(invoice); |
|
|
db.TB_INVOICE.AddOrUpdate(invoice); |
|
|
|
|
|
|
|
|
p_list.ForEach(p => { |
|
|
p_list.ForEach(p => |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
TB_INVOICE_DETAIL invocieDetail = new TB_INVOICE_DETAIL(); |
|
|
TB_INVOICE_DETAIL invocieDetail = new TB_INVOICE_DETAIL(); |
|
|
invocieDetail.InvcBillNum= invoice.InvcBillNum; |
|
|
invocieDetail.InvcBillNum = invoice.InvcBillNum; |
|
|
invocieDetail.AsnBillNum = p.AsnBillNum; |
|
|
invocieDetail.AsnBillNum = p.AsnBillNum; |
|
|
invocieDetail.PoBillNum = p.PoBillNum; |
|
|
invocieDetail.PoBillNum = p.PoBillNum; |
|
|
invocieDetail.PoLineNum = p.PoLine; |
|
|
invocieDetail.PoLineNum = p.PoLine; |
|
@ -1565,7 +1566,7 @@ namespace CK.SCP.Controller |
|
|
#endregion
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
if (db.SaveChanges() != -1) |
|
|
if (db.SaveChanges() != -1) |
|
|
{ |
|
|
{ |
|
|
_ret.State = ReturnStatus.Succeed; |
|
|
_ret.State = ReturnStatus.Succeed; |
|
|
_ret.Result = true; |
|
|
_ret.Result = true; |
|
|
} |
|
|
} |
|
@ -1593,7 +1594,7 @@ namespace CK.SCP.Controller |
|
|
throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); |
|
|
throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -1611,7 +1612,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -1667,7 +1668,8 @@ namespace CK.SCP.Controller |
|
|
invoice.BlancePrice = p_entity.BlancePrice; |
|
|
invoice.BlancePrice = p_entity.BlancePrice; |
|
|
invoice.SubSite = p_entity.SubSite; |
|
|
invoice.SubSite = p_entity.SubSite; |
|
|
db.TB_INVOICE.AddOrUpdate(invoice); |
|
|
db.TB_INVOICE.AddOrUpdate(invoice); |
|
|
p_list.ForEach(p => { |
|
|
p_list.ForEach(p => |
|
|
|
|
|
{ |
|
|
TB_INVOICE_DETAIL invocieDetail = new TB_INVOICE_DETAIL(); |
|
|
TB_INVOICE_DETAIL invocieDetail = new TB_INVOICE_DETAIL(); |
|
|
invocieDetail.InvcBillNum = invoice.InvcBillNum; |
|
|
invocieDetail.InvcBillNum = invoice.InvcBillNum; |
|
|
invocieDetail.AsnBillNum = p.AsnBillNum; |
|
|
invocieDetail.AsnBillNum = p.AsnBillNum; |
|
@ -1722,7 +1724,7 @@ namespace CK.SCP.Controller |
|
|
//}
|
|
|
//}
|
|
|
//_total += Convert.ToDecimal(p.Qty * p.Price + p.Qty * p.Price * p_entity.Tax + p.BlancePrice * p.Qty);
|
|
|
//_total += Convert.ToDecimal(p.Qty * p.Price + p.Qty * p.Price * p_entity.Tax + p.BlancePrice * p.Qty);
|
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
#region 采购员代办任务新
|
|
|
#region 采购员代办任务新
|
|
|
//TB_PENING_ITEMS _item = new TB_PENING_ITEMS();
|
|
|
//TB_PENING_ITEMS _item = new TB_PENING_ITEMS();
|
|
|
//_item.ROLE_NAME = "采购人员";
|
|
|
//_item.ROLE_NAME = "采购人员";
|
|
@ -1854,7 +1856,8 @@ namespace CK.SCP.Controller |
|
|
invoice.BlancePrice = p_entity.BlancePrice; |
|
|
invoice.BlancePrice = p_entity.BlancePrice; |
|
|
invoice.SubSite = p_entity.SubSite; |
|
|
invoice.SubSite = p_entity.SubSite; |
|
|
db.TB_INVOICE.AddOrUpdate(invoice); |
|
|
db.TB_INVOICE.AddOrUpdate(invoice); |
|
|
p_list.ForEach(p => { |
|
|
p_list.ForEach(p => |
|
|
|
|
|
{ |
|
|
TB_INVOICE_DETAIL invocieDetail = new TB_INVOICE_DETAIL(); |
|
|
TB_INVOICE_DETAIL invocieDetail = new TB_INVOICE_DETAIL(); |
|
|
invocieDetail.InvcBillNum = invoice.InvcBillNum; |
|
|
invocieDetail.InvcBillNum = invoice.InvcBillNum; |
|
|
invocieDetail.AsnBillNum = p.AsnBillNum; |
|
|
invocieDetail.AsnBillNum = p.AsnBillNum; |
|
@ -2102,7 +2105,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
if (p_state == InvoiceState.FinanceReceive) |
|
|
if (p_state == InvoiceState.FinanceReceive) |
|
|
{ |
|
|
{ |
|
|
var _ary=db.TB_PENING_ITEMS.Where(itm => itm.INVOICE_NO == _entity.InvcBillNum).ToArray(); |
|
|
var _ary = db.TB_PENING_ITEMS.Where(itm => itm.INVOICE_NO == _entity.InvcBillNum).ToArray(); |
|
|
db.TB_PENING_ITEMS.RemoveRange(_ary); |
|
|
db.TB_PENING_ITEMS.RemoveRange(_ary); |
|
|
#region 财务审核通过任务新
|
|
|
#region 财务审核通过任务新
|
|
|
|
|
|
|
|
@ -2135,11 +2138,12 @@ namespace CK.SCP.Controller |
|
|
//_item.ITEM_ADDRESS = _entity.Site;
|
|
|
//_item.ITEM_ADDRESS = _entity.Site;
|
|
|
_item.GUID = Guid.NewGuid(); |
|
|
_item.GUID = Guid.NewGuid(); |
|
|
db.TB_PENING_ITEMS.Add(_item); |
|
|
db.TB_PENING_ITEMS.Add(_item); |
|
|
#endregion
|
|
|
#endregion
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var _list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_billno).ToList(); |
|
|
var _list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_billno).ToList(); |
|
|
_list.ForEach(p => { |
|
|
_list.ForEach(p => |
|
|
|
|
|
{ |
|
|
p.State = (int)p_state; |
|
|
p.State = (int)p_state; |
|
|
|
|
|
|
|
|
}); |
|
|
}); |
|
@ -2152,14 +2156,15 @@ namespace CK.SCP.Controller |
|
|
_entity.IsDeleted = true; |
|
|
_entity.IsDeleted = true; |
|
|
|
|
|
|
|
|
_list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_billno).ToList(); |
|
|
_list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_billno).ToList(); |
|
|
_list.ForEach(p => { |
|
|
_list.ForEach(p => |
|
|
|
|
|
{ |
|
|
p.State = (int)p_state; |
|
|
p.State = (int)p_state; |
|
|
p.IsDeleted = true; |
|
|
p.IsDeleted = true; |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
db.TB_INVOICE_DETAIL.AddOrUpdate(p => p.UID, _list.ToArray()); |
|
|
db.TB_INVOICE_DETAIL.AddOrUpdate(p => p.UID, _list.ToArray()); |
|
|
db.TB_INVOICE.AddOrUpdate(p => p.UID,_entity); |
|
|
db.TB_INVOICE.AddOrUpdate(p => p.UID, _entity); |
|
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(_ret.Message)) |
|
|
if (string.IsNullOrEmpty(_ret.Message)) |
|
|
{ |
|
|
{ |
|
@ -2198,7 +2203,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -2232,7 +2237,7 @@ namespace CK.SCP.Controller |
|
|
return _ret; |
|
|
return _ret; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static ResultObject<bool> SAVE_TB_INVOICE_STATE(V_TB_INVOICE invoice, InvoiceState p_state,string p_username="", string p_flag = "") |
|
|
public static ResultObject<bool> SAVE_TB_INVOICE_STATE(V_TB_INVOICE invoice, InvoiceState p_state, string p_username = "", string p_flag = "") |
|
|
{ |
|
|
{ |
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
try |
|
|
try |
|
@ -2390,7 +2395,8 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var _list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == invoice.InvcBillNum).ToList(); |
|
|
var _list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == invoice.InvcBillNum).ToList(); |
|
|
_list.ForEach(p => { |
|
|
_list.ForEach(p => |
|
|
|
|
|
{ |
|
|
p.State = (int)p_state; |
|
|
p.State = (int)p_state; |
|
|
|
|
|
|
|
|
}); |
|
|
}); |
|
@ -2402,8 +2408,9 @@ namespace CK.SCP.Controller |
|
|
_entity.State = (int)p_state; |
|
|
_entity.State = (int)p_state; |
|
|
_entity.IsDeleted = true; |
|
|
_entity.IsDeleted = true; |
|
|
|
|
|
|
|
|
_list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == invoice.InvcBillNum).ToList(); |
|
|
_list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == invoice.InvcBillNum).ToList(); |
|
|
_list.ForEach(p => { |
|
|
_list.ForEach(p => |
|
|
|
|
|
{ |
|
|
p.State = (int)p_state; |
|
|
p.State = (int)p_state; |
|
|
p.IsDeleted = true; |
|
|
p.IsDeleted = true; |
|
|
if (!string.IsNullOrEmpty(p_flag)) |
|
|
if (!string.IsNullOrEmpty(p_flag)) |
|
@ -2424,7 +2431,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
db.TB_INVOICE_DETAIL.AddOrUpdate(p => p.UID, _list.ToArray()); |
|
|
db.TB_INVOICE_DETAIL.AddOrUpdate(p => p.UID, _list.ToArray()); |
|
@ -2467,7 +2474,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -2476,7 +2483,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (ScpException ex) |
|
|
catch (ScpException ex) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
@ -2487,7 +2494,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -2549,7 +2556,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -2558,7 +2565,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (ScpException ex) |
|
|
catch (ScpException ex) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
@ -2569,7 +2576,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -2587,7 +2594,7 @@ namespace CK.SCP.Controller |
|
|
return _ret; |
|
|
return _ret; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static ResultObject<bool> SAVE_TB_INVOICE_APPLY(V_TB_INVOICE p_invoice, List<V_TB_INVOICE_DETAIL> p_list,string p_flag="") |
|
|
public static ResultObject<bool> SAVE_TB_INVOICE_APPLY(V_TB_INVOICE p_invoice, List<V_TB_INVOICE_DETAIL> p_list, string p_flag = "") |
|
|
{ |
|
|
{ |
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
List<string> _list = new List<string>(); |
|
|
List<string> _list = new List<string>(); |
|
@ -2595,7 +2602,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
{ |
|
|
{ |
|
|
var _bill=db.TB_INVOICE.Where(itm => itm.InvcBillNum == p_invoice.InvcBillNum).FirstOrDefault(); |
|
|
var _bill = db.TB_INVOICE.Where(itm => itm.InvcBillNum == p_invoice.InvcBillNum).FirstOrDefault(); |
|
|
_bill.InvoiceNum = p_invoice.InvoiceNum; |
|
|
_bill.InvoiceNum = p_invoice.InvoiceNum; |
|
|
_bill.ExpressNum = p_invoice.ExpressNum; |
|
|
_bill.ExpressNum = p_invoice.ExpressNum; |
|
|
_bill.ContractPrice = p_invoice.ContractPrice; |
|
|
_bill.ContractPrice = p_invoice.ContractPrice; |
|
@ -2606,10 +2613,11 @@ namespace CK.SCP.Controller |
|
|
_bill.Remark = p_invoice.Remark; |
|
|
_bill.Remark = p_invoice.Remark; |
|
|
_bill.State = (int)p_invoice.State; |
|
|
_bill.State = (int)p_invoice.State; |
|
|
db.TB_INVOICE.AddOrUpdate(p => p.InvcBillNum, _bill); |
|
|
db.TB_INVOICE.AddOrUpdate(p => p.InvcBillNum, _bill); |
|
|
p_list.ForEach(p => { |
|
|
p_list.ForEach(p => |
|
|
var _detail=db.TB_INVOICE_DETAIL.Where(itm => itm.UID == p.UID).FirstOrDefault(); |
|
|
{ |
|
|
|
|
|
var _detail = db.TB_INVOICE_DETAIL.Where(itm => itm.UID == p.UID).FirstOrDefault(); |
|
|
var _qty = _detail.Qty - p.Qty; |
|
|
var _qty = _detail.Qty - p.Qty; |
|
|
_detail.State =(int)p.State; |
|
|
_detail.State = (int)p.State; |
|
|
_detail.Qty = p.Qty; |
|
|
_detail.Qty = p.Qty; |
|
|
_detail.Price = p.Price; |
|
|
_detail.Price = p.Price; |
|
|
_detail.ContractPrice = p.ContractPrice; |
|
|
_detail.ContractPrice = p.ContractPrice; |
|
@ -2619,11 +2627,11 @@ namespace CK.SCP.Controller |
|
|
if (_detail.Qty == 0) |
|
|
if (_detail.Qty == 0) |
|
|
{ |
|
|
{ |
|
|
_detail.State = (int)InvoiceState.Reject; |
|
|
_detail.State = (int)InvoiceState.Reject; |
|
|
_detail.IsDeleted = true; |
|
|
_detail.IsDeleted = true; |
|
|
} |
|
|
} |
|
|
_detail.Remark = p.Remark; |
|
|
_detail.Remark = p.Remark; |
|
|
db.TB_INVOICE_DETAIL.AddOrUpdate(itm=>itm.UID,_detail); |
|
|
db.TB_INVOICE_DETAIL.AddOrUpdate(itm => itm.UID, _detail); |
|
|
if(!string.IsNullOrEmpty(p_flag)&& p.BlancePrice>0) |
|
|
if (!string.IsNullOrEmpty(p_flag) && p.BlancePrice > 0) |
|
|
{ |
|
|
{ |
|
|
var _ms = db.TA_MoldSharing.SingleOrDefault(t => t.PartCode == _detail.PartCode && t.VendId == _bill.VendId); |
|
|
var _ms = db.TA_MoldSharing.SingleOrDefault(t => t.PartCode == _detail.PartCode && t.VendId == _bill.VendId); |
|
|
var _price = db.TB_PRICE.Where(q => p.State != (int)PriceState.Reject && q.PartCode == p.PartCode).ToList(); |
|
|
var _price = db.TB_PRICE.Where(q => p.State != (int)PriceState.Reject && q.PartCode == p.PartCode).ToList(); |
|
@ -2635,7 +2643,7 @@ namespace CK.SCP.Controller |
|
|
string _str = "供应商" + _ms.VendId + "零件名称" + _ms.PartCode + "超出分摊数量" + (_ms.Count - _ms.Qty).ToString(); |
|
|
string _str = "供应商" + _ms.VendId + "零件名称" + _ms.PartCode + "超出分摊数量" + (_ms.Count - _ms.Qty).ToString(); |
|
|
_list.Add(_str); |
|
|
_list.Add(_str); |
|
|
} |
|
|
} |
|
|
if(_ms.Count == _ms.Qty&& _price.Count>0) |
|
|
if (_ms.Count == _ms.Qty && _price.Count > 0) |
|
|
{ |
|
|
{ |
|
|
_price.ForEach(t => |
|
|
_price.ForEach(t => |
|
|
{ |
|
|
{ |
|
@ -2704,7 +2712,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -2713,7 +2721,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (ScpException ex) |
|
|
catch (ScpException ex) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
@ -2724,7 +2732,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -2742,7 +2750,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
return _ret; |
|
|
return _ret; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static ResultObject<bool> SAVE_TB_INVOICE_RED(V_TB_INVOICE p_invoice, List<V_TB_INVOICE_DETAIL> p_list) |
|
|
public static ResultObject<bool> SAVE_TB_INVOICE_RED(V_TB_INVOICE p_invoice, List<V_TB_INVOICE_DETAIL> p_list) |
|
|
{ |
|
|
{ |
|
@ -2751,8 +2759,8 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
TB_INVOICE _bill = db.TB_INVOICE.Where(itm => itm.InvcBillNum == p_invoice.InvcBillNum && itm.IsDeleted==false).FirstOrDefault(); |
|
|
TB_INVOICE _bill = db.TB_INVOICE.Where(itm => itm.InvcBillNum == p_invoice.InvcBillNum && itm.IsDeleted == false).FirstOrDefault(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (_bill != null) |
|
|
if (_bill != null) |
|
@ -2836,7 +2844,7 @@ namespace CK.SCP.Controller |
|
|
_detail.BlancePrice = p.BlancePrice; |
|
|
_detail.BlancePrice = p.BlancePrice; |
|
|
_detail.DiscountPrice = p.DiscountPrice; |
|
|
_detail.DiscountPrice = p.DiscountPrice; |
|
|
_detail.DiscountRemark = p.DiscountRemark; |
|
|
_detail.DiscountRemark = p.DiscountRemark; |
|
|
_detail.IsRed =true; |
|
|
_detail.IsRed = true; |
|
|
|
|
|
|
|
|
db.TB_INVOICE_DETAIL.Add(_detail); |
|
|
db.TB_INVOICE_DETAIL.Add(_detail); |
|
|
}); |
|
|
}); |
|
@ -2963,7 +2971,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -2972,7 +2980,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (ScpException ex) |
|
|
catch (ScpException ex) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
@ -2983,7 +2991,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -3001,7 +3009,7 @@ namespace CK.SCP.Controller |
|
|
return _ret; |
|
|
return _ret; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static ResultObject<bool> CaiWu_Return_Reason(string p_InvcBillNum,string p_Memo) |
|
|
public static ResultObject<bool> CaiWu_Return_Reason(string p_InvcBillNum, string p_Memo) |
|
|
{ |
|
|
{ |
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
try |
|
|
try |
|
@ -3082,7 +3090,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -3091,7 +3099,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (ScpException ex) |
|
|
catch (ScpException ex) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
@ -3102,7 +3110,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -3130,7 +3138,7 @@ namespace CK.SCP.Controller |
|
|
TB_INVOICE invoice = db.TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
TB_INVOICE invoice = db.TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
|
|
|
|
|
|
invoice.Remark = p_Memo; |
|
|
invoice.Remark = p_Memo; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
db.TB_INVOICE.AddOrUpdate(invoice); |
|
|
db.TB_INVOICE.AddOrUpdate(invoice); |
|
|
|
|
|
|
|
@ -3164,7 +3172,7 @@ namespace CK.SCP.Controller |
|
|
throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); |
|
|
throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -3182,7 +3190,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -3279,7 +3287,7 @@ namespace CK.SCP.Controller |
|
|
return _ret; |
|
|
return _ret; |
|
|
} |
|
|
} |
|
|
public static ResultObject<bool> UpdateMemoByInvcBillNum(string p_InvcBillNum, string p_Memo, decimal p_blan, string p_inv, |
|
|
public static ResultObject<bool> UpdateMemoByInvcBillNum(string p_InvcBillNum, string p_Memo, decimal p_blan, string p_inv, |
|
|
string p_CInvoiceCostCenterCode , |
|
|
string p_CInvoiceCostCenterCode, |
|
|
string p_CInvoiceDescription, |
|
|
string p_CInvoiceDescription, |
|
|
string p_CInvoiceDivisionCode, |
|
|
string p_CInvoiceDivisionCode, |
|
|
string p_CInvoiceType, |
|
|
string p_CInvoiceType, |
|
@ -3404,10 +3412,10 @@ namespace CK.SCP.Controller |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<V_TB_INVOICE_DETAIL> _ls = db.V_TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_InvcBillNum).ToList(); |
|
|
List<V_TB_INVOICE_DETAIL> _ls = db.V_TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_InvcBillNum).ToList(); |
|
|
V_TB_INVOICE _bill= db.V_TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
V_TB_INVOICE _bill = db.V_TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
foreach (V_TB_INVOICE_DETAIL itm in _ls) |
|
|
foreach (V_TB_INVOICE_DETAIL itm in _ls) |
|
|
{ |
|
|
{ |
|
|
TS_UNI_API _api = UniApiController.CreateBy(_bill,itm ,UniApiType.Invoice); |
|
|
TS_UNI_API _api = UniApiController.CreateBy(_bill, itm, UniApiType.Invoice); |
|
|
_api.State = 1; |
|
|
_api.State = 1; |
|
|
db.TS_UNI_API.AddOrUpdate(_api); |
|
|
db.TS_UNI_API.AddOrUpdate(_api); |
|
|
itm.State = (int)p_state; |
|
|
itm.State = (int)p_state; |
|
@ -3464,7 +3472,7 @@ namespace CK.SCP.Controller |
|
|
} |
|
|
} |
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
catch (OptimisticConcurrencyException ex)//并发冲突异常
|
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.State = ReturnStatus.Failed; |
|
|
_ret.Result = false; |
|
|
_ret.Result = false; |
|
|
_ret.ErrorList.Add(ex); |
|
|
_ret.ErrorList.Add(ex); |
|
@ -3482,7 +3490,7 @@ namespace CK.SCP.Controller |
|
|
{ |
|
|
{ |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
var inner = (UpdateException)ex.InnerException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
@ -3500,6 +3508,151 @@ namespace CK.SCP.Controller |
|
|
return _ret; |
|
|
return _ret; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 带发票时间的保存
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="p_InvcBillNum"></param>
|
|
|
|
|
|
/// <param name="p_state"></param>
|
|
|
|
|
|
/// <param name="p_CInvoiceCostCenterCode"></param>
|
|
|
|
|
|
/// <param name="p_CInvoiceDescription"></param>
|
|
|
|
|
|
/// <param name="p_CInvoiceDivisionCode"></param>
|
|
|
|
|
|
/// <param name="p_CInvoiceType"></param>
|
|
|
|
|
|
/// <param name="p_PostingDate"></param>
|
|
|
|
|
|
/// <param name="time"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public static ResultObject<bool> SET_INVOICE_STATE_AND_DATE(string p_InvcBillNum, InvoiceState p_state, string p_CInvoiceCostCenterCode, string p_CInvoiceDescription, string p_CInvoiceDivisionCode,string p_CInvoiceType, DateTime? p_PostingDate, DateTime? time) |
|
|
|
|
|
{ |
|
|
|
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
|
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
|
|
|
{ |
|
|
|
|
|
TB_INVOICE invoice = db.TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (invoice != null) |
|
|
|
|
|
{ |
|
|
|
|
|
invoice.State = (int)p_state; |
|
|
|
|
|
|
|
|
|
|
|
invoice.CInvoiceCostCenterCode = p_CInvoiceCostCenterCode; |
|
|
|
|
|
invoice.CInvoiceDescription = p_CInvoiceDescription; |
|
|
|
|
|
invoice.CInvoiceDivisionCode = p_CInvoiceDivisionCode; |
|
|
|
|
|
invoice.CInvoiceType = p_CInvoiceType; |
|
|
|
|
|
invoice.PostingDate = p_PostingDate; |
|
|
|
|
|
invoice.InvoiceDate = time; |
|
|
|
|
|
|
|
|
|
|
|
db.TB_INVOICE.AddOrUpdate(invoice); |
|
|
|
|
|
|
|
|
|
|
|
List<TB_INVOICE_DETAIL> invoicedetail = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_InvcBillNum).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
foreach (TB_INVOICE_DETAIL det in invoicedetail) |
|
|
|
|
|
{ |
|
|
|
|
|
det.State = (int)p_state; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//财务审核通过,把所有代办信息设为已办状态
|
|
|
|
|
|
|
|
|
|
|
|
List<TB_PENING_ITEMS> items = db.TB_PENING_ITEMS.Where(p => p.ITEM_NO == p_InvcBillNum).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
foreach (TB_PENING_ITEMS item in items) |
|
|
|
|
|
{ |
|
|
|
|
|
item.ITEM_STATE = (int)PENDING_STATE.COMPLETED; |
|
|
|
|
|
} |
|
|
|
|
|
List<V_TB_INVOICE_DETAIL> _ls = db.V_TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_InvcBillNum).ToList(); |
|
|
|
|
|
V_TB_INVOICE _bill = db.V_TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
|
|
|
|
|
|
|
|
|
var _colne = ConvertHelper.GetObjectClone(_bill); |
|
|
|
|
|
|
|
|
|
|
|
_colne.CInvoiceCostCenterCode = p_CInvoiceCostCenterCode; |
|
|
|
|
|
_colne.CInvoiceDescription = p_CInvoiceDescription; |
|
|
|
|
|
_colne.CInvoiceDivisionCode = p_CInvoiceDivisionCode; |
|
|
|
|
|
_colne.CInvoiceType = p_CInvoiceType; |
|
|
|
|
|
_colne.PostingDate = p_PostingDate; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach (V_TB_INVOICE_DETAIL itm in _ls) |
|
|
|
|
|
{ |
|
|
|
|
|
TS_UNI_API _api = UniApiController.CreateBy(_colne, itm, UniApiType.Invoice); |
|
|
|
|
|
_api.State = 1; |
|
|
|
|
|
db.TS_UNI_API.AddOrUpdate(_api); |
|
|
|
|
|
itm.State = (int)p_state; |
|
|
|
|
|
} |
|
|
|
|
|
if (db.SaveChanges() != -1) |
|
|
|
|
|
{ |
|
|
|
|
|
_ret.State = ReturnStatus.Succeed; |
|
|
|
|
|
_ret.Result = true; |
|
|
|
|
|
_ret.Message = invoice.VendId; |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
|
|
_ret.Result = false; |
|
|
|
|
|
_ret.Message = invoice.VendId; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
|
|
_ret.Result = false; |
|
|
|
|
|
_ret.Message = invoice.VendId; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
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_INVOICE_CONTROLLER), "SET_INVOICE_STATE_AND_DATE", 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_INVOICE_CONTROLLER), "SET_INVOICE_STATE_AND_DATE", 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_INVOICE_CONTROLLER), "SET_INVOICE_STATE_AND_DATE", 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.Result = false; |
|
|
|
|
|
_ret.ErrorList.Add(e); |
|
|
|
|
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "SET_INVOICE_STATE", e.Message); throw e; |
|
|
|
|
|
} |
|
|
|
|
|
return _ret; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public static ResultObject<bool> SET_INVOICE_STATE(string p_InvcBillNum, InvoiceState p_state, |
|
|
public static ResultObject<bool> SET_INVOICE_STATE(string p_InvcBillNum, InvoiceState p_state, |
|
|
string p_CInvoiceCostCenterCode, |
|
|
string p_CInvoiceCostCenterCode, |
|
@ -3515,7 +3668,7 @@ namespace CK.SCP.Controller |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
{ |
|
|
{ |
|
|
TB_INVOICE invoice = db.TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
TB_INVOICE invoice = db.TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (invoice != null) |
|
|
if (invoice != null) |
|
|
{ |
|
|
{ |
|
@ -3549,7 +3702,7 @@ namespace CK.SCP.Controller |
|
|
List<V_TB_INVOICE_DETAIL> _ls = db.V_TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_InvcBillNum).ToList(); |
|
|
List<V_TB_INVOICE_DETAIL> _ls = db.V_TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_InvcBillNum).ToList(); |
|
|
V_TB_INVOICE _bill = db.V_TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
V_TB_INVOICE _bill = db.V_TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); |
|
|
|
|
|
|
|
|
var _colne=ConvertHelper.GetObjectClone(_bill); |
|
|
var _colne = ConvertHelper.GetObjectClone(_bill); |
|
|
|
|
|
|
|
|
_colne.CInvoiceCostCenterCode = p_CInvoiceCostCenterCode; |
|
|
_colne.CInvoiceCostCenterCode = p_CInvoiceCostCenterCode; |
|
|
_colne.CInvoiceDescription = p_CInvoiceDescription; |
|
|
_colne.CInvoiceDescription = p_CInvoiceDescription; |
|
@ -3711,7 +3864,7 @@ namespace CK.SCP.Controller |
|
|
|
|
|
|
|
|
// if (invoice != null)
|
|
|
// if (invoice != null)
|
|
|
// {
|
|
|
// {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|