From 1a2258c4eca2e7514b6096004fa1c3e0036b402b Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期四, 28 三月 2024 14:04:24 +0800 Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/mdc_430 into develop --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java | 40 ++++++++++++++++++++++++++++++---------- 1 files changed, 30 insertions(+), 10 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java index c83a76a..00454ef 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; +import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime; import org.jeecg.modules.mdc.mapper.MdcEquipmentOvertimeMapper; @@ -21,9 +22,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; -import java.time.Duration; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -142,15 +141,36 @@ BigDecimal result = new BigDecimal("0"); if (list != null && !list.isEmpty()) { for (MdcEquipmentOvertime equipmentOvertime : list) { - String date = DateUtils.format(DateUtils.toDate(validDate + "-01", DateUtils.STR_DATE), DateUtils.STR_DATE) + " "; - String startTime = date + equipmentOvertime.getStartTime(); - String endTime = date + equipmentOvertime.getEndTime(); - LocalDateTime localStartTime = LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern(DateUtils.STR_DATE_TIME_SMALL)); - LocalDateTime localEndTime = LocalDateTime.parse(endTime, DateTimeFormatter.ofPattern(DateUtils.STR_DATE_TIME_SMALL)); - int minutes = Math.toIntExact(Duration.between(localStartTime, localEndTime).toMinutes()); - result = result.add(new BigDecimal(minutes)); + result = result.add(equipmentOvertime.getDuration().divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP)); } } return result; } + + /** + * 娣诲姞 + * + * @param mdcEquipmentOvertime + * @return + */ + @Override + public boolean addOvertime(MdcEquipmentOvertime mdcEquipmentOvertime) { + String[] equipmentIds = mdcEquipmentOvertime.getEquipmentId().split(","); + List<MdcEquipmentOvertime> mdcEquipmentOvertimes = new ArrayList<>(); + // 璁$畻鏃堕暱(绉�) + String startTime = mdcEquipmentOvertime.getStartTime(); + String endTime = mdcEquipmentOvertime.getEndTime(); + long duration = DateUtils.differentSecond(DateUtils.setTimeForDay(DateUtils.getNow(), startTime), DateUtils.setTimeForDay(DateUtils.getNow(), endTime)); + for (String equipmentId : equipmentIds) { + MdcEquipmentOvertime equipmentOvertime = new MdcEquipmentOvertime(); + equipmentOvertime.setEquipmentId(equipmentId); + equipmentOvertime.setTheDate(mdcEquipmentOvertime.getTheDate()); + equipmentOvertime.setAutoFlag(CommonConstant.AUTO_FLAG_N); + equipmentOvertime.setStartTime(mdcEquipmentOvertime.getStartTime()); + equipmentOvertime.setEndTime(mdcEquipmentOvertime.getEndTime()); + equipmentOvertime.setDuration(new BigDecimal(duration)); + mdcEquipmentOvertimes.add(equipmentOvertime); + } + return super.saveBatch(mdcEquipmentOvertimes); + } } -- Gitblit v1.9.3