Browse Source

添加 发票日期字段

master
钱峰 4 months ago
parent
commit
a213acb390
  1. 9
      北京北汽/Controller/SCP_DC_UNI_CONTROLLER.cs
  2. 319
      北京北汽/Controller/SCP_INVOICE_CONTROLLER.cs
  3. 4
      北京北汽/Models/ScpEntity/TB_INVOICE.cs
  4. 4
      北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx
  5. 49
      北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs
  6. 9
      北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs

9
北京北汽/Controller/SCP_DC_UNI_CONTROLLER.cs

@ -647,8 +647,8 @@ namespace CK.SCP.Controller
{ {
ScpEntities scpdb = EntitiesFactory.CreateScpInstance(); ScpEntities scpdb = EntitiesFactory.CreateScpInstance();
ExchangeCenterContext db = EntitiesFactory.CreateExchangeCenterInstance(); ExchangeCenterContext db = EntitiesFactory.CreateExchangeCenterInstance();
var _list = scpdb.TS_UNI_API.Where(p => p.State == (int)DataState.Enabled && p.Domain == "CQBMPT").OrderBy(p => p.UID).ToList(); var _list = scpdb.TS_UNI_API.Where(p => p.State == (int)DataState.Enabled && p.Domain == "BJBMPT").OrderBy(p => p.UID).ToList();
var _list1 = scpdb.TS_UNI_API.Where(p => p.State == (int)DataState.Enabled && p.Domain == "CQBMPT" && p.InterfaceType == "Price").OrderBy(p => p.UID).ToList(); var _list1 = scpdb.TS_UNI_API.Where(p => p.State == (int)DataState.Enabled && p.Domain == "BJBMPT" && p.InterfaceType == "Price").OrderBy(p => p.UID).ToList();
var apiii = _list1.Count(); var apiii = _list1.Count();
if (apiii > 0) if (apiii > 0)
@ -1706,6 +1706,7 @@ namespace CK.SCP.Controller
#region 发票主表 #region 发票主表
TED_INVOICE_MSTR _invMast = new TED_INVOICE_MSTR(); TED_INVOICE_MSTR _invMast = new TED_INVOICE_MSTR();
var _vinvoice = JsonConvert.DeserializeObject<V_TB_INVOICE>(_api.Extend1); var _vinvoice = JsonConvert.DeserializeObject<V_TB_INVOICE>(_api.Extend1);
var inv = scpdb.TB_INVOICE.FirstOrDefault(q => q.InvoiceNum == _vinvoice.InvoiceNum);
_invMast.GUID = Guid.NewGuid(); _invMast.GUID = Guid.NewGuid();
_invMast.Status = "0"; _invMast.Status = "0";
_invMast.Invoice_ID = 1000; _invMast.Invoice_ID = 1000;
@ -1720,12 +1721,12 @@ namespace CK.SCP.Controller
_invMast.InvoiceRegistrationNbr = 1000; _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.Currency = "CNY";
_invMast.InvoiceDate = _vinvoice.UpdateTime == null ? DateTime.Now : _vinvoice.UpdateTime.Value; _invMast.InvoiceDate = inv == null ? DateTime.Now : inv.InvoiceDate.Value;
_invMast.GUID = Guid.NewGuid(); _invMast.GUID = Guid.NewGuid();
_invMast.Invoice_ID = 1000; _invMast.Invoice_ID = 1000;
_invMast.CreateInvoice = true; _invMast.CreateInvoice = true;
_invMast.PaymentCondCode = "90"; _invMast.PaymentCondCode = "90";
_invMast.InvoiceDueDate = _invMast.InvoiceDate.AddDays(int.Parse(_invMast.PaymentCondCode)); _invMast.InvoiceDueDate = DateTime.Now.AddDays(int.Parse(_invMast.PaymentCondCode));
_invMast.InvoiceIsStatusFinal = true; _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.APMatchingIsStatusFinal = true;

319
北京北汽/Controller/SCP_INVOICE_CONTROLLER.cs

@ -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)
// { // {

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

@ -61,5 +61,9 @@ namespace CK.SCP.Models.ScpEntity
public DateTime? PostingDate { get; set; } public DateTime? PostingDate { get; set; }
public DateTime? StartTime { get; set; } public DateTime? StartTime { get; set; }
public DateTime? EndTimeb { get; set; } public DateTime? EndTimeb { get; set; }
/// <summary>
/// 发票日期
/// </summary>
public DateTime? InvoiceDate { get; set; }
} }
} }

4
北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx

