SapBomRecordService.cs 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. using System;
  2. using SqlSugar;
  3. using Infrastructure.Attribute;
  4. using ZR.Model;
  5. using ZR.Model.Dto;
  6. using ZR.Model.Models;
  7. using ZR.Repository;
  8. using ZR.Service.Business.IBusinessService;
  9. using System.Linq;
  10. using Infrastructure;
  11. using System.Collections.Generic;
  12. namespace ZR.Service.Business
  13. {
  14. /// <summary>
  15. /// 接口管理/SAP关键件清单记录表Service业务层处理
  16. ///
  17. /// @author admin
  18. /// @date 2023-05-05
  19. /// </summary>
  20. [AppService(ServiceType = typeof(ISapBomRecordService), ServiceLifetime = LifeTime.Transient)]
  21. public class SapBomRecordService : BaseService<SapBomRecord>, ISapBomRecordService
  22. {
  23. #region 业务逻辑代码
  24. /// <summary>
  25. /// 查询接口管理/SAP关键件清单记录表列表
  26. /// </summary>
  27. /// <param name="parm"></param>
  28. /// <returns></returns>
  29. public PagedInfo<SapBomRecordDto> GetList(SapBomRecordQueryDto parm)
  30. {
  31. //开始拼装查询条件
  32. var predicate = Expressionable.Create<SapBomRecord>();
  33. if (parm.BeginTime != null && parm.EndTime != null)
  34. {
  35. parm.BeginTime = DateTimeHelper.GetBeginTime(parm.BeginTime, -1);
  36. parm.EndTime = DateTimeHelper.GetBeginTime(parm.EndTime, 1);
  37. predicate.And(d => d.CreateTime >= parm.BeginTime && d.CreateTime <= parm.EndTime);
  38. }
  39. predicate.AndIF(!string.IsNullOrEmpty(parm.BomNo), d => d.BomNo.Contains(parm.BomNo));
  40. predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), d => d.MaterialCode.Contains(parm.MaterialCode));
  41. predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), d => d.MaterialName.Contains(parm.MaterialName));
  42. predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialSpec), d => d.MaterialSpec.Contains(parm.MaterialSpec));
  43. predicate.AndIF(!string.IsNullOrEmpty(parm.Category), d => d.Category == parm.Category);
  44. predicate.AndIF(parm.KeyFlag != null, d => d.KeyFlag == parm.KeyFlag);
  45. //搜索条件查询语法参考Sqlsugar
  46. var response = Queryable()
  47. .Where(predicate.ToExpression())
  48. .ToPage<SapBomRecord, SapBomRecordDto>(parm);
  49. return response;
  50. }
  51. /// <summary>
  52. /// 添加接口管理/SAP关键件清单记录表
  53. /// </summary>
  54. /// <param name="model"></param>
  55. /// <returns></returns>
  56. public int AddSapBomRecord(SapBomRecord model)
  57. {
  58. return Add(model, true);
  59. }
  60. /// <summary>
  61. /// 修改接口管理/SAP关键件清单记录表
  62. /// </summary>
  63. /// <param name="model"></param>
  64. /// <returns></returns>
  65. public int UpdateSapBomRecord(SapBomRecord model)
  66. {
  67. //var response = Update(w => w.Id == model.Id, it => new SapBomRecord()
  68. //{
  69. // BomNo = model.BomNo,
  70. // EquipmentName = model.EquipmentName,
  71. // MakeBy = model.MakeBy,
  72. // MakeTime = model.MakeTime,
  73. // Category = model.Category,
  74. // MaterialCode = model.MaterialCode,
  75. // MaterialName = model.MaterialName,
  76. // MaterialSpec = model.MaterialSpec,
  77. // KeyFlag = model.KeyFlag,
  78. // Qty = model.Qty,
  79. // AssembleQty = model.AssembleQty,
  80. // Result = model.Result,
  81. // UpdateBy = model.UpdateBy,
  82. // UpdateTime = model.UpdateTime,
  83. // Remark = model.Remark,
  84. //});
  85. //return response;
  86. return Update(model, true);
  87. }
  88. /// <summary>
  89. /// 清空接口管理/SAP关键件清单记录表
  90. /// </summary>
  91. /// <returns></returns>
  92. public void TruncateSapBomRecord()
  93. {
  94. Truncate();
  95. }
  96. /// <summary>
  97. /// 导入数据
  98. /// </summary>
  99. /// <param name="list"></param>
  100. /// <returns></returns>
  101. public string ImportDatas(List<SapBomRecord> list)
  102. {
  103. var x = Context.Storageable(list)
  104. .SplitInsert(it => !it.Any())
  105. .ToStorage();
  106. var result = x.AsInsertable.ExecuteCommand();//插入可插入部分;
  107. string msg = string.Format(" 插入{0} 更新{1} 错误数据{2} 不计算数据{3} 删除数据{4},总共{5}",
  108. x.InsertList.Count,
  109. x.UpdateList.Count,
  110. x.ErrorList.Count,
  111. x.IgnoreList.Count,
  112. x.DeleteList.Count,
  113. x.TotalList.Count);
  114. //输出统计
  115. Console.WriteLine(msg);
  116. //输出错误信息
  117. foreach (var item in x.ErrorList)
  118. {
  119. Console.WriteLine("关键件清单ID:" + item.Item.Id + " : " + item.StorageMessage);
  120. }
  121. return msg;
  122. }
  123. #endregion
  124. }
  125. }