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/MdcVacationManagementServiceImpl.java | 101 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 99 insertions(+), 2 deletions(-)
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java
index f064d96..33fb1af 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java
@@ -4,14 +4,24 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import net.sf.saxon.expr.Component;
import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.mdc.entity.MdcEquipment;
+import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration;
import org.jeecg.modules.mdc.entity.MdcVacationManagement;
import org.jeecg.modules.mdc.mapper.MdcVacationManagementMappper;
import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecg.modules.mdc.service.IMdcVacationManagementService;
import org.jeecg.modules.mdc.util.DateUtils;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
@@ -40,7 +50,20 @@
@Override
public Boolean addVacation(MdcVacationManagement mdcVacationManagement) {
- return this.save(mdcVacationManagement);
+ boolean result = false;
+ String[] equipmentIds = mdcVacationManagement.getEquipmentIds().split(",");
+ for (String equipmentId : equipmentIds) {
+ MdcEquipment mdcEquipment = equipmentService.findEquipmentNameByEquipmentId(equipmentId);
+ MdcVacationManagement vacationManagement = new MdcVacationManagement();
+ BeanUtils.copyProperties(mdcVacationManagement, vacationManagement);
+ vacationManagement.setEquipmentId(mdcEquipment.getEquipmentId());
+ vacationManagement.setEquipmentName(mdcEquipment.getEquipmentName());
+ boolean b = super.save(vacationManagement);
+ if (b) {
+ result = true;
+ }
+ }
+ return result;
}
@Override
@@ -96,7 +119,7 @@
*/
@Override
public void generateWeekDays() {
- MdcVacationManagement mdcVacationManagement = this.baseMapper.selectOne(new LambdaQueryWrapper<MdcVacationManagement>().eq(MdcVacationManagement::getType, "鍙屼紤鏃�").orderByDesc(MdcVacationManagement::getVacationDate).last("limit 1"));
+ MdcVacationManagement mdcVacationManagement = this.baseMapper.selectLastWeekDays();
// 鑾峰彇鐢熸垚寮�濮嬫椂闂村拰缁撴潫鏃堕棿
LocalDate startDate;
LocalDate endDate;
@@ -108,7 +131,81 @@
startDate = vacationDate.with(TemporalAdjusters.firstDayOfMonth());
endDate = vacationDate.with(TemporalAdjusters.lastDayOfMonth());
}
+ List<MdcVacationManagement> list = new ArrayList<>();
// 鑾峰彇寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勪腑闂村弻浼戞棩闆嗗悎
List<Date> dateList = DateUtils.getWeekDays(startDate, endDate);
+ if (!dateList.isEmpty()) {
+ // 鑾峰彇鎵�鏈夎澶�
+ List<MdcEquipment> equipmentList = equipmentService.list();
+ for (Date date : dateList) {
+ for (MdcEquipment mdcEquipment : equipmentList) {
+ MdcVacationManagement management = new MdcVacationManagement();
+ management.setEquipmentId(mdcEquipment.getEquipmentId());
+ management.setEquipmentName(mdcEquipment.getEquipmentName());
+ management.setVacationDate(date);
+ management.setVacationType("鍙屼紤鏃�");
+ management.setCreateBy("root");
+ list.add(management);
+ }
+ }
+ super.saveBatch(list);
+ }
+
+ }
+
+ @Override
+ public ModelAndView exportXls(String userId, MdcVacationManagement mdcVacationManagement) {
+ LambdaQueryWrapper<MdcVacationManagement> queryWrapper = new LambdaQueryWrapper<>();
+ //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勮澶囦俊鎭�
+ List<String> equipmentIds = new ArrayList<>();
+ if (StringUtils.isNotEmpty(mdcVacationManagement.getParentId()) && StringUtils.isEmpty(mdcVacationManagement.getEquipmentId())) {
+ if ("2".equals(mdcVacationManagement.getTypeTree())) {
+ //閮ㄩ棬灞傜骇
+ equipmentIds = equipmentService.getEquipmentIdsByDepart(userId, mdcVacationManagement.getParentId());
+ } else {
+ //浜х嚎灞傜骇
+ equipmentIds = equipmentService.getEquipmentIdsProduction(userId, mdcVacationManagement.getParentId());
+ }
+ } else if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentId())) {
+ //鍗曞彴璁惧淇℃伅
+ mdcVacationManagement.setMdcSectionIds(Collections.singletonList(mdcVacationManagement.getEquipmentId()));
+ } else {
+ //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勮澶囦俊鎭�
+ if ("2".equals(mdcVacationManagement.getTypeTree())) {
+ //閮ㄩ棬灞傜骇
+ equipmentIds = equipmentService.getEquipmentIdsByDepart(userId, null);
+ } else {
+ equipmentIds = equipmentService.getEquipmentIdsProduction(userId, null);
+ }
+ }
+ if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()) {
+ mdcVacationManagement.setMdcSectionIds(equipmentIds);
+ }
+ if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()) {
+ return null;
+ } else {
+ queryWrapper.in(MdcVacationManagement::getEquipmentId, mdcVacationManagement.getMdcSectionIds());
+ }
+ if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentId())) {
+ queryWrapper.like(MdcVacationManagement::getEquipmentId, mdcVacationManagement.getEquipmentId());
+ }
+ if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentName())) {
+ queryWrapper.like(MdcVacationManagement::getEquipmentName, mdcVacationManagement.getEquipmentName());
+ }
+ if (StringUtils.isNotEmpty(mdcVacationManagement.getStartTime()) && StringUtils.isNotEmpty(mdcVacationManagement.getEndTime())) {
+ queryWrapper.between(MdcVacationManagement::getVacationDate, mdcVacationManagement.getStartTime(), mdcVacationManagement.getEndTime());
+ }
+ queryWrapper.orderByAsc(MdcVacationManagement::getVacationDate);
+ // Step.2 AutoPoi 瀵煎嚭Excel
+ ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+ List<MdcVacationManagement> mdcStandardProcessDurations = this.baseMapper.selectList(queryWrapper);
+ // 瀵煎嚭鏂囦欢鍚嶇О
+ mv.addObject(NormalExcelConstants.FILE_NAME, "鍋囨湡绠$悊鍒楄〃");
+ mv.addObject(NormalExcelConstants.CLASS, MdcVacationManagement.class);
+ //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+ LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("鍋囨湡绠$悊鍒楄〃鏁版嵁", "瀵煎嚭浜�:" + user.getRealname(), "鍋囨湡绠$悊"));
+ mv.addObject(NormalExcelConstants.DATA_LIST, mdcStandardProcessDurations);
+ return mv;
}
}
--
Gitblit v1.9.3