From ffe9c08011d25c39880d107a5f3de249d309c1b4 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 13 十一月 2023 12:37:56 +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/MdcDeviceCalendarServiceImpl.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 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..06d005d 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
@@ -6,11 +6,14 @@
 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.MdcEquipment;
 import org.jeecg.modules.mdc.entity.MdcShiftSub;
+import org.jeecg.modules.mdc.entity.MdcVacationManagement;
 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 +23,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 +41,9 @@
     private IMdcEquipmentService mdcEquipmentService;
     @Resource
     private IMdcShiftSubService mdcShiftSubService;
+
+    @Resource
+    private IMdcVacationManagementService mdcVacationManagementService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -178,4 +185,39 @@
         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);
+        }
+    }
+
 }

--
Gitblit v1.9.3