diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IMesYfReportService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IMesYfReportService.java index 373322f..dd33377 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IMesYfReportService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IMesYfReportService.java @@ -2,10 +2,11 @@ package cn.estsh.i3plus.ext.mes.api.busi.report; 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.model.report.MesProdRuleReportConditionModel; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; -import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellExtendCfg; +import cn.estsh.impp.framework.boot.util.ResultBean; /** * @Description : 报表-业务方法 @@ -24,5 +25,13 @@ public interface IMesYfReportService { */ ListPager queryMesDeviceDataByPager(MesDeviceDataQueryReportConditionModel queryReportModel, Pager pager); + /** + * 产线产品加工规则报表-查询 + * @param queryReportModel 查询条件封装 + * @param pager 分页信息 + * @return 分页查询结果 + */ + ResultBean queryMesProdRuleByPager(MesProdRuleReportConditionModel queryReportModel, Pager pager); + ListPager queryMesSuspiciousSnMsgByPager(MesProduceSn mesProduceSn, Pager pager); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/MesProdRuleReportController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/MesProdRuleReportController.java new file mode 100644 index 0000000..7752fdf --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/MesProdRuleReportController.java @@ -0,0 +1,50 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.report; + +import cn.estsh.i3plus.ext.mes.api.busi.report.IMesYfReportService; +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.ext.mes.pojo.model.report.MesProdRuleReportConditionModel; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.impp.framework.base.controller.MesBaseController; +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; +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; + +/** + * @Description : 产线产品加工规则报表 + * @Reference : + * @Author : logic + * @CreateDate : 2024/6/17 15:37 + * @Modify: + **/ +@Api("产线产品加工规则报表") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/prod-rule-report") +public class MesProdRuleReportController extends MesBaseController { + + @Autowired + private IMesYfReportService mesYfReportService; + + @ApiOperation(value = "查询产线产品加工规则报表", notes = "查询产线产品加工规则报表") + @GetMapping("/query") + public ResultBean queryMesProdRuleByPager(MesProdRuleReportConditionModel conditionModel, Pager pager){ + try { + ValidatorBean.beginValid(conditionModel).notNull("isSort", conditionModel.getIsSort()); + String organizeCode = AuthUtil.getOrganize().getOrganizeCode(); + conditionModel.setOrganizeCode(organizeCode); + return mesYfReportService.queryMesProdRuleByPager(conditionModel, pager); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } 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/serviceimpl/report/MesYfReportServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesYfReportServiceImpl.java index 40344f7..3599d74 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesYfReportServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesYfReportServiceImpl.java @@ -4,15 +4,22 @@ import cn.estsh.i3plus.ext.mes.api.busi.report.IMesYfReportService; 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.model.report.MesProdRuleReportConditionModel; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; 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.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import cn.estsh.i3plus.pojo.base.util.StringUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesProdRuleNosortCfg; +import cn.estsh.i3plus.pojo.mes.bean.MesProdRuleSortCfg; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; +import cn.estsh.i3plus.pojo.mes.repository.MesProdRuleNoSortCfgRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesProdRuleSortCfgRepository; import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository; +import cn.estsh.impp.framework.boot.util.ResultBean; +import jodd.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -30,15 +37,45 @@ public class MesYfReportServiceImpl implements IMesYfReportService { @Autowired private IMesYfReportDao mesYfReportDao; + @Autowired private MesProduceSnRepository mesProduceSnRDao; + @Autowired + private MesProdRuleSortCfgRepository mesProdRuleSortCfgRepository; + + @Autowired + private MesProdRuleNoSortCfgRepository mesProdRuleNoSortCfgRepository; + @Override public ListPager queryMesDeviceDataByPager(MesDeviceDataQueryReportConditionModel queryReportModel, Pager pager) { return mesYfReportDao.queryMesDeviceDataByPager(queryReportModel, pager); } @Override + public ResultBean queryMesProdRuleByPager(MesProdRuleReportConditionModel queryReportModel, Pager pager) { + DdlPackBean queryPackBean = DdlPackBean.getDdlPackBean(queryReportModel.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(queryReportModel.getEquipmentCode(), "equipmentCode", queryPackBean); + if (CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == queryReportModel.getIsSort()) { + //查询“排序产品加工规则配置” + DdlPreparedPack.getStringEqualPack(queryReportModel.getWorkCenterCode(), "workCenterCode", queryPackBean); + DdlPreparedPack.getStringEqualPack(queryReportModel.getWorkCellCode(), "workCellCode", queryPackBean); + pager = PagerHelper.getPager(pager, mesProdRuleSortCfgRepository.findByHqlWhereCount(queryPackBean)); + List mesProdRuleSortCfgList = mesProdRuleSortCfgRepository.findByHqlWherePage(queryPackBean, pager); + return ResultBean.success("查询设备数据成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(new ListPager(mesProdRuleSortCfgList, pager)); + }else { + //查询“非排序产品加工规则配置” + DdlPreparedPack.getStringEqualPack(queryReportModel.getInPartNo(), "inPartNo", queryPackBean); + DdlPreparedPack.getStringEqualPack(queryReportModel.getInPartNoRule(), "inPartNoRule", queryPackBean); + DdlPreparedPack.getStringEqualPack(queryReportModel.getOutPartNo(), "outPartNo", queryPackBean); + pager = PagerHelper.getPager(pager, mesProdRuleNoSortCfgRepository.findByHqlWhereCount(queryPackBean)); + List mesProdRuleNosortCfgList = mesProdRuleNoSortCfgRepository.findByHqlWherePage(queryPackBean, pager); + return ResultBean.success("查询设备数据成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(new ListPager(mesProdRuleNosortCfgList, pager)); + } + } + + + @Override public ListPager queryMesSuspiciousSnMsgByPager(MesProduceSn bean, Pager pager) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean); diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProdRuleReportConditionModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProdRuleReportConditionModel.java new file mode 100644 index 0000000..9ba59ca --- /dev/null +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProdRuleReportConditionModel.java @@ -0,0 +1,42 @@ +package cn.estsh.i3plus.ext.mes.pojo.model.report; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +/** + * @Description : 产线产品加工规则报表-查询条件封装 + * @Reference : + * @Author : logic + * @CreateDate : 2024/6/17 15:52 + * @Modify: + **/ +@Data +@ApiModel("产线产品加工规则报表-查询条件封装") +public class MesProdRuleReportConditionModel { + + @ApiParam(value = "组织代码") + private String organizeCode; + + @ApiParam(value = "工作中心(产线)") + private String workCenterCode; + + @ApiParam(value = "工作单元代码(工位)") + private String workCellCode; + + @ApiParam(value = "设备代码(设备编号)") + private String equipmentCode; + + @ApiParam(value = "进料零件号") + private String inPartNo; + + @ApiParam(value = "进料零件规则") + private String inPartNoRule; + + @ApiParam(value = "产成零件号") + private String outPartNo; + + @ApiParam(value = "是否排序") + private Integer isSort; + +}