From 5a0dbf5c84f677c9f20252ccc63221dc7ba68d6c Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 15 五月 2025 08:48:07 +0800 Subject: [PATCH] 修改项 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDaySummaryMapper.java | 3 + lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java | 17 ++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySchedule.java | 17 ++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDaySummaryMapper.xml | 13 ++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentStatusOverview.java | 8 ++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportQueryVo.java | 4 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/impl/EquipmentWebServiceImpl.java | 8 ++-- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java | 7 +++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDaySummaryServiceImpl.java | 4 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java | 20 +++++++--- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java | 6 +++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDaySummaryService.java | 2 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml | 3 + 13 files changed, 101 insertions(+), 11 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java index afb4a9a..bdc4dfc 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java @@ -152,6 +152,13 @@ @ApiModelProperty(value = "璁惧绉嶇被") private String deviceCategory; + /** + * 璁惧灞炴�э紙鏅��/閲嶈锛� + */ + @Excel(name = "璁惧灞炴��", width = 15) + @ApiModelProperty(value = "璁惧灞炴�э紙鏅��/閲嶈锛�") + private String attribute; + /**閮ㄩ棬鍚嶇О*/ @Excel(name = "閮ㄩ棬鍚嶇О", width = 15) private transient String orgCodeTxt; diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySchedule.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySchedule.java index b202d75..0856c72 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySchedule.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySchedule.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -21,65 +22,81 @@ /** * 涓婚敭 */ + @ApiModelProperty(value = "涓婚敭") private String medId; /** * 鍗曞厓 */ + @ApiModelProperty(value = "鍗曞厓") private String dept; /** * 杞﹂棿锛堝垎鍘傦級 */ + @ApiModelProperty(value = "杞﹂棿") private String workshop; /** * 鐗堟湰鍙凤紙宸ヨ壓瑙勭▼鐗堟锛� */ + @ApiModelProperty(value = "鐗堟湰鍙�") private String revisionNo; /** * 闆朵欢鍚嶇О */ + @ApiModelProperty(value = "闆朵欢鍚嶇О") private String mdsItemId; /** * 闆朵欢鍙� */ + @ApiModelProperty(value = "闆朵欢鍙�") private String mdsItemCode; /** * 璁㈠崟鍙� */ + @ApiModelProperty(value = "璁㈠崟鍙�") private String taskCode; /** * 娴佸崱鍙� */ + @ApiModelProperty(value = "娴佸崱鍙�") private String ewoNo; /** * 鎵规鍙� */ + @ApiModelProperty(value = "鎵规鍙�") private String batchNo; /** * 鎵规鏁伴噺锛堣鍒掓暟锛� */ + @ApiModelProperty(value = "鎵规鏁伴噺") private String batchNum; /** * 鍚堟牸鏁� */ + @ApiModelProperty(value = "鍚堟牸鏁�") private Integer qualifiedQty; /** * 鎶ュ簾鏁� */ + @ApiModelProperty(value = "鎶ュ簾鏁�") private Integer scrapQty; /** * 宸ュ簭鍙� */ + @ApiModelProperty(value = "宸ュ簭鍙�") private String opreationSeqNo; /** * 娲惧伐鏃ユ湡 */ + @ApiModelProperty(value = "娲惧伐鏃ユ湡") private String dispatchDate; /** * 璁惧缂栧彿 */ + @ApiModelProperty(value = "璁惧缂栧彿") private String equipmentId; /** * 1 姝e父 2 鍙栨秷 3 鍒犻櫎 */ + @ApiModelProperty(value = "鎺у埗绯荤粺绫诲瀷") private String taskType; } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDaySummaryMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDaySummaryMapper.java index bf2f9c2..b046567 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDaySummaryMapper.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDaySummaryMapper.java @@ -1,7 +1,10 @@ package org.jeecg.modules.mdc.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import org.jeecg.modules.mdc.entity.MdcEquipmentDaySummary; public interface MdcEquipmentDaySummaryMapper extends BaseMapper<MdcEquipmentDaySummary> { + + MdcEquipmentDaySummary statisticsQty(@Param("productionId") String productionId); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml index 73d3381..af23cf7 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml @@ -37,6 +37,9 @@ <if test="vo.deviceCategory != null and vo.deviceCategory != '' "> AND t2.device_category = #{vo.deviceCategory} </if> + <if test="vo.attribute != null and vo.attribute != '' "> + AND t2.attribute = #{vo.attribute} + </if> <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 "> AND t2.equipment_id IN <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=","> diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDaySummaryMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDaySummaryMapper.xml index b888911..8e7dbf1 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDaySummaryMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDaySummaryMapper.xml @@ -2,4 +2,17 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.mdc.mapper.MdcEquipmentDaySummaryMapper"> + <select id="statisticsQty" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentDaySummary"> + SELECT SUM(t1.plan_qty) AS planQty, + SUM(t1.qualified_qty) AS qualifiedQty + FROM mdc_equipment_day_summary t1 + INNER JOIN mdc_equipment t2 + ON t1.equipment_code = t2.equipment_id + INNER JOIN mdc_production_equipment t3 + ON t2.id = t3.equipment_id + INNER JOIN mdc_production t4 + ON t3.production_id = t4.id + WHERE t4.parent_id = #{productionId} + AND TO_CHAR(t1.create_time, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM'); + </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDaySummaryService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDaySummaryService.java index 3069351..8420ae7 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDaySummaryService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDaySummaryService.java @@ -4,4 +4,6 @@ import org.jeecg.modules.mdc.entity.MdcEquipmentDaySummary; public interface IMdcEquipmentDaySummaryService extends IService<MdcEquipmentDaySummary> { + + MdcEquipmentDaySummary statisticsQty(String productionId); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java index b5ef548..258e0d7 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java @@ -1608,9 +1608,13 @@ // List<MdcUtilizationResultDto> list = new ArrayList<>(); for (String date : dateList) { - Date startTime = DateUtils.toDate(date + " " + startString + ":00", DateUtils.STR_DATE_TIME_SMALL); - Date endTime = DateUtils.toDate(date + " " + endString + ":00", DateUtils.STR_DATE_TIME_SMALL); - list.add(this.utilizationRate(mdcEquDepDto.getEquipmentId(), mdcEquDepDto.getEquipmentName(), mdcEquDepDto.getEquipmentType(), startTime, endTime, date, mdcUtilizationRateList)); + if ("00:00".equals(startString) && "23:59".equals(endString)) { + list.add(this.utilizationRateTrend(mdcEquDepDto.getEquipmentId(), mdcEquDepDto.getEquipmentName(), mdcEquDepDto.getEquipmentType(), date, mdcUtilizationRateList)); + } else { + Date startTime = DateUtils.toDate(date + " " + startString + ":00", DateUtils.STR_DATE_TIME_SMALL); + Date endTime = DateUtils.toDate(date + " " + endString + ":00", DateUtils.STR_DATE_TIME_SMALL); + list.add(this.utilizationRate(mdcEquDepDto.getEquipmentId(), mdcEquDepDto.getEquipmentName(), mdcEquDepDto.getEquipmentType(), startTime, endTime, date, mdcUtilizationRateList)); + } } mdcUtilizationRateListDto.setDataList(list); listDtos.add(mdcUtilizationRateListDto); @@ -1628,9 +1632,13 @@ // List<MdcUtilizationResultDto> list = new ArrayList<>(); for (String date : dateList) { - Date startTime = DateUtils.toDate(date + " " + startString + ":00", DateUtils.STR_DATE_TIME_SMALL); - Date endTime = DateUtils.toDate(date + " " + endString + ":00", DateUtils.STR_DATE_TIME_SMALL); - list.add(this.utilizationRate(mdcEquProDto.getEquipmentId(), mdcEquProDto.getEquipmentName(), mdcEquProDto.getEquipmentType(), startTime, endTime, date, mdcUtilizationRateList)); + if ("00:00".equals(startString) && "23:59".equals(endString)) { + list.add(this.utilizationRateTrend(mdcEquProDto.getEquipmentId(), mdcEquProDto.getEquipmentName(), mdcEquProDto.getEquipmentType(), date, mdcUtilizationRateList)); + } else { + Date startTime = DateUtils.toDate(date + " " + startString + ":00", DateUtils.STR_DATE_TIME_SMALL); + Date endTime = DateUtils.toDate(date + " " + endString + ":00", DateUtils.STR_DATE_TIME_SMALL); + list.add(this.utilizationRate(mdcEquProDto.getEquipmentId(), mdcEquProDto.getEquipmentName(), mdcEquProDto.getEquipmentType(), startTime, endTime, date, mdcUtilizationRateList)); + } } mdcEfficiencyListDto.setDataList(list); listDtos.add(mdcEfficiencyListDto); diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDaySummaryServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDaySummaryServiceImpl.java index eb6b7d3..9c89ed6 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDaySummaryServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDaySummaryServiceImpl.java @@ -13,4 +13,8 @@ */ @Service public class MdcEquipmentDaySummaryServiceImpl extends ServiceImpl<MdcEquipmentDaySummaryMapper, MdcEquipmentDaySummary> implements IMdcEquipmentDaySummaryService { + @Override + public MdcEquipmentDaySummary statisticsQty(String productionId) { + return this.baseMapper.statisticsQty(productionId); + } } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java index ee12d77..cae42ff 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java @@ -111,6 +111,9 @@ @Transactional(rollbackFor = Exception.class) public void saveMdcEquipment(MdcEquipment mdcEquipment, String selectedDeparts, String selectedProduction) { //step.1 淇濆瓨璁惧 + if (StringUtils.isBlank(mdcEquipment.getAttribute())) { + mdcEquipment.setAttribute("0"); + } this.save(mdcEquipment); //step.2 淇濆瓨鎵�灞為儴闂� if (oConvertUtils.isNotEmpty(selectedDeparts)) { @@ -749,6 +752,9 @@ if (StringUtils.isNotEmpty(vo.getDeviceCategory())) { queryWrapper.in(MdcEquipment::getDeviceCategory, Arrays.asList(vo.getDeviceCategory().split(","))); } + if (StringUtils.isNotBlank(vo.getAttribute())) { + queryWrapper.eq(MdcEquipment::getAttribute, vo.getAttribute()); + } List<MdcEquipment> list = super.list(queryWrapper); // List<MdcEquipment> list = super.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentType, equipmentType).in(MdcEquipment::getEquipmentId, equipmentIdList)); return list.stream().map(MdcEquipment::getEquipmentId).collect(Collectors.toList()); diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportQueryVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportQueryVo.java index f4f140b..5828d47 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportQueryVo.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportQueryVo.java @@ -58,5 +58,9 @@ * 璁惧绉嶇被 */ private String deviceCategory; + /** + * 璁惧灞炴�� + */ + private String attribute; } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/impl/EquipmentWebServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/impl/EquipmentWebServiceImpl.java index 70d9563..26d8c68 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/impl/EquipmentWebServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/impl/EquipmentWebServiceImpl.java @@ -39,7 +39,7 @@ @Override public String equipmentDaySchedule(String msg) { - log.info("MES涓婃姤鏃ヨ鍒掑師濮嬫暟鎹� === {}", msg); + log.info("鎺ユ敹MES涓婃姤鏃ヨ鍒掑師濮嬫暟鎹� === {}", msg); List<EquipmentDaySchedule> equipmentDayScheduleList = JSONObject.parseArray(msg, EquipmentDaySchedule.class); if (equipmentDayScheduleList == null || equipmentDayScheduleList.isEmpty()) { WsResult wsResult = new WsResult("0", "json瑙f瀽澶辫触"); @@ -53,14 +53,14 @@ } mdcEquipmentDayScheduleService.saveBatch(mdcEquipmentDayScheduleList); - log.info("MES涓婃姤鏃ヨ鍒掓暟鎹垚鍔燂紒"); + log.info("鎺ユ敹MES涓婃姤鏃ヨ鍒掓暟鎹垚鍔燂紒"); WsResult wsResult = new WsResult("1", "鎴愬姛"); return JSONObject.toJSONString(wsResult); } @Override public String equipmentDaySummary(String msg) { - log.info("MES涓婃姤鏃ユ眹鎬诲師濮嬫暟鎹� === {}", msg); + log.info("鎺ユ敹MES涓婃姤鏃ユ眹鎬诲師濮嬫暟鎹� === {}", msg); List<EquipmentDaySummary> equipmentDaySummaryList = JSONObject.parseArray(msg, EquipmentDaySummary.class); if (equipmentDaySummaryList == null || equipmentDaySummaryList.isEmpty()) { WsResult wsResult = new WsResult("0", "json瑙f瀽澶辫触"); @@ -73,7 +73,7 @@ mdcEquipmentDaySummaryList.add(mdcEquipmentDaySummary); } mdcEquipmentDaySummaryService.saveBatch(mdcEquipmentDaySummaryList); - log.info("MES涓婃姤鏃ユ眹鎬绘暟鎹垚鍔燂紒"); + log.info("鎺ユ敹MES涓婃姤鏃ユ眹鎬绘暟鎹垚鍔燂紒"); WsResult wsResult = new WsResult("1", "鎴愬姛"); return JSONObject.toJSONString(wsResult); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentStatusOverview.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentStatusOverview.java index 9e19750..a20f9e7 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentStatusOverview.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentStatusOverview.java @@ -33,5 +33,13 @@ * 鍏虫満鏁� */ private Integer closeCount = 0; + /** + * 瀹屾垚閲� + */ + private Integer qualifiedQty = 0; + /** + * 浠诲姟閲� + */ + private Integer planQty = 0; } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java index 0930b96..98d6757 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.vo.DictModel; +import org.jeecg.modules.mdc.entity.MdcEquipmentDaySummary; import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor; import org.jeecg.modules.mdc.service.IEquipmentAlarmService; +import org.jeecg.modules.mdc.service.IMdcEquipmentDaySummaryService; import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.mdc.service.IMdcEquipmentStatisticalInfoService; import org.jeecg.modules.mdc.util.DateUtils; @@ -18,7 +20,10 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; -import java.util.*; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -44,6 +49,9 @@ @Resource private IEquipmentAlarmService equipmentAlarmService; + @Resource + private IMdcEquipmentDaySummaryService mdcEquipmentDaySummaryService; + /** * 璁惧鐘舵�佹儏鍐� * @@ -53,6 +61,7 @@ @Override public EquipmentStatusOverview equipmentStatusOverview(String productionId) { EquipmentStatusOverview equipmentStatusOverview = new EquipmentStatusOverview(); + // 璁惧鐘舵�� List<MdcEquipmentMonitor> equipmentMonitorList = mdcEquipmentService.getEquipmentMonitorList(productionId); if (equipmentMonitorList != null && !equipmentMonitorList.isEmpty()) { equipmentStatusOverview.setEquipmentCount(equipmentMonitorList.size()); @@ -88,6 +97,12 @@ } } } + // mes浜ч噺 + MdcEquipmentDaySummary mdcEquipmentDaySummary = mdcEquipmentDaySummaryService.statisticsQty(productionId); + if (mdcEquipmentDaySummary != null) { + equipmentStatusOverview.setQualifiedQty(mdcEquipmentDaySummary.getQualifiedQty()); + equipmentStatusOverview.setPlanQty(mdcEquipmentDaySummary.getPlanQty()); + } return equipmentStatusOverview; } -- Gitblit v1.9.3