|
@@ -10,6 +10,7 @@ using ZR.Service.Business.IBusinessService.Inspect;
|
|
|
using ZR.Model.Dto.Inspect;
|
|
|
using ZR.Model.Models.Inspect;
|
|
|
using Mapster;
|
|
|
+using Aliyun.OSS;
|
|
|
|
|
|
namespace ZR.Service.Business.Inspect
|
|
|
{
|
|
@@ -22,6 +23,14 @@ namespace ZR.Service.Business.Inspect
|
|
|
[AppService(ServiceType = typeof(ISapDeliverRecordService), ServiceLifetime = LifeTime.Transient)]
|
|
|
public class SapDeliverRecordService : BaseService<SapDeliverRecord>, ISapDeliverRecordService
|
|
|
{
|
|
|
+ #region 依赖注入
|
|
|
+ private IQaInspectRecordService QaInspectRecordService { get; set; }
|
|
|
+ public SapDeliverRecordService(IQaInspectRecordService qaInspectRecordService)
|
|
|
+ {
|
|
|
+ QaInspectRecordService = qaInspectRecordService;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
#region 业务逻辑代码
|
|
|
|
|
|
/// <summary>
|
|
@@ -146,7 +155,9 @@ namespace ZR.Service.Business.Inspect
|
|
|
var predicate = Expressionable.Create<SapDeliverRecord>();
|
|
|
predicate.AndIF(parm != null && !string.IsNullOrEmpty(parm.DeliverNo), x => x.DeliverNo.Contains(parm.DeliverNo));
|
|
|
predicate.AndIF(parm != null && !string.IsNullOrEmpty(parm.BomNo), x => x.BomNo.Contains(parm.BomNo));
|
|
|
- predicate.And(x => x.Qty > x.CheckQty);
|
|
|
+ //predicate.And(x => x.Qty > x.CheckQty);
|
|
|
+ //predicate.And(x => x.CheckResult == "Wait");
|
|
|
+ predicate.And(x => x.SubmitInspectResult == false);
|
|
|
//搜索条件查询语法参考Sqlsugar
|
|
|
var response = Queryable()
|
|
|
.Distinct()
|
|
@@ -196,6 +207,70 @@ namespace ZR.Service.Business.Inspect
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
+ public PagedInfo<SapDeliverRecordSumDto> GetSapDeliverRecordSumList(SapDeliverRecordSumQueryDto parm)
|
|
|
+ {
|
|
|
+ //开始拼装查询条件
|
|
|
+ var predicate = Expressionable.Create<SapDeliverRecord>();
|
|
|
+ predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialSpec), x => x.MaterialSpec == parm.MaterialSpec);
|
|
|
+ predicate.And(x => x.DeliverNo == parm.DeliverNo);
|
|
|
+ //搜索条件查询语法参考Sqlsugar
|
|
|
+ var response = Queryable()
|
|
|
+ .GroupBy(x => new { x.MaterialCode, x.MaterialName, x.MaterialSpec })
|
|
|
+ .Where(predicate.ToExpression())
|
|
|
+ .Select(x => new SapDeliverRecordSumDto
|
|
|
+ {
|
|
|
+ MaterialCode = x.MaterialCode,
|
|
|
+ MaterialName = x.MaterialName,
|
|
|
+ MaterialSpec = x.MaterialSpec,
|
|
|
+ SumQty = SqlFunc.AggregateSum(x.Qty),
|
|
|
+ SumCheckQty = (int)SqlFunc.AggregateSum(x.CheckQty),
|
|
|
+ }).ToPage(parm);
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ public bool GetSapDeliverIsAllChecked(string deliverNo)
|
|
|
+ {
|
|
|
+ //开始拼装查询条件
|
|
|
+ var predicate = Expressionable.Create<SapDeliverRecord>();
|
|
|
+ predicate.And(x => x.DeliverNo == deliverNo);
|
|
|
+ predicate.And(x => x.CheckQty < x.Qty);
|
|
|
+ //搜索条件查询语法参考Sqlsugar
|
|
|
+ var response = Queryable()
|
|
|
+ .Where(predicate.ToExpression()).ToList();
|
|
|
+ if (response.Count > 0)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //Update(new SysUser(){ }, it => new { it.Status }, f => f.Userid == 1));
|
|
|
+ QaInspectRecordService.Update(new QaInspectRecord { AllowInstore = true }, it => new { it.AllowInstore }, f => f.DeliverNo == deliverNo);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ public bool SubmitInspectResult(string deliverNo)
|
|
|
+ {
|
|
|
+ //开始拼装查询条件
|
|
|
+ var predicate = Expressionable.Create<SapDeliverRecord>();
|
|
|
+ predicate.And(x => x.DeliverNo == deliverNo);
|
|
|
+ predicate.And(x => x.CheckQty < x.Qty);
|
|
|
+ //搜索条件查询语法参考Sqlsugar
|
|
|
+ var response = Queryable()
|
|
|
+ .Where(predicate.ToExpression()).ToList();
|
|
|
+ if (response.Count > 0)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ int rows = Update(new SapDeliverRecord { SubmitInspectResult = true }, it => new { it.SubmitInspectResult},f => f.DeliverNo == deliverNo);
|
|
|
+ int rows1 = QaInspectRecordService.Update(new QaInspectRecord { AllowInstore = true }, it => new { it.AllowInstore }, f => f.DeliverNo == deliverNo);
|
|
|
+ if (rows > 0 && rows1 > 0)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
#endregion
|
|
|
}
|
|
|
}
|