产品加工记录增加工单状态查询

tags/yfai-mes-ext-v2.4
jun 6 months ago
parent 300d9114cf
commit a244b350f2

@ -7,7 +7,7 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesCokpitKanbanData;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralExportReportModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralShippingReportModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesTraceabilityReportModel;
@ -50,7 +50,7 @@ public interface IMesYfReportService {
ListPager<MesProduceSn> queryMesProduceSn(MesProduceSn mesProduceSn, Pager pager);
@ApiOperation("产品加工记录")
ListPager<MesProductionRecord> queryMesProductionRecord(MesProductionRecord mesProductionRecord, Pager pager);
ListPager<MesProductionRecordModel> queryMesProductionRecord(MesProductionRecordModel mesProductionRecordModel, Pager pager);
@ApiOperation("看板数据")
ListPager<MesCokpitKanbanData> queryMesCokpitKanbanData(MesCokpitKanbanData kanbanData, Pager pager);

@ -11,6 +11,7 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.i3plus.pojo.model.common.ExportDataModel;
import cn.estsh.impp.framework.base.controller.MesBaseController;
@ -126,9 +127,9 @@ public class BaseExtDataController extends MesBaseController {
//查询数据
listPager = mesYfReportService.queryMesProduceSn(JSON.parseObject(exportDataModel.getSelectWhere(), MesProduceSn.class),null);break;
case MES_PRODUCTION_RECORD_DATA_EXPORT:
mesClass = MesProductionRecord.class;
mesClass = MesProductionRecordModel.class;
//查询数据
listPager = mesYfReportService.queryMesProductionRecord(JSON.parseObject(exportDataModel.getSelectWhere(), MesProductionRecord.class),null);break;
listPager = mesYfReportService.queryMesProductionRecord(JSON.parseObject(exportDataModel.getSelectWhere(), MesProductionRecordModel.class),null);break;
case MES_SHIPPING_DETAIL_DATA_EXPORT:
mesClass = MesShippingOrderManagementDetailModel.class;
//查询数据

@ -80,9 +80,9 @@ public class MesBusiReportController extends MesBaseController {
@ApiOperation(value = "产品加工记录", notes = "产品加工记录")
@GetMapping("/mesProductionRecord/query")
public ResultBean queryMesProductionRecord(MesProductionRecord mesProductionRecord, Pager pager) {
public ResultBean queryMesProductionRecord(MesProductionRecordModel mesProductionRecordModel, Pager pager) {
try {
return ResultBean.success("查询成功").setListPager(mesYfReportService.queryMesProductionRecord(mesProductionRecord,pager));
return ResultBean.success("查询成功").setListPager(mesYfReportService.queryMesProductionRecord(mesProductionRecordModel,pager));
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {

@ -4,6 +4,7 @@ import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportConditi
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportResultModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralExportReportModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralShippingReportModel;
import io.swagger.annotations.ApiOperation;
@ -33,4 +34,7 @@ public interface IMesYfReportDao {
@ApiOperation("通用发运报表查询")
ListPager<MesGeneralShippingReportModel> queryGeneralShipping(MesGeneralShippingReportModel model, Pager pager, List<String> shippingGroupList);
@ApiOperation("产品加工记录")
ListPager<MesProductionRecordModel> queryMesProductionRecord(MesProductionRecordModel mesProductionRecordModel, Pager pager);
}

@ -3,10 +3,12 @@ package cn.estsh.i3plus.ext.mes.apiservice.daoimpl.report;
import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IMesYfReportDao;
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportConditionModel;
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportResultModel;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralExportReportModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralShippingReportModel;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
@ -158,6 +160,27 @@ public class MesYfReportDaoImpl implements IMesYfReportDao {
return new ListPager<>(dataQuery.getResultList(), pager);
}
@Override
public ListPager<MesProductionRecordModel> queryMesProductionRecord(MesProductionRecordModel model, Pager pager) {
StringBuilder dataHql = new StringBuilder();
dataHql.append(" select new ").append(MesProductionRecordModel.class.getName()).append("(record,wo.workOrderStatus)");
//共用HQL
String commonHql = getMesProductionRecordCommonHql(model);
//行数
Query countQuery = entityManager.createQuery("select count(1) " + commonHql);
setMesProductionRecordParameter(model, countQuery);
//数据
Query dataQuery = entityManager.createQuery(dataHql.append(commonHql).append(getMesProductionRecordOrderBy(model)).toString(), MesProductionRecordModel.class);
setMesProductionRecordParameter(model, dataQuery);
if (Objects.isNull(pager)) return new ListPager<>(dataQuery.getResultList(), pager);
int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult()));
if (count <= 0) return new ListPager<>(new ArrayList<>(), pager);
pager = PagerHelper.getPager(pager, count);
dataQuery.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize());
return new ListPager<>(dataQuery.getResultList(), pager);
}
private void setGeneralExportParameter(MesGeneralExportReportModel model, Query query) {
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
@ -246,4 +269,51 @@ public class MesYfReportDaoImpl implements IMesYfReportDao {
return commonHql.toString();
}
private String getMesProductionRecordCommonHql(MesProductionRecordModel model) {
StringBuilder commonHql = new StringBuilder();
commonHql.append(" from MesProductionRecord record left join MesWorkOrder wo on wo.workOrderNo = record.workOrderNo ");
commonHql.append(" where record.organizeCode = :organizeCode and record.isDeleted=:isDeleted and record.isValid=:isValid ");
if (!StringUtils.isEmpty(model.getProductSn())) commonHql.append(" and record.productSn like '%").append(model.getProductSn()).append("%' ");
if (!StringUtils.isEmpty(model.getWorkOrderNo())) commonHql.append(" and record.workOrderNo like '%").append(model.getWorkOrderNo()).append("%' ");
if (!StringUtils.isEmpty(model.getWorkCenterCode())) commonHql.append(" and record.workCenterCode like '%").append(model.getWorkCenterCode()).append("%' ");
if (!StringUtils.isEmpty(model.getWorkCellCode())) commonHql.append(" and record.workCellCode like '%").append(model.getWorkCellCode()).append("%' ");
if (!StringUtils.isEmpty(model.getCompleteDateTimeStart())) commonHql.append(" and record.completeDateTime >= :completeDateTimeStart ");
if (!StringUtils.isEmpty(model.getCompleteDateTimeEnd())) commonHql.append(" and record.completeDateTime <= :completeDateTimeEnd ");
if (!StringUtils.isEmpty(model.getEquipmentCode())) commonHql.append(" and record.equipmentCode like '%").append(model.getEquipmentCode()).append("%' ");
if (!StringUtils.isEmpty(model.getEquipmentName())) commonHql.append(" and record.equipmentName like '%").append(model.getEquipmentName()).append("%' ");
if (!StringUtils.isEmpty(model.getMouldNo())) commonHql.append(" and record.mouldNo like '%").append(model.getMouldNo()).append("%' ");
if (!StringUtils.isEmpty(model.getShiftGroup())) commonHql.append(" and record.shiftGroup like '%").append(model.getShiftGroup()).append("%' ");
if (!StringUtils.isEmpty(model.getShiftCode())) commonHql.append(" and record.shiftCode like '%").append(model.getShiftCode()).append("%' ");
if (!StringUtils.isEmpty(model.getReportStatus()) && model.getReportStatus() > MesExtConstWords.ZERO) commonHql.append(" and record.reportStatus = :reportStatus ");
if (!StringUtils.isEmpty(model.getReportType()) && model.getReportType() > MesExtConstWords.ZERO) commonHql.append(" and record.reportType = :reportType ");
if (!StringUtils.isEmpty(model.getIsComplete()) && model.getIsComplete() > MesExtConstWords.ZERO) commonHql.append(" and record.isComplete = :isComplete ");
if (!StringUtils.isEmpty(model.getWorkOrderStatus()) && model.getWorkOrderStatus() > MesExtConstWords.ZERO) commonHql.append(" and wo.workOrderStatus = :workOrderStatus ");
if (!StringUtils.isEmpty(model.getIsTest())) commonHql.append(" and record.isTest like '%").append(model.getIsTest()).append("%' ");
if (!StringUtils.isEmpty(model.getPartNo())) commonHql.append(" and record.partNo like '%").append(model.getPartNo()).append("%' ");
if (!StringUtils.isEmpty(model.getPartName())) commonHql.append(" and record.partName like '%").append(model.getPartName()).append("%' ");
return commonHql.toString();
}
private void setMesProductionRecordParameter(MesProductionRecordModel model, Query query) {
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter("organizeCode", model.getOrganizeCode());
if(!StringUtils.isEmpty(model.getCompleteDateTimeStart())) query.setParameter("completeDateTimeStart", model.getCompleteDateTimeStart());
if (!StringUtils.isEmpty(model.getCompleteDateTimeEnd())) query.setParameter("completeDateTimeEnd", model.getCompleteDateTimeEnd());
if (!StringUtils.isEmpty(model.getReportStatus()) && model.getReportStatus() > MesExtConstWords.ZERO) query.setParameter("reportStatus", model.getReportStatus());
if (!StringUtils.isEmpty(model.getReportType()) && model.getReportType() > MesExtConstWords.ZERO) query.setParameter("reportType", model.getReportType());
if (!StringUtils.isEmpty(model.getIsComplete()) && model.getIsComplete() > MesExtConstWords.ZERO) query.setParameter("isComplete", model.getIsComplete());
if (!StringUtils.isEmpty(model.getWorkOrderStatus()) && model.getWorkOrderStatus() > MesExtConstWords.ZERO) query.setParameter("workOrderStatus", model.getWorkOrderStatus());
}
private String getMesProductionRecordOrderBy(MesProductionRecordModel model) {
StringBuilder orderBy = new StringBuilder();
if (StringUtils.isEmpty(model.getOrderByParam()) || StringUtils.isEmpty(model.getAscOrDesc())) {
model.setOrderByParam("createDatetime");
model.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
}
return orderBy.append(" order by record.").append(model.getOrderByParam()).append(" ").append(CommonEnumUtil.ASC_OR_DESC.DESC.getValue() == model.getAscOrDesc() ? "desc" : "asc").toString();
}
}

@ -23,6 +23,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralExportReportModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralShippingReportModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesTraceabilityReportDataModel;
@ -246,15 +247,8 @@ public class MesYfReportServiceImpl implements IMesYfReportService {
}
@Override
public ListPager<MesProductionRecord> queryMesProductionRecord(MesProductionRecord mesProductionRecord, Pager pager) {
DdlPackBean packBean = getDdlPackBeanMesProductionRecord(mesProductionRecord);
if(Objects.isNull(pager)){
DdlPreparedPack.getOrderBy(mesProductionRecord.getOrderByParam(),mesProductionRecord.getAscOrDesc(),packBean);
return new ListPager<>(mesProductionRecordRepository.findByHqlWhere(packBean), pager);
}
pager = PagerHelper.getPager(pager, mesProductionRecordRepository.findByHqlWhereCount(packBean));
DdlPreparedPack.getOrderBy(mesProductionRecord.getOrderByParam(),mesProductionRecord.getAscOrDesc(),packBean);
return new ListPager<>(mesProductionRecordRepository.findByHqlWherePage(packBean, pager), pager);
public ListPager<MesProductionRecordModel> queryMesProductionRecord(MesProductionRecordModel mesProductionRecordModel, Pager pager) {
return mesYfReportDao.queryMesProductionRecord(mesProductionRecordModel, pager);
}
@Override

Loading…
Cancel
Save