revert  44746 产量统计报表增加报工调整数据查询
tags/yfai-mes-ext-v2.8
王杰 4 months ago
parent 7831a81822
commit ffa9deb112

@ -15,6 +15,6 @@ import java.util.List;
**/ **/
public interface IMesProductionRecordReportExtDao { public interface IMesProductionRecordReportExtDao {
ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List<Integer> reportStatusList2Pr, List<Integer> reportStatusList2Wo); ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List<Integer> reportStatusList);
} }

@ -34,8 +34,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
private EntityManager entityManager; private EntityManager entityManager;
@Override @Override
public ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport( public ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List<Integer> reportStatusList) {
MesProductionRecordReportExtModel model, Pager pager, List<Integer> reportStatusList2Pr, List<Integer> reportStatusList2Wo) {
List<MesProductionRecordReportExtModel> resultList = new ArrayList<>(); List<MesProductionRecordReportExtModel> resultList = new ArrayList<>();
@ -49,7 +48,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
StringBuilder endHql = new StringBuilder(); StringBuilder endHql = new StringBuilder();
StringBuilder limitHql = new StringBuilder(); StringBuilder limitHql = new StringBuilder();
if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
unionQueryHql.append("SELECT " + unionQueryHql.append("SELECT " +
" o.workCenterCode, " + " o.workCenterCode, " +
" o.workCellCode, " + " o.workCellCode, " +
@ -71,7 +70,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
countQueryHql.append("SELECT count(1) FROM ( "); countQueryHql.append("SELECT count(1) FROM ( ");
} }
if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { if (!CollectionUtils.isEmpty(reportStatusList)) {
prQueryHql.append("" + prQueryHql.append("" +
" SELECT " + " SELECT " +
" a.work_center_code AS workCenterCode, " + " a.work_center_code AS workCenterCode, " +
@ -93,7 +92,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
" AND a.is_valid = :isValid " + " AND a.is_valid = :isValid " +
" AND a.complete_date_time >= :completeDateTimeStart " + " AND a.complete_date_time >= :completeDateTimeStart " +
" AND a.complete_date_time <= :completeDateTimeEnd "); " AND a.complete_date_time <= :completeDateTimeEnd ");
if (reportStatusList2Pr.size() == 1) { if (reportStatusList.size() == 1) {
prQueryHql.append(" AND a.report_status = :reportStatus "); prQueryHql.append(" AND a.report_status = :reportStatus ");
} else { } else {
prQueryHql.append(" AND a.report_status in (:reportStatus) "); prQueryHql.append(" AND a.report_status in (:reportStatus) ");
@ -124,11 +123,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
} }
if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
prQueryHql.append(" ) UNION ALL ( "); prQueryHql.append(" ) UNION ALL ( ");
} }
if (!CollectionUtils.isEmpty(reportStatusList2Wo)) { if (model.getIsQueryWo()) {
woQueryHql.append("" + woQueryHql.append("" +
" SELECT " + " SELECT " +
" b.work_center_code AS workCenterCode, " + " b.work_center_code AS workCenterCode, " +
@ -169,7 +168,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
} }
if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
endHql.append(" )) AS o "); endHql.append(" )) AS o ");
} else { } else {
endHql.append(" ) AS o "); endHql.append(" ) AS o ");
@ -177,11 +176,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
limitHql.append(" LIMIT :startRow , :pageSize "); limitHql.append(" LIMIT :startRow , :pageSize ");
if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
queryHql.append(unionQueryHql).append(prQueryHql).append(woQueryHql).append(endHql).append(limitHql); queryHql.append(unionQueryHql).append(prQueryHql).append(woQueryHql).append(endHql).append(limitHql);
countHql.append(countQueryHql).append(prQueryHql).append(woQueryHql).append(endHql); countHql.append(countQueryHql).append(prQueryHql).append(woQueryHql).append(endHql);
} else { } else {
if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { if (!CollectionUtils.isEmpty(reportStatusList)) {
queryHql.append(prQueryHql).append(limitHql); queryHql.append(prQueryHql).append(limitHql);
countHql.append(countQueryHql).append(prQueryHql).append(endHql); countHql.append(countQueryHql).append(prQueryHql).append(endHql);
} else { } else {
@ -194,9 +193,9 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
// log.info("countHql: --- {}", countHql.toString()); // log.info("countHql: --- {}", countHql.toString());
Query dataQuery = entityManager.createNativeQuery(queryHql.toString()); Query dataQuery = entityManager.createNativeQuery(queryHql.toString());
setQueryParams(dataQuery, model, reportStatusList2Pr, reportStatusList2Wo, pager); setQueryParams(dataQuery, model, reportStatusList, pager);
Query countQuery = entityManager.createNativeQuery(countHql.toString()); Query countQuery = entityManager.createNativeQuery(countHql.toString());
setQueryParams(countQuery, model, reportStatusList2Pr, reportStatusList2Wo, null); setQueryParams(countQuery, model, reportStatusList, null);
Object o = countQuery.getSingleResult(); Object o = countQuery.getSingleResult();
@ -232,26 +231,20 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
} }
private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List<Integer> reportStatusList2Pr, List<Integer> reportStatusList2Wo, Pager pager) { private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List<Integer> reportStatusList, Pager pager) {
query.setParameter(MesExtConstWords.ORGANIZE_CODE, model.getOrganizeCode()); query.setParameter(MesExtConstWords.ORGANIZE_CODE, model.getOrganizeCode());
query.setParameter(MesExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); query.setParameter(MesExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter(MesExtConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue()); query.setParameter(MesExtConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue());
query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_START, model.getCompleteDateTimeStart()); query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_START, model.getCompleteDateTimeStart());
query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_END, model.getCompleteDateTimeEnd()); query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_END, model.getCompleteDateTimeEnd());
if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { if (!CollectionUtils.isEmpty(reportStatusList)) {
if (reportStatusList2Pr.size() == 1) { if (reportStatusList.size() == 1) {
query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr.get(0)); query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList.get(0));
} else { } else {
query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr); query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList);
}
}
if (!CollectionUtils.isEmpty(reportStatusList2Wo)) {
if (reportStatusList2Pr.size() == 1) {
query.setParameter(MesExtConstWords.MESSAGE_TYPE, reportStatusList2Wo.get(0));
} else {
query.setParameter(MesExtConstWords.MESSAGE_TYPE, reportStatusList2Wo);
} }
} }
if (model.getIsQueryWo()) query.setParameter(MesExtConstWords.MESSAGE_TYPE, MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getValue());
if (!StringUtils.isEmpty(model.getPartNo())) { if (!StringUtils.isEmpty(model.getPartNo())) {
query.setParameter(MesExtConstWords.PART_NO, model.getPartNo()); query.setParameter(MesExtConstWords.PART_NO, model.getPartNo());
} }

