3
수신 된 매개 변수에 따라 다양한 결과를 갖는 쿼리를 작성 중이며 상황이 충족되면이 상황에 대한 필터 및 결과 집합 금액이 작성됩니다. 필터가 준비되었지만 이러한 상황에서 금액을 설정하는 방법을 알지 못합니다. 다음은 검색어입니다.다른 수량에 대한 쿼리를 만드는 방법은 무엇입니까?
public IEnumerable<ConeSlab> ConsultarPlacasAcompanhamento(String codigoLaminador, Int16 placasAEnfornar, Boolean placasEnfornadas, Int16 placasDesenfornadas, Boolean placasRejeitadas)
{
try
{
var criteria = DetachedCriteria.For<ConeSlab>()
.CreateAlias("Cone", "C")
.CreateAlias("Slab.SlabPDO", "SP")
.Add(Restrictions.Eq("C.Mill", codigoLaminador))
.Add(Restrictions.IsNotNull("C.IdentBeginDtm"))
.Add(Restrictions.IsNotNull("SP.IdentBeginDtm"));
var ordem = "SP.IdentBeginDtm";
Junction disjunction = Restrictions.Disjunction();
//Identificadas
if (placasAEnfornar > 0)
{
ICriterion criterion = Restrictions.Conjunction()
.Add(Restrictions.IsNotNull("SP.IdentEndDtm"))
.Add(Restrictions.IsNull("SP.ChargeDtm"))
.Add(Restrictions.IsNull("SP.RejectDtm"));
**//How to set here?**
disjunction.Add(criterion);
}
//Enfornadas
if (placasEnfornadas)
{
ICriterion criterion = Restrictions.Conjunction()
.Add(Restrictions.IsNotNull("SP.ChargeDtm"))
.Add(Restrictions.IsNull("SP.DischDtm"))
.Add(Restrictions.IsNull("SP.RejectDtm"));
disjunction.Add(criterion);
}
//Desenfornadas
if (placasDesenfornadas > 0)
{
ICriterion criterion = Restrictions.Conjunction()
.Add(Restrictions.IsNotNull("SP.DischDtm"))
.Add(Restrictions.IsNull("SP.MillDtm"))
.Add(Restrictions.IsNull("SP.RejectDtm"));
**//How to set here?**
disjunction.Add(criterion);
}
//Rejeitadas
if (placasRejeitadas)
criteria.Add(Restrictions.IsNull("SP.RejectDtm"));
criteria.Add(disjunction);
return coneSlabRepository.GetListCriteria(criteria, 300, Order.Desc(ordem));
}
catch (Exception ex)
{
Log.Error(AppStrings.EventNatureProgramacaoSequenciamento, LibStrings.MessageExceptionQuery, ex);
throw new LoggedException(ex.Message);
}
}
개별 반품은 어떻게 설정합니까?
도움 주셔서 감사합니다. 그러나 세부 사항이 명확하지 않은 것은 수량이 자신에게 맞는 특정 상황이며 한 번에 두 가지 이상의 상황을 가질 수 있다는 것입니다. 예 : Desenfornadas로 식별 된 10 개의 레코드와 20 개의 레코드 만 표시해야합니다. 조건이 Enfornadas 인 경우 표시되는 화면은 다음과 같습니다. - Enfornadas의 조건을 만족하는 모든 레코드 - 식별 된 10 개의 레코드 - 20 레코드 Desenformadas. 따라서 금액을 끝까지 설정할 수 없습니다. 개별적으로 설정하는 방법이 있습니까? 감사합니다. –
나는 그것이 할 수 있다고 믿지만, 나는 며칠 만에 대답 할 수 있었다. –