From 094a9290c836827bc1f45fd3549e7cd2ea1e1e45 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 07 十一月 2023 09:45:36 +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 |   74 +++++++++++++++++++++++++++++--------
 1 files changed, 58 insertions(+), 16 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 a469d00..5d3eec2 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
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
@@ -16,16 +15,14 @@
 import org.jeecg.modules.mdc.vo.MdcDeviceCalendarQueryVo;
 import org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.time.DayOfWeek;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.time.temporal.ChronoUnit;
-import java.util.*;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
 /**
  * @Description: 璁惧宸ヤ綔鏃ュ巻琛�
@@ -81,6 +78,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean saveCalendar(EquipmentCalendarVo calendarVo) {
         String[] equipmentIdList = calendarVo.getEquipmentId().split(",");
         List<String> dateList = calendarVo.getDateList();
@@ -89,6 +87,7 @@
         for (String equipmentId : equipmentIdList) {
             for (String date : dateList) {
                 for (MdcShiftSub mdcShiftSub : mdcShiftSubList) {
+                    this.baseMapper.delete(new LambdaQueryWrapper<MdcDeviceCalendar>().eq(MdcDeviceCalendar::getEquipmentId, equipmentId).eq(MdcDeviceCalendar::getEffectiveDate, date));
                     MdcDeviceCalendar mdcDeviceCalendar = new MdcDeviceCalendar();
                     mdcDeviceCalendar.setEffectiveDate(date);
                     mdcDeviceCalendar.setEquipmentId(equipmentId);
@@ -114,20 +113,21 @@
         List<MdcDeviceCalendarVo> result = new ArrayList<>();
         try {
             //鏌ヨ榛樿鐝埗
-            List<MdcDeviceCalendarVo> acquiesceShift = this.baseMapper.findAcquiesceShift();
+//            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);
                 }
+//                else {
+//                    acquiesceShift.forEach(mdcDeviceCalendarVo -> {
+//                        mdcDeviceCalendarVo.setEquipmentId(equipmentId);
+//                        mdcDeviceCalendarVo.setEffectiveDate(stringDate);
+//                    });
+//                    // 璁剧疆榛樿鐝埗
+//                    result.addAll(acquiesceShift);
+//                }
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -136,4 +136,46 @@
         return result;
     }
 
+    /**
+     * 璁$畻瀹為檯鐝骇澶╂暟
+     *
+     * @param shiftSubId
+     * @param equipmentId
+     * @param validDate
+     * @return
+     */
+    @Override
+    public BigDecimal computeActualWorkDayCount(String shiftSubId, String equipmentId, String validDate) {
+        validDate = validDate.replaceAll("-", "");
+        List<String> validDateList = this.baseMapper.computeActualWorkDayCount(shiftSubId, equipmentId, validDate);
+        return new BigDecimal(validDateList.size());
+    }
+
+    /**
+     * 鏌ヨ鐝鍒嗙被
+     *
+     * @param equipmentId
+     * @param validDate
+     * @return
+     */
+    @Override
+    public List<String> findShiftSort(String equipmentId, String validDate) {
+        validDate = validDate.replaceAll("-", "");
+        return this.baseMapper.findShiftSort(equipmentId, validDate);
+    }
+
+    /**
+     * 璁$畻鐝鏃堕棿
+     *
+     * @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);
+        return new BigDecimal(shiftCount).multiply(new BigDecimal("8")).multiply(new BigDecimal("60"));
+    }
+
 }

--
Gitblit v1.9.3