@ -36,15 +36,11 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord
public ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager) { public ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager) {
List<Integer> reportStatusList = !StringUtils.isEmpty(model.getReportStatusList()) List<Integer> reportStatusList = !StringUtils.isEmpty(model.getReportStatusList())
? Arrays.asList(model.getReportStatusList().split(MesExtConstWords.COMMA)).stream().map(Integer::parseInt).collect(Collectors.toList()) : ? Arrays.asList(model.getReportStatusList().split(MesExtConstWords.COMMA)).stream().map(Integer::parseInt).collect(Collectors.toList())
Stream.of(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue(), : Stream.of(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue(),
MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(), MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(), MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue()).collect(Collectors.toList());
MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue(),
MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_40.getValue()
).collect(Collectors.toList());
List<Integer> reportStatusList2Pr = null; List<Integer> reportStatusList2Pr = null;
List<Integer> reportStatusList2Wo = null;
if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue())) { if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue())) {
reportStatusList2Pr = new ArrayList<>(); reportStatusList2Pr = new ArrayList<>();
reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue()); reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue());
@ -55,13 +51,10 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord
reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue()); reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue());
} }
if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode())) { if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode()) &&
reportStatusList2Wo = new ArrayList<>(); reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue())) model.setIsQueryWo(true);
if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue())) reportStatusList2Wo.add(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getValue());
if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_40.getValue())) reportStatusList2Wo.add(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT_ADJUST.getValue());
}
ListPager<MesProductionRecordReportExtModel> listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr, reportStatusList2Wo); ListPager<MesProductionRecordReportExtModel> listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr);
return listPager; return listPager;

@ -59,6 +59,9 @@ public class MesProductionRecordReportExtModel implements Serializable {
@ApiParam("汇报状态名称") @ApiParam("汇报状态名称")
private String reportStatusName; private String reportStatusName;
@ApiParam("是否查询工单日志表")
private Boolean isQueryWo = false;
public MesProductionRecordReportExtModel() {} public MesProductionRecordReportExtModel() {}
public MesProductionRecordReportExtModel(Object workCenterCode, Object workCellCode, Object partNo, Object partName, Object shiftCode, Object equipmentCode, Object equipmentName, Object reportStatus, Object dataSource, Object qty) { public MesProductionRecordReportExtModel(Object workCenterCode, Object workCellCode, Object partNo, Object partName, Object shiftCode, Object equipmentCode, Object equipmentName, Object reportStatus, Object dataSource, Object qty) {

Loading…
Cancel
Save