From 2f388460ccf607f63b55a85e95c2a87febd160ca Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Tue, 17 Dec 2024 12:40:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=8A=A0=E5=B7=A5=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/IMesProductionRecordReportExtService.java | 13 ++ .../MesProductionRecordReportExtController.java | 47 ++++ .../dao/report/IProductionRecordReportExtDao.java | 20 ++ .../report/ProductionRecordReportExtDao.java | 232 ++++++++++++++++++++ .../base/MesProductionRecordReportExtService.java | 77 +++++++ .../src/main/resources/application-6.properties | 242 +++++++++++++++++++++ .../report/MesProductionRecordReportExtModel.java | 66 ++++++ .../i3plus/ext/mes/pojo/util/MesExtConstWords.java | 2 + 8 files changed, 699 insertions(+) create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesProductionRecordReportExtService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProductionRecordReportExtController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductionRecordReportExtDao.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/resources/application-6.properties create mode 100644 modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesProductionRecordReportExtService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesProductionRecordReportExtService.java new file mode 100644 index 0000000..7599d7d --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesProductionRecordReportExtService.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.ext.mes.pojo.model.report.MesProductionRecordReportExtModel; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import io.swagger.annotations.ApiOperation; + +public interface IMesProductionRecordReportExtService { + + @ApiOperation(value = "加工记录合并批量汇报查询报表") + ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager); + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProductionRecordReportExtController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProductionRecordReportExtController.java new file mode 100644 index 0000000..d89171d --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProductionRecordReportExtController.java @@ -0,0 +1,47 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesProductionRecordReportExtService; +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +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.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.impp.framework.base.controller.BaseController; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api("加工记录合并批量汇报查询报表") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN) +public class MesProductionRecordReportExtController extends BaseController { + + @Autowired + private IMesProductionRecordReportExtService productionRecordReportExtService; + + @GetMapping(value = "/production-record/union/work-order-log/report/query") + @ApiOperation(value = "加工记录合并批量汇报查询报表") + public ResultBean queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager) { + try { + ValidatorBean.beginValid(model) + .notNull(MesExtConstWords.ORGANIZE_CODE, model.getOrganizeCode()) + .notNull(MesExtConstWords.COMPLETE_DATE_TIME_START, model.getCompleteDateTimeStart()) + .notNull(MesExtConstWords.COMPLETE_DATE_TIME_END, model.getCompleteDateTimeEnd()); + + return ResultBean.success("查询成功").setListPager(productionRecordReportExtService.queryProductionRecordUnionWorkOrderLogReport(model, pager)) + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductionRecordReportExtDao.java new file mode 100644 index 0000000..909e3ec --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductionRecordReportExtDao.java @@ -0,0 +1,20 @@ +package cn.estsh.i3plus.ext.mes.apiservice.dao.report; + +import cn.estsh.i3plus.ext.mes.pojo.model.report.MesProductionRecordReportExtModel; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; + +import java.util.List; + +/** + * @Description : 加工记录合并批量汇报查询报表 + * @Reference : + * @Author : wangjie + * @CreateDate : 2024/9/29 10:21 + * @Modify: + **/ +public interface IProductionRecordReportExtDao { + + ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList); + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java new file mode 100644 index 0000000..d3df87b --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java @@ -0,0 +1,232 @@ +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.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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.List; + +/** + * @Description : 加工记录合并批量汇报查询报表 + * @Reference : + * @Author : wangjie + * @CreateDate : 2024/9/29 10:21 + * @Modify: + **/ +@Service +public class ProductionRecordReportExtDao implements IProductionRecordReportExtDao { + + @Autowired + private EntityManager entityManager; + + @Override + public ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList) { + + StringBuilder dataQueryHql = new StringBuilder(); + StringBuilder countQueryHql= new StringBuilder(); + + if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { +// dataQueryHql.append("SELECT o.* FROM ( ") + } + + + + + + + + + + + + + + return null; + } + + public ListPager 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(") "); + + 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 零件号 + if(!StringUtils.isEmpty(model.getPartNo())){ + commonQueryHql.append("AND mes_production_assembly.partNo like :partNo "); + } + //like 主零件号 + if(!StringUtils.isEmpty(model.getPartName())){ + commonQueryHql.append("AND mes_production_assembly.partName like :partName "); + } + //like 装配零件号 + if(!StringUtils.isEmpty(model.getAssemblyPartNo())){ + commonQueryHql.append("AND mes_production_assembly.assemblyPartNo like :assemblyPartNo "); + } + //like 装配件零件名称 + if(!StringUtils.isEmpty(model.getAssemblyPartName())){ + commonQueryHql.append("AND mes_production_assembly.assemblyPartName like :assemblyPartName "); + } + //like 装配条码 + if(!StringUtils.isEmpty(model.getAssemblySn())){ + commonQueryHql.append("AND mes_production_assembly.assemblySn like :assemblySn "); + } + // = 是否跳过 + if(model.getIsSkip() != null){ + commonQueryHql.append("AND mes_production_assembly.isSkip = :isSkip "); + } + //like 创建人 + if(!StringUtils.isEmpty(model.getCreateUser())){ + commonQueryHql.append("AND mes_production_assembly.createUser like :createUser "); + } + //范围时间 创建时间 + if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){ + commonQueryHql.append("AND mes_production_assembly.createDatetime between :createDateTimeStart and :createDateTimeEnd "); + } + //like 产线 + if(!StringUtils.isEmpty(model.getWorkCenterCode())){ + commonQueryHql.append("AND mes_production_assembly.workCenterCode like :workCenterCode "); + } + //like 工位编号 + if(!StringUtils.isEmpty(model.getWorkCellCode())){ + commonQueryHql.append("AND mes_production_assembly.workCellCode like :workCellCode "); + } + if (model.getMatchType()!=null){ + commonQueryHql.append("AND mes_production_assembly.matchRule = :matchRule "); + } + //like 加工单号 + if(!StringUtils.isEmpty(model.getWorkOrderNo())){ + commonQueryHql.append("AND mes_production_record.workOrderNo like :workOrderNo "); + } + //like 设备名称 + if(!StringUtils.isEmpty(model.getEquipmentName())){ + commonQueryHql.append("AND mes_equipment.equipmentName like :equipmentName "); + } + 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); + + //本次查询满足条件的总数 + int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult())); + pager = PagerHelper.getPager(pager, count); + //查询本页数据 + dataQuery.setMaxResults(pager.getPageSize()); + dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize()); + List resultList = dataQuery.getResultList(); + return new ListPager<>(resultList, pager); + } + + 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() + "%"); + } + if (model.getMatchType()!=null){ + dataQuery.setParameter("matchType", model.getMatchType()); + } + 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()); + } + if(!StringUtils.isEmpty(model.getWorkCenterCode())){ + dataQuery.setParameter("workCenterCode", model.getWorkCenterCode() + "%"); + } + if(!StringUtils.isEmpty(model.getWorkCellCode())){ + dataQuery.setParameter("workCellCode", model.getWorkCellCode() + "%"); + } + if (model.getMatchType()!=null){ + dataQuery.setParameter("matchRule", model.getMatchRule()); + } + if(!StringUtils.isEmpty(model.getWorkOrderNo())){ + dataQuery.setParameter("workOrderNo", model.getWorkOrderNo() + "%"); + } + if(!StringUtils.isEmpty(model.getEquipmentName())){ + dataQuery.setParameter("equipmentName", model.getEquipmentName() + "%"); + } + if (model.getEquipId()!=null){ + dataQuery.setParameter("equipId", model.getEquipId()); + } + } + + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java new file mode 100644 index 0000000..ca71f9e --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java @@ -0,0 +1,77 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesProductionRecordReportExtService; +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.mes.util.MesExtEnumUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +@Service +@Slf4j +public class MesProductionRecordReportExtService implements IMesProductionRecordReportExtService { + + @Autowired + private IProductionRecordReportExtDao productionRecordReportExtDao; + + /** + * 加工记录合并批量汇报查询报表 + * @param model 查询条件 + * @param pager 分页条件 + * @return + */ + @Override + public ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager) { + + List 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()); + + List reportStatusList2Pr = 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()); + reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue()); + } + if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue())) { + if (CollectionUtils.isEmpty(reportStatusList2Pr)) reportStatusList2Pr = new ArrayList<>(); + 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); + + Integer startRow = (pager.getCurrentPage() - 1) * pager.getPageSize(); + + ListPager listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr); + + + + + + + + + + + + + + + return null; + } + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/resources/application-6.properties b/modules/i3plus-ext-mes-apiservice/src/main/resources/application-6.properties new file mode 100644 index 0000000..fac868c --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/resources/application-6.properties @@ -0,0 +1,242 @@ +#\u9879\u76EE\u7AEF\u53E3 +server.port=8300 +#\u672C\u673Aip +impp.server.ip=localhost +#\u94FE\u8DEF\u8FFD\u8E2Azipkin\u63A7\u5236\u53F0ip\u5730\u5740 +impp.console.ip=http://10.193.30.22:8010 +################ \u529F\u80FD\u914D\u7F6E1 ################ +#mes webservice\u5F00\u5173 +mes.webservice.open=true +#\u5DE5\u4F5C\u533AID,\u4E0D\u540C\u670D\u52A1\u5668\u4E0D\u540CID 0 - 31 +impp.snowflake.work.id=19 +#\u6570\u636E\u4ED3\u533AID 0 - 31 \u6709\u9ED8\u8BA4\u56FA\u5B9AID +impp.snowflake.database.id=11 +#\u82E5\u65E0\u6CD5\u8FDE\u63A5\u6CE8\u518C\u4E2D\u5FC3\uFF0C\u662F\u5426\u9700\u8981\u4E00\u76F4\u68C0\u6D4B\u52A0\u5165 +impp.cluster.fetch=false +#\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3 +impp.cluster.regist.center=http://10.193.30.22:8000/eureka/ +#\u65E5\u5FD7\u9ED8\u8BA4\u4F7F\u7528log4j2 +logging.config=classpath:log4j2-spring.xml +########\u5E73\u53F0\u76F8\u5173\u53C2\u6570########## +#\u662F\u5426\u5F00\u542Fredis\u7F13\u5B58 +impp.config.redis=true +#\u662F\u5426\u5F00\u542Fmongo +impp.config.mongo=true +#\u662F\u5426\u5F00\u542FrabbitMQ +impp.config.rabbitmq=false +#\u662F\u5426\u5F00\u542Fswagger +impp.config.swagger=true +#\u662F\u5426\u5F00\u542Fwebsocket +impp.config.websocket=true +#\u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1 +impp.config.fileserver=fastdfs +#\u662F\u5426\u5BF9\u53D1\u5E03\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790 +impp.log.detail.controller=false +#\u662F\u5426\u5BF9\u8C03\u7528\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790 +impp.log.detail.service=false +################ \u961F\u5217\u5904\u7406 ################ +#\u7AD9\u5185\u4FE1 +impp.mq.queue.letter=true +#\u90AE\u4EF6 +impp.mq.queue.mail=true +#\u5B9A\u65F6\u4EFB\u52A1 +impp.mq.queue.schedule=true +#SWEB\u901A\u77E5\u5904\u7406\u961F\u5217 +impp.mq.queue.sweb.notice=true +################################ \u5176\u4ED6\u529F\u80FD\u8BBE\u7F6E ################################ +#elasticsearch ip \u591A\u4E2A\u7528\u9017\u53F7\u9694\u5F00 +elasticsearch.ip=10.193.30.22:9200 +################ FastDfs \u914D\u7F6E ################ +#tracker\u670D\u52A1\u5668ip +fastdfs.tracker_servers=10.193.30.22:22122 +# tracker\u7684http\u7AEF\u53E3 +fastdfs.http_tracker_http_port=22122 +# \u4F7F\u7528\u81EA\u5B9A\u4E49\u5DE5\u5177\u83B7\u53D6\u6587\u4EF6\u5C55\u793A\u5730\u5740 +fastdfs.http.ui.host=http://dfs.estsh.com +#\u5BC6\u7801 +#fastdfs.http.secret_key= +#\u8FDE\u63A5\u8D85\u65F6 +fastdfs.connect_timeout_in_seconds=500000 +#\u4F20\u8F93\u8D85\u65F6 +fastdfs.network_timeout_in_seconds=60000000 +fastdfs.charset=UTF-8 +# token \u9632\u76D7\u94FE\u529F\u80FD +fastdfs.http_anti_steal_token=no +#redisIP +redis.hostName=10.193.30.9 +#\u7AEF\u53E3\u53F7 +redis.port=6379 +#\u5982\u679C\u6709\u5BC6\u7801 +redis.password=(mfLEu7@9kmfdsTy +##\u5176\u4ED6redis\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904 +################## rabbitMQ\u914D\u7F6E #################### +spring.rabbitmq.vhost=/ +spring.rabbitmq.host=10.193.30.18 +spring.rabbitmq.port=15672 +spring.rabbitmq.username=root +spring.rabbitmq.password=(mfLEu7@9kmfdsTy +##\u5176\u4ED6rabbitMq\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904 +################ \u529F\u80FD\u914D\u7F6E2 ################ +#\u662F\u5426\u5F00\u542Fredis +mes.redis.open=true +#\u662F\u5426\u5141\u8BB8\u524D\u7AEF\u8DE8\u57DF\u63D0\u4EA4 +impp.web.cross=true +################ \u6388\u6743\u8FC7\u6EE4\u914D\u7F6E ################ +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 +filter.shiro.user.filteruri=/mes/operate/* +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 +filter.shiro.admin.filteruri=/mes/adoperate/* +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 +filter.shiro.saadmin.filteruri=/mes/saoperate/* +################ \u4E91\u914D\u7F6E \uFF08\u4EE5projectName\u4F5C\u4E3A\u5E94\u7528\u540D\uFF09 ################ +#\u662F\u5426\u5F00\u542F\u5FAE\u670D +eureka.client.enabled=false +#\uFF08\u53C2\u6570\u914D\u7F6E\uFF09\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740 -\u300B i3plus-ics\uFF0C\u591A\u4E2A\u7528\u9017\u53F7\u5206\u9694 +eureka.client.service-url.defaultZone=${impp.cluster.regist.center} +#\u533A\u57DF\uFF08\u6E90\u7801\u4E2D\u5305\u542BdefaultZone\uFF0C\u6240\u4EE5\u9ED8\u8BA4\u4F7F\u7528defaultZone\uFF09 +#eureka.client.region=estsh +#eureka.client.service-url.estsh:http://192.168.1.20:8000/eureka/,http://192.168.1.20:8001/eureka/ +################ \u672C\u673A\u5FAE\u670D\u914D\u7F6E ################ +#\u672C\u670D\u52A1\u4E3B\u673Aip\uFF08\u82E5\u591A\u4E2A\u7F51\u5361\uFF0C\u5219\u9700\u8981\u8BBE\u7F6E\u672C\u670D\u52A1ip\uFF09 +eureka.instance.ip-address=${impp.server.ip} +#\u672C\u670D\u52A1\u5B9E\u4F8BID +eureka.instance.instance-id=${impp.server.ip}:${server.port} +#\u672C\u670D\u52A1\u4E3B\u673A\u540D +eureka.instance.hostname=${impp.server.ip} +#\u672C\u670D\u52A1\u72B6\u6001\u9875\u9762 +eureka.instance.status-page-url=http://${impp.server.ip}:${server.port}/swagger-ui.html +#\u5C06\u81EA\u5DF1\u7684IP\u6CE8\u518C\u5230Eureka Server\u3002\u82E5\u4E0D\u914D\u7F6E\u6216\u8BBE\u7F6E\u4E3Afalse\uFF0C\u8868\u793A\u6CE8\u518C\u5FAE\u670D\u52A1\u6240\u5728\u64CD\u4F5C\u7CFB\u7EDF\u7684hostname\u5230Eureka Server +eureka.instance.prefer-ip-address=true +#\u662F\u5426\u8FDB\u884C\u5065\u5EB7\u68C0\u67E5 +eureka.client.healthcheck.enabled=true +################ \u68C0\u6D4B\u673A\u5236 ################ +#\u5FC3\u8DF3\u95F4\u9694\u5468\u671F\uFF0C\u5B95\u673A\u9650\u5236\uFF08\u79D2\uFF09\uFF0C30\u79D2\u6CA1\u53CD\u5E94\u89C6\u4E3A\u5B95\u673A +eureka.instance.lease-expiration-duration-in-seconds=30 +#\u5FC3\u8DF3\u5468\u671F +eureka.instance.lease-renewal-interval-in-seconds=20 +#client\u8FDE\u63A5Eureka\u670D\u52A1\u7AEF\u540E\u7684\u7A7A\u95F2\u7B49\u5F85\u65F6\u95F4\uFF0C\u9ED8\u8BA4\u4E3A30 \u79D2 +eureka.client.eureka-connection-idle-timeout-seconds=1 +#\u6700\u521D\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\u6240\u9700\u7684\u65F6\u95F4\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A40\u79D2 +eureka.client.initial-instance-info-replication-interval-seconds=1 +#\u95F4\u9694\u591A\u957F\u65F6\u95F4\u518D\u6B21\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2 +eureka.client.instance-info-replication-interval-seconds=1 +#\u4ECEeureka\u670D\u52A1\u5668\u6CE8\u518C\u8868\u4E2D\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\u7684\u65F6\u95F4\u95F4\u9694\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2 +eureka.client.registry-fetch-interval-seconds=1 +################ \u6253\u5F00feign\u7684\u7194\u65AD ################ +feign.hystrix.enabled=true +#\u8BFB\u53D6\u6570\u636E\u65F6\u957F +ribbon.ReadTimeout=100000 +#\u8FDE\u63A5\u65F6\u957F +ribbon.ConnectTimeout=100000 +#\u91CD\u8BD5 +ribbon.maxAutoRetries=2 +#\u54CD\u5E94\u8D85\u8FC7\u65F6\u957F\uFF0C\u8FDB\u884C\u7194\u65AD\uFF08\u7194\u65AD\u8D85\u65F6\u9700\u8981\u5927\u4E8E\u8BFB\u53D6\u65F6\u957F\u53CA\u8FDE\u63A5\u65F6\u957F\uFF09 +hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=150000 +#\u96C6\u7FA4\u540D +eureka.instance.metadata-map.cluster=impp_cluster +################ \u94FE\u8DEF\u8FFD\u8E2A ################ +#\u4F7F\u7528web\u65B9\u5F0F\u4F20\u8F93\u4FE1\u606F +spring.zipkin.sender.type=web +#\u94FE\u8DEF\u8FFD\u8E2A\u670D\u52A1\u7684\u5730\u5740 +spring.zipkin.base-url=${impp.console.ip} +#\u8FFD\u8E2A\u6DF1\u5EA6\uFF0C\u767E\u5206\u6BD4\uFF0C1\u662F\u5168\u90E8 +spring.sleuth.sampler.probability=1.0 +################ \u65E5\u5FD7\u636E\u6E90 ################ +spring.data.mongodb.database=mongoDBSource +spring.data.mongodb.uri=10.193.30.22:27017 +spring.data.mongodb.username=sa +spring.data.mongodb.password=i3plus +spring.data.mongodb.port=27017 +################ \u4E3B\u6570\u636E\u6E90 ################ + +##############\u5B9A\u65F6\u4EFB\u52A1\u6301\u4E45\u5316############## +impp.schedule.open=true +impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver +impp.schedule.datasource.jdbc-url=jdbc:mysql://10.193.30.20:3306/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8 +impp.schedule.datasource.username=root +impp.schedule.datasource.password=(mfLEu7@9kmfdsTy +impp.schedule.datasource.max-connections=20 +#\u5B9A\u65F6\u4EFB\u52A1\u5728\u670D\u52A1\u542F\u52A8\u540E\u591A\u5C11\u79D2\u6267\u884C +impp.schedule.start.after-second=20 +#\u662F\u5426\u96C6\u7FA4\u90E8\u7F72 +impp.schedule.datasource.is-clustered=true +#\u6267\u884C\u68C0\u6D4B\uFF08\u6BEB\u79D2\uFF09\uFF0C\u82E5\u5B95\u673A\u7531\u5176\u4ED6\u5B9A\u65F6\u5668\u6267\u884C +impp.schedule.datasource.cluster-checkin-interval=30000 +#\u7EBF\u7A0B\u6570 +impp.schedule.thread-count=10 +#\u7EBF\u7A0B\u4F18\u5148\u7EA7\uFF081-10\uFF09\u9ED8\u8BA4\u4E3A5 +impp.schedule.thread-priority=5 +################ \u6570\u636E\u6C60\u8BBE\u7F6E ################ +## \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF0C\u9ED8\u8BA4\u662F10 +spring.datasource.hikari.maximum-pool-size=100 +## \u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5\u6570\u91CF +spring.datasource.hikari.minimum-idle=10 +## \u7A7A\u95F2\u8FDE\u63A5\u5B58\u6D3B\u6700\u5927\u65F6\u95F4\uFF0C\u9ED8\u8BA4600000\uFF0810\u5206\u949F\uFF09 +spring.datasource.hikari.idle-timeout=600000 +## \u6B64\u5C5E\u6027\u63A7\u5236\u6C60\u4E2D\u8FDE\u63A5\u7684\u6700\u957F\u751F\u547D\u5468\u671F\uFF0C\u503C0\u8868\u793A\u65E0\u9650\u751F\u547D\u5468\u671F\uFF0C\u9ED8\u8BA41800000\u537330\u5206\u949F +spring.datasource.hikari.max-lifetime=1800000 +## \u6570\u636E\u5E93\u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4,\u9ED8\u8BA430\u79D2\uFF0C\u537330000 +spring.datasource.hikari.connection-timeout=30000 +################ JPA\u8BBE\u7F6E\u8BBE\u7F6E ################ +# mysql +spring.jpa.database=MYSQL +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect +##Sql-server## +#spring.jpa.database=sql_server +#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServerDialect +##oracle## +#spring.jpa.database=oracle +#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect +# mysql +spring.datasource.validationQuery=SELECT 1 +##Sql-server## +# spring.datasource.validationQuery=SELECT 1 +##oracle## +# spring.datasource.validationQuery=SELECT 1 FROM DUAL +#ImprovedNamingStrategy / physical_naming_strategy java\u5C5E\u6027\u6620\u5C04\u5230\u6570\u636E\u5E93\u5B57\u6BB5\u65F6\u547D\u540D\u89C4\u5219 +# spring.jpa.properties.hibernate.physical_naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy/org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl +#\u8868\u5173\u7CFBcreate,create-drop,update,validate +spring.jpa.properties.hibernate.hbm2ddl.auto=none +#\u662F\u5426\u663E\u793Asql +spring.jpa.show-sql=true +################ \u6388\u6743\u914D\u7F6E ################ +slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2 +slm.app.id=20190513 +###################\uFFFD\uFFFD\u013F\uFFFD\uFFFD\uFFFD\u077F\uFFFD\u02B5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00B7\uFFFD\uFFFD################################################## +project.entity.path=cn.estsh.i3plus.pojo + + +impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver +impp.write.datasource.jdbc-url=jdbc:mysql://10.193.30.20:3306/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true +impp.write.datasource.username=root +impp.write.datasource.password=(mfLEu7@9kmfdsTy +impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource +impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver +impp.read.datasource.jdbc-url=jdbc:mysql://10.193.30.20:3306/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true +impp.read.datasource.username=root +impp.read.datasource.password=(mfLEu7@9kmfdsTy + + + +#impp.schedule.scheduleType=xxljob +#xxl.job.admin.addresses=http://10.193.30.22:10010/xxl-job-admin +#### xxl-job, access token +#xxl.job.accessToken= +#### xxl-job executor appname +##xxl.job.executor.appname=${project.name} +#xxl.job.executor.appname=i3mes-castle +#### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null +#xxl.job.executor.address= +#### xxl-job executor server-info +#xxl.job.executor.ip=172.24.96.1 +##xxl.job.executor.ip= +##xxl.job.executor.port=9999 +#xxl.job.executor.port=8888 +#### xxl-job executor log-path +#xxl.job.executor.logpath= +#### xxl-job executor log-retention-days +#xxl.job.executor.logretentiondays=10 +#xxl.job.basePackage=cn.estsh.i3plus.ext.mes.apiservice.schedulejob + + +impp.app.ext.base-packages=cn.estsh.i3plus.ext.mes.apiservice \ No newline at end of file diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java new file mode 100644 index 0000000..091c95e --- /dev/null +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java @@ -0,0 +1,66 @@ +package cn.estsh.i3plus.ext.mes.pojo.model.report; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel("加工记录合并批量汇报查询报表") +public class MesProductionRecordReportExtModel implements Serializable { + + private static final long serialVersionUID = 7580273561023637832L; + + @ApiParam(value = "组织代码") + private String organizeCode; + + @ApiParam(value = "物料编号") + private String partNo; + + @ApiParam(value = "物料名称") + private String partName; + + @ApiParam("生产线代码") + private String workCenterCode; + + @ApiParam(value = "工位代码") + private String workCellCode; + + @ApiParam(value = "数量") + private Integer qty; + + @ApiParam("班次代码") + private String shiftCode; + + @ApiParam(value = "设备代码") + public String equipmentCode; + + @ApiParam("设备名称") + private String equipmentName; + + @ApiParam(value = "汇报状态") + private String reportStatusList; + + @ApiParam(value = "完成时间开始日期") + private String completeDateTimeStart; + + @ApiParam(value = "完成时间结束日期") + private String completeDateTimeEnd; + + @ApiParam("是否查询工单日志表") + private Boolean isQueryWo = false; + + public MesProductionRecordReportExtModel() {} + + public MesProductionRecordReportExtModel(String partNo, String partName, String workCenterCode, String workCellCode, String shiftCode, String equipmentCode, String equipmentName, Integer statisticsQty) { + this.partNo = partNo; + this.partName = partName; + this.workCenterCode = workCenterCode; + this.workCellCode = workCellCode; + this.shiftCode = shiftCode; + this.equipmentCode = equipmentCode; + this.equipmentName = equipmentName; + this.qty = statisticsQty; + } +} diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java index 93621e6..916aace 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java @@ -209,6 +209,8 @@ public class MesExtConstWords { public static final String CREATE_DATE_TIME_END = "createDatetimeEnd"; public static final String MODIFY_DATE_TIME_START = "modifyDatetimeStart"; public static final String MODIFY_DATE_TIME_END = "modifyDatetimeEnd"; + public static final String COMPLETE_DATE_TIME_START = "completeDateTimeStart"; + public static final String COMPLETE_DATE_TIME_END = "completeDateTimeEnd"; //0 public static final int ZERO = 0; From 195f7dae2a80958a1ac6edb4770ce80953b73cdd Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Tue, 17 Dec 2024 18:57:23 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BA=A7=E9=87=8F=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MesProductionRecordReportExtController.java | 4 +- .../report/ProductionRecordReportExtDao.java | 370 +++++++++++---------- .../base/MesProductionRecordReportExtService.java | 14 +- .../report/MesProductionRecordReportExtModel.java | 31 +- 4 files changed, 222 insertions(+), 197 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProductionRecordReportExtController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProductionRecordReportExtController.java index d89171d..dc8001d 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProductionRecordReportExtController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProductionRecordReportExtController.java @@ -7,6 +7,7 @@ import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.impp.framework.base.controller.BaseController; +import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ResultBean; @@ -31,10 +32,9 @@ public class MesProductionRecordReportExtController extends BaseController { public ResultBean queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager) { try { ValidatorBean.beginValid(model) - .notNull(MesExtConstWords.ORGANIZE_CODE, model.getOrganizeCode()) .notNull(MesExtConstWords.COMPLETE_DATE_TIME_START, model.getCompleteDateTimeStart()) .notNull(MesExtConstWords.COMPLETE_DATE_TIME_END, model.getCompleteDateTimeEnd()); - +// model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); return ResultBean.success("查询成功").setListPager(productionRecordReportExtService.queryProductionRecordUnionWorkOrderLogReport(model, pager)) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java index d3df87b..e2a1e55 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java @@ -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 queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList) { - StringBuilder dataQueryHql = new StringBuilder(); - StringBuilder countQueryHql= new StringBuilder(); + List 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()) { -// dataQueryHql.append("SELECT o.* FROM ( ") + 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"); + + countQueryHql.append("SELECT count(1)\n" + + "FROM\n" + + "\t(\n" + + "\t\t(\n"); + } else { + countQueryHql.append("SELECT count(1) FROM\n"); } + 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"); + 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())) { + prCommonQueryHql.append("\t\t\tAND a.part_no = :partNo \n"); + } + if (!StringUtils.isEmpty(model.getWorkCenterCode())) { + prCommonQueryHql.append("\t\t\tAND a.work_center_code = :workCenterCode \n"); + } + if (!StringUtils.isEmpty(model.getWorkCellCode())) { + prCommonQueryHql.append("\t\t\tAND a.work_cell_code = :workCellCode \n"); + } + if (!StringUtils.isEmpty(model.getShiftCode())) { + prCommonQueryHql.append("\t\t\tAND a.shift_code = :shiftCode \n"); + } + if (!StringUtils.isEmpty(model.getEquipmentCode())) { + prCommonQueryHql.append("\t\t\tAND a.equipment_code = :equipmentCode \n"); + } + 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"); + } + if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + prCommonQueryHql.append("\t\t) UNION ALL\n" + + "\t\t("); + } + 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"); + } + if (!StringUtils.isEmpty(model.getWorkCenterCode())) { + woCommonQueryHql.append("\t\t\tAND b.work_center_code = :workCenterCode \n"); + } + if (!StringUtils.isEmpty(model.getShiftCode())) { + woCommonQueryHql.append("\t\t\tAND b.shift_code = :shiftCode \n"); + } + 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"); + } + if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + woCommonQueryHql.append("\t) \n" + + "\t) AS o \n"); + } + 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); + } + } + 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())); + dataQuery.setMaxResults(pager.getPageSize()); + if (pager.getCurrentPage() == 0) { + pager.setCurrentPage(1); + } + dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize()); + List list = dataQuery.getResultList(); + for (Object object : list) { - return null; - } + if (null == object) continue; - public ListPager 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(") "); - - 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 零件号 - if(!StringUtils.isEmpty(model.getPartNo())){ - commonQueryHql.append("AND mes_production_assembly.partNo like :partNo "); - } - //like 主零件号 - if(!StringUtils.isEmpty(model.getPartName())){ - commonQueryHql.append("AND mes_production_assembly.partName like :partName "); - } - //like 装配零件号 - if(!StringUtils.isEmpty(model.getAssemblyPartNo())){ - commonQueryHql.append("AND mes_production_assembly.assemblyPartNo like :assemblyPartNo "); - } - //like 装配件零件名称 - if(!StringUtils.isEmpty(model.getAssemblyPartName())){ - commonQueryHql.append("AND mes_production_assembly.assemblyPartName like :assemblyPartName "); - } - //like 装配条码 - if(!StringUtils.isEmpty(model.getAssemblySn())){ - commonQueryHql.append("AND mes_production_assembly.assemblySn like :assemblySn "); - } - // = 是否跳过 - if(model.getIsSkip() != null){ - commonQueryHql.append("AND mes_production_assembly.isSkip = :isSkip "); - } - //like 创建人 - if(!StringUtils.isEmpty(model.getCreateUser())){ - commonQueryHql.append("AND mes_production_assembly.createUser like :createUser "); - } - //范围时间 创建时间 - if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){ - commonQueryHql.append("AND mes_production_assembly.createDatetime between :createDateTimeStart and :createDateTimeEnd "); - } - //like 产线 - if(!StringUtils.isEmpty(model.getWorkCenterCode())){ - commonQueryHql.append("AND mes_production_assembly.workCenterCode like :workCenterCode "); - } - //like 工位编号 - if(!StringUtils.isEmpty(model.getWorkCellCode())){ - commonQueryHql.append("AND mes_production_assembly.workCellCode like :workCellCode "); - } - if (model.getMatchType()!=null){ - commonQueryHql.append("AND mes_production_assembly.matchRule = :matchRule "); - } - //like 加工单号 - if(!StringUtils.isEmpty(model.getWorkOrderNo())){ - commonQueryHql.append("AND mes_production_record.workOrderNo like :workOrderNo "); - } - //like 设备名称 - if(!StringUtils.isEmpty(model.getEquipmentName())){ - commonQueryHql.append("AND mes_equipment.equipmentName like :equipmentName "); - } - if (model.getEquipId()!=null){ - commonQueryHql.append("AND mes_equipment.equipId = :equipId "); + 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()); + } + + resultList.add(result); } - 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); + return new ListPager(resultList, pager); - //本次查询满足条件的总数 - int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult())); - pager = PagerHelper.getPager(pager, count); - //查询本页数据 - dataQuery.setMaxResults(pager.getPageSize()); - dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize()); - List resultList = dataQuery.getResultList(); - return new ListPager<>(resultList, pager); } - 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() + "%"); - } - if (model.getMatchType()!=null){ - dataQuery.setParameter("matchType", model.getMatchType()); - } - 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()); - } - if(!StringUtils.isEmpty(model.getWorkCenterCode())){ - dataQuery.setParameter("workCenterCode", model.getWorkCenterCode() + "%"); - } - if(!StringUtils.isEmpty(model.getWorkCellCode())){ - dataQuery.setParameter("workCellCode", model.getWorkCellCode() + "%"); - } - if (model.getMatchType()!=null){ - dataQuery.setParameter("matchRule", model.getMatchRule()); - } - if(!StringUtils.isEmpty(model.getWorkOrderNo())){ - dataQuery.setParameter("workOrderNo", model.getWorkOrderNo() + "%"); - } - if(!StringUtils.isEmpty(model.getEquipmentName())){ - dataQuery.setParameter("equipmentName", model.getEquipmentName() + "%"); - } - if (model.getEquipId()!=null){ - dataQuery.setParameter("equipId", model.getEquipId()); + private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List 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())) { + query.setParameter(MesExtConstWords.PART_NO, model.getPartNo()); + } + if (!StringUtils.isEmpty(model.getWorkCenterCode())) { + query.setParameter(MesExtConstWords.WORK_CENTER_CODE, model.getWorkCenterCode()); + } + if (!StringUtils.isEmpty(model.getWorkCellCode())) { + query.setParameter(MesExtConstWords.WORK_CELL_CODE, model.getWorkCellCode()); + } + if (!StringUtils.isEmpty(model.getShiftCode())) { + query.setParameter(MesExtConstWords.SHIFT_CODE, model.getShiftCode()); + } + if (!StringUtils.isEmpty(model.getEquipmentCode())) { + query.setParameter(MesExtConstWords.EQUIPMENT_CODE, model.getEquipmentCode()); } } - } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java index ca71f9e..068e4b9 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java @@ -58,20 +58,8 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord ListPager listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr); + return listPager; - - - - - - - - - - - - - return null; } } diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java index 091c95e..5a2a8fc 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java @@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.pojo.model.report; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiParam; import lombok.Data; +import org.springframework.util.StringUtils; import java.io.Serializable; @@ -48,19 +49,31 @@ public class MesProductionRecordReportExtModel implements Serializable { @ApiParam(value = "完成时间结束日期") private String completeDateTimeEnd; + //1=加工记录 2=工单日志批量汇报 + @ApiParam("数据来源") + private Integer dataSource; + + @ApiParam("汇报状态") + private Integer reportStatus; + + @ApiParam("汇报状态名称") + private String reportStatusName; + @ApiParam("是否查询工单日志表") private Boolean isQueryWo = false; public MesProductionRecordReportExtModel() {} - public MesProductionRecordReportExtModel(String partNo, String partName, String workCenterCode, String workCellCode, String shiftCode, String equipmentCode, String equipmentName, Integer statisticsQty) { - this.partNo = partNo; - this.partName = partName; - this.workCenterCode = workCenterCode; - this.workCellCode = workCellCode; - this.shiftCode = shiftCode; - this.equipmentCode = equipmentCode; - this.equipmentName = equipmentName; - this.qty = statisticsQty; + public MesProductionRecordReportExtModel(Object workCenterCode, Object workCellCode, Object partNo, Object partName, Object shiftCode, Object equipmentCode, Object equipmentName, Object reportStatus, Object dataSource, Object qty) { + if (!StringUtils.isEmpty(workCenterCode)) this.workCenterCode = (String) workCenterCode; + if (!StringUtils.isEmpty(workCellCode)) this.workCellCode = (String) workCellCode; + if (!StringUtils.isEmpty(partNo)) this.partNo = (String) partNo; + if (!StringUtils.isEmpty(partName)) this.partName = (String) partName; + if (!StringUtils.isEmpty(shiftCode)) this.shiftCode = (String) shiftCode; + if (!StringUtils.isEmpty(equipmentCode)) this.equipmentCode = (String) equipmentCode; + if (!StringUtils.isEmpty(equipmentName)) this.equipmentName = (String) equipmentName; + if (!StringUtils.isEmpty(reportStatus)) this.reportStatus = Integer.valueOf(reportStatus.toString()); + if (!StringUtils.isEmpty(dataSource)) this.dataSource = Integer.valueOf(dataSource.toString()); + if (!StringUtils.isEmpty(qty)) this.qty = Double.valueOf(qty.toString()).intValue(); } } From 1b0d0c575638554a3ea616612c8b29552b1a5f21 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Tue, 17 Dec 2024 18:59:56 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BA=A7=E9=87=8F=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nRecordReportExtDao.java => IMesProductionRecordReportExtDao.java} | 2 +- ...onRecordReportExtDao.java => MesProductionRecordReportExtDao.java} | 4 ++-- .../serviceimpl/base/MesProductionRecordReportExtService.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) rename modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/{IProductionRecordReportExtDao.java => IMesProductionRecordReportExtDao.java} (92%) rename modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/{ProductionRecordReportExtDao.java => MesProductionRecordReportExtDao.java} (98%) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java similarity index 92% rename from modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductionRecordReportExtDao.java rename to modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java index 909e3ec..38f5001 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductionRecordReportExtDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java @@ -13,7 +13,7 @@ import java.util.List; * @CreateDate : 2024/9/29 10:21 * @Modify: **/ -public interface IProductionRecordReportExtDao { +public interface IMesProductionRecordReportExtDao { ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java similarity index 98% rename from modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java rename to modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java index e2a1e55..47b6060 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductionRecordReportExtDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java @@ -1,6 +1,6 @@ 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.apiservice.dao.report.IMesProductionRecordReportExtDao; 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; @@ -26,7 +26,7 @@ import java.util.List; * @Modify: **/ @Service -public class ProductionRecordReportExtDao implements IProductionRecordReportExtDao { +public class MesProductionRecordReportExtDao implements IMesProductionRecordReportExtDao { @Autowired private EntityManager entityManager; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java index 068e4b9..3358019 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProductionRecordReportExtService.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesProductionRecordReportExtService; -import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IProductionRecordReportExtDao; +import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IMesProductionRecordReportExtDao; 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; @@ -24,7 +24,7 @@ import java.util.stream.Stream; public class MesProductionRecordReportExtService implements IMesProductionRecordReportExtService { @Autowired - private IProductionRecordReportExtDao productionRecordReportExtDao; + private IMesProductionRecordReportExtDao productionRecordReportExtDao; /** * 加工记录合并批量汇报查询报表