赵新宇 2 weeks ago
parent
commit
f67df0a5d8
  1. 8
      API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs
  2. 8
      API/Wood.Service/Controllers/CheryRecurringJobOutPageController.cs
  3. 8
      API/Wood.Service/Controllers/NormalBaseController.cs
  4. 20
      API/Wood.Service/Controllers/TaskSubService.cs
  5. 47
      API/Wood.Util/CommonHelper.cs

8
API/Wood.Service/Controllers/CheryRecurringJobInputPageController.cs

@ -247,15 +247,15 @@ namespace TaskManager.Controllers
{ {
throw new Exception("更新时,实体主键UId不能为空或0"); throw new Exception("更新时,实体主键UId不能为空或0");
} }
var _first = await _repository.GetByIdAsync(entity.UId); var target = await _repository.GetByIdAsync(entity.UId);
if (_first == null) if (target == null)
{ {
throw new Exception($"CheryRecurringJobInputPageController.Update报错:根据UId{entity.UId}没有找到记录"); throw new Exception($"CheryRecurringJobInputPageController.Update报错:根据UId{entity.UId}没有找到记录");
return new JsonResult(new { Code = 400, Message = "修改失败!" }); return new JsonResult(new { Code = 400, Message = "修改失败!" });
} }
EntityMapper.Trans(_first, entity, "UId"); EntityMapper.Trans(entity, target, "UId");
await _repository.UpdateAsync(_first); await _repository.UpdateAsync(target);
return new JsonResult(new { Code = 200, Message = "修改成功!" }); return new JsonResult(new { Code = 200, Message = "修改成功!" });
} }

8
API/Wood.Service/Controllers/CheryRecurringJobOutPageController.cs

@ -405,15 +405,15 @@ namespace TaskManager.Controllers
{ {
throw new Exception("更新时,实体主键UId不能为空或0"); throw new Exception("更新时,实体主键UId不能为空或0");
} }
var _first = await _repository.GetByIdAsync(entity.UId); var target = await _repository.GetByIdAsync(entity.UId);
if (_first == null) if (target == null)
{ {
throw new Exception($"CheryRecurringJobOutPageController.Update报错:根据UId{entity.UId}没有找到记录"); throw new Exception($"CheryRecurringJobOutPageController.Update报错:根据UId{entity.UId}没有找到记录");
return new JsonResult(new { Code = 400, Message = "修改失败!" }); return new JsonResult(new { Code = 400, Message = "修改失败!" });
} }
EntityMapper.Trans(_first, entity, "UId"); EntityMapper.Trans(entity, target, "UId");
await _repository.UpdateAsync(_first); await _repository.UpdateAsync(target);
return new JsonResult(new { Code = 200, Message = "修改成功!" }); return new JsonResult(new { Code = 200, Message = "修改成功!" });
} }
/// <summary> /// <summary>

8
API/Wood.Service/Controllers/NormalBaseController.cs

@ -82,15 +82,15 @@ namespace Wood.Service.Controllers
{ {
throw new Exception("更新时,实体主键UId不能为空或0"); throw new Exception("更新时,实体主键UId不能为空或0");
} }
var _first = await _repository.GetByIdAsync(entity.UId); var target = await _repository.GetByIdAsync(entity.UId);
if (_first == null) if (target == null)
{ {
throw new Exception($"NormalBaseController.Update报错:根据UId{entity.UId}没有找到记录"); throw new Exception($"NormalBaseController.Update报错:根据UId{entity.UId}没有找到记录");
return new JsonResult(new { Code = 400, Message = "修改失败!" }); return new JsonResult(new { Code = 400, Message = "修改失败!" });
} }
EntityMapper.Trans(_first, entity, "UId"); EntityMapper.Trans(entity, target, "UId");
await _repository.UpdateAsync(_first); await _repository.UpdateAsync(target);
return new JsonResult(new { Code = 200, Message = "修改成功!" }); return new JsonResult(new { Code = 200, Message = "修改成功!" });
} }
/// <summary> /// <summary>

20
API/Wood.Service/Controllers/TaskSubService.cs

@ -179,6 +179,26 @@ namespace Wood.Service.Controllers
var processresult = await processservice.GetTaskDataPaged(requestInputBase); var processresult = await processservice.GetTaskDataPaged(requestInputBase);
return Ok(processresult); return Ok(processresult);
case "SUPPLIER_CON_MMRP"://M+6月物料需求计划风险确认
var mmrpservice = _builder.GetRequiredService<CherySupplierConMmrpService>();
var mmrptask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName");
requestInputBase.Condition.Filters.Remove(mmrptask);
var mmrpresult = await mmrpservice.GetTaskDataPaged(requestInputBase);
return Ok(mmrpresult);
case "SUPPLIER_CON_DATE"://日物料需求计划风险确认
var con_dateservice = _builder.GetRequiredService<CherySupplierConDateService>();
var con_datetask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName");
requestInputBase.Condition.Filters.Remove(con_datetask);
var con_dateresult = await con_dateservice.GetTaskDataPaged(requestInputBase);
return Ok(con_dateresult);
case "SUPPLIER_CON_PO"://采购订单风险确认
var con_poservice = _builder.GetRequiredService<CherySupplierConPoService>();
var con_potask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName");
requestInputBase.Condition.Filters.Remove(con_potask);
var con_poresult = await con_poservice.GetTaskDataPaged(requestInputBase);
return Ok(con_poresult);

