From c33eedaf999b84dd8377aba96d8aeeeba264b4f6 Mon Sep 17 00:00:00 2001 From: hyingbo <1363390067@qq.com> Date: 星期二, 09 九月 2025 15:07:35 +0800 Subject: [PATCH] mdc首页功能迁移 --- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DncHomeController.java | 49 +++++++ lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java | 16 ++ lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml | 12 + lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java | 5 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcHomeMapper.xml | 19 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDayUtilizationVo.java | 4 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/IMdcHomeServiceImpl.java | 135 +++++++++--------- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java | 124 +++-------------- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcHomeService.java | 13 + 9 files changed, 192 insertions(+), 185 deletions(-) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DncHomeController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DncHomeController.java new file mode 100644 index 0000000..480626c --- /dev/null +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/DncHomeController.java @@ -0,0 +1,49 @@ +package org.jeecg.modules.dnc.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fasterxml.jackson.core.JsonProcessingException; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +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.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author Lyh + * @Description: DNC棣栭〉鎺ュ彛 + * @date 2024/3/13 14:27 + */ +@Slf4j +@Api(tags = "DNC棣栭〉鎺ュ彛") +@RestController +@RequestMapping("/dnc/home") + +//todo dnc棣栭〉鐩稿叧鎺ュ彛寰呭畾 +public class DncHomeController { + + /** + * 涓夌淮宸ヨ壓宸ヨ壓瑙勭▼淇℃伅鍒楄〃 + * @return + */ + @ApiOperation(value = "涓夌淮宸ヨ壓宸ヨ壓瑙勭▼淇℃伅鍒楄〃", notes = "涓夌淮宸ヨ壓宸ヨ壓瑙勭▼淇℃伅鍒楄〃") + @GetMapping(value = "/syncProcessSpecificationInfo") + public Result<?> syncProcessSpecificationInfo() { + return Result.ok(); + } + + /** + * 涓夌淮宸ヨ壓宸ヨ壓瑙勭▼淇℃伅棰嗗彇鎸傞潬浜у搧缁撴瀯鏍� + * @param id + * @return + */ + @ApiOperation(value = "涓夌淮宸ヨ壓宸ヨ壓瑙勭▼淇℃伅棰嗗彇鎸傞潬浜у搧缁撴瀯鏍�", notes = "涓夌淮宸ヨ壓宸ヨ壓瑙勭▼淇℃伅棰嗗彇鎸傞潬浜у搧缁撴瀯鏍�") + @GetMapping(value = "/receiveTree") + public Result<?> syncProcessSpecificationInfoTree(@RequestParam(name = "id") String id) throws JsonProcessingException { + return Result.ok(); + } + +} diff --git a/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml b/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml index 4e876b7..d89fefc 100644 --- a/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml +++ b/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml @@ -82,11 +82,13 @@ FROM mdc_equipment me LEFT JOIN mdc_production_equipment mpe ON me.id = mpe.equipment_id - WHERE - mpe.production_id IN - <foreach collection="allProductionIds" index="index" item="id" open="(" separator="," close=")"> - #{id} - </foreach> + WHERE 1=1 + <if test="allProductionIds != null and allProductionIds.size() > 0"> + and mpe.production_id IN + <foreach collection="allProductionIds" index="index" item="id" open="(" separator="," close=")"> + #{id} + </foreach> + </if> </select> <!--鏍规嵁浜х嚎id鏌ヨ璁惧id闆嗗悎--> diff --git a/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java b/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java index f3493f9..82c8366 100644 --- a/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java +++ b/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java @@ -129,6 +129,11 @@ List<String> getEquipmentIdsProduction(String userId, String key); /** + * 鏌ヨ浜х嚎涓嬬殑鎵�鏈夎澶�(棣栭〉閮ㄦ牴鎹敤鎴疯繘琛屾暟鎹瓫閫�) + */ + List<String> getEquipmentIdsProduction(String key); + + /** * 鏍规嵁璁惧id鏌ヨ璁惧鍚嶇О * * @param equipmentId diff --git a/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java index 49944e5..2682672 100644 --- a/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java +++ b/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.dto.message.MessageDTO; @@ -634,6 +635,21 @@ } /** + * 鏌ヨ浜х嚎涓嬬殑鎵�鏈夎澶� + */ + @Override + public List<String> getEquipmentIdsProduction(String key) { + List<String> partProduction = Lists.newArrayList(); + if (StringUtils.isNotEmpty(key)) { + //key涓嶄负绌猴紝鏌ヨ鎵�鏈変笅绾т骇绾縤d + partProduction = this.findAllProductions(key); + partProduction.add(key); + } + List<String> equipmentIds = this.baseMapper.queryIdsByProductions(partProduction); + return equipmentIds; + } + + /** * 鏍规嵁璁惧id鏌ヨ璁惧鍚嶇О */ @Override diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java index 248d69a..fb7219c 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java @@ -46,131 +46,49 @@ @Resource private IMdcHomeService mdcHomeService; + @ApiOperation(value = "MDC棣栭〉鎺ュ彛-鏌ヨ鎵�鏈夎溅闂�", notes = "MDC棣栭〉鎺ュ彛-鏌ヨ鎵�鏈夎溅闂�") + @GetMapping("/getAllWorkShop") + public Result<List<MdcProduction>> getAllWorkShop() { + return Result.OK(mdcHomeService.getAllWorkShop()); + } + @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧杩愯鐘舵�佺粺璁�", notes = "MDC棣栭〉鎺ュ彛-璁惧杩愯鐘舵�佺粺璁�") @GetMapping("/equipmentStatusStatistics") - public Result<?> equipmentStatusStatistics(String productionCode) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - Integer userType = user.getUserType(); - String userId = user.getId(); - String key = ""; - if (StringUtils.isNotBlank(productionCode)) { - //鍘傚尯/宸ユ - MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); - key = mdcProduction.getId(); - } else { - //鍒ゆ柇鏄叕鍙哥骇杩樻槸鍘傚尯 - MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, "")); - if (userType.equals(MdcConstant.USER_TYPE_4)) { - //鍏徃 - key = mdcProduction.getId(); - } else if (userType.equals(MdcConstant.USER_TYPE_3)) { - //鍘傚尯 - key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId()); - } else if (userType.equals(MdcConstant.USER_TYPE_2)) { - //宸ユ 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勫伐娈垫潈闄� - key = mdcProductionService.findThreeProductionId(userId); - } - } - List<MdcCommonVo> resultMap = mdcHomeService.getEquipmentStatusStatistics(userId, key); + public Result<?> equipmentStatusStatistics(String productionId) { + List<MdcCommonVo> resultMap = mdcHomeService.getEquipmentStatusStatistics(productionId); Map<String, Object> map = new HashMap<>(); map.put("list", resultMap); - map.put("productionId", key); return Result.OK(map); } @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧鍒╃敤鐜囩粺璁�(鏄ㄦ棩)", notes = "MDC棣栭〉鎺ュ彛-璁惧杩愯鐘舵�佺粺璁�(鏄ㄦ棩)") @GetMapping("/equipmentUtilizationStatistics") - public Result<?> equipmentUtilizationStatistics(String productionCode) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - Integer userType = user.getUserType(); - String userId = user.getId(); - String key = ""; - if (StringUtils.isNotBlank(productionCode)) { - //鍘傚尯 - MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); - key = mdcProduction.getId(); - } else { - //鍒ゆ柇鏄叕鍙哥骇杩樻槸鍘傚尯 - MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, "")); - if (userType.equals(MdcConstant.USER_TYPE_4)) { - //鍏徃 - key = mdcProduction.getId(); - } else if (userType.equals(MdcConstant.USER_TYPE_3)) { - //鍘傚尯 - key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId()); - } - } - List<MdcCommonVo> result = mdcHomeService.getEquipmentUtilizationStatistics(userId, key); + public Result<?> equipmentUtilizationStatistics(String productionId) { + List<MdcCommonVo> result = mdcHomeService.getEquipmentUtilizationStatistics(productionId); return Result.OK(result); } @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧OEE缁熻(涓婃湀)", notes = "MDC棣栭〉鎺ュ彛-璁惧OEE缁熻(涓婃湀)") @GetMapping("/equipmentOEEStatistics") - public Result<?> equipmentOEEStatistics(String productionCode) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - Integer userType = user.getUserType(); - String userId = user.getId(); - String key = ""; - if (StringUtils.isNotBlank(productionCode)) { - //鍘傚尯 - MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); - key = mdcProduction.getId(); - } else { - //鍒ゆ柇鏄叕鍙哥骇杩樻槸鍘傚尯 - MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, "")); - if (userType.equals(MdcConstant.USER_TYPE_4)) { - //鍏徃 - key = mdcProduction.getId(); - } else if (userType.equals(MdcConstant.USER_TYPE_3)) { - //鍘傚尯 - key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId()); - } - } - List<MdcCommonVo> result = mdcHomeService.getEquipmentOeeStatistics(userId, key); + public Result<?> equipmentOEEStatistics(String productionId) { + List<MdcCommonVo> result = mdcHomeService.getEquipmentOeeStatistics(productionId); return Result.OK(result); } @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧OEE鍜屽埄鐢ㄧ巼缁熻鏌辩姸鍥�", notes = "MDC棣栭〉鎺ュ彛-璁惧OEE鍜屽埄鐢ㄧ巼缁熻鏌辩姸鍥�") @GetMapping("/equipmentMonthStatistics") - public Result<?> equipmentMonthStatistics(String productionCode) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - Integer userType = user.getUserType(); - String userId = user.getId(); - String key = ""; - if (StringUtils.isNotBlank(productionCode)) { - //鍘傚尯 - MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); - key = mdcProduction.getId(); - } else { - //鍒ゆ柇鏄叕鍙哥骇杩樻槸鍘傚尯 - MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, "")); - if (userType.equals(MdcConstant.USER_TYPE_4)) { - //鍏徃 - key = mdcProduction.getId(); - } else if (userType.equals(MdcConstant.USER_TYPE_3)) { - //鍘傚尯 - key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId()); - } - } - Map<String, Object> result = mdcHomeService.getEquipmentMonthStatistics(userId, key); + public Result<?> equipmentMonthStatistics(String productionId) { + MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, "")); + + String key = mdcProduction.getId(); + Map<String, Object> result = mdcHomeService.getEquipmentMonthStatistics(productionId); return Result.OK(result); } - @ApiOperation(value = "MDC棣栭〉鎺ュ彛-宸ユ绾у墠涓冨ぉ鍒╃敤鐜囨姌绾垮浘", notes = "MDC棣栭〉鎺ュ彛-宸ユ绾у墠涓冨ぉ鍒╃敤鐜囨姌绾垮浘") + @ApiOperation(value = "MDC棣栭〉鎺ュ彛-宸ユ绾у墠15澶╁埄鐢ㄧ巼鎶樼嚎鍥�", notes = "MDC棣栭〉鎺ュ彛-宸ユ绾у墠15澶╁埄鐢ㄧ巼鎶樼嚎鍥�") @GetMapping("/equipmentDayUtilizationStatistics") - public Result<?> equipmentDayUtilizationStatistics(String productionCode) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String userId = user.getId(); - String key = ""; - if (StringUtils.isNotBlank(productionCode)) { - //鍘傚尯 - MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); - key = mdcProduction.getId(); - } else { - //宸ユ 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勫伐娈垫潈闄� - key = mdcProductionService.findThreeProductionId(userId); - } - Map<String, Object> result = mdcHomeService.getEquipmentDayUtilizationStatistics(userId, key); + public Result<?> equipmentDayUtilizationStatistics(String productionId) { + Map<String, Object> result = mdcHomeService.getEquipmentDayUtilizationStatistics(productionId); return Result.OK(result); } @@ -249,6 +167,8 @@ return Result.OK(result); } + + @ApiOperation(value = "MDC棣栭〉鎺ュ彛-闂鍒楄〃", notes = "MDC棣栭〉鎺ュ彛-闂鍒楄〃") @GetMapping("/feedbackList") public Result<?> feedbackList(String productionCode) { diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcHomeMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcHomeMapper.xml index b809b98..457de28 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcHomeMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcHomeMapper.xml @@ -4,12 +4,17 @@ <select id="getProductionByPid" resultType="org.jeecg.modules.system.entity.MdcProduction"> SELECT - t1.* + t1.* FROM - mdc_production t1 - LEFT JOIN mdc_user_production t2 ON t1.id = t2.pro_id - WHERE - t1.parent_id = #{ productionId } AND t2.user_id = #{ userId } + mdc_production t1 + -- LEFT JOIN mdc_user_production t2 ON t1.id = t2.pro_id + WHERE 1=1 + <if test="productionId != null and productionId != ''"> + AND t1.parent_id = #{ productionId } + </if> + <!-- <if test="userId != null and userId != ''">--> + <!-- AND t2.user_id = #{ userId }--> + <!-- </if>--> </select> <select id="getProcessCount" resultType="java.math.BigDecimal"> @@ -126,6 +131,7 @@ <select id="getEquipmentSevenUtilizationStatistics" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo"> SELECT equipment_id, + the_date, SUM ( process_long ) processLong, SUM ( open_long ) openLong FROM @@ -140,7 +146,8 @@ </if> </where> GROUP BY - equipment_id + equipment_id, + the_date </select> diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcHomeService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcHomeService.java index cadcb5a..a6cd01f 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcHomeService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcHomeService.java @@ -6,6 +6,7 @@ import org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency; import org.jeecg.modules.mdc.vo.MdcCommonVo; import org.jeecg.modules.mdc.vo.MdcHomeEfficiencyVo; +import org.jeecg.modules.system.entity.MdcProduction; import java.util.List; import java.util.Map; @@ -19,27 +20,27 @@ /** * 璁惧杩愯鐘舵�佺粺璁� */ - List<MdcCommonVo> getEquipmentStatusStatistics(String userId, String key); + List<MdcCommonVo> getEquipmentStatusStatistics(String productionId); /** * 璁惧鍒╃敤鐜囩粺璁� */ - List<MdcCommonVo> getEquipmentUtilizationStatistics(String userId, String key); + List<MdcCommonVo> getEquipmentUtilizationStatistics(String productionId); /** * 璁惧OEE缁熻 */ - List<MdcCommonVo> getEquipmentOeeStatistics(String userId, String key); + List<MdcCommonVo> getEquipmentOeeStatistics(String productionId); /** * 璁惧OEE鍜屽埄鐢ㄧ巼缁熻鏌辩姸鍥� */ - Map<String, Object> getEquipmentMonthStatistics(String userId, String key); + Map<String, Object> getEquipmentMonthStatistics(String productionId); /** * 宸ユ绾у墠涓冨ぉ鍒╃敤鐜囨姌绾垮浘 */ - Map<String, Object> getEquipmentDayUtilizationStatistics(String userId, String key); + Map<String, Object> getEquipmentDayUtilizationStatistics(String productionId); /** * 鏌ヨ璁惧涓婃湀OEE @@ -72,4 +73,6 @@ MdcEquipmentDto getEquipmentDetails(String equipmentId); List<MdcFeedback> getFeedbackList(String key); + + List<MdcProduction> getAllWorkShop(); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/IMdcHomeServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/IMdcHomeServiceImpl.java index cb3f76b..4c2b54e 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/IMdcHomeServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/IMdcHomeServiceImpl.java @@ -1,7 +1,9 @@ package org.jeecg.modules.mdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import org.apache.commons.compress.utils.Lists; +import org.apache.commons.lang3.StringUtils; import org.jeecg.common.system.vo.DictModel; import org.jeecg.modules.mdc.constant.MdcConstant; import org.jeecg.modules.mdc.dto.MdcEquipmentDto; @@ -20,6 +22,7 @@ import java.math.RoundingMode; import java.time.LocalDate; import java.util.*; +import java.util.stream.Collectors; /** * @author Lius @@ -56,7 +59,7 @@ * 璁惧杩愯鐘舵�佺粺璁� */ @Override - public List<MdcCommonVo> getEquipmentStatusStatistics(String userId, String key) { + public List<MdcCommonVo> getEquipmentStatusStatistics(String productionId) { List<MdcCommonVo> result = new ArrayList<>(); MdcCommonVo mdcCommonVo1 = new MdcCommonVo(); mdcCommonVo1.setName("鍏虫満"); @@ -75,15 +78,16 @@ mdcCommonVo4.setValue("0"); result.add(mdcCommonVo4); MdcEquipmentStatusVo mdcEquipmentStatusVo = new MdcEquipmentStatusVo(); - if (StringUtils.isBlank(key)) { - return result; + + //鑾峰彇鎵�鏈夎澶� + List<Equipment> equipmentList = Lists.newArrayList(); + if (StringUtils.isNotBlank(productionId)) { + List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(productionId); + equipmentList = CollectionUtils.isNotEmpty(equipmentIdList) ? equipmentService.listByIds(equipmentIdList) : new ArrayList<>(); + }else { + equipmentList = equipmentService.list(); } - List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, key); - if (equipmentIdList == null || equipmentIdList.isEmpty()) { - return result; - } -// List<EquipmentLog> logList = equipmentLogService.getEquipmentStatusList(equipmentIdList); - List<Equipment> equipmentList = equipmentService.list(new LambdaQueryWrapper<Equipment>().in(Equipment::getEquipmentid, equipmentIdList)); + if (equipmentList != null && !equipmentList.isEmpty()) { for (Equipment equipment : equipmentList) { if (equipment.getOporation() != null) { @@ -131,10 +135,15 @@ * 璁惧鍒╃敤鐜囩粺璁� */ @Override - public List<MdcCommonVo> getEquipmentUtilizationStatistics(String userId, String key) { + public List<MdcCommonVo> getEquipmentUtilizationStatistics(String productionId) { List<MdcCommonVo> result = new ArrayList<>(); //鑾峰彇鍏徃鎴栧巶鍖轰簩绾т俊鎭� - List<MdcProduction> mdcProductionList = mdcHomeMapper.getProductionByPid(userId, key); + List<MdcProduction> mdcProductionList = mdcHomeMapper.getProductionByPid(null, productionId); + + //濡傛灉涓嶄紶鈥減roductionId鈥濆弬鏁帮紝鍒欐煡鎵�鏈夎溅闂达紝鍚﹀垯鏌ヨ璇ヨ溅闂翠笅鐨勫伐娈电瓑 + if (StringUtils.isEmpty(productionId)) { + mdcProductionList = mdcProductionList.stream().filter(mdcProduction -> "2".equals(mdcProduction.getOrgType())).collect(Collectors.toList()); + } if (mdcProductionList != null && !mdcProductionList.isEmpty()) { for (MdcProduction mdcProduction : mdcProductionList) { MdcCommonVo mdcCommonVo = new MdcCommonVo(); @@ -142,7 +151,7 @@ mdcCommonVo.setProductionCode(mdcProduction.getProductionCode()); mdcCommonVo.setProductionId(mdcProduction.getId()); //鑾峰彇姝ゅ眰绾т笅璁惧 - List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcProduction.getId()); + List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(mdcProduction.getId()); if (equipmentIdList == null || equipmentIdList.isEmpty()) { mdcCommonVo.setValue("0"); } else { @@ -167,10 +176,14 @@ * 璁惧OEE缁熻 */ @Override - public List<MdcCommonVo> getEquipmentOeeStatistics(String userId, String key) { + public List<MdcCommonVo> getEquipmentOeeStatistics(String productionId) { List<MdcCommonVo> result = new ArrayList<>(); //鑾峰彇鍏徃鎴栧巶鍖轰簩绾т俊鎭� - List<MdcProduction> mdcProductionList = mdcHomeMapper.getProductionByPid(userId, key); + List<MdcProduction> mdcProductionList = mdcHomeMapper.getProductionByPid(null, productionId); + //濡傛灉涓嶄紶鈥減roductionId鈥濆弬鏁帮紝鍒欐煡鎵�鏈夎溅闂达紝鍚﹀垯鏌ヨ璇ヨ溅闂翠笅鐨勫伐娈电瓑 + if (StringUtils.isEmpty(productionId)) { + mdcProductionList = mdcProductionList.stream().filter(mdcProduction -> "2".equals(mdcProduction.getOrgType())).collect(Collectors.toList()); + } if (mdcProductionList != null && !mdcProductionList.isEmpty()) { for (MdcProduction mdcProduction : mdcProductionList) { MdcCommonVo mdcCommonVo = new MdcCommonVo(); @@ -178,7 +191,7 @@ mdcCommonVo.setProductionCode(mdcProduction.getProductionCode()); mdcCommonVo.setProductionId(mdcProduction.getId()); //鑾峰彇姝ゅ眰绾т笅璁惧 - List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcProduction.getId()); + List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(mdcProduction.getId()); if (equipmentIdList == null || equipmentIdList.isEmpty()) { mdcCommonVo.setValue("0"); } else { @@ -187,7 +200,7 @@ if (oee == null || oee.compareTo(BigDecimal.ZERO) == 0) { mdcCommonVo.setValue("0"); } else { - mdcCommonVo.setValue(oee.divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).toString()); + mdcCommonVo.setValue(CollectionUtils.isNotEmpty(equipmentIdList) ? oee.divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).toString() : "0"); } } result.add(mdcCommonVo); @@ -200,8 +213,8 @@ * 璁惧OEE鍜屽埄鐢ㄧ巼缁熻鏌辩姸鍥� */ @Override - public Map<String, Object> getEquipmentMonthStatistics(String userId, String key) { - List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, key); + public Map<String, Object> getEquipmentMonthStatistics(String productionId) { + List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(productionId); Map<String, Object> result = new HashMap<>(); Date end = DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE); Date start = DateUtils.toDate(LocalDate.now().plusMonths(-12).toString(), DateUtils.STR_DATE); @@ -241,7 +254,7 @@ if (oee == null || oee.compareTo(BigDecimal.ZERO) == 0) { mdcCommonOeeVo.setValue("0"); } else { - mdcCommonOeeVo.setValue(oee.divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).toString()); + mdcCommonOeeVo.setValue(CollectionUtils.isNotEmpty(equipmentIdList) ? oee.divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).toString() : "0"); } } utilizationList.add(mdcCommonUtilizationVo); @@ -257,34 +270,21 @@ * 宸ユ绾у墠涓冨ぉ鍒╃敤鐜囨姌绾垮浘 */ @Override - public Map<String, Object> getEquipmentDayUtilizationStatistics(String userId, String key) { + public Map<String, Object> getEquipmentDayUtilizationStatistics(String productionId) { Map<String, Object> result = new HashMap<>(); - List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, key); - //鑾峰彇鍓嶄竷澶╂棩鏈熼泦鍚� - String start = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-7).toString(), DateUtils.STR_DATE), DateUtils.STRDATE); - String end = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-1).toString(), DateUtils.STR_DATE), DateUtils.STRDATE); - if (equipmentIdList != null && !equipmentIdList.isEmpty()) { - List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getEquipmentId, equipmentIdList)); - result.put("mdcEquipmentList", mdcEquipmentList); - List<MdcEquipmentStatisticalInfo> mdcEquipmentStatisticalInfoList = mdcHomeMapper.getEquipmentSevenUtilizationStatistics(equipmentIdList, start, end); - List<EquipmentDayUtilizationVo> dataList = new ArrayList<>(); - if (mdcEquipmentStatisticalInfoList != null && !mdcEquipmentStatisticalInfoList.isEmpty()) { - for (MdcEquipmentStatisticalInfo mdcEquipmentStatisticalInfo : mdcEquipmentStatisticalInfoList) { - EquipmentDayUtilizationVo equipmentDayUtilizationVo = new EquipmentDayUtilizationVo(); - equipmentDayUtilizationVo.setEquipmentId(mdcEquipmentStatisticalInfo.getEquipmentId()); - equipmentDayUtilizationVo.setUtilizationRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(mdcEquipmentStatisticalInfoList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP)); - if (BigDecimal.ZERO.compareTo(mdcEquipmentStatisticalInfo.getOpenLong()) == -1) { - equipmentDayUtilizationVo.setOpenRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(mdcEquipmentStatisticalInfo.getOpenLong(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP)); - equipmentDayUtilizationVo.setStartRate(mdcEquipmentStatisticalInfo.getOpenLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(mdcEquipmentStatisticalInfoList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP)); - } - dataList.add(equipmentDayUtilizationVo); - } - } - result.put("dataList", dataList); - } - /*List<String> dayBetween = DateUtils.getDatesStringList2(start, end); + + List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(productionId); + Date startDate = DateUtils.toDate(LocalDate.now().plusDays(-15).toString(), DateUtils.STR_DATE); + String start = DateUtils.format(startDate, DateUtils.STRDATE); + Date endDate = DateUtils.toDate(LocalDate.now().plusDays(-1).toString(), DateUtils.STR_DATE); + String end = DateUtils.format(endDate, DateUtils.STRDATE); + List<MdcEquipmentStatisticalInfo> mdcEquipmentStatisticalInfos = mdcHomeMapper.getEquipmentSevenUtilizationStatistics(equipmentIdList, start, end); + Map<String, MdcEquipmentStatisticalInfo> mdcEquipmentStatisticalInfoMap = mdcEquipmentStatisticalInfos.stream().collect(Collectors.toMap(MdcEquipmentStatisticalInfo::getTheDate, mdcEquipmentStatisticalInfo -> mdcEquipmentStatisticalInfo, (v1, v2) -> v1)); + List<String> dayBetween = DateUtils.getDatesStringList2(startDate, endDate); + List<String> dateList = new ArrayList<>(); List<EquipmentDayUtilizationVo> dataList = new ArrayList<>(); + for (String date : dayBetween) { EquipmentDayUtilizationVo equipmentDayUtilizationVo = new EquipmentDayUtilizationVo(); String item = date.substring(4); @@ -292,42 +292,34 @@ item = item.substring(1); String sub = item.substring(1); if (sub.startsWith("0")) { - item = item.substring(0, 1) + "鏈�" + sub.substring(1) + "鏃�"; + item = item.substring(0, 1) + "-" + sub.substring(1); } else { - item = item.substring(0, 1) + "鏈�" + item.substring(1) + "鏃�"; + item = item.substring(0, 1) + "-" + item.substring(1); } } else { String sub = item.substring(2); if (sub.startsWith("0")) { - item = item.substring(0, 2) + "鏈�" + sub.substring(2) + "鏃�"; + item = item.substring(0, 2) + "-" + sub.substring(2); } else { - item = item.substring(0, 2) + "鏈�" + item.substring(2) + "鏃�"; + item = item.substring(0, 2) + "-" + item.substring(2); } } dateList.add(item); equipmentDayUtilizationVo.setDate(item); - if (equipmentIdList != null && !equipmentIdList.isEmpty()) { - //鑾峰彇鍓嶄竷澶╁埄鐢ㄧ巼鏁版嵁 - List<MdcEquipmentStatisticalInfo> mdcEquipmentStatisticalInfos = mdcHomeMapper.getEquipmentDayUtilizationStatistics(equipmentIdList, dayBetween); - if (mdcEquipmentStatisticalInfos != null && !mdcEquipmentStatisticalInfos.isEmpty()) { - for (MdcEquipmentStatisticalInfo mdcEquipmentStatisticalInfo : mdcEquipmentStatisticalInfos) { - if (mdcEquipmentStatisticalInfo.getTheDate().equals(date)) { - equipmentDayUtilizationVo.setUtilizationRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP)); - if (BigDecimal.ZERO.compareTo(mdcEquipmentStatisticalInfo.getOpenLong()) == -1) { - equipmentDayUtilizationVo.setOpenRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(mdcEquipmentStatisticalInfo.getOpenLong(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP)); - equipmentDayUtilizationVo.setStartRate(mdcEquipmentStatisticalInfo.getOpenLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP)); - } - } - } - } else { - dataList.add(equipmentDayUtilizationVo); + + if (null != mdcEquipmentStatisticalInfoMap && mdcEquipmentStatisticalInfoMap.containsKey(date)) { + //鑾峰彇褰撳墠鏃ユ湡涓嬬殑鍒╃敤鐜囨暟鎹� + MdcEquipmentStatisticalInfo mdcEquipmentStatisticalInfo = mdcEquipmentStatisticalInfoMap.get(date); + equipmentDayUtilizationVo.setUtilizationRate(CollectionUtils.isNotEmpty(equipmentIdList) ? mdcEquipmentStatisticalInfo.getProcessLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP) : BigDecimal.ZERO); + if (BigDecimal.ZERO.compareTo(mdcEquipmentStatisticalInfo.getOpenLong()) == -1) { + equipmentDayUtilizationVo.setOpenRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(mdcEquipmentStatisticalInfo.getOpenLong(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP)); + equipmentDayUtilizationVo.setStartRate(CollectionUtils.isNotEmpty(equipmentIdList) ? mdcEquipmentStatisticalInfo.getOpenLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP) : BigDecimal.ZERO); } - } else { - dataList.add(equipmentDayUtilizationVo); } + dataList.add(equipmentDayUtilizationVo); } result.put("dateList", dateList); - result.put("dataList", dataList);*/ + result.put("dataList", dataList); return result; } @@ -505,4 +497,13 @@ public List<MdcFeedback> getFeedbackList(String key) { return mdcFeedbackService.getFeedbackList(key); } + + @Override + public List<MdcProduction> getAllWorkShop() { + List<MdcProduction> list = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getOrgType, "2")); + if (CollectionUtils.isEmpty(list)) { + return null; + } + return list; + } } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDayUtilizationVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDayUtilizationVo.java index c634d10..1acff00 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDayUtilizationVo.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDayUtilizationVo.java @@ -15,6 +15,10 @@ */ private String equipmentId; /** + * 璁惧缂栧彿 + */ + private String date; + /** * 鍒╃敤鐜� */ private BigDecimal utilizationRate = BigDecimal.ZERO; -- Gitblit v1.9.3