From 50904787dcb3ea277f6956fcbc09f9efefece2ce Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期二, 02 一月 2024 16:03:48 +0800
Subject: [PATCH] 提交
---
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java | 69 +++++++++++++++++++++++++---------
1 files changed, 50 insertions(+), 19 deletions(-)
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
index 5d3eec2..90a7462 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
@@ -5,12 +5,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
-import org.jeecg.modules.mdc.entity.MdcDeviceCalendar;
-import org.jeecg.modules.mdc.entity.MdcShiftSub;
+import org.jeecg.modules.mdc.entity.*;
import org.jeecg.modules.mdc.mapper.MdcDeviceCalendarMapper;
import org.jeecg.modules.mdc.service.IMdcDeviceCalendarService;
import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecg.modules.mdc.service.IMdcShiftSubService;
+import org.jeecg.modules.mdc.service.IMdcVacationManagementService;
import org.jeecg.modules.mdc.vo.EquipmentCalendarVo;
import org.jeecg.modules.mdc.vo.MdcDeviceCalendarQueryVo;
import org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo;
@@ -20,6 +20,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
+import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -37,6 +38,9 @@
private IMdcEquipmentService mdcEquipmentService;
@Resource
private IMdcShiftSubService mdcShiftSubService;
+
+ @Resource
+ private IMdcVacationManagementService mdcVacationManagementService;
/**
* 鍒嗛〉鍒楄〃鏌ヨ
@@ -112,22 +116,11 @@
public List<MdcDeviceCalendarVo> listByEquipmentAndDate(String equipmentId, List<String> stringDates) {
List<MdcDeviceCalendarVo> result = new ArrayList<>();
try {
- //鏌ヨ榛樿鐝埗
-// List<MdcDeviceCalendarVo> acquiesceShift = this.baseMapper.findAcquiesceShift();
-
for (String stringDate : stringDates) {
List<MdcDeviceCalendarVo> mdcDeviceCalendarVos = this.baseMapper.listByEquipmentAndDate(equipmentId, stringDate);
if (mdcDeviceCalendarVos != null && !mdcDeviceCalendarVos.isEmpty()) {
result.addAll(mdcDeviceCalendarVos);
}
-// else {
-// acquiesceShift.forEach(mdcDeviceCalendarVo -> {
-// mdcDeviceCalendarVo.setEquipmentId(equipmentId);
-// mdcDeviceCalendarVo.setEffectiveDate(stringDate);
-// });
-// // 璁剧疆榛樿鐝埗
-// result.addAll(acquiesceShift);
-// }
}
} catch (Exception e) {
e.printStackTrace();
@@ -139,15 +132,14 @@
/**
* 璁$畻瀹為檯鐝骇澶╂暟
*
- * @param shiftSubId
* @param equipmentId
* @param validDate
* @return
*/
@Override
- public BigDecimal computeActualWorkDayCount(String shiftSubId, String equipmentId, String validDate) {
+ public BigDecimal computeActualWorkDayCount(String equipmentId, String validDate) {
validDate = validDate.replaceAll("-", "");
- List<String> validDateList = this.baseMapper.computeActualWorkDayCount(shiftSubId, equipmentId, validDate);
+ List<String> validDateList = this.baseMapper.computeActualWorkDayCount(equipmentId, validDate);
return new BigDecimal(validDateList.size());
}
@@ -167,15 +159,54 @@
/**
* 璁$畻鐝鏃堕棿
*
- * @param shiftSubId
* @param equipmentId
* @param validDate
* @return
*/
@Override
- public BigDecimal computeShiftTimeCount(String shiftSubId, String equipmentId, String validDate) {
- Integer shiftCount = this.baseMapper.computeShiftTimeCount(shiftSubId, equipmentId, validDate);
+ public BigDecimal computeShiftTimeCount(String equipmentId, String validDate) {
+ Integer shiftCount = this.baseMapper.computeShiftTimeCount(equipmentId, validDate);
return new BigDecimal(shiftCount).multiply(new BigDecimal("8")).multiply(new BigDecimal("60"));
}
+ /**
+ * 鑷姩鐢熸垚璁惧宸ヤ綔鏃ュ巻
+ */
+ @Override
+ public void generateDeviceCalendar() {
+ // 鏆傚畾姣忓ぉ鏅氫笂11鐐规墽琛�
+ //鏌ヨ榛樿鐝埗
+ List<MdcDeviceCalendarVo> acquiesceShift = this.baseMapper.findAcquiesceShift();
+ // 鑾峰彇鏄庢棩鏃ユ湡
+ String localDate = LocalDate.now().plusDays(1).toString();
+ // 鑾峰彇璁惧鍒楄〃
+ List<MdcEquipment> equipmentList = mdcEquipmentService.list();
+ List<MdcDeviceCalendar> result = new ArrayList<>();
+ for (MdcEquipment mdcEquipment : equipmentList) {
+ List<MdcDeviceCalendar> list = super.list(new LambdaQueryWrapper<MdcDeviceCalendar>().eq(MdcDeviceCalendar::getEquipmentId, mdcEquipment.getEquipmentId()).eq(MdcDeviceCalendar::getEffectiveDate, localDate.replaceAll("-", "")));
+ if (list == null || list.isEmpty()) {
+ List<MdcVacationManagement> vacationManagementList = mdcVacationManagementService.list(new LambdaQueryWrapper<MdcVacationManagement>().eq(MdcVacationManagement::getEquipmentId, mdcEquipment.getEquipmentId()).eq(MdcVacationManagement::getVacationDate, localDate));
+ if (vacationManagementList == null || vacationManagementList.isEmpty()) {
+ String effectiveDate = localDate.replaceAll("-", "");
+ for (MdcDeviceCalendarVo mdcDeviceCalendarVo : acquiesceShift) {
+ MdcDeviceCalendar mdcDeviceCalendar = new MdcDeviceCalendar();
+ mdcDeviceCalendar.setEquipmentId(mdcEquipment.getEquipmentId());
+ mdcDeviceCalendar.setEffectiveDate(effectiveDate);
+ mdcDeviceCalendar.setShiftId(mdcDeviceCalendarVo.getShiftId());
+ mdcDeviceCalendar.setShiftSubId(mdcDeviceCalendarVo.getShiftSubId());
+ result.add(mdcDeviceCalendar);
+ }
+ }
+ }
+ }
+ if (!result.isEmpty()) {
+ super.saveBatch(result);
+ }
+ }
+
+ @Override
+ public MdcDeviceCalendar getFirstData(String equipmentId) {
+ return this.baseMapper.getFirstData(equipmentId);
+ }
+
}
--
Gitblit v1.9.3