@ -74,8 +74,10 @@
<f:NumberBox ID="txtBlancePrice1" runat="server" Label="调整税额" MaxValue="1" /> <f:NumberBox ID="txtBlancePrice1" runat="server" Label="调整税额" MaxValue="1" />
</Items> </Items>
</f:FormRow> </f:FormRow>
<f:FormRow runat="server" ColumnWidths="25% 25% 50%"> <f:FormRow runat="server" ColumnWidths="25% 25% 25% 25%" >
<Items> <Items>
<f:DatePicker ID="DatePicker1" runat="server" Label="发票日期" ></f:DatePicker>
<f:DropDownList runat="server" ID="DLL_TYPE" Label="发票类型" > <f:DropDownList runat="server" ID="DLL_TYPE" Label="发票类型" >
<f:ListItem Text="-" Value=""/> <f:ListItem Text="-" Value=""/>
<f:ListItem Text="采购原辅材" Value="C1401" /> <f:ListItem Text="采购原辅材" Value="C1401" />

49
北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs

@ -87,6 +87,11 @@ namespace SCP.WarehouseData
protected void btnReceive_OnClick(object sender, EventArgs e) protected void btnReceive_OnClick(object sender, EventArgs e)
{ {
bool flag = true; bool flag = true;
if (DatePicker1.SelectedDate == null)
{
Alert.Show("请先选择发票日期后再进行操作");
return;
}
for (int i = 0, count = Grid1.Rows.Count; i < count; i++) for (int i = 0, count = Grid1.Rows.Count; i < count; i++)
{ {
object[] rowDataKeys = Grid1.DataKeys[i]; object[] rowDataKeys = Grid1.DataKeys[i];
@ -118,7 +123,7 @@ namespace SCP.WarehouseData
return; return;
} }
SET_INVOICE_STATE("财务接收发票", InvoiceState.FinanceReceive); SET_INVOICE_STATE_AND_SAVEDATE("财务接收发票", InvoiceState.FinanceReceive);
} }
} }
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
@ -229,6 +234,43 @@ namespace SCP.WarehouseData
return; return;
} }
} }
/// <summary>
/// 带发票时间的保存
/// </summary>
/// <param name="p_msg"></param>
/// <param name="p_state"></param>
private void SET_INVOICE_STATE_AND_SAVEDATE(string p_msg, InvoiceState p_state)
{
string id = GetQueryValue("ID");
var ro = SCP_INVOICE_CONTROLLER.SET_INVOICE_STATE_AND_DATE(id, p_state,
TXT_InvoiceCostCenterCode.Text
, TXT_InvoiceDescription.Text
, TXT_InvoiceDivisionCode.Text
, DLL_TYPE.SelectedValue
, DP_PostingDate.SelectedDate
,DatePicker1.SelectedDate
);
if (ro.State == ReturnStatus.Succeed)
{
Alert.Show(p_msg + "成功!");
if (CurrentUser.ConfigList.Keys.Contains("供应商邮件"))
{
SCP.Common.MailManager.SendMail(ro.Message, p_msg, p_msg);
}
GetInvoice();
BindData();
return;
}
else
{
Alert.Show(p_msg + "失败!");
return;
}
}
private void GetInvoice() private void GetInvoice()
{ {
string id = GetQueryValue("ID"); string id = GetQueryValue("ID");
@ -261,6 +303,11 @@ namespace SCP.WarehouseData
TXT_InvoiceDivisionCode.Text = !string.IsNullOrEmpty(_Model.CInvoiceDivisionCode)?_Model.CInvoiceDivisionCode:string.Empty; TXT_InvoiceDivisionCode.Text = !string.IsNullOrEmpty(_Model.CInvoiceDivisionCode)?_Model.CInvoiceDivisionCode:string.Empty;
DLL_TYPE.SelectedValue = !string.IsNullOrEmpty(_Model.CInvoiceType)?_Model.CInvoiceType:string.Empty; DLL_TYPE.SelectedValue = !string.IsNullOrEmpty(_Model.CInvoiceType)?_Model.CInvoiceType:string.Empty;
DP_PostingDate.SelectedDate = _Model.PostingDate != null ? _Model.PostingDate : null; DP_PostingDate.SelectedDate = _Model.PostingDate != null ? _Model.PostingDate : null;
var inv = SCPDB.TB_INVOICE.FirstOrDefault(q => q.InvcBillNum == _Model.InvcBillNum);
if (inv != null)
{
DatePicker1.SelectedDate = inv.InvoiceDate;
}
if (Convert.ToInt32(_Model.State) == (int)InvoiceState.Mail) if (Convert.ToInt32(_Model.State) == (int)InvoiceState.Mail)
{ {
btnInvoiceFail.Hidden = false; btnInvoiceFail.Hidden = false;

9
北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs

@ -230,6 +230,15 @@ namespace SCP.WarehouseData
/// </remarks> /// </remarks>
protected global::FineUI.NumberBox txtBlancePrice1; protected global::FineUI.NumberBox txtBlancePrice1;
/// <summary>
/// DatePicker1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.DatePicker DatePicker1;
/// <summary> /// <summary>
/// DLL_TYPE 控件。 /// DLL_TYPE 控件。
/// </summary> /// </summary>

Loading…
Cancel
Save