From b46815639664c65d31f6f852c4bf403f6ba0c3ea Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期五, 26 一月 2024 10:04:49 +0800 Subject: [PATCH] 加班管理功能调整 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java | 6 ++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java | 14 +++----------- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml | 8 +++----- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java | 6 ++++-- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java index b69c725..77a50b8 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java @@ -13,12 +13,14 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime; import org.jeecg.modules.mdc.service.IMdcEquipmentOvertimeService; +import org.jeecg.modules.mdc.util.DateUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; import java.util.Arrays; /** @@ -89,6 +91,10 @@ @ApiOperation(value = "璁惧鍔犵彮绠$悊-缂栬緫", notes = "璁惧鍔犵彮绠$悊-缂栬緫") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) public Result<?> edit(@RequestBody MdcEquipmentOvertime mdcEquipmentOvertime) { + String startTime = mdcEquipmentOvertime.getStartTime(); + String endTime = mdcEquipmentOvertime.getEndTime(); + long duration = DateUtils.differentSecond(DateUtils.setTimeForDay(DateUtils.getNow(), startTime), DateUtils.setTimeForDay(DateUtils.getNow(), endTime)); + mdcEquipmentOvertime.setDuration(new BigDecimal(duration)); mdcEquipmentOvertimeService.updateById(mdcEquipmentOvertime); return Result.OK("缂栬緫鎴愬姛!"); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java index e4dea3c..a1284a4 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java @@ -31,17 +31,19 @@ private static final long serialVersionUID = -7163039765166584824L; @Excel(name = "璁惧缂栧彿", width = 20) - @ApiModelProperty("鏃ユ湡") + @ApiModelProperty("璁惧缂栧彿") private String equipmentId; @TableField(exist = false) @Excel(name = "璁惧鍚嶇О", width = 20) + @ApiModelProperty("璁惧鍚嶇О") private String equipmentName; @ApiModelProperty("鏃ユ湡") + @Excel(name = "鏃ユ湡", width = 20) private String theDate; - @Excel(name = "鑷姩璁$畻鏍囪瘑", width = 15) +// @Excel(name = "鑷姩璁$畻鏍囪瘑", width = 15) @ApiModelProperty("鑷姩璁$畻鏍囪瘑") private Integer autoFlag = CommonConstant.AUTO_FLAG_N; diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml index b8606e1..3056797 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml @@ -81,12 +81,10 @@ <!--鏌ヨ鍔犵彮鏃堕暱--> <select id="computeOvertime" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentOvertime"> SELECT - meo.* + * FROM - mdc_equipment_overtime meo - LEFT JOIN mdc_device_calendar mdc ON meo.calendar_id = mdc.id + mdc_equipment_overtime WHERE - mdc.effective_date LIKE CONCAT(#{ validDate }, '%') - AND mdc.equipment_id = #{ equipmentId } + the_date LIKE CONCAT(#{ validDate }, '%') AND equipment_id = #{ equipmentId } </select> </mapper> \ No newline at end of file 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 ec22b51..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 @@ -22,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; @@ -143,13 +141,7 @@ 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; @@ -163,7 +155,7 @@ */ @Override public boolean addOvertime(MdcEquipmentOvertime mdcEquipmentOvertime) { - String[] equipmentIds = mdcEquipmentOvertime.getEquipmentIds().split(","); + String[] equipmentIds = mdcEquipmentOvertime.getEquipmentId().split(","); List<MdcEquipmentOvertime> mdcEquipmentOvertimes = new ArrayList<>(); // 璁$畻鏃堕暱(绉�) String startTime = mdcEquipmentOvertime.getStartTime(); -- Gitblit v1.9.3