Merge branch 'uat-temp-wj-2501090000-44746' into test

tags/yfai-mes-ext-v2.8
王杰 4 months ago
commit 132f7d53d7

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

@ -34,7 +34,8 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
private EntityManager entityManager;
@Override
public ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List<Integer> reportStatusList) {
public ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport(
MesProductionRecordReportExtModel model, Pager pager, List<Integer> reportStatusList2Pr, List<Integer> reportStatusList2Wo) {
List<MesProductionRecordReportExtModel> resultList = new ArrayList<>();
@ -48,7 +49,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
StringBuilder endHql = new StringBuilder();
StringBuilder limitHql = new StringBuilder();
if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) {
unionQueryHql.append("SELECT " +
" o.workCenterCode, " +
" o.workCellCode, " +
@ -70,7 +71,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
countQueryHql.append("SELECT count(1) FROM ( ");
}
if (!CollectionUtils.isEmpty(reportStatusList)) {
if (!CollectionUtils.isEmpty(reportStatusList2Pr)) {
prQueryHql.append("" +
" SELECT " +
" a.work_center_code AS workCenterCode, " +
@ -92,7 +93,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
" AND a.is_valid = :isValid " +
" AND a.complete_date_time >= :completeDateTimeStart " +
" AND a.complete_date_time <= :completeDateTimeEnd ");
if (reportStatusList.size() == 1) {
if (reportStatusList2Pr.size() == 1) {
prQueryHql.append(" AND a.report_status = :reportStatus ");
} else {
prQueryHql.append(" AND a.report_status in (:reportStatus) ");
@ -123,11 +124,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
}
if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) {
prQueryHql.append(" ) UNION ALL ( ");
}
if (model.getIsQueryWo()) {
if (!CollectionUtils.isEmpty(reportStatusList2Wo)) {
woQueryHql.append("" +
" SELECT " +
" b.work_center_code AS workCenterCode, " +
@ -137,7 +138,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
" b.shift_code AS shiftCode, " +
" ' ' AS equipmentCode, " +
" ' ' AS equipmentName, " +
" 30 AS reportStatus, " +
" b.type AS reportStatus, " +
" 2 AS dataSource, " +
" SUM( modify_qty ) AS statisticsQty " +
" FROM ");
@ -148,8 +149,12 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
" AND b.is_deleted = :isDeleted " +
" AND b.is_valid = :isValid " +
" AND b.modify_date_time >= :completeDateTimeStart " +
" AND b.modify_date_time <= :completeDateTimeEnd " +
" AND b.type = :messageType ");
" AND b.modify_date_time <= :completeDateTimeEnd ");
if (reportStatusList2Wo.size() == 1) {
woQueryHql.append(" AND b.type = :messageType ");
} else {
woQueryHql.append(" AND b.type in (:messageType) ");
}
if (!StringUtils.isEmpty(model.getPartNo())) {
woQueryHql.append(" AND b.part_no = :partNo ");
}
@ -168,7 +173,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
}
if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) {
endHql.append(" )) AS o ");
} else {
endHql.append(" ) AS o ");
@ -176,11 +181,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
limitHql.append(" LIMIT :startRow , :pageSize ");
if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) {
queryHql.append(unionQueryHql).append(prQueryHql).append(woQueryHql).append(endHql).append(limitHql);
countHql.append(countQueryHql).append(prQueryHql).append(woQueryHql).append(endHql);
} else {
if (!CollectionUtils.isEmpty(reportStatusList)) {
if (!CollectionUtils.isEmpty(reportStatusList2Pr)) {
queryHql.append(prQueryHql).append(limitHql);
countHql.append(countQueryHql).append(prQueryHql).append(endHql);
} else {
@ -193,9 +198,9 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
// log.info("countHql: --- {}", countHql.toString());
Query dataQuery = entityManager.createNativeQuery(queryHql.toString());
setQueryParams(dataQuery, model, reportStatusList, pager);
setQueryParams(dataQuery, model, reportStatusList2Pr, reportStatusList2Wo, pager);
Query countQuery = entityManager.createNativeQuery(countHql.toString());
setQueryParams(countQuery, model, reportStatusList, null);
setQueryParams(countQuery, model, reportStatusList2Pr, reportStatusList2Wo, null);
Object o = countQuery.getSingleResult();
@ -219,7 +224,9 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
if (result.getDataSource().compareTo(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) == 0) {
if (result.getReportStatus().compareTo(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue()) == 0) result.setReportStatusName(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getDescription());
else result.setReportStatusName(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getDescription());
} else result.setReportStatusName(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getDescription());
} else {
result.setReportStatusName(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.valueOfDescription(result.getReportStatus()));
}
}
resultList.add(result);
@ -231,20 +238,26 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo
}
private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List<Integer> reportStatusList, Pager pager) {
private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List<Integer> reportStatusList2Pr, List<Integer> reportStatusList2Wo, Pager pager) {
query.setParameter(MesExtConstWords.ORGANIZE_CODE, model.getOrganizeCode());
query.setParameter(MesExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.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_END, model.getCompleteDateTimeEnd());
if (!CollectionUtils.isEmpty(reportStatusList)) {
if (reportStatusList.size() == 1) {
query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList.get(0));
if (!CollectionUtils.isEmpty(reportStatusList2Pr)) {
if (reportStatusList2Pr.size() == 1) {
query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr.get(0));
} else {
query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr);
}
}
if (!CollectionUtils.isEmpty(reportStatusList2Wo)) {
if (reportStatusList2Wo.size() == 1) {
query.setParameter(MesExtConstWords.MESSAGE_TYPE, reportStatusList2Wo.get(0));
} else {
query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList);
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())) {
query.setParameter(MesExtConstWords.PART_NO, model.getPartNo());
}

@ -36,11 +36,15 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord
public ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager) {
List<Integer> reportStatusList = !StringUtils.isEmpty(model.getReportStatusList())
? 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(),
MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(), MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue()).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(),
MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(),
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> reportStatusList2Wo = null;
if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue())) {
reportStatusList2Pr = new ArrayList<>();
reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue());
@ -51,10 +55,13 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord
reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue());
}
if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode()) &&
reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue())) model.setIsQueryWo(true);
if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode())) {
reportStatusList2Wo = new ArrayList<>();
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);
ListPager<MesProductionRecordReportExtModel> listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr, reportStatusList2Wo);
return listPager;

@ -59,9 +59,6 @@ public class MesProductionRecordReportExtModel implements Serializable {
@ApiParam("汇报状态名称")
private String reportStatusName;
@ApiParam("是否查询工单日志表")
private Boolean isQueryWo = false;
public MesProductionRecordReportExtModel() {}
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