|
|
|
@ -2,11 +2,12 @@ package cn.estsh.i3plus.ext.mes.apiservice.daoimpl.report;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IProductionRecordReportExtDao;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesProductionRecordReportExtModel;
|
|
|
|
|
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.report.AssemblyPartReportModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
@ -14,6 +15,7 @@ import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
import javax.persistence.EntityManager;
|
|
|
|
|
import javax.persistence.Query;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -32,201 +34,223 @@ public class ProductionRecordReportExtDao implements IProductionRecordReportExtD
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<MesProductionRecordReportExtModel> queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List<Integer> reportStatusList) {
|
|
|
|
|
|
|
|
|
|
StringBuilder dataQueryHql = new StringBuilder();
|
|
|
|
|
StringBuilder countQueryHql= new StringBuilder();
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
|
|
|
|
|
// dataQueryHql.append("SELECT o.* FROM ( ")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<MesProductionRecordReportExtModel> resultList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
StringBuilder queryHql = new StringBuilder();
|
|
|
|
|
StringBuilder countHql = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
StringBuilder unionQueryHql = new StringBuilder();
|
|
|
|
|
StringBuilder countQueryHql = new StringBuilder();
|
|
|
|
|
StringBuilder prQueryHql = new StringBuilder();
|
|
|
|
|
StringBuilder prCommonQueryHql = new StringBuilder();
|
|
|
|
|
StringBuilder woQueryHql = new StringBuilder();
|
|
|
|
|
StringBuilder woCommonQueryHql = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
|
|
|
|
|
unionQueryHql.append("SELECT\n" +
|
|
|
|
|
"\to.workCenterCode,\n" +
|
|
|
|
|
"\to.workCellCode,\n" +
|
|
|
|
|
"\to.partNo,\n" +
|
|
|
|
|
"\to.partName,\n" +
|
|
|
|
|
"\to.shiftCode,\n" +
|
|
|
|
|
"\to.equipmentCode,\n" +
|
|
|
|
|
"\to.equipmentName,\n" +
|
|
|
|
|
"\to.reportStatus,\n" +
|
|
|
|
|
"\to.dataSource,\n" +
|
|
|
|
|
"\to.statisticsQty \n" +
|
|
|
|
|
"FROM\n" +
|
|
|
|
|
"\t(\n" +
|
|
|
|
|
"\t\t(\n");
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
countQueryHql.append("SELECT count(1)\n" +
|
|
|
|
|
"FROM\n" +
|
|
|
|
|
"\t(\n" +
|
|
|
|
|
"\t\t(\n");
|
|
|
|
|
} else {
|
|
|
|
|
countQueryHql.append("SELECT count(1) FROM\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ListPager<AssemblyPartReportModel> queryReport(AssemblyPartReportModel model, Pager pager) {
|
|
|
|
|
StringBuilder dataQueryHql = new StringBuilder();
|
|
|
|
|
dataQueryHql.append("SELECT new ").append(AssemblyPartReportModel.class.getName()).append("(");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.serialNumber AS serialNumber,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.workCenterCode AS workCenterCode,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.workCellCode AS workCellCode,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.partNo AS partNo,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.partName AS partName,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.matchType AS matchType,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.matchRule AS matchRule,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.assemblyPartNo AS assemblyPartNo,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.assemblyPartName AS assemblyPartName,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.assemblySn AS assemblySn,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.productSn AS productSn,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.isSkip AS isSkip,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.createDatetime AS createDatetime,");
|
|
|
|
|
dataQueryHql.append("mes_production_assembly.createUser AS createUser,");
|
|
|
|
|
dataQueryHql.append("mes_production_record.workOrderNo AS workOrderNo,");
|
|
|
|
|
dataQueryHql.append("mes_production_record.lotNo AS lotNo,");
|
|
|
|
|
dataQueryHql.append("mes_equipment.equipmentName AS equipmentName,");
|
|
|
|
|
dataQueryHql.append("mes_equipment.equipId AS equipId ");
|
|
|
|
|
dataQueryHql.append(") ");
|
|
|
|
|
if (!CollectionUtils.isEmpty(reportStatusList)) {
|
|
|
|
|
prQueryHql.append("\t\tSELECT\n" +
|
|
|
|
|
"\t\t\ta.work_center_code AS workCenterCode,\n" +
|
|
|
|
|
"\t\t\ta.work_cell_code AS workCellCode,\n" +
|
|
|
|
|
"\t\t\ta.part_no AS partNo,\n" +
|
|
|
|
|
"\t\t\ta.part_name AS partName,\n" +
|
|
|
|
|
"\t\t\ta.shift_code AS shiftCode,\n" +
|
|
|
|
|
"\t\t\ta.equipment_code AS equipmentCode,\n" +
|
|
|
|
|
"\t\t\ta.equipment_name AS equipmentName,\n" +
|
|
|
|
|
"\t\t\ta.report_status AS reportStatus,\n" +
|
|
|
|
|
"\t\t\t1 AS dataSource,\n" +
|
|
|
|
|
"\t\t\tSUM( qty ) AS statisticsQty \n" +
|
|
|
|
|
"\t\tFROM\n");
|
|
|
|
|
|
|
|
|
|
StringBuilder countQueryHql= new StringBuilder();
|
|
|
|
|
countQueryHql.append("select count(1)");
|
|
|
|
|
|
|
|
|
|
StringBuilder commonQueryHql = new StringBuilder();
|
|
|
|
|
commonQueryHql.append("FROM MesProductionAssembly mes_production_assembly ");
|
|
|
|
|
commonQueryHql.append("JOIN MesProductionRecord mes_production_record ON mes_production_assembly.productionRecordId = mes_production_record.id ");
|
|
|
|
|
commonQueryHql.append("JOIN MesEquipment mes_equipment ON mes_production_record.equipmentCode = mes_equipment.equipmentCode ");
|
|
|
|
|
commonQueryHql.append("WHERE 1=1 ");
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.organizeCode = :organizeCode ");
|
|
|
|
|
commonQueryHql.append("AND mes_production_record.organizeCode = :organizeCode ");
|
|
|
|
|
commonQueryHql.append("AND mes_equipment.organizeCode = :organizeCode ");
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.isDeleted = :isDeleted ");
|
|
|
|
|
commonQueryHql.append("AND mes_production_record.isDeleted = :isDeleted ");
|
|
|
|
|
commonQueryHql.append("AND mes_equipment.isDeleted = :isDeleted ");
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.isValid = :isValid ");
|
|
|
|
|
commonQueryHql.append("AND mes_production_record.isValid = :isValid ");
|
|
|
|
|
commonQueryHql.append("AND mes_equipment.isValid = :isValid ");
|
|
|
|
|
// like 条码
|
|
|
|
|
if(!StringUtils.isEmpty(model.getSerialNumber())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.serialNumber like :serialNumber ");
|
|
|
|
|
}
|
|
|
|
|
// = 装配件条码确认规则
|
|
|
|
|
if (!StringUtils.isEmpty(model.getMatchRule())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.matchRule = :matchRule ");
|
|
|
|
|
}
|
|
|
|
|
// like 零件号
|
|
|
|
|
prCommonQueryHql.append("\t\t\tmes_production_record a \n" +
|
|
|
|
|
"\t\tWHERE\n" +
|
|
|
|
|
"\t\t\ta.organize_code = :organizeCode \n" +
|
|
|
|
|
"\t\t\tAND a.is_deleted = :isDeleted \n" +
|
|
|
|
|
"\t\t\tAND a.is_valid = :isValid \n" +
|
|
|
|
|
"\t\t\tAND a.complete_date_time >= :completeDateTimeStart \n" +
|
|
|
|
|
"\t\t\tAND a.complete_date_time <= :completeDateTimeEnd \n");
|
|
|
|
|
if (reportStatusList.size() == 1) {
|
|
|
|
|
prCommonQueryHql.append("\t\t\tAND a.report_status = :reportStatus \n");
|
|
|
|
|
} else {
|
|
|
|
|
prCommonQueryHql.append("\t\t\tAND a.report_status in (:reportStatus) \n");
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtils.isEmpty(model.getPartNo())) {
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.partNo like :partNo ");
|
|
|
|
|
prCommonQueryHql.append("\t\t\tAND a.part_no = :partNo \n");
|
|
|
|
|
}
|
|
|
|
|
//like 主零件号
|
|
|
|
|
if(!StringUtils.isEmpty(model.getPartName())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.partName like :partName ");
|
|
|
|
|
if (!StringUtils.isEmpty(model.getWorkCenterCode())) {
|
|
|
|
|
prCommonQueryHql.append("\t\t\tAND a.work_center_code = :workCenterCode \n");
|
|
|
|
|
}
|
|
|
|
|
//like 装配零件号
|
|
|
|
|
if(!StringUtils.isEmpty(model.getAssemblyPartNo())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.assemblyPartNo like :assemblyPartNo ");
|
|
|
|
|
if (!StringUtils.isEmpty(model.getWorkCellCode())) {
|
|
|
|
|
prCommonQueryHql.append("\t\t\tAND a.work_cell_code = :workCellCode \n");
|
|
|
|
|
}
|
|
|
|
|
//like 装配件零件名称
|
|
|
|
|
if(!StringUtils.isEmpty(model.getAssemblyPartName())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.assemblyPartName like :assemblyPartName ");
|
|
|
|
|
if (!StringUtils.isEmpty(model.getShiftCode())) {
|
|
|
|
|
prCommonQueryHql.append("\t\t\tAND a.shift_code = :shiftCode \n");
|
|
|
|
|
}
|
|
|
|
|
//like 装配条码
|
|
|
|
|
if(!StringUtils.isEmpty(model.getAssemblySn())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.assemblySn like :assemblySn ");
|
|
|
|
|
if (!StringUtils.isEmpty(model.getEquipmentCode())) {
|
|
|
|
|
prCommonQueryHql.append("\t\t\tAND a.equipment_code = :equipmentCode \n");
|
|
|
|
|
}
|
|
|
|
|
// = 是否跳过
|
|
|
|
|
if(model.getIsSkip() != null){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.isSkip = :isSkip ");
|
|
|
|
|
prCommonQueryHql.append("\t\tGROUP BY\n" +
|
|
|
|
|
"\t\t\ta.work_center_code,\n" +
|
|
|
|
|
"\t\t\ta.work_cell_code,\n" +
|
|
|
|
|
"\t\t\ta.part_no,\n" +
|
|
|
|
|
"\t\t\ta.shift_code,\n" +
|
|
|
|
|
"\t\t\ta.report_status \n" +
|
|
|
|
|
"\t\tORDER BY\n" +
|
|
|
|
|
"\t\t\ta.complete_date_time DESC \n");
|
|
|
|
|
}
|
|
|
|
|
//like 创建人
|
|
|
|
|
if(!StringUtils.isEmpty(model.getCreateUser())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.createUser like :createUser ");
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
|
|
|
|
|
prCommonQueryHql.append("\t\t) UNION ALL\n" +
|
|
|
|
|
"\t\t(");
|
|
|
|
|
}
|
|
|
|
|
//范围时间 创建时间
|
|
|
|
|
if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.createDatetime between :createDateTimeStart and :createDateTimeEnd ");
|
|
|
|
|
|
|
|
|
|
if (model.getIsQueryWo()) {
|
|
|
|
|
woQueryHql.append("\t\tSELECT\n" +
|
|
|
|
|
"\t\t\tb.work_center_code AS workCenterCode,\n" +
|
|
|
|
|
"\t\t\tNULL AS workCellCode,\n" +
|
|
|
|
|
"\t\t\tb.part_no AS partNo,\n" +
|
|
|
|
|
"\t\t\tb.part_name AS partName,\n" +
|
|
|
|
|
"\t\t\tb.shift_code AS shiftCode,\n" +
|
|
|
|
|
"\t\t\tNULL AS equipmentCode,\n" +
|
|
|
|
|
"\t\t\tNULL AS equipmentName,\n" +
|
|
|
|
|
"\t\t\t30 AS reportStatus,\n" +
|
|
|
|
|
"\t\t\t2 AS dataSource,\n" +
|
|
|
|
|
"\t\t\tSUM( modify_qty ) AS statisticsQty \n" +
|
|
|
|
|
"\t\tFROM\n");
|
|
|
|
|
|
|
|
|
|
woCommonQueryHql.append("\t\t\tmes_work_order_log b \n" +
|
|
|
|
|
"\t\tWHERE\n" +
|
|
|
|
|
"\t\t\tb.organize_code = :organizeCode \n" +
|
|
|
|
|
"\t\t\tAND b.is_deleted = :isDeleted \n" +
|
|
|
|
|
"\t\t\tAND b.is_valid = :isValid \n" +
|
|
|
|
|
"\t\t\tAND b.modify_date_time >= :completeDateTimeStart \n" +
|
|
|
|
|
"\t\t\tAND b.modify_date_time <= :completeDateTimeEnd \n" +
|
|
|
|
|
"\t\t\tAND b.type = :messageType \n");
|
|
|
|
|
if (!StringUtils.isEmpty(model.getPartNo())) {
|
|
|
|
|
woCommonQueryHql.append("\t\t\tAND b.part_no = :partNo \n");
|
|
|
|
|
}
|
|
|
|
|
//like 产线
|
|
|
|
|
if (!StringUtils.isEmpty(model.getWorkCenterCode())) {
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.workCenterCode like :workCenterCode ");
|
|
|
|
|
woCommonQueryHql.append("\t\t\tAND b.work_center_code = :workCenterCode \n");
|
|
|
|
|
}
|
|
|
|
|
//like 工位编号
|
|
|
|
|
if(!StringUtils.isEmpty(model.getWorkCellCode())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.workCellCode like :workCellCode ");
|
|
|
|
|
if (!StringUtils.isEmpty(model.getShiftCode())) {
|
|
|
|
|
woCommonQueryHql.append("\t\t\tAND b.shift_code = :shiftCode \n");
|
|
|
|
|
}
|
|
|
|
|
if (model.getMatchType()!=null){
|
|
|
|
|
commonQueryHql.append("AND mes_production_assembly.matchRule = :matchRule ");
|
|
|
|
|
woCommonQueryHql.append("\t\tGROUP BY\n" +
|
|
|
|
|
"\t\t\tb.work_center_code,\n" +
|
|
|
|
|
"\t\t\tb.part_no,\n" +
|
|
|
|
|
"\t\t\tb.shift_code \n" +
|
|
|
|
|
"\t\tORDER BY\n" +
|
|
|
|
|
"\t\t\tb.modify_date_time DESC \n");
|
|
|
|
|
}
|
|
|
|
|
//like 加工单号
|
|
|
|
|
if(!StringUtils.isEmpty(model.getWorkOrderNo())){
|
|
|
|
|
commonQueryHql.append("AND mes_production_record.workOrderNo like :workOrderNo ");
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
|
|
|
|
|
woCommonQueryHql.append("\t) \n" +
|
|
|
|
|
"\t) AS o \n");
|
|
|
|
|
}
|
|
|
|
|
//like 设备名称
|
|
|
|
|
if(!StringUtils.isEmpty(model.getEquipmentName())){
|
|
|
|
|
commonQueryHql.append("AND mes_equipment.equipmentName like :equipmentName ");
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) {
|
|
|
|
|
queryHql.append(unionQueryHql).append(prQueryHql).append(prCommonQueryHql).append(woQueryHql).append(woCommonQueryHql);
|
|
|
|
|
countHql.append(countQueryHql).append(prQueryHql).append(prCommonQueryHql).append(woQueryHql).append(woCommonQueryHql);
|
|
|
|
|
} else {
|
|
|
|
|
if (!CollectionUtils.isEmpty(reportStatusList)) {
|
|
|
|
|
queryHql.append(prQueryHql).append(prCommonQueryHql);
|
|
|
|
|
countHql.append(countQueryHql).append(prCommonQueryHql);
|
|
|
|
|
} else {
|
|
|
|
|
queryHql.append(woQueryHql).append(woCommonQueryHql);
|
|
|
|
|
countHql.append(countQueryHql).append(woCommonQueryHql);
|
|
|
|
|
}
|
|
|
|
|
if (model.getEquipId()!=null){
|
|
|
|
|
commonQueryHql.append("AND mes_equipment.equipId = :equipId ");
|
|
|
|
|
}
|
|
|
|
|
commonQueryHql.append("ORDER BY mes_production_assembly.createDatetime DESC ");
|
|
|
|
|
|
|
|
|
|
Query dataQuery = entityManager.createQuery(dataQueryHql.append(commonQueryHql).toString(), AssemblyPartReportModel.class);
|
|
|
|
|
setQueryParams(dataQuery, model);
|
|
|
|
|
Query countQuery = entityManager.createQuery(countQueryHql.append(commonQueryHql).toString());
|
|
|
|
|
setQueryParams(countQuery, model);
|
|
|
|
|
Query dataQuery = entityManager.createNativeQuery(queryHql.toString());
|
|
|
|
|
setQueryParams(dataQuery, model, reportStatusList);
|
|
|
|
|
Query countQuery = entityManager.createNativeQuery(countHql.toString());
|
|
|
|
|
setQueryParams(countQuery, model, reportStatusList);
|
|
|
|
|
|
|
|
|
|
pager = PagerHelper.getPager(pager, Integer.parseInt(countQuery.getSingleResult().toString()));
|
|
|
|
|
|
|
|
|
|
//本次查询满足条件的总数
|
|
|
|
|
int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult()));
|
|
|
|
|
pager = PagerHelper.getPager(pager, count);
|
|
|
|
|
//查询本页数据
|
|
|
|
|
dataQuery.setMaxResults(pager.getPageSize());
|
|
|
|
|
if (pager.getCurrentPage() == 0) {
|
|
|
|
|
pager.setCurrentPage(1);
|
|
|
|
|
}
|
|
|
|
|
dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize());
|
|
|
|
|
List<AssemblyPartReportModel> resultList = dataQuery.getResultList();
|
|
|
|
|
return new ListPager<>(resultList, pager);
|
|
|
|
|
|
|
|
|
|
List list = dataQuery.getResultList();
|
|
|
|
|
|
|
|
|
|
for (Object object : list) {
|
|
|
|
|
|
|
|
|
|
if (null == object) continue;
|
|
|
|
|
|
|
|
|
|
Object[] objectArr = (Object[]) object;
|
|
|
|
|
|
|
|
|
|
if (null == objectArr || objectArr.length != 10) continue;
|
|
|
|
|
|
|
|
|
|
MesProductionRecordReportExtModel result = new MesProductionRecordReportExtModel(
|
|
|
|
|
objectArr[0], objectArr[1], objectArr[2], objectArr[3], objectArr[4], objectArr[5], objectArr[6], objectArr[7], objectArr[8], objectArr[9]);
|
|
|
|
|
if (!StringUtils.isEmpty(result.getDataSource()) && !StringUtils.isEmpty(result.getReportStatus())) {
|
|
|
|
|
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());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setQueryParams(Query dataQuery, AssemblyPartReportModel model) {
|
|
|
|
|
dataQuery.setParameter("organizeCode", model.getOrganizeCode());
|
|
|
|
|
dataQuery.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
|
|
|
|
dataQuery.setParameter("isValid", CommonEnumUtil.IS_VAILD.VAILD.getValue());
|
|
|
|
|
if(!StringUtils.isEmpty(model.getSerialNumber())){
|
|
|
|
|
dataQuery.setParameter("serialNumber", model.getSerialNumber() + "%");
|
|
|
|
|
resultList.add(result);
|
|
|
|
|
}
|
|
|
|
|
if (model.getMatchType()!=null){
|
|
|
|
|
dataQuery.setParameter("matchType", model.getMatchType());
|
|
|
|
|
|
|
|
|
|
return new ListPager(resultList, pager);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List<Integer> reportStatusList) {
|
|
|
|
|
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));
|
|
|
|
|
} else {
|
|
|
|
|
query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (model.getIsQueryWo()) query.setParameter(MesExtConstWords.MESSAGE_TYPE, MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getValue());
|
|
|
|
|
if (!StringUtils.isEmpty(model.getPartNo())) {
|
|
|
|
|
dataQuery.setParameter("partNo", model.getPartNo() + "%");
|
|
|
|
|
}
|
|
|
|
|
if(!StringUtils.isEmpty(model.getPartName())){
|
|
|
|
|
dataQuery.setParameter("partName", model.getPartName() + "%");
|
|
|
|
|
}
|
|
|
|
|
if(!StringUtils.isEmpty(model.getAssemblyPartNo())){
|
|
|
|
|
dataQuery.setParameter("assemblyPartNo", model.getAssemblyPartNo() + "%");
|
|
|
|
|
}
|
|
|
|
|
if(!StringUtils.isEmpty(model.getAssemblyPartName())){
|
|
|
|
|
dataQuery.setParameter("assemblyPartName", model.getAssemblyPartName() + "%");
|
|
|
|
|
}
|
|
|
|
|
if(!StringUtils.isEmpty(model.getAssemblySn())){
|
|
|
|
|
dataQuery.setParameter("assemblySn", model.getAssemblySn() + "%");
|
|
|
|
|
}
|
|
|
|
|
if(model.getIsSkip() != null){
|
|
|
|
|
dataQuery.setParameter("isSkip", model.getIsSkip());
|
|
|
|
|
}
|
|
|
|
|
if(!StringUtils.isEmpty(model.getCreateUser())){
|
|
|
|
|
dataQuery.setParameter("createUser", model.getCreateUser() + "%");
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){
|
|
|
|
|
dataQuery.setParameter("createDateTimeStart", model.getCreateDateTimeStart());
|
|
|
|
|
dataQuery.setParameter("createDateTimeEnd", model.getCreateDateTimeEnd());
|
|
|
|
|
query.setParameter(MesExtConstWords.PART_NO, model.getPartNo());
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtils.isEmpty(model.getWorkCenterCode())) {
|
|
|
|
|
dataQuery.setParameter("workCenterCode", model.getWorkCenterCode() + "%");
|
|
|
|
|
query.setParameter(MesExtConstWords.WORK_CENTER_CODE, model.getWorkCenterCode());
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtils.isEmpty(model.getWorkCellCode())) {
|
|
|
|
|
dataQuery.setParameter("workCellCode", model.getWorkCellCode() + "%");
|
|
|
|
|
query.setParameter(MesExtConstWords.WORK_CELL_CODE, model.getWorkCellCode());
|
|
|
|
|
}
|
|
|
|
|
if (model.getMatchType()!=null){
|
|
|
|
|
dataQuery.setParameter("matchRule", model.getMatchRule());
|
|
|
|
|
if (!StringUtils.isEmpty(model.getShiftCode())) {
|
|
|
|
|
query.setParameter(MesExtConstWords.SHIFT_CODE, model.getShiftCode());
|
|
|
|
|
}
|
|
|
|
|
if(!StringUtils.isEmpty(model.getWorkOrderNo())){
|
|
|
|
|
dataQuery.setParameter("workOrderNo", model.getWorkOrderNo() + "%");
|
|
|
|
|
if (!StringUtils.isEmpty(model.getEquipmentCode())) {
|
|
|
|
|
query.setParameter(MesExtConstWords.EQUIPMENT_CODE, model.getEquipmentCode());
|
|
|
|
|
}
|
|
|
|
|
if(!StringUtils.isEmpty(model.getEquipmentName())){
|
|
|
|
|
dataQuery.setParameter("equipmentName", model.getEquipmentName() + "%");
|
|
|
|
|
}
|
|
|
|
|
if (model.getEquipId()!=null){
|
|
|
|
|
dataQuery.setParameter("equipId", model.getEquipId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|