| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- import com.dderp.common.datas.ESKeys
- import com.dderp.common.datas.PrintBillLifeNode
- import org.apache.lucene.search.join.ScoreMode
- import org.elasticsearch.index.query.BoolQueryBuilder
- import org.elasticsearch.index.query.QueryBuilder
- import org.elasticsearch.index.query.QueryBuilders
- import org.elasticsearch.join.query.JoinQueryBuilders
- /**
- * Created by jlutt on 2021-05-08
- *
- * @author jlutt
- */
- enum BreedStatisticsQueryBuilder {
- //待下达
- A1{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.rangeQuery("lifeNodeId").gte(PrintBillLifeNode.submit.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- }
- },
- //待纸张预出库
- A2{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.submit.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.paperPreOut.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.paperStockOut.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- }
- },
- //待下机
- A3{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.submit.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.printFeedback.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- }
- },
- //待纸张领料
- A4{
- QueryBuilder apply(boolean readCycle) {
- BoolQueryBuilder q = QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.paperPreOut.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.paperPick.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- return q
- }
- },
- //待出库
- A5{
- QueryBuilder apply(boolean readCycle) {
- BoolQueryBuilder q = QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.paperPick.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.paperStockOut.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- return q
- }
- },
- //待拼版反馈
- A6{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.schedule.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.spliceBreedFeedback.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- }
- },
- //待制版反馈
- A7{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.schedule.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.makeBreedFeedback.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- }
- },
- //待白料裁切反馈
- A8{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.schedule.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.paperCutFeedback.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- }
- },
- //待印刷反馈
- A9{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.schedule.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.printFeedback.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- }
- },
- //待外协下达
- A10{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.outAssist.value))
- .must(QueryBuilders.termQuery("lifeNodeState", 1)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.outAssist.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(1)),
- ScoreMode.None)
- )
- }
- },
- //待外协验收
- A11{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.outAssist.value))
- .must(QueryBuilders.termQuery("lifeNodeState", 2)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ES_ERP_PRINTBILL_LIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.outAssist.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(2)),
- ScoreMode.None)
- )
- }
- },
- //已外协验收
- A12{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ESERPPRINTBILLLIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.outAssist.value))
- .must(QueryBuilders.termQuery("lifeNodeState", 3)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ESERPPRINTBILLLIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.complete.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- }
- },
- //待半成品反馈
- A13{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ESERPPRINTBILLLIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.printFeedback.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- .mustNot(JoinQueryBuilders.hasChildQuery(
- ESKeys.ESERPPRINTBILLLIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.semiComplete.value))
- .must(QueryBuilders.rangeQuery("lifeNodeState").gt(0)),
- ScoreMode.None)
- )
- }
- },
- //生产完成
- A14{
- QueryBuilder apply(boolean readCycle) {
- return QueryBuilders.boolQuery()
- .must(JoinQueryBuilders.hasChildQuery(
- ESKeys.ESERPPRINTBILLLIFECYCLE_TYPE,
- QueryBuilders.boolQuery()
- .must(QueryBuilders.termQuery("lifeNodeId", PrintBillLifeNode.complete.value)),
- ScoreMode.None)
- )
- }
- };
- abstract QueryBuilder apply(boolean readCycle);
- }
|