diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java index 30f89e9ba..1e7758a54 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java @@ -110,6 +110,18 @@ public class MesDailyReportVo extends BaseEntity { @Excel(name = "用人情况说明") private String useManRemark; + + private String electricityNo; + + private Date startWorkTime; + + private Date endWorkTime; + + private BigDecimal totalQuantityFeedback; + + @Excel(name = "单箱电耗") + private BigDecimal singleKw; + public String getUseManRemark() { return useManRemark; } @@ -507,4 +519,44 @@ public class MesDailyReportVo extends BaseEntity { public void setFactoryCode(String factoryCode) { this.factoryCode = factoryCode; } + + public String getElectricityNo() { + return electricityNo; + } + + public void setElectricityNo(String electricityNo) { + this.electricityNo = electricityNo; + } + + public Date getStartWorkTime() { + return startWorkTime; + } + + public void setStartWorkTime(Date startWorkTime) { + this.startWorkTime = startWorkTime; + } + + public Date getEndWorkTime() { + return endWorkTime; + } + + public void setEndWorkTime(Date endWorkTime) { + this.endWorkTime = endWorkTime; + } + + public BigDecimal getTotalQuantityFeedback() { + return totalQuantityFeedback; + } + + public void setTotalQuantityFeedback(BigDecimal totalQuantityFeedback) { + this.totalQuantityFeedback = totalQuantityFeedback; + } + + public BigDecimal getSingleKw() { + return singleKw; + } + + public void setSingleKw(BigDecimal singleKw) { + this.singleKw = singleKw; + } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java index 94d501450..9d38fbd86 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java @@ -249,4 +249,6 @@ public interface MesReportWorkMapper { List getClearConsum(String workorderCode); BigDecimal selectWmsProductPut(MesReportWork mesReportWork1); + + List> selectRecordDnbInstantByTime (Map query); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java index 2044d8483..a11976519 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java @@ -555,6 +555,29 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { } } + //计算电耗 + if (StringUtils.isNotBlank(dto.getElectricityNo()) && dto.getEndWorkTime() != null) { + //获取这个工单所在产线的电表编号 + String monitorid = dto.getElectricityNo(); + //获取这个工单的开始日期和结束日期 + String startWorkTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", dto.getStartWorkTime()); + String endWorkTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", dto.getEndWorkTime()); + //查询这个工单在开始和最终报工之间的表底值 + Map query = new HashMap<>(); + query.put("monitorid",monitorid); + query.put("startWorkTime", dto.getStartWorkTime()); + query.put("endWorkTime", dto.getEndWorkTime()); + List> recordDnbInstantList = mesReportWorkMapper.selectRecordDnbInstantByTime(query); + if (recordDnbInstantList.size() == 2) { + BigDecimal beginKw = (BigDecimal) recordDnbInstantList.get(0).get("kw"); + BigDecimal endKw = (BigDecimal) recordDnbInstantList.get(1).get("kw"); + BigDecimal kw = beginKw.subtract(endKw).abs(); + BigDecimal totalQuantityFeedbackBD = dto.getTotalQuantityFeedback(); + dto.setSingleKw(kw.divide(totalQuantityFeedbackBD, BigDecimal.ROUND_HALF_UP)); + + } + } + // QuantityDto sonMesReport = mesReportWorkMapper.getSumQuantity(quantityDto); // if(sonMesReport == null){//单层工单的情况 diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml index 701dde2c7..f9e6732ed 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml @@ -805,7 +805,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bp.report_rate reportRate, COALESCE(bpa.category, '蚊香') AS prodType, mrw.reason AS reason, - mrw.useManRemark AS useManRemark + mrw.useManRemark AS useManRemark, + be.attr2 AS electricityNo, + pow.start_work_time startWorkTime, + pow.end_work_time endWorkTime, + mrw_summary.total_quantity_feedback totalQuantityFeedback from base_equipment be left join pro_order_workorder pow on be.equipment_code = pow.workorder_name LEFT JOIN base_shifts_t bst ON bst.Shift_Id=pow.shift_id @@ -826,6 +830,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY use_man_remark, remark,workorder_code) mrw ON mrw.workorder_code = pow.workorder_code + LEFT JOIN ( SELECT workorder_code, SUM ( quantity_feedback ) AS total_quantity_feedback FROM mes_report_work GROUP BY workorder_code ) mrw_summary ON pow.workorder_code = mrw_summary.workorder_code where be.del_flag = '0' and be.sap_code is not null and pow.status in ('w2','w3') and pow.parent_order = '0' and pow.del_flag='0' and be.equipment_name like concat('%', #{sapName}, '%') @@ -1814,4 +1819,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" use_man_remark, remark; + +