Commit cf6700d4 authored by 黄奎's avatar 黄奎

新增报价单

parent 3a344a6b
...@@ -209,7 +209,7 @@ namespace Edu.Common.Data ...@@ -209,7 +209,7 @@ namespace Edu.Common.Data
} }
catch (Exception ex) catch (Exception ex)
{ {
throw new Exception(); Common.Plugin.LogHelper.Write(ex, "AnalysisQuestionTitle");
} }
} }
} }
......
...@@ -52,10 +52,15 @@ namespace Edu.Model.ViewModel.Course ...@@ -52,10 +52,15 @@ namespace Edu.Model.ViewModel.Course
public string CustomerSourceName { get { return Common.Plugin.EnumHelper.ToName(this.CustomerSource); } } public string CustomerSourceName { get { return Common.Plugin.EnumHelper.ToName(this.CustomerSource); } }
/// <summary> /// <summary>
/// 创建开始 /// 创建时间--开始
/// </summary> /// </summary>
public string QStart { get; set; } public string QStart { get; set; }
/// <summary>
/// 创建时间--结束
/// </summary>
public string QEnd { get; set; }
/// <summary> /// <summary>
/// 报价单详情列表 /// 报价单详情列表
/// </summary> /// </summary>
......
using Edu.Model.ViewModel.Course; using Edu.AOP.CustomerAttribute;
using Edu.Model.ViewModel.Course;
using Edu.Repository.Course; using Edu.Repository.Course;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using VT.FW.DB; using VT.FW.DB;
namespace Edu.Module.Course namespace Edu.Module.Course
...@@ -58,7 +60,8 @@ namespace Edu.Module.Course ...@@ -58,7 +60,8 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
/// <param name="model"></param> /// <param name="model"></param>
/// <returns></returns> /// <returns></returns>
public bool SetCourseOfferModule(RB_Course_Offer_ViewModel model) [TransactionCallHandler]
public virtual bool SetCourseOfferModule(RB_Course_Offer_ViewModel model)
{ {
bool flag = false; bool flag = false;
...@@ -86,6 +89,52 @@ namespace Edu.Module.Course ...@@ -86,6 +89,52 @@ namespace Edu.Module.Course
model.Id = newId; model.Id = newId;
flag = newId > 0; flag = newId > 0;
} }
#region 报价单详情
var oldOfferDetailsList = GetCourseOfferDetailsListModule(new RB_Course_OfferDetails_ViewModel() { OfferId = model.Id });
//以前没有报价单信息【直接新增】
if (oldOfferDetailsList == null || (oldOfferDetailsList != null && oldOfferDetailsList.Count == 0))
{
if (model.OfferDetails != null && model.OfferDetails.Count > 0)
{
foreach (var item in model.OfferDetails)
{
item.OfferId = model.Id;
flag = course_OfferDetailsRepository.Insert(item) > 0;
}
}
}
else//以前有报价单详情
{
//现在没有报价单详情【直接删除以前的报价报价单详情】
if (model.OfferDetails == null || (model.OfferDetails != null && model.OfferDetails.Count == 0))
{
course_OfferDetailsRepository.DeleteCourseOfferDetailsRepository(model.Id);
}
//找出差异的数据
var deleteList = oldOfferDetailsList.Where(qitem => !model.OfferDetails.Any(oldItem => qitem.DetailsId == oldItem.DetailsId)).ToList();
foreach (var dItem in deleteList)
{
if (dItem.DetailsId > 0)
{
course_OfferDetailsRepository.Delete(dItem.DetailsId);
}
}
foreach (var offerItem in model.OfferDetails)
{
offerItem.OfferId = model.Id;
if (offerItem.DetailsId == 0)
{
course_OfferDetailsRepository.Insert(offerItem);
}
else
{
course_OfferDetailsRepository.Update(offerItem);
}
}
}
#endregion
return flag; return flag;
} }
...@@ -97,10 +146,11 @@ namespace Edu.Module.Course ...@@ -97,10 +146,11 @@ namespace Edu.Module.Course
public RB_Course_Offer_ViewModel GetCourseOfferModule(object Id) public RB_Course_Offer_ViewModel GetCourseOfferModule(object Id)
{ {
var model = course_OfferRepository.GetEntity<RB_Course_Offer_ViewModel>(Id); var model = course_OfferRepository.GetEntity<RB_Course_Offer_ViewModel>(Id);
if (model == null) if (model != null)
{ {
model = new RB_Course_Offer_ViewModel(); model.OfferDetails = GetCourseOfferDetailsListModule(new RB_Course_OfferDetails_ViewModel() { OfferId = model.Id });
} }
return model; return model;
} }
......
...@@ -48,5 +48,17 @@ WHERE 1=1 ...@@ -48,5 +48,17 @@ WHERE 1=1
} }
return Get<RB_Course_OfferDetails_ViewModel>(builder.ToString(), parameters).ToList(); return Get<RB_Course_OfferDetails_ViewModel>(builder.ToString(), parameters).ToList();
} }
/// <summary>
/// 根据报价单编号删除报价单详情
/// </summary>
/// <param name="OfferId"></param>
/// <returns></returns>
public bool DeleteCourseOfferDetailsRepository(int OfferId)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(" DELETE FROM RB_Course_OfferDetails WHERE OfferId IN({0}) ", OfferId);
return base.Execute(builder.ToString()) > 0;
}
} }
} }
...@@ -52,7 +52,41 @@ WHERE 1=1 ...@@ -52,7 +52,41 @@ WHERE 1=1
builder.AppendFormat(" AND A.{0} LIKE @Name ", nameof(RB_Course_Offer_ViewModel.Name)); builder.AppendFormat(" AND A.{0} LIKE @Name ", nameof(RB_Course_Offer_ViewModel.Name));
parameters.Add("Name", "%" + query.Name.Trim() + "%"); parameters.Add("Name", "%" + query.Name.Trim() + "%");
} }
if (query.CreateBy > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Offer_ViewModel.CreateBy), query.CreateBy);
}
if (!string.IsNullOrEmpty(query.CustomerInfo))
{
builder.AppendFormat(" AND A.{0} LIKE @CustomerInfo ", nameof(RB_Course_Offer_ViewModel.CustomerInfo));
parameters.Add("CustomerInfo", "%" + query.CustomerInfo.Trim() + "%");
}
if (query.CustomerSource > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Offer_ViewModel.CustomerSource), (int)query.CustomerSource);
}
if (query.CustomerType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Offer_ViewModel.CustomerType), (int)query.CustomerType);
} }
if (query.CustomerStatus > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Offer_ViewModel.CustomerStatus), query.CustomerStatus);
}
if (query.Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Offer_ViewModel.Id), query.Id);
}
if (!string.IsNullOrEmpty(query.QStart))
{
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Course_Offer_ViewModel.CreateTime), query.QStart);
}
if (!string.IsNullOrEmpty(query.QEnd))
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Course_Offer_ViewModel.CreateTime), query.QEnd);
}
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Course_Offer_ViewModel.Id));
return GetPage<RB_Course_Offer_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList(); return GetPage<RB_Course_Offer_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
} }
...@@ -90,7 +124,27 @@ WHERE 1=1 ...@@ -90,7 +124,27 @@ WHERE 1=1
builder.AppendFormat(" AND A.{0} LIKE @Name ", nameof(RB_Course_Offer_ViewModel.Name)); builder.AppendFormat(" AND A.{0} LIKE @Name ", nameof(RB_Course_Offer_ViewModel.Name));
parameters.Add("Name", "%" + query.Name.Trim() + "%"); parameters.Add("Name", "%" + query.Name.Trim() + "%");
} }
if (query.CreateBy > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Offer_ViewModel.CreateBy), query.CreateBy);
}
if (!string.IsNullOrEmpty(query.CustomerInfo))
{
builder.AppendFormat(" AND A.{0} LIKE @CustomerInfo ", nameof(RB_Course_Offer_ViewModel.CustomerInfo));
parameters.Add("CustomerInfo", "%" + query.CustomerInfo.Trim() + "%");
}
if (query.CustomerSource > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Offer_ViewModel.CustomerSource), (int)query.CustomerSource);
}
if (query.CustomerType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Offer_ViewModel.CustomerType), (int)query.CustomerType);
}
if (query.CustomerStatus > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Offer_ViewModel.CustomerStatus), query.CustomerStatus);
}
} }
return Get<RB_Course_Offer_ViewModel>(builder.ToString(), parameters).ToList(); return Get<RB_Course_Offer_ViewModel>(builder.ToString(), parameters).ToList();
} }
......
...@@ -8,6 +8,7 @@ using Edu.WebApi.Filter; ...@@ -8,6 +8,7 @@ using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System; using System;
using System.Collections.Generic;
namespace Edu.WebApi.Controllers.Course namespace Edu.WebApi.Controllers.Course
{ {
...@@ -37,6 +38,13 @@ namespace Edu.WebApi.Controllers.Course ...@@ -37,6 +38,13 @@ namespace Edu.WebApi.Controllers.Course
var query = new RB_Course_Offer_ViewModel() var query = new RB_Course_Offer_ViewModel()
{ {
Name = base.ParmJObj.GetStringValue("Name"), Name = base.ParmJObj.GetStringValue("Name"),
CreateBy = base.ParmJObj.GetInt("CreateBy"),
QStart = base.ParmJObj.GetStringValue("QStart"),
QEnd = base.ParmJObj.GetStringValue("QEnd"),
CustomerInfo = base.ParmJObj.GetStringValue("CustomerInfo"),
CustomerSource = (CustomerSourceEnum)base.ParmJObj.GetInt("CustomerSource"),
CustomerType = (CustomerTypeEnum)base.ParmJObj.GetInt("CustomerType"),
CustomerStatus=base.ParmJObj.GetInt("CustomerStatus")
}; };
query.Group_Id = base.UserInfo.Group_Id; query.Group_Id = base.UserInfo.Group_Id;
query.School_Id = base.UserInfo.School_Id; query.School_Id = base.UserInfo.School_Id;
...@@ -79,7 +87,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -79,7 +87,7 @@ namespace Edu.WebApi.Controllers.Course
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ApiResult SetCourseCategory() public ApiResult SetCourseOffer()
{ {
var extModel = new RB_Course_Offer_ViewModel() var extModel = new RB_Course_Offer_ViewModel()
{ {
...@@ -94,6 +102,14 @@ namespace Edu.WebApi.Controllers.Course ...@@ -94,6 +102,14 @@ namespace Edu.WebApi.Controllers.Course
TotalDiscountPrice=base.ParmJObj.GetDecimal("TotalDiscountPrice"), TotalDiscountPrice=base.ParmJObj.GetDecimal("TotalDiscountPrice"),
CustomerInfo=base.ParmJObj.GetStringValue("CustomerInfo"), CustomerInfo=base.ParmJObj.GetStringValue("CustomerInfo"),
}; };
try
{
extModel.OfferDetails = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Course_OfferDetails_ViewModel>>(base.ParmJObj.GetStringValue("OfferDetails"));
}
catch(Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetCourseCategory");
}
extModel.CustomerStatus = 1; extModel.CustomerStatus = 1;
extModel.CreateTime = DateTime.Now; extModel.CreateTime = DateTime.Now;
extModel.CreateBy = UserInfo.Id; extModel.CreateBy = UserInfo.Id;
...@@ -115,7 +131,24 @@ namespace Edu.WebApi.Controllers.Course ...@@ -115,7 +131,24 @@ namespace Edu.WebApi.Controllers.Course
{ {
var Id = base.ParmJObj.GetInt("Id", 0); var Id = base.ParmJObj.GetInt("Id", 0);
var extModel = courseOfferModule.GetCourseOfferModule(Id); var extModel = courseOfferModule.GetCourseOfferModule(Id);
return ApiResult.Success(data: extModel); var obj = new
{
extModel?.Id,
extModel?.Name,
EffectiveStart = extModel?.EffectiveStartStr,
EffectiveEnd = extModel?.EffectiveEndStr,
extModel?.CustomerType,
extModel?.CustomerSource,
extModel?.TotalOriginalPrice,
extModel?.TotalPrice,
extModel?.TotalDiscountPrice,
extModel?.CustomerInfo,
extModel?.CustomerStatus,
extModel?.CreateBy,
extModel?.CreateByName,
OfferDetails = extModel?.OfferDetails ?? new List<RB_Course_OfferDetails_ViewModel>()
};
return ApiResult.Success(data: obj);
} }
/// <summary> /// <summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment