diff --git a/北京北汽/Controller/SCP_DC_UNI_CONTROLLER.cs b/北京北汽/Controller/SCP_DC_UNI_CONTROLLER.cs index cd8792b..d8b302b 100644 --- a/北京北汽/Controller/SCP_DC_UNI_CONTROLLER.cs +++ b/北京北汽/Controller/SCP_DC_UNI_CONTROLLER.cs @@ -647,8 +647,8 @@ 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 == "CQBMPT").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 _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 == "BJBMPT" && p.InterfaceType == "Price").OrderBy(p => p.UID).ToList(); var apiii = _list1.Count(); if (apiii > 0) @@ -1706,6 +1706,7 @@ namespace CK.SCP.Controller #region 发票主表 TED_INVOICE_MSTR _invMast = new TED_INVOICE_MSTR(); var _vinvoice = JsonConvert.DeserializeObject(_api.Extend1); + var inv = scpdb.TB_INVOICE.FirstOrDefault(q => q.InvoiceNum == _vinvoice.InvoiceNum); _invMast.GUID = Guid.NewGuid(); _invMast.Status = "0"; _invMast.Invoice_ID = 1000; @@ -1720,12 +1721,12 @@ namespace CK.SCP.Controller _invMast.InvoiceRegistrationNbr = 1000; _invMast.PostingDate = _vinvoice.PostingDate == null ? DateTime.Now : _vinvoice.PostingDate.Value; _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.Invoice_ID = 1000; _invMast.CreateInvoice = true; _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.InvoicePostingYear = _vinvoice.PostingDate == null ? DateTime.Now.Year : _vinvoice.PostingDate.Value.Year; _invMast.APMatchingIsStatusFinal = true; diff --git a/北京北汽/Controller/SCP_INVOICE_CONTROLLER.cs b/北京北汽/Controller/SCP_INVOICE_CONTROLLER.cs index eafe852..d7c08d9 100644 --- a/北京北汽/Controller/SCP_INVOICE_CONTROLLER.cs +++ b/北京北汽/Controller/SCP_INVOICE_CONTROLLER.cs @@ -34,7 +34,7 @@ namespace CK.SCP.Controller { q = q.Where(p => p.InvcBillNum.Contains(p_entity.InvcBillNum)); } - + if (!string.IsNullOrEmpty(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)) { - _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)) { @@ -216,14 +216,14 @@ namespace CK.SCP.Controller - public static List Get_V_TB_INVOICE_BY_TIME(string p_begin,string p_end,string p_po,string p_asn) + public static List Get_V_TB_INVOICE_BY_TIME(string p_begin, string p_end, string p_po, string p_asn) { List _list = new List(); using (ScpEntities db = EntitiesFactory.CreateScpInstance()) { 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"); if (!string.IsNullOrEmpty(p_begin)) { @@ -239,10 +239,10 @@ namespace CK.SCP.Controller } 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(_builder.ToString()).ToList(); + _list = db.Database.SqlQuery(_builder.ToString()).ToList(); } return _list; @@ -431,7 +431,7 @@ namespace CK.SCP.Controller { q = q.Where(p => p.VendName.Contains(p_entity.VendName)); } - + if (!string.IsNullOrEmpty(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)); } - if (!string.IsNullOrEmpty( p_entity.Site)) + if (!string.IsNullOrEmpty(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)); } - 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)); } - if (p_entity.EndTimeb!= null) + if (p_entity.EndTimeb != null) { q = q.Where(p => p.EndTimeb == p_entity.EndTimeb); } @@ -523,7 +523,7 @@ namespace CK.SCP.Controller } catch (OptimisticConcurrencyException ex)//并发冲突异常 { - + _ret.State = ReturnStatus.Failed; _ret.ErrorList.Add(ex); 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) { - + _ret.State = ReturnStatus.Failed; _ret.ErrorList.Add(ex); @@ -541,7 +541,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -579,7 +579,7 @@ namespace CK.SCP.Controller } 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)) { @@ -728,7 +728,7 @@ namespace CK.SCP.Controller //{ // 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)); } @@ -996,7 +996,7 @@ namespace CK.SCP.Controller } - + public static void Get_V_TB_INVOICE_DETAIL_List(V_TB_INVOICE_DETAIL p_entity, Action>> p_action) { ResultObject> _ret = new ResultObject>(); @@ -1123,7 +1123,7 @@ namespace CK.SCP.Controller } catch (OptimisticConcurrencyException ex)//并发冲突异常 { - + _ret.State = ReturnStatus.Failed; _ret.ErrorList.Add(ex); 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) { - + _ret.State = ReturnStatus.Failed; _ret.ErrorList.Add(ex); @@ -1141,7 +1141,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -1178,7 +1178,7 @@ namespace CK.SCP.Controller } 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)) { @@ -1333,7 +1333,7 @@ namespace CK.SCP.Controller using (ScpEntities db = EntitiesFactory.CreateScpInstance()) { IQueryable 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)); } @@ -1490,14 +1490,14 @@ namespace CK.SCP.Controller - public static ResultObject CREATE_TB_INVOICE(V_TB_INVOICE p_entity,List p_list) + public static ResultObject CREATE_TB_INVOICE(V_TB_INVOICE p_entity, List p_list) { ResultObject _ret = new ResultObject(); try { 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(); invoice.InvcBillNum = SCP_BILLCODE_CONTROLLER.MakeInvoiceCode(); invoice.VendId = p_entity.VendId; @@ -1517,11 +1517,12 @@ namespace CK.SCP.Controller invoice.BlancePrice = p_entity.BlancePrice; invoice.SubSite = p_entity.SubSite; db.TB_INVOICE.AddOrUpdate(invoice); - - p_list.ForEach(p => { + + p_list.ForEach(p => + { TB_INVOICE_DETAIL invocieDetail = new TB_INVOICE_DETAIL(); - invocieDetail.InvcBillNum= invoice.InvcBillNum; + invocieDetail.InvcBillNum = invoice.InvcBillNum; invocieDetail.AsnBillNum = p.AsnBillNum; invocieDetail.PoBillNum = p.PoBillNum; invocieDetail.PoLineNum = p.PoLine; @@ -1565,7 +1566,7 @@ namespace CK.SCP.Controller #endregion if (db.SaveChanges() != -1) - { + { _ret.State = ReturnStatus.Succeed; _ret.Result = true; } @@ -1593,7 +1594,7 @@ namespace CK.SCP.Controller throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); } catch (OptimisticConcurrencyException ex)//并发冲突异常 - { + { _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); @@ -1611,7 +1612,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -1667,7 +1668,8 @@ namespace CK.SCP.Controller invoice.BlancePrice = p_entity.BlancePrice; invoice.SubSite = p_entity.SubSite; db.TB_INVOICE.AddOrUpdate(invoice); - p_list.ForEach(p => { + p_list.ForEach(p => + { TB_INVOICE_DETAIL invocieDetail = new TB_INVOICE_DETAIL(); invocieDetail.InvcBillNum = invoice.InvcBillNum; 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); }); - + #region 采购员代办任务新 //TB_PENING_ITEMS _item = new TB_PENING_ITEMS(); //_item.ROLE_NAME = "采购人员"; @@ -1854,7 +1856,8 @@ namespace CK.SCP.Controller invoice.BlancePrice = p_entity.BlancePrice; invoice.SubSite = p_entity.SubSite; db.TB_INVOICE.AddOrUpdate(invoice); - p_list.ForEach(p => { + p_list.ForEach(p => + { TB_INVOICE_DETAIL invocieDetail = new TB_INVOICE_DETAIL(); invocieDetail.InvcBillNum = invoice.InvcBillNum; invocieDetail.AsnBillNum = p.AsnBillNum; @@ -2102,7 +2105,7 @@ namespace CK.SCP.Controller } 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); #region 财务审核通过任务新 @@ -2135,11 +2138,12 @@ namespace CK.SCP.Controller //_item.ITEM_ADDRESS = _entity.Site; _item.GUID = Guid.NewGuid(); db.TB_PENING_ITEMS.Add(_item); - #endregion + #endregion } var _list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_billno).ToList(); - _list.ForEach(p => { + _list.ForEach(p => + { p.State = (int)p_state; }); @@ -2152,14 +2156,15 @@ namespace CK.SCP.Controller _entity.IsDeleted = true; _list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == p_billno).ToList(); - _list.ForEach(p => { + _list.ForEach(p => + { p.State = (int)p_state; p.IsDeleted = true; }); } 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)) { @@ -2198,7 +2203,7 @@ namespace CK.SCP.Controller } catch (OptimisticConcurrencyException ex)//并发冲突异常 { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); @@ -2232,7 +2237,7 @@ namespace CK.SCP.Controller return _ret; } - public static ResultObject SAVE_TB_INVOICE_STATE(V_TB_INVOICE invoice, InvoiceState p_state,string p_username="", string p_flag = "") + public static ResultObject SAVE_TB_INVOICE_STATE(V_TB_INVOICE invoice, InvoiceState p_state, string p_username = "", string p_flag = "") { ResultObject _ret = new ResultObject(); try @@ -2390,7 +2395,8 @@ namespace CK.SCP.Controller } var _list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == invoice.InvcBillNum).ToList(); - _list.ForEach(p => { + _list.ForEach(p => + { p.State = (int)p_state; }); @@ -2402,8 +2408,9 @@ namespace CK.SCP.Controller _entity.State = (int)p_state; _entity.IsDeleted = true; - _list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == invoice.InvcBillNum).ToList(); - _list.ForEach(p => { + _list = db.TB_INVOICE_DETAIL.Where(p => p.InvcBillNum == invoice.InvcBillNum).ToList(); + _list.ForEach(p => + { p.State = (int)p_state; p.IsDeleted = true; if (!string.IsNullOrEmpty(p_flag)) @@ -2424,7 +2431,7 @@ namespace CK.SCP.Controller } } } - }); + }); } db.TB_INVOICE_DETAIL.AddOrUpdate(p => p.UID, _list.ToArray()); @@ -2467,7 +2474,7 @@ namespace CK.SCP.Controller } catch (OptimisticConcurrencyException ex)//并发冲突异常 { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); @@ -2476,7 +2483,7 @@ namespace CK.SCP.Controller } catch (ScpException ex) { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; @@ -2487,7 +2494,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -2549,7 +2556,7 @@ namespace CK.SCP.Controller } catch (OptimisticConcurrencyException ex)//并发冲突异常 { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); @@ -2558,7 +2565,7 @@ namespace CK.SCP.Controller } catch (ScpException ex) { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; @@ -2569,7 +2576,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -2587,7 +2594,7 @@ namespace CK.SCP.Controller return _ret; } - public static ResultObject SAVE_TB_INVOICE_APPLY(V_TB_INVOICE p_invoice, List p_list,string p_flag="") + public static ResultObject SAVE_TB_INVOICE_APPLY(V_TB_INVOICE p_invoice, List p_list, string p_flag = "") { ResultObject _ret = new ResultObject(); List _list = new List(); @@ -2595,7 +2602,7 @@ namespace CK.SCP.Controller { 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.ExpressNum = p_invoice.ExpressNum; _bill.ContractPrice = p_invoice.ContractPrice; @@ -2606,10 +2613,11 @@ namespace CK.SCP.Controller _bill.Remark = p_invoice.Remark; _bill.State = (int)p_invoice.State; db.TB_INVOICE.AddOrUpdate(p => p.InvcBillNum, _bill); - p_list.ForEach(p => { - var _detail=db.TB_INVOICE_DETAIL.Where(itm => itm.UID == p.UID).FirstOrDefault(); + p_list.ForEach(p => + { + var _detail = db.TB_INVOICE_DETAIL.Where(itm => itm.UID == p.UID).FirstOrDefault(); var _qty = _detail.Qty - p.Qty; - _detail.State =(int)p.State; + _detail.State = (int)p.State; _detail.Qty = p.Qty; _detail.Price = p.Price; _detail.ContractPrice = p.ContractPrice; @@ -2619,11 +2627,11 @@ namespace CK.SCP.Controller if (_detail.Qty == 0) { _detail.State = (int)InvoiceState.Reject; - _detail.IsDeleted = true; + _detail.IsDeleted = true; } _detail.Remark = p.Remark; - db.TB_INVOICE_DETAIL.AddOrUpdate(itm=>itm.UID,_detail); - if(!string.IsNullOrEmpty(p_flag)&& p.BlancePrice>0) + db.TB_INVOICE_DETAIL.AddOrUpdate(itm => itm.UID, _detail); + if (!string.IsNullOrEmpty(p_flag) && p.BlancePrice > 0) { 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(); @@ -2635,7 +2643,7 @@ namespace CK.SCP.Controller string _str = "供应商" + _ms.VendId + "零件名称" + _ms.PartCode + "超出分摊数量" + (_ms.Count - _ms.Qty).ToString(); _list.Add(_str); } - if(_ms.Count == _ms.Qty&& _price.Count>0) + if (_ms.Count == _ms.Qty && _price.Count > 0) { _price.ForEach(t => { @@ -2704,7 +2712,7 @@ namespace CK.SCP.Controller } catch (OptimisticConcurrencyException ex)//并发冲突异常 { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); @@ -2713,7 +2721,7 @@ namespace CK.SCP.Controller } catch (ScpException ex) { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; @@ -2724,7 +2732,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -2742,7 +2750,7 @@ namespace CK.SCP.Controller } return _ret; } - + public static ResultObject SAVE_TB_INVOICE_RED(V_TB_INVOICE p_invoice, List p_list) { @@ -2751,8 +2759,8 @@ namespace CK.SCP.Controller { 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) @@ -2836,7 +2844,7 @@ namespace CK.SCP.Controller _detail.BlancePrice = p.BlancePrice; _detail.DiscountPrice = p.DiscountPrice; _detail.DiscountRemark = p.DiscountRemark; - _detail.IsRed =true; + _detail.IsRed = true; db.TB_INVOICE_DETAIL.Add(_detail); }); @@ -2963,7 +2971,7 @@ namespace CK.SCP.Controller } catch (OptimisticConcurrencyException ex)//并发冲突异常 { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); @@ -2972,7 +2980,7 @@ namespace CK.SCP.Controller } catch (ScpException ex) { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; @@ -2983,7 +2991,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -3001,7 +3009,7 @@ namespace CK.SCP.Controller return _ret; } - public static ResultObject CaiWu_Return_Reason(string p_InvcBillNum,string p_Memo) + public static ResultObject CaiWu_Return_Reason(string p_InvcBillNum, string p_Memo) { ResultObject _ret = new ResultObject(); try @@ -3082,7 +3090,7 @@ namespace CK.SCP.Controller } catch (OptimisticConcurrencyException ex)//并发冲突异常 { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); @@ -3091,7 +3099,7 @@ namespace CK.SCP.Controller } catch (ScpException ex) { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; @@ -3102,7 +3110,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -3130,7 +3138,7 @@ namespace CK.SCP.Controller TB_INVOICE invoice = db.TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); invoice.Remark = p_Memo; - + db.TB_INVOICE.AddOrUpdate(invoice); @@ -3164,7 +3172,7 @@ namespace CK.SCP.Controller throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString()); } catch (OptimisticConcurrencyException ex)//并发冲突异常 - { + { _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); @@ -3182,7 +3190,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -3279,7 +3287,7 @@ namespace CK.SCP.Controller return _ret; } public static ResultObject UpdateMemoByInvcBillNum(string p_InvcBillNum, string p_Memo, decimal p_blan, string p_inv, - string p_CInvoiceCostCenterCode , + string p_CInvoiceCostCenterCode, string p_CInvoiceDescription, string p_CInvoiceDivisionCode, string p_CInvoiceType, @@ -3404,10 +3412,10 @@ namespace CK.SCP.Controller List _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) { - TS_UNI_API _api = UniApiController.CreateBy(_bill,itm ,UniApiType.Invoice); + TS_UNI_API _api = UniApiController.CreateBy(_bill, itm, UniApiType.Invoice); _api.State = 1; db.TS_UNI_API.AddOrUpdate(_api); itm.State = (int)p_state; @@ -3464,7 +3472,7 @@ namespace CK.SCP.Controller } catch (OptimisticConcurrencyException ex)//并发冲突异常 { - + _ret.State = ReturnStatus.Failed; _ret.Result = false; _ret.ErrorList.Add(ex); @@ -3482,7 +3490,7 @@ namespace CK.SCP.Controller { var inner = (UpdateException)ex.InnerException; - + throw new ScpException(ResultCode.Exception, "0000", ex.ToString()); } else @@ -3500,6 +3508,151 @@ namespace CK.SCP.Controller return _ret; } + /// + /// 带发票时间的保存 + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + public static ResultObject 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 _ret = new ResultObject(); + 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 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 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 _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 SET_INVOICE_STATE(string p_InvcBillNum, InvoiceState p_state, string p_CInvoiceCostCenterCode, @@ -3515,7 +3668,7 @@ namespace CK.SCP.Controller using (ScpEntities db = EntitiesFactory.CreateScpInstance()) { TB_INVOICE invoice = db.TB_INVOICE.Where(p => p.InvcBillNum == p_InvcBillNum).FirstOrDefault(); - + if (invoice != null) { @@ -3549,7 +3702,7 @@ namespace CK.SCP.Controller List _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); + var _colne = ConvertHelper.GetObjectClone(_bill); _colne.CInvoiceCostCenterCode = p_CInvoiceCostCenterCode; _colne.CInvoiceDescription = p_CInvoiceDescription; @@ -3711,7 +3864,7 @@ namespace CK.SCP.Controller // if (invoice != null) // { - + diff --git a/北京北汽/Models/ScpEntity/TB_INVOICE.cs b/北京北汽/Models/ScpEntity/TB_INVOICE.cs index 53291cd..a12f6c2 100644 --- a/北京北汽/Models/ScpEntity/TB_INVOICE.cs +++ b/北京北汽/Models/ScpEntity/TB_INVOICE.cs @@ -61,5 +61,9 @@ namespace CK.SCP.Models.ScpEntity public DateTime? PostingDate { get; set; } public DateTime? StartTime { get; set; } public DateTime? EndTimeb { get; set; } + /// + /// Ʊ + /// + public DateTime? InvoiceDate { get; set; } } } diff --git a/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx b/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx index 1cf16f0..25f29c5 100644 --- a/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx +++ b/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx @@ -74,8 +74,10 @@ - + + + diff --git a/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs b/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs index a46ceaf..5c6bf3b 100644 --- a/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs +++ b/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs @@ -87,6 +87,11 @@ namespace SCP.WarehouseData protected void btnReceive_OnClick(object sender, EventArgs e) { bool flag = true; + if (DatePicker1.SelectedDate == null) + { + Alert.Show("请先选择发票日期后再进行操作"); + return; + } for (int i = 0, count = Grid1.Rows.Count; i < count; i++) { object[] rowDataKeys = Grid1.DataKeys[i]; @@ -118,7 +123,7 @@ namespace SCP.WarehouseData return; } - SET_INVOICE_STATE("财务接收发票", InvoiceState.FinanceReceive); + SET_INVOICE_STATE_AND_SAVEDATE("财务接收发票", InvoiceState.FinanceReceive); } } protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) @@ -229,6 +234,43 @@ namespace SCP.WarehouseData return; } } + + /// + /// 带发票时间的保存 + /// + /// + /// + 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() { string id = GetQueryValue("ID"); @@ -261,6 +303,11 @@ namespace SCP.WarehouseData TXT_InvoiceDivisionCode.Text = !string.IsNullOrEmpty(_Model.CInvoiceDivisionCode)?_Model.CInvoiceDivisionCode:string.Empty; DLL_TYPE.SelectedValue = !string.IsNullOrEmpty(_Model.CInvoiceType)?_Model.CInvoiceType:string.Empty; 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) { btnInvoiceFail.Hidden = false; diff --git a/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs b/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs index a57a61b..26eaaa0 100644 --- a/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs +++ b/北京北汽/SCP/Views/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs @@ -230,6 +230,15 @@ namespace SCP.WarehouseData /// protected global::FineUI.NumberBox txtBlancePrice1; + /// + /// DatePicker1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUI.DatePicker DatePicker1; + /// /// DLL_TYPE 控件。 ///