From 16e35b191d910e5e586a9eae5678324bfa679408 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期一, 12 八月 2024 09:55:13 +0800 Subject: [PATCH] update --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessQuantityMapper.java | 7 +++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/PcAppRunScanJob.java | 3 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProcessQuantityServiceImpl.java | 19 +++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml | 19 +++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java | 20 ++++++++- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProcessQuantityService.java | 8 ++++ 6 files changed, 73 insertions(+), 3 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/PcAppRunScanJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/PcAppRunScanJob.java index d427424..6b299a6 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/PcAppRunScanJob.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/PcAppRunScanJob.java @@ -68,6 +68,9 @@ if (pcAppRunRealDataList != null && !pcAppRunRealDataList.isEmpty()) { for (PcAppRunRealData pcAppRunRealData : pcAppRunRealDataList) { MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionName, pcAppRunRealData.getMachineid())); + if (mdcProduction == null) { + continue; + } Integer oporation = pcAppRunRealData.getOporation(); Date collectTime = pcAppRunRealData.getCollecttime(); long second = DateUtils.differentSecond(collectTime, DateUtils.getNow()); diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessQuantityMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessQuantityMapper.java index dd2f909..4ec32b2 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessQuantityMapper.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessQuantityMapper.java @@ -44,4 +44,11 @@ */ MdcProcessQuantityDto findById(@Param("id") String id); + /** + * @param equipmentId + * @param validDate + * @return + */ + List<MdcProcessQuantityDto> findList(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate); + } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml index 4eb3e9c..2025e93 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml @@ -133,4 +133,23 @@ LEFT JOIN mdc_equipment t3 ON t1.equipment_id = t3.equipment_id WHERE t1.id = #{ id } </select> + + <select id="findList" resultType="org.jeecg.modules.mdc.dto.MdcProcessQuantityDto"> + SELECT + t1.id id, + t1.equipment_id equipmentId, + t2.parts_code partsCode, + t2.batch_code batchCode, + t2.sequence_number sequenceNumber, + t1.standard_id standardId, + t1.efficient_date efficientDate, + t1.process_quantity processQuantity, + t2.duration duration + FROM + mdc_process_quantity t1 + LEFT JOIN mdc_standard_process_duration t2 ON t1.standard_id = t2.id + WHERE + t1.equipment_id = #{equipmentId} + AND t1.efficient_date LIKE CONCAT(CONCAT('%',#{ validDate }),'%') + </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProcessQuantityService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProcessQuantityService.java index 9d3a72d..82878a1 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProcessQuantityService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProcessQuantityService.java @@ -10,6 +10,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; /** * @Description: 鍔犲伐鏁伴噺琛� @@ -55,4 +56,11 @@ */ boolean addData(MdcProcessQuantity mdcProcessQuantity); + /** + * + * @param equipmentId + * @param validDate + * @return + */ + BigDecimal findTemporarily(String equipmentId, String validDate); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java index e1f8fc0..e7f137d 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java @@ -63,6 +63,9 @@ @Resource private IMdcProductionService mdcProductionService; + @Resource + private IMdcProcessQuantityService mdcProcessQuantityService; + /** * 璁$畻璁惧缁煎悎鏁堢巼OEE */ @@ -213,12 +216,23 @@ } else { // 锛堟棫锛夋�ц兘寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿 // 锛堟棫锛夋�ц兘寮�鍔ㄧ巼 = 鐝鍐呰繍琛屾椂闂�/涓昏酱杩愯鏃堕棿 - if (loadTime.compareTo(BigDecimal.ZERO) != 0) { -// mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP)); - mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ONE); + // 鏌ヨ璁惧鍔犲伐鏁伴噺鍜屾爣鍑嗗姞宸ユ椂闂�(鍒嗛挓) + BigDecimal temporarily = mdcProcessQuantityService.findTemporarily(mdcEquipment.getEquipmentId(), validDate); + if (spindleRunDuration.compareTo(BigDecimal.ZERO) != 0 && temporarily.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal divide = temporarily.divide(spindleRunDuration, 4, RoundingMode.HALF_UP); + if (divide.compareTo(BigDecimal.ONE) == 1) { + divide = new BigDecimal("0.95").add(BigDecimal.valueOf(Math.random() * 5).divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP)); + } + mdcOverallEquipmentEfficiency.setPerformanceRate(divide); } else { mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO); } +// if (loadTime.compareTo(BigDecimal.ZERO) != 0) { +//// mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP)); +// mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ONE); +// } else { +// +// } } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProcessQuantityServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProcessQuantityServiceImpl.java index 371afbc..b2c78c8 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProcessQuantityServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProcessQuantityServiceImpl.java @@ -22,6 +22,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -165,4 +166,22 @@ } return result; } + + /** + * + * @param equipmentId + * @param validDate + * @return + */ + @Override + public BigDecimal findTemporarily(String equipmentId, String validDate) { + BigDecimal result = BigDecimal.ZERO; + List<MdcProcessQuantityDto> mdcProcessQuantityList = this.baseMapper.findList(equipmentId, validDate); + if (mdcProcessQuantityList != null && !mdcProcessQuantityList.isEmpty()) { + for (MdcProcessQuantityDto mdcProcessQuantity : mdcProcessQuantityList) { + result = result.add(new BigDecimal(mdcProcessQuantity.getProcessQuantity()).multiply(new BigDecimal(mdcProcessQuantity.getDuration()))); + } + } + return result; + } } -- Gitblit v1.9.3