SapDeliverRecordService.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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(ISapDeliverRecordService), ServiceLifetime = LifeTime.Transient)]
  21. public class SapDeliverRecordService : BaseService<SapDeliverRecord>, ISapDeliverRecordService
  22. {
  23. #region 业务逻辑代码
  24. /// <summary>
  25. /// 查询接口管理/SAP交验单记录表列表
  26. /// </summary>
  27. /// <param name="parm"></param>
  28. /// <returns></returns>
  29. public PagedInfo<SapDeliverRecordDto> GetList(SapDeliverRecordQueryDto parm)
  30. {
  31. //开始拼装查询条件
  32. var predicate = Expressionable.Create<SapDeliverRecord>();
  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.DeliverNo), d => d.DeliverNo.Contains(parm.DeliverNo));
  40. predicate.AndIF(!string.IsNullOrEmpty(parm.BomNo), d => d.BomNo.Contains(parm.BomNo));
  41. predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), d => d.MaterialCode.Contains(parm.MaterialCode));
  42. predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), d => d.MaterialName.Contains(parm.MaterialName));
  43. predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialSpec), d => d.MaterialSpec.Contains(parm.MaterialSpec));
  44. predicate.AndIF(!string.IsNullOrEmpty(parm.Category), d => d.Category == parm.Category);
  45. predicate.AndIF(parm.KeyFlag != null, d => d.KeyFlag == parm.KeyFlag);
  46. //搜索条件查询语法参考Sqlsugar
  47. var response = Queryable()
  48. .Where(predicate.ToExpression())
  49. .ToPage<SapDeliverRecord, SapDeliverRecordDto>(parm);
  50. return response;
  51. }
  52. /// <summary>
  53. /// 添加接口管理/SAP交验单记录表
  54. /// </summary>
  55. /// <param name="model"></param>
  56. /// <returns></returns>
  57. public int AddSapDeliverRecord(SapDeliverRecord model)
  58. {
  59. return Add(model, true);
  60. }
  61. /// <summary>
  62. /// 修改接口管理/SAP交验单记录表
  63. /// </summary>
  64. /// <param name="model"></param>
  65. /// <returns></returns>
  66. public int UpdateSapDeliverRecord(SapDeliverRecord model)
  67. {
  68. //var response = Update(w => w.Id == model.Id, it => new SapDeliverRecord()
  69. //{
  70. // DeliverNo = model.DeliverNo,
  71. // CheckName = model.CheckName,
  72. // BomNo = model.BomNo,
  73. // RowNo = model.RowNo,
  74. // Category = model.Category,
  75. // MaterialCode = model.MaterialCode,
  76. // MaterialName = model.MaterialName,
  77. // MaterialSpec = model.MaterialSpec,
  78. // KeyFlag = model.KeyFlag,
  79. // Qty = model.Qty,
  80. // SpotCheckQty = model.SpotCheckQty,
  81. // CheckQty = model.CheckQty,
  82. // CheckResult = model.CheckResult,
  83. // InstoreQty = model.InstoreQty,
  84. // InstoreResult = model.InstoreResult,
  85. // UpdateBy = model.UpdateBy,
  86. // UpdateTime = model.UpdateTime,
  87. // Remark = model.Remark,
  88. //});
  89. //return response;
  90. return Update(model, true);
  91. }
  92. /// <summary>
  93. /// 清空接口管理/SAP交验单记录表
  94. /// </summary>
  95. /// <returns></returns>
  96. public void TruncateSapDeliverRecord()
  97. {
  98. Truncate();
  99. }
  100. /// <summary>
  101. /// 导入数据
  102. /// </summary>
  103. /// <param name="list"></param>
  104. /// <returns></returns>
  105. public string ImportDatas(List<SapDeliverRecord> list)
  106. {
  107. var x = Context.Storageable(list)
  108. .SplitInsert(it => !it.Any())
  109. .ToStorage();
  110. var result = x.AsInsertable.ExecuteCommand();//插入可插入部分;
  111. string msg = string.Format(" 插入{0} 更新{1} 错误数据{2} 不计算数据{3} 删除数据{4},总共{5}",
  112. x.InsertList.Count,
  113. x.UpdateList.Count,
  114. x.ErrorList.Count,
  115. x.IgnoreList.Count,
  116. x.DeleteList.Count,
  117. x.TotalList.Count);
  118. //输出统计
  119. Console.WriteLine(msg);
  120. //输出错误信息
  121. foreach (var item in x.ErrorList)
  122. {
  123. Console.WriteLine("交验单号为:" + item.Item.DeliverNo + " : " + item.StorageMessage);
  124. }
  125. return msg;
  126. }
  127. #endregion
  128. }
  129. }