47
API/Wood.Util/CommonHelper.cs

@ -63,37 +63,37 @@ namespace Wood.Util
/// <summary> /// <summary>
/// Expression动态拼接+泛型缓存 /// Expression动态拼接+泛型缓存
/// </summary> /// </summary>
/// <typeparam name="TIn"></typeparam> /// <typeparam name="TSource"></typeparam>
/// <typeparam name="TOut"></typeparam> /// <typeparam name="TTarget"></typeparam>
public class EntityMapper<TIn, TOut>//Mapper`2 public class EntityMapper<TSource, TTarget>//Mapper`2
{ {
private static Func<TIn, TOut> _FUNC = null; private static Func<TSource, TTarget> _FUNC = null;
static EntityMapper() static EntityMapper()
{ {
ParameterExpression parameterExpression = Expression.Parameter(typeof(TIn), "p"); ParameterExpression parameterExpression = Expression.Parameter(typeof(TSource), "p");
List<MemberBinding> memberBindingList = new List<MemberBinding>(); List<MemberBinding> memberBindingList = new List<MemberBinding>();
foreach (var item in typeof(TOut).GetProperties()) foreach (var item in typeof(TTarget).GetProperties())
{ {
MemberExpression property = Expression.Property(parameterExpression, typeof(TIn).GetProperty(item.Name)); MemberExpression property = Expression.Property(parameterExpression, typeof(TSource).GetProperty(item.Name));
MemberBinding memberBinding = Expression.Bind(item, property); MemberBinding memberBinding = Expression.Bind(item, property);
memberBindingList.Add(memberBinding); memberBindingList.Add(memberBinding);
} }
foreach (var item in typeof(TOut).GetFields()) foreach (var item in typeof(TTarget).GetFields())
{ {
MemberExpression property = Expression.Field(parameterExpression, typeof(TIn).GetField(item.Name)); MemberExpression property = Expression.Field(parameterExpression, typeof(TSource).GetField(item.Name));
MemberBinding memberBinding = Expression.Bind(item, property); MemberBinding memberBinding = Expression.Bind(item, property);
memberBindingList.Add(memberBinding); memberBindingList.Add(memberBinding);
} }
MemberInitExpression memberInitExpression = Expression.MemberInit(Expression.New(typeof(TOut)), memberBindingList.ToArray()); MemberInitExpression memberInitExpression = Expression.MemberInit(Expression.New(typeof(TTarget)), memberBindingList.ToArray());
Expression<Func<TIn, TOut>> lambda = Expression.Lambda<Func<TIn, TOut>>(memberInitExpression, new ParameterExpression[] Expression<Func<TSource, TTarget>> lambda = Expression.Lambda<Func<TSource, TTarget>>(memberInitExpression, new ParameterExpression[]
{ {
parameterExpression parameterExpression
}); });
_FUNC = lambda.Compile();//拼装是一次性的 _FUNC = lambda.Compile();//拼装是一次性的
} }
public static TOut Trans(TIn t) public static TTarget Trans(TSource tSource)
{ {
return _FUNC(t); return _FUNC(tSource);
} }
} }
@ -103,35 +103,28 @@ namespace Wood.Util
/// </summary> /// </summary>
public class EntityMapper public class EntityMapper
{ {
/// <summary> public static void Trans<TSource, TTarget>(TSource tSource, TTarget tTarget, string excludeMembers = "")
/// 反射
/// </summary>
/// <typeparam name="TIn"></typeparam>
/// <typeparam name="TOut"></typeparam>
/// <param name="tIn"></param>
/// <returns></returns>
public static void Trans<TIn, TOut>(TIn tIn, TOut tOut, string excludeMembers = "")
{ {
string[] excludeMemberArr = excludeMembers.Split(",").Select(itm => itm.Trim()).ToArray(); string[] excludeMemberArr = excludeMembers.Split(",").Select(itm => itm.Trim()).ToArray();
foreach (var itemOut in tOut.GetType().GetProperties()) foreach (var itemOut in tTarget.GetType().GetProperties())
{ {
if (excludeMemberArr.Contains(itemOut.Name)) if (excludeMemberArr.Contains(itemOut.Name))
{ {
continue; continue;
} }
var propIn = tIn.GetType().GetProperty(itemOut.Name); var propIn = tSource.GetType().GetProperty(itemOut.Name);
itemOut.SetValue(tOut, propIn.GetValue(tIn, null), null); itemOut.SetValue(tTarget, propIn.GetValue(tSource, null), null);
} }
foreach (var itemOut in tOut.GetType().GetFields()) foreach (var itemOut in tTarget.GetType().GetFields())
{ {
if (excludeMemberArr.Contains(itemOut.Name)) if (excludeMemberArr.Contains(itemOut.Name))
{ {
continue; continue;
} }
var fieldIn = tIn.GetType().GetField(itemOut.Name); var fieldIn = tSource.GetType().GetField(itemOut.Name);
itemOut.SetValue(tOut, fieldIn.GetValue(tIn)); itemOut.SetValue(tTarget, fieldIn.GetValue(tSource));
} }
} }
} }

Loading…
Cancel
Save