diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardDispatchService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardDispatchService.java index ec4c375..47116d1 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardDispatchService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardDispatchService.java @@ -55,7 +55,7 @@ public class JxCenterWorkingBoardDispatchService implements IJxCenterWorkingBoar case "mobile01": return new JxCenterWorkingBoardWatchService(new JxCenterWorkingBoardMobileOneService( new JxCenterWorkingBoardProxyAllCenterService(), new JxCenterWorkingBoardProxyStandardWorkService(), new JxCenterWorkingBoardProxyProductionScheduleService(), new JxCenterWorkingBoardProxyEnergyRateService(), - new JxCenterWorkingBoardProxyOrderService(new JxCenterWorkingBoardProxyOutPutService(new JxCenterWorkingBoardProxySpcrService())) + new JxCenterWorkingBoardProxyOrderService(new JxCenterWorkingBoardProxyOutPutService(new JxCenterWorkingBoardProxySpcrService(new JxCenterWorkingBoardProxySpcPmService()))) )).queryCenterWorkingBoardData(dataMap); default: diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardMobileOneService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardMobileOneService.java index b49cdfd..24828c5 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardMobileOneService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardMobileOneService.java @@ -2,10 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.jx; import cn.estsh.i3plus.ext.mes.api.base.bu.IBusiConfigService; import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxCenterWorkingBoardService; -import cn.estsh.i3plus.ext.mes.pojo.bean.MesBusiConfig; -import cn.estsh.i3plus.ext.mes.pojo.bean.MesOutPutStatistics; -import cn.estsh.i3plus.ext.mes.pojo.bean.MesShiftProdCenterRecord; -import cn.estsh.i3plus.ext.mes.pojo.bean.MesWorkCenterExt; +import cn.estsh.i3plus.ext.mes.pojo.bean.*; import cn.estsh.i3plus.ext.mes.pojo.model.jx.JxCenterWorkingBoardBusiModel; import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil; @@ -77,6 +74,7 @@ public class JxCenterWorkingBoardMobileOneService extends JxCenterWorkingBoardCo dataMap.remove(MesWorkOrder.class.getSimpleName()); dataMap.remove(MesOutPutStatistics.class.getSimpleName()); dataMap.remove(MesShiftProdCenterRecord.class.getSimpleName()); + dataMap.remove(MesShiftProdCenterPm.class.getSimpleName()); dataMap.remove(MesExtConstWords.START_TIME); dataMap.remove(MesExtConstWords.END_TIME); dataMap.remove(MesExtConstWords.WORK_TIME); @@ -121,6 +119,7 @@ public class JxCenterWorkingBoardMobileOneService extends JxCenterWorkingBoardCo Map> centerMap4OrderFilter = (Map>) dataMap.get(MesWorkOrder.class.getSimpleName()); Map> centerMap4OutPutFilter = (Map>) dataMap.get(MesOutPutStatistics.class.getSimpleName()); List shiftProdCenterRecordList = (List) dataMap.get(MesShiftProdCenterRecord.class.getSimpleName()); + List shiftProdCenterPmList = (List) dataMap.get(MesShiftProdCenterPm.class.getSimpleName()); Double planQtyAmount = new Double(0); Double qtyAmount = new Double(0); @@ -149,7 +148,7 @@ public class JxCenterWorkingBoardMobileOneService extends JxCenterWorkingBoardCo getBigDecimalPercent(divThenMul100Format1RoundHalfUp(qty, planQty))); psData2.addChartData(workCenterExtDb.getWorkCenterCode(), - getRealWorkQty(shiftProdCenterRecordList, workCenterExtDb), + getRealWorkQty(shiftProdCenterPmList, workCenterExtDb), getNonWorkingTime(shiftProdCenterRecordList, workCenterExtDb, curTime)); } @@ -173,10 +172,9 @@ public class JxCenterWorkingBoardMobileOneService extends JxCenterWorkingBoardCo return busiConfig; } - private Double getRealWorkQty(List shiftProdCenterRecordList, MesWorkCenterExt workCenterExtDb) { - Optional optional = CollectionUtils.isEmpty(shiftProdCenterRecordList) ? null : - shiftProdCenterRecordList.stream().filter(o -> (null != o && MesExtEnumUtil.SHIFT_PROD_TYPE.START_OR_END_SHIFT_TIME.getValue() == o.getProdType() && - o.getWorkCenterCode().equals(workCenterExtDb.getWorkCenterCode()) && o.getWorkTime().equals(workCenterExtDb.getWorkTime()) && o.getShiftCode().equals(workCenterExtDb.getWorkTime()))).findFirst(); + private Double getRealWorkQty(List shiftProdCenterPmList, MesWorkCenterExt workCenterExtDb) { + Optional optional = CollectionUtils.isEmpty(shiftProdCenterPmList) ? null : + shiftProdCenterPmList.stream().filter(o -> (null != o && o.getWorkCenterCode().equals(workCenterExtDb.getWorkCenterCode()) && o.getWorkTime().equals(workCenterExtDb.getWorkTime()) && o.getShiftCode().equals(workCenterExtDb.getShiftCode()))).findFirst(); return (null == optional || !optional.isPresent()) ? new Double(0) : optional.get().getWorkerQty(); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardProxySpcPmService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardProxySpcPmService.java new file mode 100644 index 0000000..3354aba --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardProxySpcPmService.java @@ -0,0 +1,60 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.jx; + +import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxCenterWorkingBoardService; +import cn.estsh.i3plus.ext.mes.pojo.bean.MesShiftProdCenterPm; +import cn.estsh.i3plus.ext.mes.pojo.repository.MesShiftProdCenterPmRepository; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.impp.framework.boot.util.SpringContextsUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import java.util.List; +import java.util.Map; + +/** + * @Author : wangjie + * @CreateDate : 2022-02-15 + * @Modify: + **/ +@Slf4j +public class JxCenterWorkingBoardProxySpcPmService implements IJxCenterWorkingBoardService { + + private MesShiftProdCenterPmRepository shiftProdCenterPmRepository; + + public JxCenterWorkingBoardProxySpcPmService() { + this.shiftProdCenterPmRepository = (MesShiftProdCenterPmRepository) SpringContextsUtil.getBean("mesShiftProdCenterPmRepository"); + } + + @Override + public Map queryCenterWorkingBoardData(Map dataMap) { + + String organizeCode = (String) dataMap.get(MesExtConstWords.ORGANIZE_CODE); + String workCenterCode = (String) dataMap.get(MesExtConstWords.WORK_CENTER_CODE); + String workTime = (String) dataMap.get(MesExtConstWords.WORK_TIME); + String shiftCode = (String) dataMap.get(MesExtConstWords.SHIFT_CODE); + String startTime = (String) dataMap.get(MesExtConstWords.START_TIME); + String endTime = (String) dataMap.get(MesExtConstWords.END_TIME); + + List shiftProdCenterPmList = null; + if (!StringUtils.isEmpty(workCenterCode) && !StringUtils.isEmpty(workTime) && !StringUtils.isEmpty(shiftCode)) + shiftProdCenterPmList = shiftProdCenterPmRepository.findByProperty( + new String[]{MesExtConstWords.ORGANIZE_CODE, MesExtConstWords.IS_DELETED, MesExtConstWords.IS_VALID, MesExtConstWords.WORK_CENTER_CODE, MesExtConstWords.WORK_TIME, MesExtConstWords.SHIFT_CODE}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workCenterCode, workTime, shiftCode}); + else if (!StringUtils.isEmpty(startTime) && !StringUtils.isEmpty(endTime)) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.timeBuilder(startTime, endTime, MesExtConstWords.WORK_TIME, true, true, packBean); + shiftProdCenterPmList = shiftProdCenterPmRepository.findByHqlWhere(packBean); + } + + if (CollectionUtils.isEmpty(shiftProdCenterPmList)) return dataMap; + + dataMap.put(MesShiftProdCenterPm.class.getSimpleName(), shiftProdCenterPmList); + + return dataMap; + } + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardProxySpcrService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardProxySpcrService.java index d6d5a16..99f3a30 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardProxySpcrService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxCenterWorkingBoardProxySpcrService.java @@ -23,15 +23,22 @@ import java.util.Map; @Slf4j public class JxCenterWorkingBoardProxySpcrService implements IJxCenterWorkingBoardService { + private IJxCenterWorkingBoardService proxyService; + private MesShiftProdCenterRecordRepository shiftProdCenterRecordRepository; - public JxCenterWorkingBoardProxySpcrService() { - this.shiftProdCenterRecordRepository = (MesShiftProdCenterRecordRepository) SpringContextsUtil.getBean("mesShiftProdCenterRecordRepository"); + public JxCenterWorkingBoardProxySpcrService() {} + public JxCenterWorkingBoardProxySpcrService(IJxCenterWorkingBoardService proxyService) { + this.proxyService = proxyService; } @Override public Map queryCenterWorkingBoardData(Map dataMap) { + if (null != proxyService) proxyService.queryCenterWorkingBoardData(dataMap); + + this.shiftProdCenterRecordRepository = (MesShiftProdCenterRecordRepository) SpringContextsUtil.getBean("mesShiftProdCenterRecordRepository"); + String organizeCode = (String) dataMap.get(MesExtConstWords.ORGANIZE_CODE); String workCenterCode = (String) dataMap.get(MesExtConstWords.WORK_CENTER_CODE); String workTime = (String) dataMap.get(MesExtConstWords.WORK_TIME);