From 4b5c6891b92a186685b713627fe6701074b67435 Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期五, 14 三月 2025 14:48:31 +0800
Subject: [PATCH] 工时管理1.0
---
performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java | 3
performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java | 19
performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java | 446 ++++++++-------
performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java | 294 +++++----
performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java | 108 ++-
performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java | 9
performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java | 38
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 14
performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml | 2
performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java | 3
performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java | 7
performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java | 11
performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java | 21
performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java | 245 +++++---
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java | 22
performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java | 2
performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java | 68 +-
performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml | 127 +---
ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml | 24
performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java | 21
performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java | 9
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java | 21
performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java | 3
cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java | 39
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java | 9
performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java | 77 +-
performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java | 21
27 files changed, 869 insertions(+), 794 deletions(-)
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java
index cbafb5d..3625815 100644
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java
@@ -3,13 +3,17 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
+
import cn.hutool.core.util.ObjectUtil;
+
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
+
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.vo.StandardProductVO;
import com.ruoyi.common.core.domain.entity.User;
@@ -30,6 +34,7 @@
import com.ruoyi.requier.pojo.PkSlave;
import com.ruoyi.requier.service.InsOrderPlanService;
import com.ruoyi.requier.service.PkMasterService;
+import com.ruoyi.requier.service.impl.InsOrderPlanServiceImpl;
import com.ruoyi.system.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
@@ -96,11 +101,12 @@
@Resource
private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
+
//娓╁害寰幆鏁伴噰
@Override
@Transactional(rollbackFor = Exception.class)
public int temDataAcquisition(PkMaster pkMaster) {
- Integer userId = SecurityUtils.getUserId().intValue();
+ Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
//鏌ヨ鏁伴噰鍏宠仈鐨勫瓙琛ㄤ俊鎭�
PkMaster master = new PkMaster();
List<PkMaster> pkMasters = pkMasterMapper.selectList(Wrappers.<PkMaster>lambdaQuery()
@@ -532,12 +538,12 @@
if(isWithinRange) {
// 姝e父涓婄彮
auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
- auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal(accuracy(manHour,count))); // 宸ユ椂
+ auxiliaryOutputWorkingHours.setWorkTime(accuracy(manHour,count)); // 宸ユ椂
auxiliaryOutputWorkingHours.setAmount(count); // 闈炲姞鐝暟閲�
}else{
// 鍔犵彮
auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
- auxiliaryOutputWorkingHours.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,count))); // 宸ユ椂
+ auxiliaryOutputWorkingHours.setOvertimeWorkTime(accuracy(manHour,count)); // 宸ユ椂
auxiliaryOutputWorkingHours.setOvertimeAmount(count); // 闈炲姞鐝暟閲�
}
if(isCross) {
@@ -547,15 +553,15 @@
String date = LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters);// 褰撳ぉ
auxiliaryOutputWorkingHours.setDateTime(date); // 鏃ユ湡
}
- auxiliaryOutputWorkingHours.setOutputWorkTime(new BigDecimal(accuracy(manHour,count))); // 浜у嚭宸ユ椂
+ auxiliaryOutputWorkingHours.setOutputWorkTime(accuracy(manHour,count)); // 浜у嚭宸ユ椂
auxiliaryOutputWorkingHours.setWeekDay(insOrderPlanServiceImpl.getWeek(LocalDateTime.now().format(formatters)));//鏄熸湡
auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
- auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+ auxiliaryOutputWorkingHours.setCheckId(userId);//妫�娴嬩汉
auxiliaryOutputWorkingHours.setSample(insSample.getSampleCode());//鏍峰搧缂栧彿
auxiliaryOutputWorkingHours.setManHourGroup(workHourMap.getManHourGroup());//宸ユ椂鍒嗙粍
// 鏌ヨ闇�瑕佹搷浣滅殑鏃ユ湡鏄惁鏈夎褰�
List<AuxiliaryOutputWorkingHours> oldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
- .eq(AuxiliaryOutputWorkingHours::getCheck,userId)
+ .eq(AuxiliaryOutputWorkingHours::getCheckId,userId)
.eq(AuxiliaryOutputWorkingHours::getInspectionItem, "娓╁害寰幆")
.eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
.eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
@@ -566,7 +572,7 @@
);
// 鎵�鏈夌殑璁板綍锛堝叾浠栧ぉ + 褰撳墠澶╋級
List<AuxiliaryOutputWorkingHours> addOldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
- .eq(AuxiliaryOutputWorkingHours::getCheck,userId)
+ .eq(AuxiliaryOutputWorkingHours::getCheckId,userId)
.eq(AuxiliaryOutputWorkingHours::getInspectionItem, "娓╁害寰幆")
.eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
.eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
@@ -588,14 +594,14 @@
if(isWithinRange) {
// 姝e父涓婄彮
- auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 宸ユ椂
+ auxiliaryOutputWorkingHours.setWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 宸ユ椂
auxiliaryOutputWorkingHours.setAmount((count - otherDayAmount + allValue)); // 闈炲姞鐝暟閲�
}else {
// 鍔犵彮
- auxiliaryOutputWorkingHours.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 宸ユ椂
+ auxiliaryOutputWorkingHours.setOvertimeWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 宸ユ椂
auxiliaryOutputWorkingHours.setOvertimeAmount((count - otherDayAmount + allValue)); // 闈炲姞鐝暟閲�
}
- auxiliaryOutputWorkingHours.setOutputWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 浜у嚭宸ユ椂
+ auxiliaryOutputWorkingHours.setOutputWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 浜у嚭宸ユ椂
auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
}
}else {
@@ -616,19 +622,18 @@
int num = Objects.isNull(auxiliaryOutputWorkingHours1.getAmount()) ? 0 :auxiliaryOutputWorkingHours1.getAmount(); // 鍘熸湰鐨勬暟閲�
auxiliaryOutputWorkingHours1.setAmount(count - oldAmount + num + allValue); // 闈炲姞鐝暟閲�
auxiliaryOutputWorkingHours1.setOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
- auxiliaryOutputWorkingHours1.setWorkTime(new BigDecimal(accuracy(manHour,(count - oldAmount + num + allValue)))); // 宸ユ椂
- BigDecimal outputWorkTime = new BigDecimal(accuracy(manHour, auxiliaryOutputWorkingHours1.getAmount())).add((Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeWorkTime()) ? new BigDecimal(0) : auxiliaryOutputWorkingHours1.getOvertimeWorkTime()));
- auxiliaryOutputWorkingHours1.setOutputWorkTime(outputWorkTime);// 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
+ auxiliaryOutputWorkingHours1.setWorkTime(accuracy(manHour,(count - oldAmount + num + allValue))); // 宸ユ椂
+ auxiliaryOutputWorkingHours1.setOutputWorkTime(accuracy(manHour,auxiliaryOutputWorkingHours1.getAmount()) +
+ (Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeWorkTime()) ? 0 : auxiliaryOutputWorkingHours1.getOvertimeWorkTime())); // 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
}else{
// 鍔犵彮
// 鎷垮埌鍘熸湰鐨勬暟閲� 涓� 鏂扮殑鏁伴噺鐩稿姞
int num = Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeAmount()) ? 0 :auxiliaryOutputWorkingHours1.getOvertimeAmount(); // 鍘熸湰鐨勬暟閲�
auxiliaryOutputWorkingHours1.setOvertimeAmount(count - oldAmount + num + allValue);// 鍔犵彮鏁伴噺
auxiliaryOutputWorkingHours1.setOvertimeOrderNo(insOrder.getEntrustCode()); // 鍔犵彮濮旀墭鍗曞彿
- auxiliaryOutputWorkingHours1.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,(count - oldAmount + num + allValue)))); // 宸ユ椂
- BigDecimal outputWorkTime = new BigDecimal(accuracy(manHour, auxiliaryOutputWorkingHours1.getOvertimeAmount())).add(
- (Objects.isNull(auxiliaryOutputWorkingHours1.getWorkTime()) ? new BigDecimal(0) : auxiliaryOutputWorkingHours1.getWorkTime()));
- auxiliaryOutputWorkingHours1.setOutputWorkTime(outputWorkTime); // 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
+ auxiliaryOutputWorkingHours1.setOvertimeWorkTime(accuracy(manHour,(count - oldAmount + num + allValue))); // 宸ユ椂
+ auxiliaryOutputWorkingHours1.setOutputWorkTime(accuracy(manHour,auxiliaryOutputWorkingHours1.getOvertimeAmount()) +
+ (Objects.isNull(auxiliaryOutputWorkingHours1.getWorkTime()) ? 0 : auxiliaryOutputWorkingHours1.getWorkTime())); // 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
}
auxiliaryOutputWorkingHoursMapper.updateById(auxiliaryOutputWorkingHours1);
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index ae37bf8..08b58e1 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -1029,6 +1029,7 @@
public List<Map<String, Object>> viewDetails(Map<String, Object> map) {
List<Map<String, Object>> list = new ArrayList<>();
String inspectionItem = map.get("inspectionItem").toString(); // 妫�楠岄」
+ String inspectionItemSubclass = map.get("inspectionItemSubclass").toString(); // 妫�楠屽瓙椤�
if (inspectionItem.equals("鍗曟牴鍨傜洿鐕冪儳")) {
ArrayList<Integer> numbers = new ArrayList<>();
InsProduct insProduct = insProductMapper.selectById(Integer.parseInt(map.get("insProductId").toString()));
@@ -1144,10 +1145,9 @@
} else {
// 鏉惧绠� 杩囨护鍑烘楠岄」鍚嶇О涓�鑷寸殑鏁版嵁
List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .eq(InsProduct::getInsSampleId, Integer.parseInt(map.get("insSampleId").toString())))
- .stream()
- .filter(item -> item.getInspectionItem().equals(inspectionItem))
- .collect(Collectors.toList());
+ .eq(InsProduct::getInspectionItem, inspectionItem)
+ .eq(StringUtils.isNotEmpty(inspectionItemSubclass),InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
+ .eq(InsProduct::getInsSampleId, Integer.parseInt(map.get("insSampleId").toString())));
for (InsProduct product : productList) {
HashMap<String, Object> map2 = new HashMap<>();
map2.put("entrustCode", map.get("entrustCode")); // 濮旀墭缂栧彿
@@ -1160,12 +1160,6 @@
color = insBushingMapper.selectById(product.getInsBushId()).getColor(); // 濂楃
}
map2.put("color", color); // 濂楃棰滆壊
-// InsProductResult result = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
-// .eq(InsProductResult::getInsProductId, product.getId()));
-// if(!Objects.isNull(result)) {
-// List<Map> maps = JSONArray.parseArray(result.getInsValue(), Map.class);
-// map2.put("insValue",maps.get(0).get("v").toString()); // 妫�楠岀粨鏋�
-// }
list.add(map2);
}
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
index 1d96a2c..8c42108 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
@@ -432,11 +432,13 @@
if(sampleIds.contains(insSample.getId())) {
list = selectTemperatureByProductId(productId);
}else {
+ // 灏嗘俯搴﹀惊鐜痠d杩囨护
+ productIds = productIds.stream().filter(item -> !item.equals(productId)).collect(Collectors.toList());
// 鎾ら攢鐨勬槸妫�楠岄」
- List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
.eq(InsProduct::getState, 1)
.eq(InsProduct::getSpecialItemParentId,productId)
- .in(InsProduct::getId, productIds));
+ .in(CollectionUtils.isNotEmpty(productIds),InsProduct::getId, productIds));
Map<String, List<InsProduct>> collect = productList.stream().collect(Collectors.groupingBy(InsProduct::getInspectionItem));
// 鎷垮埌寰幆娆℃暟
Iterator<Map.Entry<String, List<InsProduct>>> iterator = collect.entrySet().iterator();
@@ -475,12 +477,14 @@
if(sampleIds.contains(insSample.getId())) {
list = selectTemperatureNumberByProductId(parentId, inspectionItem);
}else {
+ // 杩囨护鍑烘俯搴﹀惊鐜殑id
+ productIds = productIds.stream().filter(item -> !item.equals(parentId)).collect(Collectors.toList());
// 鏌ヨ鎾ら攢鐨勬俯搴︾偣
List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
.eq(InsProduct::getState, 1)
.eq(InsProduct::getSpecialItemParentId, parentId)
.eq(InsProduct::getInspectionItem, inspectionItem)
- .in(InsProduct::getId, productIds));
+ .in(CollectionUtils.isNotEmpty(productIds),InsProduct::getId, productIds));
// 鏍规嵁妫�楠屽瓙椤瑰緱鍒版俯搴︾偣
Map<String, List<InsProduct>> collect = productList.stream().collect(Collectors.groupingBy(InsProduct::getInspectionItemSubclass));
Iterator<Map.Entry<String, List<InsProduct>>> iterator = collect.entrySet().iterator();
@@ -525,7 +529,16 @@
List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
.in(InsProduct::getId, productIds));
if(CollectionUtils.isNotEmpty(productList)) {
- // 寰楀垽鏂竴涓� 鏄惁鍚湁娓╁害寰幆椤圭洰
+ // 濡傛灉鎾ら攢鐨勯」鐩槸娓╁害寰幆 閭d箞鐩稿簲鐨勫瓙椤归渶瑕佸叏閮ㄦ挙閿�
+ List<InsProduct> collect3 = productList.stream().filter(item -> item.getInspectionItem().equals("娓╁害寰幆")).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(collect3)) {
+ for (InsProduct a : collect3) {
+ insProductMapper.update(null,new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getState,0)
+ .eq(InsProduct::getSpecialItemParentId,a.getId()));
+ }
+ }
+ // 濡傛灉鏄煇涓�涓俯搴� 鏄惁鍚湁娓╁害寰幆瀛愰」
List<InsProduct> collect2 = productList.stream().filter(item -> Objects.nonNull(item.getSpecialItemParentId())
&& NumberUtil.isInteger(item.getInspectionItem())).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(collect2)) {
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
index e7a5ed2..fc78233 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
@@ -211,11 +211,12 @@
insReport.setId(id);
insReport.setState(1);
insReport.setWriteTime(LocalDateTime.now());//鎻愪氦鏃堕棿
- insReport.setWriteUserId(Integer.getInteger(SecurityUtils.getUserId().toString()));//鎻愪氦浜�
+ insReport.setWriteUserId(Integer.parseInt(SecurityUtils.getUserId().toString()));//鎻愪氦浜�
//鑾峰彇鎻愪氦浜虹殑绛惧悕鍦板潃
String signatureUrl;
try {
- signatureUrl = userMapper.selectById(Integer.getInteger(SecurityUtils.getUserId().toString())).getSignatureUrl();
+ Integer i = Integer.parseInt(SecurityUtils.getUserId().toString());
+ signatureUrl = userMapper.selectById(i).getSignatureUrl();
} catch (Exception e) {
throw new ErrorException("鎵句笉鍒扮紪鍒朵汉鐨勭鍚�");
}
@@ -240,7 +241,7 @@
if (ObjectUtils.isNotEmpty(examineTell)) {
insReport.setExamineTell(examineTell);
}
- insReport.setExamineUserId(Integer.getInteger(SecurityUtils.getUserId().toString()));//瀹℃牳浜�
+ insReport.setExamineUserId(Integer.parseInt(SecurityUtils.getUserId().toString()));//瀹℃牳浜�
insReport.setExamineTime(LocalDateTime.now());//瀹℃牳鏃堕棿
if (isExamine == 0) {
//濡傛灉瀹℃牳涓嶉�氳繃
@@ -276,7 +277,7 @@
if (ObjectUtils.isNotEmpty(ratifyTell)) {
insReport.setRatifyTell(ratifyTell);
}
- insReport.setRatifyUserId(Integer.getInteger(SecurityUtils.getUserId().toString()));//鎵瑰噯浜�
+ insReport.setRatifyUserId(Integer.parseInt(SecurityUtils.getUserId().toString()));//鎵瑰噯浜�
insReport.setRatifyTime(LocalDateTime.now());//鎵瑰噯鏃堕棿
if (isRatify == 0) {
//濡傛灉鎵瑰噯涓嶉�氳繃
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java
index 290e0f2..80cb612 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java
@@ -35,7 +35,7 @@
AuxiliaryCorrectionHoursService auxiliaryCorrectionHoursService;
@ApiOperation(value = "鏌ヨ淇宸ユ椂")
- @PostMapping("/selectAuxiliaryCorrectionHours")
+ @GetMapping("/selectAuxiliaryCorrectionHours")
public Result selectAuxiliaryCorrectionHours(Page page,AuxiliaryCorrectionHoursDto entity) throws Exception {
return Result.success(auxiliaryCorrectionHoursService.selectAuxiliaryCorrectionHours(page, entity));
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java
index e70636c..c3f03e6 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java
@@ -24,21 +24,20 @@
@Resource
AuxiliaryOriginalHoursService auxiliaryOriginalHoursService;
- @ApiOperation(value = "鏌ヨ鍘熷宸ユ椂")
- @PostMapping("/selectAuxiliaryOriginalHours")
+ @ApiOperation(value = "宸ユ椂缁熻-鏌ョ湅鍘熷宸ユ椂鍒楄〃")
+ @GetMapping("/selectAuxiliaryOriginalHours")
public Result selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto entity) throws Exception {
return Result.success(auxiliaryOriginalHoursService.selectAuxiliaryOriginalHours(page, entity));
}
- @ApiOperation(value = "瀵煎嚭鍘熷宸ユ椂")
+ @ApiOperation(value = "宸ユ椂缁熻-瀵煎嚭鍘熷宸ユ椂")
@PostMapping("/exportOriginalHours")
- public void exportOriginalHours(@RequestParam("month") String month, @RequestParam("name") String name, @RequestParam("departLims") String departLims,HttpServletResponse response) throws IOException {
- auxiliaryOriginalHoursService.exportWorkingHours(month,name,departLims,response);
- }
-
- @ApiOperation(value = "鏌ヨ鏈堜唤鍏ㄩ儴宸ユ椂")
- @PostMapping("/selectAuxiliaryAllByMonth")
- public Result selectAuxiliaryAllByMonth(@RequestBody AuxiliaryOriginalHoursLookDto dto){
- return Result.success(auxiliaryOriginalHoursService.selectAuxiliaryAllByMonth(dto));
+ public void exportOriginalHours(
+ Page page,
+ @RequestParam("month") String month,
+ @RequestParam(value = "name",required = false) String name,
+ @RequestParam(value = "departLims",required = false) String departLims,
+ HttpServletResponse response) throws IOException {
+ auxiliaryOriginalHoursService.exportWorkingHours(page,month,name,departLims,response);
}
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java
index 5fb7d13..3158c0d 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java
@@ -1,5 +1,4 @@
package com.ruoyi.performance.controller;
-
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.utils.JackSonUtil;
@@ -32,8 +31,8 @@
@Resource
private AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService;
- @ApiOperation(value = "鏌ヨ浜ч噺宸ユ椂")
- @PostMapping("/selectAuxiliaryOutputWorkingHours")
+ @ApiOperation(value = "鏃ュ伐鏃剁鐞�-鏌ョ湅浜ч噺宸ユ椂鍒楄〃")
+ @GetMapping("/selectAuxiliaryOutputWorkingHours")
public Result selectAuxiliaryOutputWorkingHours(Page page,AuxiliaryOutputWorkingHoursDto entity) throws Exception {
return Result.success(auxiliaryOutputWorkingHoursService.selectAuxiliaryOutputWorkingHours(page, entity));
}
@@ -45,8 +44,7 @@
return Result.success(auxiliaryOutputWorkingHoursService.collectWorkingHours(entity));
}
-
- @ApiOperation(value = "瀵煎嚭浜ч噺宸ユ椂+杈呭姪宸ユ椂")
+ @ApiOperation(value = "鏃ュ伐鏃剁鐞�-瀵煎嚭")
@GetMapping("/exportWorkingHours")
public void exportWorkingHours(HttpServletResponse response) throws IOException {
auxiliaryOutputWorkingHoursService.exportWorkingHours(response);
@@ -56,19 +54,6 @@
@PostMapping("/leader")
public Result leader() {
return Result.success();
- }
-
-
- /**
- * 瀵煎嚭浜ч噺宸ユ椂
- * @param response
- * @throws IOException
- */
- @ApiOperation(value = "瀵煎嚭浜ч噺宸ユ椂")
- @PostMapping("/exportOutputHours")
- public void exportOutputHours(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception {
- AuxiliaryOutputWorkingHoursDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHoursDto.class);
- auxiliaryOutputWorkingHoursService.exportOutputHours(entity, response);
}
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java
index bab8fc7..3eba06e 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java
@@ -2,16 +2,14 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.dto.UserPageDto;
import com.ruoyi.common.utils.JackSonUtil;
import com.ruoyi.performance.pojo.AuxiliaryWorkingHours;
import com.ruoyi.performance.service.AuxiliaryWorkingHoursService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
@@ -33,27 +31,28 @@
private AuxiliaryWorkingHoursService auxiliaryWorkingHoursService;
@ApiOperation(value="鏌ヨ杈呭姪宸ユ椂")
- @PostMapping("/selectAuxiliaryWorkingHours")
+ @GetMapping("/selectAuxiliaryWorkingHours")
public Result selectAuxiliaryWorkingHours(Page page,AuxiliaryWorkingHours entity) throws Exception {
return Result.success(auxiliaryWorkingHoursService.selectAuxiliaryWorkingHours(page,entity));
}
- @ApiOperation(value="鍒犻櫎杈呭姪宸ユ椂")
+ @ApiOperation(value="杈呭姪宸ユ椂閰嶇疆-鍒犻櫎")
@PostMapping("/deleteAuxiliaryWorkingHours")
public Result deleteAuxiliaryWorkingHours(Integer id){
return Result.success(auxiliaryWorkingHoursService.deleteAuxiliaryWorkingHours(id));
}
-
- @ApiOperation(value="淇敼杈呭姪宸ユ椂")
+ @ApiOperation(value="杈呭姪宸ユ椂閰嶇疆-缂栬緫")
@PostMapping("/upAuxiliaryWorkingHours")
public Result upAuxiliaryWorkingHours(@RequestBody AuxiliaryWorkingHours auxiliaryWorkingHours){
return Result.success(auxiliaryWorkingHoursService.upAuxiliaryWorkingHours(auxiliaryWorkingHours));
}
-
- @ApiOperation(value="鏂板杈呭姪宸ユ椂")
+ @ApiOperation(value="杈呭姪宸ユ椂閰嶇疆-鏂板")
@PostMapping("/insertAuxiliaryWorkingHours")
public Result insertAuxiliaryWorkingHours(@RequestBody AuxiliaryWorkingHours auxiliaryWorkingHours){
return Result.success(auxiliaryWorkingHoursService.insertAuxiliaryWorkingHours(auxiliaryWorkingHours));
}
+
+
+
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java
index 97b0a81..ae686db 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java
@@ -10,15 +10,11 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
import java.time.LocalDateTime;
+
import java.util.Map;
/**
@@ -38,64 +34,52 @@
@Resource
private AuxiliaryWorkingHoursDayService auxiliaryWorkingHoursDayService;
- @ApiOperation(value = "鏌ヨ宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
- @PostMapping("/selectAuxiliaryWorkingHoursDay")
+ @ApiOperation(value = "鏃ュ伐鏃剁鐞�-鏌ョ湅杈呭姪宸ユ椂鍒楄〃")
+ @GetMapping("/selectAuxiliaryWorkingHoursDay")
public Result selectAuxiliaryWorkingHoursDay(Page page,AuxiliaryWorkingHoursDayDto entity) throws Exception {
return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursDay(page, entity));
}
@ApiOperation(value = "鏍规嵁缂栧彿鏌ヨ杈呭姪宸ユ椂閰嶇疆淇℃伅")
- @PostMapping("/selectAuxiliaryWorkingHoursByNumber")
+ @GetMapping("/selectAuxiliaryWorkingHoursByNumber")
public Result selectAuxiliaryWorkingHoursByNumber(String number) {
return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursByNumber(number));
}
@ApiOperation(value = "鏍规嵁缂栧彿褰撳墠鐢ㄦ埛淇℃伅鏌ヨ鎵�鍦ㄧ彮娆�")
- @PostMapping("/selectshiftByUser")
+ @GetMapping("/selectshiftByUser")
public Result selectshiftByUser(LocalDateTime dateTime) {
return Result.success(auxiliaryWorkingHoursDayService.selectshiftByUser(dateTime));
}
- @ApiOperation(value = "褰曞叆鏁版嵁(宸ユ椂缁熻鐨勮緟鍔╁伐鏃�)")
+ @ApiOperation(value = "鏃ュ伐鏃剁鐞�-褰曞叆杈呭姪宸ユ椂")
@PostMapping("/insertAuxiliaryWorkingHoursDay")
public Result insertAuxiliaryWorkingHoursDay(@RequestBody AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
return Result.success(auxiliaryWorkingHoursDayService.insertAuxiliaryWorkingHoursDay(auxiliaryWorkingHoursDay));
}
- @ApiOperation(value = "鎵瑰噯宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
+ @ApiOperation(value = "鏃ュ伐鏃剁鐞�-鎵瑰噯杈呭姪宸ユ椂")
@PostMapping("/approve")
public Result approve(@RequestBody HoursDay hoursDay ) {
return Result.success(auxiliaryWorkingHoursDayService.checkOrApprove(hoursDay));
}
- @ApiOperation(value = "瀹℃牳宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
+ @ApiOperation(value = "鏃ュ伐鏃剁鐞�-瀹℃牳杈呭姪宸ユ椂")
@PostMapping("/check")
public Result check(@RequestBody HoursDay hoursDay ) {
return Result.success(auxiliaryWorkingHoursDayService.checkOrApprove(hoursDay));
}
- @ApiOperation(value = "缂栬緫宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
+ @ApiOperation(value = "鏃ュ伐鏃剁鐞�-缂栬緫杈呭姪宸ユ椂")
@PostMapping("/updateAuxiliaryWorkingHoursDay")
public Result updateAuxiliaryWorkingHoursDay(@RequestBody AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
return Result.success(auxiliaryWorkingHoursDayService.updateAuxiliaryWorkingHoursDay(auxiliaryWorkingHoursDay));
}
- @ApiOperation(value = "鍒犻櫎宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
+ @ApiOperation(value = "鏃ュ伐鏃剁鐞�-鍒犻櫎杈呭姪宸ユ椂")
@PostMapping("/deleteAuxiliaryWorkingHoursDay")
public Result deleteAuxiliaryWorkingHoursDay(Integer id) {
return Result.success(auxiliaryWorkingHoursDayService.deleteAuxiliaryWorkingHoursDay(id));
- }
-
- /**
- * 瀵煎嚭杈呭姪宸ユ椂
- * @param response
- * @throws IOException
- */
- @ApiOperation(value = "瀵煎嚭杈呭姪宸ユ椂")
- @PostMapping("/exportAssistantHours")
- public void exportAssistantHours(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception {
- AuxiliaryWorkingHoursDayDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryWorkingHoursDayDto.class);
- auxiliaryWorkingHoursDayService.exportWorkingHours(entity, response);
}
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
index 26b0197..04d1c08 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
@@ -115,7 +115,8 @@
@ApiOperation("鐝:鏌ヨ浜哄憳鍒楄〃")
@GetMapping("/getUserList")
public Result<?> getUserList(){
- return Result.success(performanceShiftService.getUserList());
+ Map<String, List<Map<String, Object>>> userList = performanceShiftService.getUserList();
+ return Result.success(userList);
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java b/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java
index e037f05..8b89fb4 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java
@@ -2,13 +2,20 @@
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.performance.pojo.AuxiliaryCorrectionHours;
+import com.ruoyi.performance.utils.CustomerDoubleSerialize;
import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
import lombok.Data;
-
-import java.math.BigDecimal;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ToString
+
//鍘熷宸ユ椂
public class AuxiliaryOriginalHoursDto {
@@ -17,6 +24,7 @@
private String name;
//淇宸ユ椂
+ @ExcelIgnore
private AuxiliaryCorrectionHours auxiliaryCorrectionHours;
@ApiModelProperty("绫诲瀷")
@@ -25,224 +33,256 @@
@ApiModelProperty("1鏃ュ伐鏃�")
@ExcelProperty(value = "1鏃�")
- private BigDecimal oneHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double oneHours;
@ExcelIgnore
private Integer one;
@ApiModelProperty("2鏃ュ伐鏃�")
@ExcelProperty(value = "2鏃�")
- private BigDecimal twoHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twoHours;
@ExcelIgnore
private Integer two;
@ApiModelProperty("3鏃ュ伐鏃�")
@ExcelProperty(value = "3鏃�")
- private BigDecimal threeHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double threeHours;
@ExcelIgnore
private Integer three;
@ApiModelProperty("4鏃ュ伐鏃�")
@ExcelProperty(value = "4鏃�")
- private BigDecimal fourHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double fourHours;
@ExcelIgnore
private Integer four;
@ApiModelProperty("5鏃ュ伐鏃�")
@ExcelProperty(value = "5鏃�")
- private BigDecimal fiveHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double fiveHours;
@ExcelIgnore
private Integer five;
@ApiModelProperty("6鏃ュ伐鏃�")
@ExcelProperty(value = "6鏃�")
- private BigDecimal sixHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double sixHours;
@ExcelIgnore
private Integer six;
@ApiModelProperty("7鏃ュ伐鏃�")
@ExcelProperty(value = "7鏃�")
- private BigDecimal sevenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double sevenHours;
@ExcelIgnore
private Integer seven;
@ApiModelProperty("8鏃ュ伐鏃�")
@ExcelProperty(value = "8鏃�")
- private BigDecimal eightHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double eightHours;
@ExcelIgnore
private Integer eight;
@ApiModelProperty("9鏃ュ伐鏃�")
@ExcelProperty(value = "9鏃�")
- private BigDecimal nineHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double nineHours;
@ExcelIgnore
private Integer nine;
@ApiModelProperty("10鏃ュ伐鏃�")
@ExcelProperty(value = "10鏃�")
- private BigDecimal tenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double tenHours;
@ExcelIgnore
private Integer ten;
@ApiModelProperty("11鏃ュ伐鏃�")
@ExcelProperty(value = "11鏃�")
- private BigDecimal elevenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double elevenHours;
@ExcelIgnore
private Integer eleven;
@ApiModelProperty("12鏃ュ伐鏃�")
@ExcelProperty(value = "12鏃�")
- private BigDecimal twelveHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twelveHours;
@ExcelIgnore
private Integer twelve;
@ApiModelProperty("13鏃ュ伐鏃�")
@ExcelProperty(value = "13鏃�")
- private BigDecimal thirteenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double thirteenHours;
@ExcelIgnore
private Integer thirteen;
@ApiModelProperty("14鏃ュ伐鏃�")
@ExcelProperty(value = "14鏃�")
- private BigDecimal fourteenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double fourteenHours;
@ExcelIgnore
private Integer fourteen;
@ApiModelProperty("15鏃ュ伐鏃�")
@ExcelProperty(value = "15鏃�")
- private BigDecimal fifteenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double fifteenHours;
@ExcelIgnore
private Integer fifteen;
@ApiModelProperty("16鏃ュ伐鏃�")
@ExcelProperty(value = "16鏃�")
- private BigDecimal sixteenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double sixteenHours;
@ExcelIgnore
private Integer sixteen;
@ApiModelProperty("17鏃ュ伐鏃�")
@ExcelProperty(value = "17鏃�")
- private BigDecimal seventeenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double seventeenHours;
@ExcelIgnore
private Integer seventeen;
@ApiModelProperty("18鏃ュ伐鏃�")
@ExcelProperty(value = "18鏃�")
- private BigDecimal eighteenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double eighteenHours;
@ExcelIgnore
private Integer eighteen;
@ApiModelProperty("19鏃ュ伐鏃�")
@ExcelProperty(value = "19鏃�")
- private BigDecimal nineteenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double nineteenHours;
@ExcelIgnore
private Integer nineteen;
@ApiModelProperty("20鏃ュ伐鏃�")
@ExcelProperty(value = "20鏃�")
- private BigDecimal twentyHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentyHours;
@ExcelIgnore
private Integer twenty;
@ApiModelProperty("21鏃ュ伐鏃�")
@ExcelProperty(value = "21鏃�")
- private BigDecimal twentyOneHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentyOneHours;
@ExcelIgnore
private Integer twentyOne;
@ApiModelProperty("22鏃ュ伐鏃�")
@ExcelProperty(value = "22鏃�")
- private BigDecimal twentyTwoHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentyTwoHours;
@ExcelIgnore
private Integer twentyTwo;
@ApiModelProperty("23鏃ュ伐鏃�")
@ExcelProperty(value = "23鏃�")
- private BigDecimal twentyThreeHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentyThreeHours;
@ExcelIgnore
private Integer twentyThree;
@ApiModelProperty("24鏃ュ伐鏃�")
@ExcelProperty(value = "24鏃�")
- private BigDecimal twentyFourHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentyFourHours;
@ExcelIgnore
private Integer twentyFour;
@ApiModelProperty("25鏃ュ伐鏃�")
@ExcelProperty(value = "25鏃�")
- private BigDecimal twentyFiveHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentyFiveHours;
@ExcelIgnore
private Integer twentyFive;
@ApiModelProperty("26鏃ュ伐鏃�")
@ExcelProperty(value = "26鏃�")
- private BigDecimal twentySixHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentySixHours;
@ExcelIgnore
private Integer twentySix;
@ApiModelProperty("27鏃ュ伐鏃�")
@ExcelProperty(value = "27鏃�")
- private BigDecimal twentySevenHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentySevenHours;
@ExcelIgnore
private Integer twentySeven;
@ApiModelProperty("28鏃ュ伐鏃�")
@ExcelProperty(value = "28鏃�")
- private BigDecimal twentyEightHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentyEightHours;
@ExcelIgnore
private Integer twentyEight;
@ApiModelProperty("29鏃ュ伐鏃�")
@ExcelProperty(value = "29鏃�")
- private BigDecimal twentyNineHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double twentyNineHours;
@ExcelIgnore
private Integer twentyNine;
@ApiModelProperty("30鏃ュ伐鏃�")
@ExcelProperty(value = "30鏃�")
- private BigDecimal thirtyHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double thirtyHours;
@ExcelIgnore
private Integer thirty;
@ApiModelProperty("31鏃ュ伐鏃�")
@ExcelProperty(value = "31鏃�")
- private BigDecimal thirtyOneHours;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double thirtyOneHours;
@ExcelIgnore
private Integer thirtyOne;
@ApiModelProperty("鎬诲伐鏃�")
@ExcelProperty(value = "鎬诲伐鏃�")
- private BigDecimal total;
+ @JsonSerialize(using = CustomerDoubleSerialize.class)
+ private Double total;
@ApiModelProperty("鏈堜唤")
@ExcelProperty(value = "鏈堜唤")
diff --git a/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java b/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java
index 0b5699a..acee277 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java
@@ -11,9 +11,10 @@
public class AuxiliaryOutputWorkingHoursDto extends AuxiliaryOutputWorkingHours {
@ApiModelProperty("妫�娴嬩汉")
- @ExcelProperty(index = 1, value = "妫�娴嬩汉")
+ @ExcelProperty(value = "妫�娴嬩汉")
private String name;
- @ApiModelProperty("鐢电紗鏍囪瘑")
- private String cableTag;
+
+ // 鐘舵�� 宸叉彁浜� 宸插鏍� 宸叉壒鍑�
+ private String state;
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java
index 15afc60..084e040 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java
@@ -4,11 +4,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.performance.dto.AuxiliaryAllDto;
-import com.ruoyi.performance.dto.AuxiliaryOriginalHoursLookDto;
+
import com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto;
import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
import org.apache.ibatis.annotations.Param;
+
import java.util.List;
import java.util.Map;
@@ -35,21 +35,4 @@
List<AuxiliaryOutputWorkingHours> selectListByIds(@Param("ids") List<Integer> ids);
List<AuxiliaryOutputWorkingHours> selectLists(@Param("ew") QueryWrapper<AuxiliaryOutputWorkingHours> ew, @Param("ids") List<Integer> ids);
-
- /**
- * 鏌ヨ
- * @param dto
- * @return
- */
- List<AuxiliaryAllDto> selectAuxiliaryAllByMonth(@Param("dto") AuxiliaryOriginalHoursLookDto dto, @Param("userIds") List<Integer> userIds);
-
- /**
- * 鏌ヨ杈呭姪宸ユ椂
- * @param dto
- * @param userIds
- * @return
- */
- List<AuxiliaryAllDto> selectSubsidiaryAllByMonth(@Param("dto") AuxiliaryOriginalHoursLookDto dto, @Param("userIds") List<Integer> userIds);
-
- List<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHoursList(@Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Integer> ids);
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java b/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java
index e786968..a9557c6 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java
@@ -1,15 +1,18 @@
package com.ruoyi.performance.pojo;
import com.alibaba.excel.annotation.ExcelProperty;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
/**
* <p>
@@ -23,7 +26,7 @@
@Setter
@TableName("auxiliary_correction_hours")
@ApiModel(value = "AuxiliaryCorrectionHours瀵硅薄", description = "宸ユ椂缁熻鐨勪慨姝e伐鏃�")
-public class AuxiliaryCorrectionHours implements Serializable {
+public class AuxiliaryCorrectionHours implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@@ -37,127 +40,127 @@
@ApiModelProperty("1")
@ExcelProperty(value = "1鏃�")
- private BigDecimal oneHours;
+ private Double oneHours;
@ApiModelProperty("2")
@ExcelProperty(value = "2鏃�")
- private BigDecimal twoHours;
+ private Double twoHours;
@ApiModelProperty("3")
@ExcelProperty(value = "3鏃�")
- private BigDecimal threeHours;
+ private Double threeHours;
@ApiModelProperty("4")
@ExcelProperty(value = "4鏃�")
- private BigDecimal fourHours;
+ private Double fourHours;
@ApiModelProperty("5")
@ExcelProperty(value = "5鏃�")
- private BigDecimal fiveHours;
+ private Double fiveHours;
@ApiModelProperty("6")
@ExcelProperty(value = "6鏃�")
- private BigDecimal sixHours;
+ private Double sixHours;
@ApiModelProperty("7")
@ExcelProperty(value = "7鏃�")
- private BigDecimal sevenHours;
+ private Double sevenHours;
@ApiModelProperty("8")
@ExcelProperty(value = "8鏃�")
- private BigDecimal eightHours;
+ private Double eightHours;
@ApiModelProperty("9")
@ExcelProperty(value = "9鏃�")
- private BigDecimal nineHours;
+ private Double nineHours;
@ApiModelProperty("10")
@ExcelProperty(value = "10鏃�")
- private BigDecimal tenHours;
+ private Double tenHours;
@ApiModelProperty("11")
@ExcelProperty(value = "11鏃�")
- private BigDecimal elevenHours;
+ private Double elevenHours;
@ApiModelProperty("12")
@ExcelProperty(value = "12鏃�")
- private BigDecimal twelveHours;
+ private Double twelveHours;
@ApiModelProperty("13")
@ExcelProperty(value = "13鏃�")
- private BigDecimal thirteenHours;
+ private Double thirteenHours;
@ApiModelProperty("14")
@ExcelProperty(value = "14鏃�")
- private BigDecimal fourteenHours;
+ private Double fourteenHours;
@ApiModelProperty("15")
@ExcelProperty(value = "15鏃�")
- private BigDecimal fifteenHours;
+ private Double fifteenHours;
@ApiModelProperty("16")
@ExcelProperty(value = "16鏃�")
- private BigDecimal sixteenHours;
+ private Double sixteenHours;
@ApiModelProperty("17")
@ExcelProperty(value = "17鏃�")
- private BigDecimal seventeenHours;
+ private Double seventeenHours;
@ApiModelProperty("18")
@ExcelProperty(value = "18鏃�")
- private BigDecimal eighteenHours;
+ private Double eighteenHours;
@ApiModelProperty("19")
@ExcelProperty(value = "19鏃�")
- private BigDecimal nineteenHours;
+ private Double nineteenHours;
@ApiModelProperty("20")
@ExcelProperty(value = "20鏃�")
- private BigDecimal twentyHours;
+ private Double twentyHours;
@ApiModelProperty("21")
@ExcelProperty(value = "21鏃�")
- private BigDecimal twentyOneHours;
+ private Double twentyOneHours;
@ApiModelProperty("22")
@ExcelProperty(value = "22鏃�")
- private BigDecimal twentyTwoHours;
+ private Double twentyTwoHours;
@ApiModelProperty("23")
@ExcelProperty(value = "23鏃�")
- private BigDecimal twentyThreeHours;
+ private Double twentyThreeHours;
@ApiModelProperty("24")
@ExcelProperty(value = "24鏃�")
- private BigDecimal twentyFourHours;
+ private Double twentyFourHours;
@ApiModelProperty("25")
@ExcelProperty(value = "25鏃�")
- private BigDecimal twentyFiveHours;
+ private Double twentyFiveHours;
@ApiModelProperty("26")
@ExcelProperty(value = "26鏃�")
- private BigDecimal twentySixHours;
+ private Double twentySixHours;
@ApiModelProperty("27")
@ExcelProperty(value = "27鏃�")
- private BigDecimal twentySevenHours;
+ private Double twentySevenHours;
@ApiModelProperty("28")
@ExcelProperty(value = "28鏃�")
- private BigDecimal twentyEightHours;
+ private Double twentyEightHours;
@ApiModelProperty("29")
@ExcelProperty(value = "29鏃�")
- private BigDecimal twentyNineHours;
+ private Double twentyNineHours;
@ApiModelProperty("30")
@ExcelProperty(value = "30鏃�")
- private BigDecimal thirtyHours;
+ private Double thirtyHours;
@ApiModelProperty("31")
@ExcelProperty(value = "31鏃�")
- private BigDecimal thirtyOneHours;
+ private Double thirtyOneHours;
@ApiModelProperty("鏈堜唤")
@ExcelProperty(value = "鏈堜唤")
diff --git a/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java b/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java
index 45fecbe..1116849 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java
@@ -1,16 +1,17 @@
package com.ruoyi.performance.pojo;
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
+
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
+import lombok.ToString;
import java.io.Serializable;
-import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@@ -25,99 +26,92 @@
@Setter
@TableName("auxiliary_output_working_hours")
@ApiModel(value = "AuxiliaryOutputWorkingHours瀵硅薄", description = "鏃ュ伐鏃剁鐞嗙殑浜ч噺宸ユ椂")
-@ExcelIgnoreUnannotated
+@ToString
public class AuxiliaryOutputWorkingHours implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
+ @ExcelIgnore
private Integer id;
- @ApiModelProperty("妫�娴嬮」鍒嗙被")
- @ExcelProperty(index = 2, value = "妫�娴嬮」鍒嗙被")
- private String inspectionItemClass;
-
- @ApiModelProperty("妫�娴嬮」")
- @ExcelProperty(index = 3, value = "妫�娴嬮」")
+ @ApiModelProperty("妫�娴嬬埗椤�")
+ @ExcelProperty(value = "妫�娴嬬埗椤�")
private String inspectionItem;
@ApiModelProperty("妫�娴嬪瓙椤�")
- @ExcelProperty(index = 4, value = "妫�娴嬪瓙椤�")
+ @ExcelProperty(value = "妫�娴嬪瓙椤�")
private String inspectionItemSubclass;
- @ApiModelProperty("鏍峰搧id")
- private Integer sampleId;
-
@ApiModelProperty("鏍峰搧缂栧彿")
- @ExcelProperty(index = 6, value = "鏍峰搧缂栧彿")
+ @ExcelProperty(value = "鏍峰搧缂栧彿")
private String sample;
@ApiModelProperty("鍔犵彮濮旀墭鍗曞彿")
+ @ExcelProperty(value = "鍔犵彮濮旀墭鍗曞彿")
private String overtimeOrderNo;
@ApiModelProperty("鍔犵彮宸ユ椂")
- private BigDecimal overtimeWorkTime;
+ @ExcelProperty(value = "鍔犵彮宸ユ椂")
+ private Double overtimeWorkTime;
@ApiModelProperty("鍔犵彮鏁伴噺")
+ @ExcelProperty(value = "鍔犵彮鏁伴噺")
private Integer overtimeAmount;
@ApiModelProperty("闈炲姞鐝鎵樺崟鍙�")
- private Integer orderId;
-
- @ApiModelProperty("濮旀墭鍗曞彿")
- @ExcelProperty(index = 5, value = "濮旀墭鍗曞彿")
+ @ExcelProperty(value = "闈炲姞鐝鎵樺崟鍙�")
private String orderNo;
- @ApiModelProperty("宸ユ椂")
- private BigDecimal workTime;
+ @ApiModelProperty("闈炲姞鐝伐鏃�")
+ @ExcelProperty(value = "闈炲姞鐝伐鏃�")
+ private Double workTime;
- @ApiModelProperty("鏁伴噺")
+ @ApiModelProperty("闈炲姞鐝暟閲�")
+ @ExcelProperty(value = "闈炲姞鐝暟閲�")
private Integer amount;
@ApiModelProperty("浜ч噺宸ユ椂")
- @ExcelProperty(index = 7, value = "浜ч噺宸ユ椂")
- private BigDecimal outputWorkTime;
+ @ExcelProperty(value = "浜ч噺宸ユ椂")
+ private Double outputWorkTime;
@ApiModelProperty("鏃ユ湡")
- @ExcelProperty(index = 10, value = "鏃ユ湡")
+ @ExcelProperty(value = "鏃ユ湡")
private String dateTime;
@ApiModelProperty("鍛ㄦ")
- @ExcelProperty(index = 11, value = "鍛ㄦ")
+ @ExcelProperty(value = "鍛ㄦ")
private String week;
@ApiModelProperty("鏄熸湡")
- @ExcelProperty(index = 12, value = "鏄熸湡")
+ @ExcelProperty(value = "鏄熸湡")
private String weekDay;
@ApiModelProperty("妫�娴嬩汉id")
- @TableField("`check`")
- private Integer check;
+ @ExcelIgnore
+ private Integer checkId;
@ApiModelProperty("鍒涘缓鏃堕棿")
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ExcelIgnore
private LocalDateTime createTime;
@ApiModelProperty("淇敼鏃堕棿")
@TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ExcelIgnore
private LocalDateTime updateTime;
@ApiModelProperty("鍒涘缓浜篿d")
@TableField(fill = FieldFill.INSERT)
+ @ExcelIgnore
private Integer createUser;
@ApiModelProperty("淇敼浜篿d")
@TableField(fill = FieldFill.INSERT_UPDATE)
+ @ExcelIgnore
private Integer updateUser;
@ApiModelProperty("宸ユ椂鍒嗙粍")
- @ExcelProperty(index = 8, value = "宸ユ椂鍒嗙粍")
+ @ExcelIgnore
private String manHourGroup;
-
- @ApiModelProperty("鍗曚环")
- @ExcelProperty(index = 9, value = "鍗曚环")
- private BigDecimal price;
-
- @ApiModelProperty("妫�楠岄」id")
- private Integer insProductId;
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java
index 05dd08c..7623701 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java
@@ -2,13 +2,10 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.performance.dto.AuxiliaryAllDto;
import com.ruoyi.performance.dto.AuxiliaryOriginalHoursDto;
import com.ruoyi.performance.dto.AuxiliaryOriginalHoursLookDto;
-
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-import java.util.List;
import java.util.Map;
public interface AuxiliaryOriginalHoursService {
@@ -20,11 +17,5 @@
*
* @param response
*/
- void exportWorkingHours(String month, String name, String departLims,HttpServletResponse response) throws IOException;
-
- /**
- * 鏌ヨ鏈堜唤鍏ㄩ儴宸ユ椂
- * @return
- */
- List<AuxiliaryAllDto> selectAuxiliaryAllByMonth(AuxiliaryOriginalHoursLookDto dto);
+ void exportWorkingHours(Page page,String month, String name, String departLims,HttpServletResponse response) throws IOException;
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java
index c3f4818..57907fe 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java
@@ -1,10 +1,12 @@
package com.ruoyi.performance.service;
+
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto;
import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
+
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -34,11 +36,4 @@
* @throws IOException
*/
void exportWorkingHours(HttpServletResponse response)throws IOException;
-
- /**
- * 瀵煎嚭浜ч噺宸ユ椂
- * @param entity
- * @param response
- */
- void exportOutputHours(AuxiliaryOutputWorkingHoursDto entity, HttpServletResponse response);
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java
index 5c04cff..090693c 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java
@@ -7,7 +7,7 @@
import com.ruoyi.performance.dto.HoursDay;
import com.ruoyi.performance.pojo.AuxiliaryWorkingHoursDay;
-import javax.servlet.http.HttpServletResponse;
+
import java.time.LocalDateTime;
import java.util.Map;
@@ -34,11 +34,4 @@
int deleteAuxiliaryWorkingHoursDay(Integer id);
String selectshiftByUser(LocalDateTime dateTime);
-
- /**
- * 瀵煎嚭杈呭姪宸ユ椂
- * @param entity
- * @param response
- */
- void exportWorkingHours(AuxiliaryWorkingHoursDayDto entity, HttpServletResponse response);
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java
index d8a6000..1d2875d 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.core.dto.UserPageDto;
import com.ruoyi.performance.pojo.AuxiliaryWorkingHours;
import java.util.Map;
@@ -23,4 +25,5 @@
int upAuxiliaryWorkingHours(AuxiliaryWorkingHours auxiliaryWorkingHours);
int insertAuxiliaryWorkingHours(AuxiliaryWorkingHours auxiliaryWorkingHours);
+
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java
index 2bacdd7..cd33f10 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java
@@ -4,15 +4,15 @@
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.performance.dto.AuxiliaryAllDto;
+import com.ruoyi.common.utils.EasyExcelUtils;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.performance.dto.AuxiliaryCorrectionHoursDto;
import com.ruoyi.performance.dto.AuxiliaryOriginalHoursDto;
import com.ruoyi.performance.dto.AuxiliaryOriginalHoursLookDto;
@@ -22,6 +22,9 @@
import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursDayMapper;
import com.ruoyi.performance.pojo.AuxiliaryCorrectionHours;
import com.ruoyi.performance.service.AuxiliaryOriginalHoursService;
+import com.ruoyi.system.domain.SysUserRole;
+import com.ruoyi.system.mapper.SysRoleMapper;
+import com.ruoyi.system.mapper.SysUserRoleMapper;
import com.ruoyi.system.mapper.UserMapper;
import org.apache.commons.math3.analysis.function.Power;
import org.springframework.beans.BeanUtils;
@@ -30,19 +33,26 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
import java.net.URLEncoder;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
+import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class AuxiliaryOriginalHoursServiceImpl implements AuxiliaryOriginalHoursService {
+
+
@Resource
UserMapper userMapper;
+
+
+ @Resource
+ SysUserRoleMapper userRoleMapper;
+
+ @Resource
+ SysRoleMapper roleMapper;
+
@Resource
AuxiliaryOriginalHoursMapper auxiliaryOriginalHoursMapper;
@@ -68,18 +78,32 @@
List<Integer> ides = auxiliaryCorrectionHoursMapper.selDepartLimsByName(departLims);
for (Integer ide : ides) {
List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery()
- .like(User::getDepartLimsId, ide));
+ .like(User::getDepartLimsId, ide)
+ .eq(User::getStatus, 0));
if (ObjectUtils.isNotEmpty(users)) {
- ides.clear();
ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList()));
+ break;
}
}
}
if (ObjectUtils.isNotEmpty(name)) {
- ids.clear();
- ids.add(userMapper.selectOne(Wrappers.<User>lambdaQuery().like(User::getName, name)).getId());
+ List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getName, name));
+ if(!users.isEmpty()) {
+ // 涓嶄负绌� 杩涜杩囨护
+ if(CollectionUtils.isNotEmpty(ids)) {
+ List<Integer> collect = users.stream().map(User::getId).distinct().collect(Collectors.toList());
+ ids = ids.stream().filter(item -> collect.contains(item)).collect(Collectors.toList());
+ // ids 涓虹┖灏辫祴鍊� -1
+ if(CollectionUtils.isEmpty(ids)) {
+ ids.add(-1);
+ }
+ }else {
+ // 涓虹┖ 杩涜鏂板
+ ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList()));
+ }
+ }
}
- if (ids.size() == 0) {
+ if (ids.isEmpty()) {
ids = null;
}
IPage<AuxiliaryOriginalHoursDto> originalHoursDtoIPage = new Page<>();
@@ -90,7 +114,7 @@
Map<String, AuxiliaryOriginalHoursDto> data2 = new HashMap<>();
Map<String, AuxiliaryOriginalHoursDto> data3 = new HashMap<>();
//浜ч噺宸ユ椂
- List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids, "浜ч噺宸ユ椂");
+ List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"浜ч噺宸ユ椂");
if (ObjectUtils.isNotEmpty(maps)) {
data1 = getData(maps, "浜ч噺宸ユ椂");
auxiliaryOriginalHoursDtos.addAll(data1.values());
@@ -102,30 +126,16 @@
auxiliaryOriginalHoursDtos.addAll(data2.values());
}
//鍔犵彮宸ユ椂
- List<Map<String, Object>> maps2 = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids, "鍔犵彮宸ユ椂");
+ List<Map<String, Object>> maps2 = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"鍔犵彮宸ユ椂");
if (ObjectUtils.isNotEmpty(maps2)) {
data3 = getData(maps2, "鍔犵彮宸ユ椂");
auxiliaryOriginalHoursDtos.addAll(data3.values());
}
//鎬诲伐鏃�=浜ч噺宸ユ椂+杈呭姪宸ユ椂+鍔犵彮宸ユ椂
Map<String, AuxiliaryOriginalHoursDto> data4 = new HashMap<String, AuxiliaryOriginalHoursDto>();
- if (data1.size() > 0) {
+ if (!data1.isEmpty()) {
Map<String, AuxiliaryOriginalHoursDto> data5 = data1;
- if (data2.size() > 0) {
- merge(data5, data4, data2);
- }
- if (data3.size() > 0) {
-// merge(data5,data4,data3);
- }
- if (data2.size() == 0 && data3.size() == 0) {
- for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data5.entrySet()) {
- AuxiliaryOriginalHoursDto dto = entry.getValue();
- AuxiliaryOriginalHoursDto originalHoursDto = new AuxiliaryOriginalHoursDto();
- BeanUtils.copyProperties(dto, originalHoursDto);
- originalHoursDto.setType("鎬诲伐鏃�");
- data4.put(entry.getKey(), originalHoursDto);
- }
- }
+ data4 = mergeTotal(data5,data2,data3);
auxiliaryOriginalHoursDtos.addAll(data4.values());
}
@@ -156,16 +166,25 @@
return order.indexOf(type) == -1 ? order.size() : order.indexOf(type);
});
result = result.stream().sorted(Comparator.comparing(AuxiliaryOriginalHoursDto::getName).thenComparing(comparator)).collect(Collectors.toList());
- originalHoursDtoIPage.setRecords(result);
originalHoursDtoIPage.setTotal(result.size());
+ if(page.getSize()>0){
+ int i = (int) page.getSize() * ((int) page.getCurrent() - 1);
+ if(result.size() - i < page.getSize()) {
+ result = result.subList(i, result.size());
+ } else {
+ result = result.subList(i, (int) page.getSize() + i);
+ }
+ }
+ originalHoursDtoIPage.setRecords(result);
return originalHoursDtoIPage;
}
//瀵煎嚭鍘熷宸ユ椂
@Override
- public void exportWorkingHours(String month, String name, String departLims, HttpServletResponse response) throws IOException {
+ public void exportWorkingHours(Page page,String month, String name, String departLims, HttpServletResponse response) throws IOException {
List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<AuxiliaryOriginalHoursDto>();
+
//鏌ヨ鍘熷宸ユ椂(浣跨敤鍒嗛〉鏌ヨ)
AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto = new AuxiliaryOriginalHoursLookDto();
if (ObjectUtils.isNotEmpty(month)) {
@@ -177,7 +196,7 @@
if (ObjectUtils.isNotEmpty(departLims)) {
auxiliaryOriginalHoursLookDto.setDepartLims(departLims);
}
- IPage<AuxiliaryOriginalHoursDto> body = selectAuxiliaryOriginalHours(new Page(-1, -1), auxiliaryOriginalHoursLookDto);
+ IPage<AuxiliaryOriginalHoursDto> body = (IPage<AuxiliaryOriginalHoursDto>) selectAuxiliaryOriginalHours(new Page(-1, -1), auxiliaryOriginalHoursLookDto);
auxiliaryOriginalHoursDtos = body.getRecords();
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("UTF-8");
@@ -186,7 +205,9 @@
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
try {
// 鏂板缓ExcelWriter
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
+ .registerWriteHandler(EasyExcelUtils.getStyleStrategy())
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
WriteSheet mainSheet = EasyExcel.writerSheet(0, "鍘熷宸ユ椂瀵煎嚭").head(AuxiliaryOriginalHoursDto.class).build();
excelWriter.write(auxiliaryOriginalHoursDtos, mainSheet);
// 鍏抽棴娴�
@@ -195,71 +216,6 @@
throw new RuntimeException("瀵煎嚭澶辫触");
}
- }
-
- /**
- * 鏌ヨ鏈堜唤鍏ㄩ儴宸ユ椂
- *
- * @return
- */
- @Override
- public List<AuxiliaryAllDto> selectAuxiliaryAllByMonth(AuxiliaryOriginalHoursLookDto dto) {
- if (StringUtils.isBlank(dto.getMonth())) {
- throw new BaseException("缂哄皯鏈堜唤");
- }
- List<Integer> userIds = new ArrayList<>();
-
- String name = dto.getName();
- if (ObjectUtils.isNotEmpty(name)) {
- userIds.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList()));
- }
- // 瑙f瀽杈撳叆鐨勬椂闂村瓧绗︿覆
- LocalDate date = LocalDate.parse(dto.getMonth() + "-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-
- // 鑾峰彇鍓嶄竴涓湀鐨�26鍙�
- LocalDate previousMonth26th = date.minusMonths(1).withDayOfMonth(26);
-
- // 鑾峰彇褰撳墠鏈堢殑25鍙�
- LocalDate currentMonth25th = date.withDayOfMonth(25);
-
- // 鏍煎紡鍖栨棩鏈熶负 yyyy-MM-dd HH:mm:ss
- DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- String beginDate = previousMonth26th.atStartOfDay().format(outputFormatter);
- String endDate = currentMonth25th.atStartOfDay().format(outputFormatter);
-// dto.setBeginDate(beginDate + " 00:00:00");
-// dto.setEndDate(endDate + " 23:59:59");
- dto.setBeginDate(beginDate);
- dto.setEndDate(endDate);
-
-
- // 鏌ヨ浜ч噺宸ユ椂
- List<AuxiliaryAllDto> auxiliaryAllDtos = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryAllByMonth(dto, userIds);
-
- // 鏌ヨ杈呭姪宸ユ椂
- List<AuxiliaryAllDto> auxiliarySubsidiary = auxiliaryOutputWorkingHoursMapper.selectSubsidiaryAllByMonth(dto, userIds);
-
- //浜ч噺宸ユ椂杩涜浜哄憳鍒嗙粍, 鎶婅緟鍔╁伐鏃舵坊鍔�
- Map<Integer, List<AuxiliaryAllDto>> groupIds = auxiliaryAllDtos.stream().collect(Collectors.groupingBy(AuxiliaryAllDto::getUserId));
-
- for (AuxiliaryAllDto auxiliaryAllDto : auxiliarySubsidiary) {
- List<AuxiliaryAllDto> allDtos = groupIds.get(auxiliaryAllDto.getUserId());
- // 鍒ゆ柇鏄惁涓虹┖
- if (CollectionUtils.isNotEmpty(allDtos)) {
- // 娣诲姞杈呭姪宸ユ椂
- allDtos.get(0).setSubsidiaryHour(auxiliaryAllDto.getSubsidiaryHour());
-
- } else {
- // 娌℃湁鏀逛汉鍛樻坊鍔犱竴琛�
- auxiliaryAllDtos.add(auxiliaryAllDto);
- }
- }
- for (AuxiliaryAllDto auxiliaryAllDto : auxiliaryAllDtos) {
- BigDecimal total = (auxiliaryAllDto.getYieldHour() != null ? auxiliaryAllDto.getYieldHour() : BigDecimal.ZERO)
- .add(auxiliaryAllDto.getSubsidiaryHour() != null ? auxiliaryAllDto.getSubsidiaryHour() : BigDecimal.ZERO);
- auxiliaryAllDto.setTotalHour(total);
- }
-
- return auxiliaryAllDtos;
}
private Map<String, AuxiliaryOriginalHoursDto> getData(List<Map<String, Object>> objectMaps, String type) {
@@ -283,7 +239,7 @@
AuxiliaryCorrectionHours auxiliaryCorrectionHours = auxiliaryOriginalHoursDto.getAuxiliaryCorrectionHours();
switch (objectMap.get("month").toString().substring(8, 10)) {
case "01":
- auxiliaryOriginalHoursDto.setOneHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setOneHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getOneHours().compareTo(auxiliaryOriginalHoursDto.getOneHours()) != 0) {
auxiliaryOriginalHoursDto.setOne(1);
@@ -291,7 +247,7 @@
}
break;
case "02":
- auxiliaryOriginalHoursDto.setTwoHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwoHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwoHours()) != 0) {
auxiliaryOriginalHoursDto.setTwo(1);
@@ -299,7 +255,7 @@
}
break;
case "03":
- auxiliaryOriginalHoursDto.setThreeHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setThreeHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getThreeHours().compareTo(auxiliaryOriginalHoursDto.getThreeHours()) != 0) {
auxiliaryOriginalHoursDto.setThree(1);
@@ -307,7 +263,7 @@
}
break;
case "04":
- auxiliaryOriginalHoursDto.setFourHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setFourHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getFourHours().compareTo(auxiliaryOriginalHoursDto.getFourHours()) != 0) {
auxiliaryOriginalHoursDto.setFour(1);
@@ -315,7 +271,7 @@
}
break;
case "05":
- auxiliaryOriginalHoursDto.setFiveHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setFiveHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getFiveHours().compareTo(auxiliaryOriginalHoursDto.getFiveHours()) != 0) {
auxiliaryOriginalHoursDto.setFive(1);
@@ -323,7 +279,7 @@
}
break;
case "06":
- auxiliaryOriginalHoursDto.setSixHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setSixHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getSixHours().compareTo(auxiliaryOriginalHoursDto.getSixHours()) != 0) {
auxiliaryOriginalHoursDto.setSix(1);
@@ -331,7 +287,7 @@
}
break;
case "07":
- auxiliaryOriginalHoursDto.setSevenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setSevenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getSevenHours().compareTo(auxiliaryOriginalHoursDto.getSevenHours()) != 0) {
auxiliaryOriginalHoursDto.setSeven(1);
@@ -339,7 +295,7 @@
}
break;
case "08":
- auxiliaryOriginalHoursDto.setEightHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setEightHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getEightHours().compareTo(auxiliaryOriginalHoursDto.getEightHours()) != 0) {
auxiliaryOriginalHoursDto.setEight(1);
@@ -347,7 +303,7 @@
}
break;
case "09":
- auxiliaryOriginalHoursDto.setNineHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setNineHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getNineHours().compareTo(auxiliaryOriginalHoursDto.getNineHours()) != 0) {
auxiliaryOriginalHoursDto.setNine(1);
@@ -355,7 +311,7 @@
}
break;
case "10":
- auxiliaryOriginalHoursDto.setTenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTenHours().compareTo(auxiliaryOriginalHoursDto.getTenHours()) != 0) {
auxiliaryOriginalHoursDto.setTen(1);
@@ -363,7 +319,7 @@
}
break;
case "11":
- auxiliaryOriginalHoursDto.setElevenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setElevenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getElevenHours().compareTo(auxiliaryOriginalHoursDto.getElevenHours()) != 0) {
auxiliaryOriginalHoursDto.setEleven(1);
@@ -371,7 +327,7 @@
}
break;
case "12":
- auxiliaryOriginalHoursDto.setTwelveHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwelveHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwelveHours().compareTo(auxiliaryOriginalHoursDto.getTwelveHours()) != 0) {
auxiliaryOriginalHoursDto.setTwelve(1);
@@ -379,7 +335,7 @@
}
break;
case "13":
- auxiliaryOriginalHoursDto.setThirteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setThirteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getThirteenHours().compareTo(auxiliaryOriginalHoursDto.getThirteenHours()) != 0) {
auxiliaryOriginalHoursDto.setThirteen(1);
@@ -387,7 +343,7 @@
}
break;
case "14":
- auxiliaryOriginalHoursDto.setFourteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setFourteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getFourteenHours().compareTo(auxiliaryOriginalHoursDto.getFourteenHours()) != 0) {
auxiliaryOriginalHoursDto.setFourteen(1);
@@ -395,7 +351,7 @@
}
break;
case "15":
- auxiliaryOriginalHoursDto.setFifteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setFifteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getFifteenHours().compareTo(auxiliaryOriginalHoursDto.getFifteenHours()) != 0) {
auxiliaryOriginalHoursDto.setFifteen(1);
@@ -403,7 +359,7 @@
}
break;
case "16":
- auxiliaryOriginalHoursDto.setSixteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setSixteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getSixteenHours().compareTo(auxiliaryOriginalHoursDto.getSixteenHours()) != 0) {
auxiliaryOriginalHoursDto.setSixteen(1);
@@ -411,7 +367,7 @@
}
break;
case "17":
- auxiliaryOriginalHoursDto.setSeventeenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setSeventeenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getSeventeenHours().compareTo(auxiliaryOriginalHoursDto.getSeventeenHours()) != 0) {
auxiliaryOriginalHoursDto.setSeventeen(1);
@@ -419,7 +375,7 @@
}
break;
case "18":
- auxiliaryOriginalHoursDto.setEighteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setEighteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getEighteenHours().compareTo(auxiliaryOriginalHoursDto.getEighteenHours()) != 0) {
auxiliaryOriginalHoursDto.setEighteen(1);
@@ -427,7 +383,7 @@
}
break;
case "19":
- auxiliaryOriginalHoursDto.setNineteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setNineteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getNineteenHours().compareTo(auxiliaryOriginalHoursDto.getNineteenHours()) != 0) {
auxiliaryOriginalHoursDto.setNineteen(1);
@@ -435,7 +391,7 @@
}
break;
case "20":
- auxiliaryOriginalHoursDto.setTwentyHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentyHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentyHours().compareTo(auxiliaryOriginalHoursDto.getTwentyHours()) != 0) {
auxiliaryOriginalHoursDto.setTwenty(1);
@@ -443,7 +399,7 @@
}
break;
case "21":
- auxiliaryOriginalHoursDto.setTwentyOneHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentyOneHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentyOneHours().compareTo(auxiliaryOriginalHoursDto.getTwentyOneHours()) != 0) {
auxiliaryOriginalHoursDto.setTwentyOne(1);
@@ -451,7 +407,7 @@
}
break;
case "22":
- auxiliaryOriginalHoursDto.setTwentyTwoHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentyTwoHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentyTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwentyTwoHours()) != 0) {
auxiliaryOriginalHoursDto.setTwentyTwo(1);
@@ -459,7 +415,7 @@
}
break;
case "23":
- auxiliaryOriginalHoursDto.setTwentyThreeHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentyThreeHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentyThreeHours().compareTo(auxiliaryOriginalHoursDto.getTwentyThreeHours()) != 0) {
auxiliaryOriginalHoursDto.setTwentyThree(1);
@@ -467,7 +423,7 @@
}
break;
case "24":
- auxiliaryOriginalHoursDto.setTwentyFourHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentyFourHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentyFourHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFourHours()) != 0) {
auxiliaryOriginalHoursDto.setTwentyFour(1);
@@ -475,7 +431,7 @@
}
break;
case "25":
- auxiliaryOriginalHoursDto.setTwentyFiveHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentyFiveHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentyFiveHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFiveHours()) != 0) {
auxiliaryOriginalHoursDto.setTwentyFive(1);
@@ -483,7 +439,7 @@
}
break;
case "26":
- auxiliaryOriginalHoursDto.setTwentySixHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentySixHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentySixHours().compareTo(auxiliaryOriginalHoursDto.getTwentySixHours()) != 0) {
auxiliaryOriginalHoursDto.setTwentySix(1);
@@ -491,7 +447,7 @@
}
break;
case "27":
- auxiliaryOriginalHoursDto.setTwentySevenHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentySevenHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentySevenHours().compareTo(auxiliaryOriginalHoursDto.getTwentySevenHours()) != 0) {
auxiliaryOriginalHoursDto.setTwentySeven(1);
@@ -499,7 +455,7 @@
}
break;
case "28":
- auxiliaryOriginalHoursDto.setTwentyEightHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentyEightHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentyEightHours().compareTo(auxiliaryOriginalHoursDto.getTwentyEightHours()) != 0) {
auxiliaryOriginalHoursDto.setTwentyEight(1);
@@ -507,7 +463,7 @@
}
break;
case "29":
- auxiliaryOriginalHoursDto.setTwentyNineHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setTwentyNineHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getTwentyNineHours().compareTo(auxiliaryOriginalHoursDto.getTwentyNineHours()) != 0) {
auxiliaryOriginalHoursDto.setTwentyNine(1);
@@ -515,7 +471,7 @@
}
break;
case "30":
- auxiliaryOriginalHoursDto.setThirtyHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setThirtyHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getThirtyHours().compareTo(auxiliaryOriginalHoursDto.getThirtyHours()) != 0) {
auxiliaryOriginalHoursDto.setThirty(1);
@@ -523,7 +479,7 @@
}
break;
case "31":
- auxiliaryOriginalHoursDto.setThirtyOneHours(new BigDecimal(objectMap.get("manHours").toString()));
+ auxiliaryOriginalHoursDto.setThirtyOneHours(Double.parseDouble(objectMap.get("manHours").toString()));
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
if (auxiliaryCorrectionHours.getThirtyOneHours().compareTo(auxiliaryOriginalHoursDto.getThirtyOneHours()) != 0) {
auxiliaryOriginalHoursDto.setThirtyOne(1);
@@ -531,46 +487,133 @@
}
break;
}
- auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyHours()) ? auxiliaryOriginalHoursDto.getTwentyHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : BigDecimal.ZERO)
- .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : BigDecimal.ZERO)
+ auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyHours()) ? auxiliaryOriginalHoursDto.getTwentyHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : 0)
+ + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : 0)
);
- auxiliaryOriginalHoursDto.setTotal(auxiliaryOriginalHoursDto.getTotal().setScale(4, RoundingMode.HALF_UP));
+ DecimalFormat df = new DecimalFormat("#.####"); // 璁惧畾鍥涗綅灏忔暟
+ auxiliaryOriginalHoursDto.setTotal(Double.parseDouble(df.format(auxiliaryOriginalHoursDto.getTotal())));
dtoMap.put(name, auxiliaryOriginalHoursDto);
}
return dtoMap;
}
+ /**
+ * 鍚堝苟鎬诲伐鏃�
+ * @param outputWorkHourMap 浜ч噺宸ユ椂
+ * @param auxiliaryWorkHourMap 杈呭姪宸ユ椂
+ * @param overtimeWorkHourMap 鍔犵彮宸ユ椂
+ */
+ private Map<String, AuxiliaryOriginalHoursDto> mergeTotal(Map<String, AuxiliaryOriginalHoursDto> outputWorkHourMap,
+ Map<String, AuxiliaryOriginalHoursDto> auxiliaryWorkHourMap,
+ Map<String, AuxiliaryOriginalHoursDto> overtimeWorkHourMap){
+ Map<String, AuxiliaryOriginalHoursDto> totalMap = new HashMap<>();
+ for (String userNameKey : outputWorkHourMap.keySet()) {
+ //浜у嚭宸ユ椂璁板綍
+ AuxiliaryOriginalHoursDto outputWorkHourDTO = outputWorkHourMap.get(userNameKey);
+ //鎬诲伐鏃惰褰�
+ AuxiliaryOriginalHoursDto totalDTO = new AuxiliaryOriginalHoursDto();
+ BeanUtils.copyProperties(outputWorkHourDTO, totalDTO);
+ totalDTO.setType("鎬诲伐鏃�");
+ //褰撳墠浜哄憳鐨勮緟鍔╁伐鏃惰褰�
+ AuxiliaryOriginalHoursDto auxiliaryHoursDTO = new AuxiliaryOriginalHoursDto();
+ if(!Objects.isNull(auxiliaryWorkHourMap.get(userNameKey))){
+ auxiliaryHoursDTO = auxiliaryWorkHourMap.get(userNameKey);
+ }
+ //褰撳墠浜哄憳鐨勫姞鐝伐鏃惰褰�
+ AuxiliaryOriginalHoursDto overtimeHoursDTO = new AuxiliaryOriginalHoursDto();
+ if(!Objects.isNull(overtimeWorkHourMap.get(userNameKey))){
+ overtimeHoursDTO = overtimeWorkHourMap.get(userNameKey);
+ }
+ totalDTO.setOneHours(calcWorkHourTotal(outputWorkHourDTO.getOneHours(),auxiliaryHoursDTO.getOneHours(),overtimeHoursDTO.getOneHours()));
+ totalDTO.setTwoHours(calcWorkHourTotal(outputWorkHourDTO.getTwoHours(),auxiliaryHoursDTO.getTwoHours(),overtimeHoursDTO.getTwoHours()));
+ totalDTO.setThreeHours(calcWorkHourTotal(outputWorkHourDTO.getThreeHours(),auxiliaryHoursDTO.getThreeHours(),overtimeHoursDTO.getThreeHours()));
+ totalDTO.setFourHours(calcWorkHourTotal(outputWorkHourDTO.getFourHours(),auxiliaryHoursDTO.getFourHours(),overtimeHoursDTO.getFourHours()));
+ totalDTO.setFiveHours(calcWorkHourTotal(outputWorkHourDTO.getFiveHours(),auxiliaryHoursDTO.getFiveHours(),overtimeHoursDTO.getFiveHours()));
+ totalDTO.setSixHours(calcWorkHourTotal(outputWorkHourDTO.getSixHours(),auxiliaryHoursDTO.getSixHours(),overtimeHoursDTO.getSixHours()));
+ totalDTO.setSevenHours(calcWorkHourTotal(outputWorkHourDTO.getSevenHours(),auxiliaryHoursDTO.getSevenHours(),overtimeHoursDTO.getSevenHours()));
+ totalDTO.setEightHours(calcWorkHourTotal(outputWorkHourDTO.getEightHours(),auxiliaryHoursDTO.getEightHours(),overtimeHoursDTO.getEightHours()));
+ totalDTO.setNineHours(calcWorkHourTotal(outputWorkHourDTO.getNineHours(),auxiliaryHoursDTO.getNineHours(),overtimeHoursDTO.getNineHours()));
+ totalDTO.setTenHours(calcWorkHourTotal(outputWorkHourDTO.getTenHours(),auxiliaryHoursDTO.getTenHours(),overtimeHoursDTO.getTenHours()));
+ totalDTO.setElevenHours(calcWorkHourTotal(outputWorkHourDTO.getElevenHours(),auxiliaryHoursDTO.getElevenHours(),overtimeHoursDTO.getElevenHours()));
+ totalDTO.setTwelveHours(calcWorkHourTotal(outputWorkHourDTO.getTwelveHours(),auxiliaryHoursDTO.getTwelveHours(),overtimeHoursDTO.getTwelveHours()));
+ totalDTO.setThirteenHours(calcWorkHourTotal(outputWorkHourDTO.getThirteenHours(),auxiliaryHoursDTO.getThirteenHours(),overtimeHoursDTO.getThirteenHours()));
+ totalDTO.setFourteenHours(calcWorkHourTotal(outputWorkHourDTO.getFourteenHours(),auxiliaryHoursDTO.getFourteenHours(),overtimeHoursDTO.getFourteenHours()));
+ totalDTO.setFifteenHours(calcWorkHourTotal(outputWorkHourDTO.getFifteenHours(),auxiliaryHoursDTO.getFifteenHours(),overtimeHoursDTO.getFifteenHours()));
+ totalDTO.setSixteenHours(calcWorkHourTotal(outputWorkHourDTO.getSixteenHours(),auxiliaryHoursDTO.getSixteenHours(),overtimeHoursDTO.getSixteenHours()));
+ totalDTO.setSeventeenHours(calcWorkHourTotal(outputWorkHourDTO.getSeventeenHours(),auxiliaryHoursDTO.getSeventeenHours(),overtimeHoursDTO.getSeventeenHours()));
+ totalDTO.setEighteenHours(calcWorkHourTotal(outputWorkHourDTO.getEighteenHours(),auxiliaryHoursDTO.getEighteenHours(),overtimeHoursDTO.getEighteenHours()));
+ totalDTO.setNineteenHours(calcWorkHourTotal(outputWorkHourDTO.getNineteenHours(),auxiliaryHoursDTO.getNineteenHours(),overtimeHoursDTO.getNineteenHours()));
+ totalDTO.setTwentyHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyHours(),auxiliaryHoursDTO.getTwentyHours(),overtimeHoursDTO.getTwentyHours()));
+ totalDTO.setTwentyOneHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyOneHours(),auxiliaryHoursDTO.getTwentyOneHours(),overtimeHoursDTO.getTwentyOneHours()));
+ totalDTO.setTwentyTwoHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyTwoHours(),auxiliaryHoursDTO.getTwentyTwoHours(),overtimeHoursDTO.getTwentyTwoHours()));
+ totalDTO.setTwentyThreeHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyThreeHours(),auxiliaryHoursDTO.getTwentyThreeHours(),overtimeHoursDTO.getTwentyThreeHours()));
+ totalDTO.setTwentyFourHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyFourHours(),auxiliaryHoursDTO.getTwentyFourHours(),overtimeHoursDTO.getTwentyFourHours()));
+ totalDTO.setTwentyFiveHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyFiveHours(),auxiliaryHoursDTO.getTwentyFiveHours(),overtimeHoursDTO.getTwentyFiveHours()));
+ totalDTO.setTwentySixHours(calcWorkHourTotal(outputWorkHourDTO.getTwentySixHours(),auxiliaryHoursDTO.getTwentySixHours(),overtimeHoursDTO.getTwentySixHours()));
+ totalDTO.setTwentySevenHours(calcWorkHourTotal(outputWorkHourDTO.getTwentySevenHours(),auxiliaryHoursDTO.getTwentySevenHours(),overtimeHoursDTO.getTwentySevenHours()));
+ totalDTO.setTwentyEightHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyEightHours(),auxiliaryHoursDTO.getTwentyEightHours(),overtimeHoursDTO.getTwentyEightHours()));
+ totalDTO.setTwentyNineHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyNineHours(),auxiliaryHoursDTO.getTwentyNineHours(),overtimeHoursDTO.getTwentyNineHours()));
+ totalDTO.setThirtyHours(calcWorkHourTotal(outputWorkHourDTO.getThirtyHours(),auxiliaryHoursDTO.getThirtyHours(),overtimeHoursDTO.getThirtyHours()));
+ totalDTO.setThirtyOneHours(calcWorkHourTotal(outputWorkHourDTO.getThirtyOneHours(),auxiliaryHoursDTO.getThirtyOneHours(),overtimeHoursDTO.getThirtyOneHours()));
+ totalDTO.setTotal(calcWorkHourTotal(outputWorkHourDTO.getTotal(),auxiliaryHoursDTO.getTotal(),overtimeHoursDTO.getTotal()));
+
+ totalMap.put(userNameKey,totalDTO);
+ }
+ return totalMap;
+ }
+
+ /**
+ * 璁$畻鎬诲伐鏃�
+ * @param outputWorkHour 浜у嚭宸ユ椂
+ * @param auxiliaryWorkHour 杈呭姪宸ユ椂
+ * @param overtimeWorkHour 鍔犵彮宸ユ椂
+ * @return
+ */
+ private double calcWorkHourTotal(Double outputWorkHour,Double auxiliaryWorkHour,Double overtimeWorkHour){
+ if(Objects.isNull(outputWorkHour)){
+ outputWorkHour = 0.0;
+ }
+ if(Objects.isNull(auxiliaryWorkHour)){
+ auxiliaryWorkHour = 0.0;
+ }
+ if(Objects.isNull(overtimeWorkHour)){
+ overtimeWorkHour = 0.0;
+ }
+ return outputWorkHour + auxiliaryWorkHour + overtimeWorkHour;
+ }
+
//鍚堝苟
- private void merge(Map<String, AuxiliaryOriginalHoursDto> data5, Map<String, AuxiliaryOriginalHoursDto> data4, Map<String, AuxiliaryOriginalHoursDto> data2) {
+ private void merge(Map<String, AuxiliaryOriginalHoursDto> data5,Map<String, AuxiliaryOriginalHoursDto> data4,Map<String, AuxiliaryOriginalHoursDto> data2) {
for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data2.entrySet()) {
String key = entry.getKey();
AuxiliaryOriginalHoursDto value = entry.getValue();
@@ -581,55 +624,48 @@
AuxiliaryOriginalHoursDto hoursDto = data5.get(key);
BeanUtils.copyProperties(hoursDto, auxiliaryOriginalHoursDto);
auxiliaryOriginalHoursDto.setType("鎬诲伐鏃�");
- auxiliaryOriginalHoursDto.setOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getOneHours()) ? value.getOneHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwoHours()) ? value.getTwoHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getThreeHours()) ? value.getThreeHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getFourHours()) ? value.getFourHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getFiveHours()) ? value.getFiveHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setSixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getSixHours()) ? value.getSixHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setSevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getSevenHours()) ? value.getSevenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getEightHours()) ? value.getEightHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getNineHours()) ? value.getNineHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTenHours()) ? value.getTenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setElevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getElevenHours()) ? value.getElevenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setThirteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getThirteenHours()) ? value.getThirteenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setFourteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getFourteenHours()) ? value.getFourteenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setFifteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getFifteenHours()) ? value.getFifteenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setSixteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getSixteenHours()) ? value.getSixteenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setSeventeenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getSeventeenHours()) ? value.getSeventeenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setEighteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getEighteenHours()) ? value.getEighteenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setNineteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getNineteenHours()) ? value.getNineteenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwentyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyOneHours()) ? value.getTwentyOneHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwentyTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyTwoHours()) ? value.getTwentyTwoHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwentyThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyThreeHours()) ? value.getTwentyThreeHours() : BigDecimal.ZERO));
- BigDecimal v = ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : BigDecimal.ZERO;
- BigDecimal v1 = ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : BigDecimal.ZERO;
- BigDecimal v2 = v.add(v1);
- auxiliaryOriginalHoursDto.setTwentyFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwentyFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyFiveHours()) ? value.getTwentyFiveHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwentySixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentySixHours()) ? value.getTwentySixHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwentySevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentySevenHours()) ? value.getTwentySevenHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwentyEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyEightHours()) ? value.getTwentyEightHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTwentyNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyNineHours()) ? value.getTwentyNineHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setThirtyHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getThirtyHours()) ? value.getThirtyHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setThirtyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getThirtyOneHours()) ? value.getThirtyOneHours() : BigDecimal.ZERO));
- auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTotal()) ? auxiliaryOriginalHoursDto.getTotal() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTotal()) ? value.getTotal() : BigDecimal.ZERO));
+ auxiliaryOriginalHoursDto.setOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getOneHours()) ? value.getOneHours() : 0));
+ auxiliaryOriginalHoursDto.setTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwoHours()) ? value.getTwoHours() : 0));
+ auxiliaryOriginalHoursDto.setThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getThreeHours()) ? value.getThreeHours() : 0));
+ auxiliaryOriginalHoursDto.setFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourHours()) ? value.getFourHours() : 0));
+ auxiliaryOriginalHoursDto.setFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getFiveHours()) ? value.getFiveHours() : 0));
+ auxiliaryOriginalHoursDto.setSixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixHours()) ? value.getSixHours() : 0));
+ auxiliaryOriginalHoursDto.setSevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSevenHours()) ? value.getSevenHours() : 0));
+ auxiliaryOriginalHoursDto.setEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getEightHours()) ? value.getEightHours() : 0));
+ auxiliaryOriginalHoursDto.setNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineHours()) ? value.getNineHours() : 0));
+ auxiliaryOriginalHoursDto.setTenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTenHours()) ? value.getTenHours() : 0));
+ auxiliaryOriginalHoursDto.setElevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getElevenHours()) ? value.getElevenHours() : 0));
+ auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0));
+ auxiliaryOriginalHoursDto.setThirteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirteenHours()) ? value.getThirteenHours() : 0));
+ auxiliaryOriginalHoursDto.setFourteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourteenHours()) ? value.getFourteenHours() : 0));
+ auxiliaryOriginalHoursDto.setFifteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFifteenHours()) ? value.getFifteenHours() : 0));
+ auxiliaryOriginalHoursDto.setSixteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixteenHours()) ? value.getSixteenHours() : 0));
+ auxiliaryOriginalHoursDto.setSeventeenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSeventeenHours()) ? value.getSeventeenHours() : 0));
+ auxiliaryOriginalHoursDto.setEighteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getEighteenHours()) ? value.getEighteenHours() : 0));
+ auxiliaryOriginalHoursDto.setNineteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineteenHours()) ? value.getNineteenHours() : 0));
+ auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyOneHours()) ? value.getTwentyOneHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyTwoHours()) ? value.getTwentyTwoHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyThreeHours()) ? value.getTwentyThreeHours() : 0));
+ double v = ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0;
+ double v1 = ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0;
+ double v2 = v + v1;
+ auxiliaryOriginalHoursDto.setTwentyFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFiveHours()) ? value.getTwentyFiveHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentySixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySixHours()) ? value.getTwentySixHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentySevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySevenHours()) ? value.getTwentySevenHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyEightHours()) ? value.getTwentyEightHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyNineHours()) ? value.getTwentyNineHours() : 0));
+ auxiliaryOriginalHoursDto.setThirtyHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyHours()) ? value.getThirtyHours() : 0));
+ auxiliaryOriginalHoursDto.setThirtyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyOneHours()) ? value.getThirtyOneHours() : 0));
+ auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTotal()) ? auxiliaryOriginalHoursDto.getTotal() : 0) + (ObjectUtils.isNotEmpty(value.getTotal()) ? value.getTotal() : 0));
data4.put(key, auxiliaryOriginalHoursDto);
- } /*else {
- AuxiliaryOriginalHoursDto hoursDto = data5.get(dtoEntry.getKey());
- AuxiliaryOriginalHoursDto dto = new AuxiliaryOriginalHoursDto();
- BeanUtils.copyProperties(hoursDto, dto);
- dto.setType("鎬诲伐鏃�");
- data4.put(dtoEntry.getKey(), dto);
- }*/
+ }
}
} else {
value.setType("鎬诲伐鏃�");
data4.put(key, value);
}
}
-
}
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
index d8974a9..e79587e 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
@@ -4,13 +4,18 @@
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.User;
import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto;
import com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto;
import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper;
@@ -27,10 +32,7 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -53,118 +55,184 @@
@Resource
UserMapper userMapper;
+
@Override
public IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) {
+ auxiliaryOutputWorkingHoursDto.setWeekDay(weekConvert(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay()) ? auxiliaryOutputWorkingHoursDto.getWeekDay() : ""));
String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
String week = auxiliaryOutputWorkingHoursDto.getWeek();
auxiliaryOutputWorkingHoursDto.setDateTime(null);
auxiliaryOutputWorkingHoursDto.setWeek(null);
+ Map<String, Object> map = new HashMap<>();
List<Integer> ids = new ArrayList<>();
- if (ids.size() == 0) {
- ids = null;
- }
+ //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄�
+ User user = userMapper.selectById(Integer.parseInt(SecurityUtils.getLoginUser().getUser().getUserId().toString()));
+
+ IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = null;
if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+ auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
.ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
.ge("week", weeks[0]).le("week", weeks[1]), ids);
for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
record.setDateTime(record.getDateTime().substring(0,10));
}
- return auxiliaryOutputWorkingHoursDtoIPage ;
+ map.put("body",auxiliaryOutputWorkingHoursDtoIPage );
} else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+ auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
.ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
record.setDateTime(record.getDateTime().substring(0,10));
}
- return auxiliaryOutputWorkingHoursDtoIPage ;
+ map.put("body",auxiliaryOutputWorkingHoursDtoIPage );
} else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+ auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
.ge("week", weeks[0]).le("week", weeks[1]), ids);
for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
record.setDateTime(record.getDateTime().substring(0,10));
}
- return auxiliaryOutputWorkingHoursDtoIPage ;
+ map.put("body", auxiliaryOutputWorkingHoursDtoIPage);
} else {
- IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
+ auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
record.setDateTime(record.getDateTime().substring(0,10));
}
- return auxiliaryOutputWorkingHoursDtoIPage ;
}
+ return auxiliaryOutputWorkingHoursDtoIPage;
}
- //缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨��
- @Override
- public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) {
- AuxiliaryOutputWorkingHours outputWorkingHours = new AuxiliaryOutputWorkingHours();
- AuxiliaryWorkingHoursDay workingHoursDay = new AuxiliaryWorkingHoursDay();
- List<Integer> ids = new ArrayList<>();
- if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){
- outputWorkingHours.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay());
- workingHoursDay.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay());
- }
- if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getName())){
- List<User> user = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, auxiliaryOutputWorkingHoursDto.getName()));
- ids.addAll(user.stream().map(User::getId).collect(Collectors.toList()));
- }
- String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
- auxiliaryOutputWorkingHoursDto.setDateTime(null);
- Map<String, Object> map = new HashMap<>();
- BigDecimal sumOutputWorkTime = BigDecimal.ZERO;
- BigDecimal sumApprovedWorkingHour = BigDecimal.ZERO;
- //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳
- List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = new ArrayList<>();
- List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = new ArrayList<>();
- if (ids.size() == 0) {
- ids=null;
+ @Override
+ public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto){
+ // 杩斿洖鐨勭粨鏋�
+ Map<String, Object> map = new HashMap<>();
+
+ // 鍒ゆ柇褰撳墠浜虹殑鏉冮檺 鏄惁鍙煡鐪嬪浜�
+ List<Integer> ids = getCurrentGroupUserIds(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getName()) ? auxiliaryOutputWorkingHoursDto.getName() : "");
+
+ String dateTime = auxiliaryOutputWorkingHoursDto.getDateTime();
+ String startTime = "";
+ String endTime = "";
+ if(StringUtils.isNotEmpty(dateTime)) {
+ List<String> list = JSONArray.parseArray(dateTime, String.class);
+ startTime = list.get(0)+ " 00:00:00";
+ endTime = list.get(1)+ " 23:59:59";
}
- if (ObjectUtils.isNotEmpty(dates)) {
- String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃�
- auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours)
- .ge("date_time", split[0])
- .le("date_time", split[1] + " 23:59:59"),ids);
- //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃�
- auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay)
- .eq("state","宸叉壒鍑�")
- .ge("date_time", split[0])
- .le("date_time", split[1] + " 23:59:59"),ids);
- }else if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){
- //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃�
- auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours),ids);
- //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃�
- auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay).eq("state","宸叉壒鍑�"),ids);
+ String weekConvert = weekConvert(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay()) ? auxiliaryOutputWorkingHoursDto.getWeekDay() : "" ); // 鍛ㄦ杞崲
+ // 鏍规嵁鏉′欢鑾峰彇鏁版嵁
+ List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectList(new QueryWrapper<AuxiliaryOutputWorkingHours>()
+ .in(CollectionUtils.isNotEmpty(ids), "check_id", ids)
+ .like(StringUtils.isNotBlank(auxiliaryOutputWorkingHoursDto.getWeekDay()), "week_day", weekConvert)
+ .between(StringUtils.isNotEmpty(dateTime),"date_time", startTime, endTime));
+
+ // 1.浜ч噺宸ユ椂姹囨��
+ // 鏍规嵁濮旀墭缂栧彿銆佹牱鍝佺紪鍙枫�佸伐鏃跺垎缁� 鏉ヨ繘琛屽垎缁勭粺璁�
+ // 鍔犵彮鐨勫伐鏃舵眹鎬�
+ BigDecimal overTime = BigDecimal.ZERO;
+ // 杩囨护鍑哄姞鐝殑宸ユ椂
+ List<AuxiliaryOutputWorkingHours> overFilter = auxiliaryOutputWorkingHours.stream()
+ .filter(item -> Objects.nonNull(item.getOvertimeOrderNo()) && StringUtils.isNotEmpty(item.getOvertimeOrderNo()))
+ .collect(Collectors.toList());
+ Map<String, List<AuxiliaryOutputWorkingHours>> collect = overFilter.stream()
+ .collect(Collectors.groupingBy(item -> item.getOvertimeOrderNo() + "@" + item.getSample() + "@" + item.getManHourGroup()));
+ Iterator<Map.Entry<String, List<AuxiliaryOutputWorkingHours>>> iterator = collect.entrySet().iterator();
+ while (iterator.hasNext()) {
+ Map.Entry<String, List<AuxiliaryOutputWorkingHours>> entry = iterator.next();
+ // 鍚屼竴鍒嗙粍涓嬬殑鍙渶瑕佺畻涓�娆�
+ overTime = add(overTime, BigDecimal.valueOf(entry.getValue().get(0).getOvertimeWorkTime()));
}
- else {
- auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectListByIds(ids);
- auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectListByIds(ids);
+ // 闈炲姞鐝殑宸ユ椂姹囨��
+ BigDecimal workTime = BigDecimal.ZERO;
+ List<AuxiliaryOutputWorkingHours> workFilter = auxiliaryOutputWorkingHours.stream()
+ .filter(item -> Objects.nonNull(item.getOrderNo()) && StringUtils.isNotEmpty(item.getOrderNo()))
+ .collect(Collectors.toList());
+ Map<String, List<AuxiliaryOutputWorkingHours>> collect1 = workFilter.stream()
+ .collect(Collectors.groupingBy(item -> item.getOrderNo() + "@" + item.getSample() + "@" + item.getManHourGroup()));
+ Iterator<Map.Entry<String, List<AuxiliaryOutputWorkingHours>>> iterator1 = collect1.entrySet().iterator();
+ while (iterator1.hasNext()) {
+ Map.Entry<String, List<AuxiliaryOutputWorkingHours>> entry = iterator1.next();
+ workTime = add(workTime, BigDecimal.valueOf(entry.getValue().get(0).getOutputWorkTime()));
}
- if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours)) {
- Map<String, BigDecimal> sumMap = new HashMap<>();
- for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHour : auxiliaryOutputWorkingHours) {
- if (!sumMap.containsKey(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample())) {
- sumMap.put(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample(), auxiliaryOutputWorkingHour.getOutputWorkTime());
- }
- }
- sumOutputWorkTime = sumMap.values().stream().reduce(BigDecimal.ZERO, BigDecimal::add);
- }
- map.put("浜ч噺宸ユ椂姹囨��", sumOutputWorkTime);
- if (ObjectUtils.isNotEmpty(auxiliaryWorkingHoursDays)) {
- for (AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay : auxiliaryWorkingHoursDays) {
-// sumApprovedWorkingHour = sumApprovedWorkingHour.add(auxiliaryWorkingHoursDay.getReviewerNonproductiveTime());//澶嶆牳宸ユ椂
+ BigDecimal outPutWorkTime = add(overTime, workTime);
+ // 2.杈呭姪宸ユ椂姹囨��
+ BigDecimal dayWorkTime = BigDecimal.ZERO;
+ List<AuxiliaryWorkingHoursDay> dayList = auxiliaryWorkingHoursDayMapper.selectList(new QueryWrapper<AuxiliaryWorkingHoursDay>()
+ .in(CollectionUtils.isNotEmpty(ids), "name_user", ids)
+ .like(StringUtils.isNotBlank(auxiliaryOutputWorkingHoursDto.getWeekDay()), "week_day", auxiliaryOutputWorkingHoursDto.getWeekDay())
+ .eq(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getState()), "state", auxiliaryOutputWorkingHoursDto.getState())
+ .between(StringUtils.isNotEmpty(dateTime),"date_time", startTime, endTime));
+
+ for (AuxiliaryWorkingHoursDay a : dayList) {
+ if(ObjectUtils.isNull(a.getReviewerNonproductiveTime())) {
+ dayWorkTime = add(dayWorkTime, BigDecimal.ZERO);
+ }else {
+ dayWorkTime = add(dayWorkTime, BigDecimal.valueOf(a.getReviewerNonproductiveTime()));
}
}
- map.put("杈呭姪宸ユ椂姹囨��", sumApprovedWorkingHour);
- return map;
+ map.put("浜ч噺宸ユ椂姹囨��", outPutWorkTime);
+ map.put("杈呭姪宸ユ椂姹囨��", dayWorkTime);
+ return map;
+ }
+
+
+ public BigDecimal add(BigDecimal a, BigDecimal b){
+ return a.add(b);
+ }
+
+ // 鍛ㄦ杞崲
+ public String weekConvert(String week){
+ String weekDay = "";
+ switch (week) {
+ case "1":
+ weekDay = "鍛ㄤ竴";
+ break;
+ case "2":
+ weekDay = "鍛ㄤ簩";
+ break;
+ case "3":
+ weekDay = "鍛ㄤ笁";
+ break;
+ case "4":
+ weekDay = "鍛ㄥ洓";
+ break;
+ case "5":
+ weekDay = "鍛ㄤ簲";
+ break;
+ case "6":
+ weekDay = "鍛ㄥ叚";
+ break;
+ case "0":
+ weekDay = "鍛ㄦ棩";
+ break;
+ }
+ return weekDay;
+ }
+
+
+ /**
+ * 鑾峰彇褰撳墠鐢ㄦ埛缁勭粐鐨勭敤鎴穒d
+ * @return
+ */
+ private List<Integer> getCurrentGroupUserIds(){
+ return getCurrentGroupUserIds("");
+ }
+
+ private List<Integer> getCurrentGroupUserIds(String name){
+ List<Integer> ids = new ArrayList<>();
+ //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳锛屾牴鎹畆oleId(7:妫�楠屽憳锛�8:妫�楠岀粍闀�)
+ Integer userId = Integer.parseInt(SecurityUtils.getLoginUser().getUser().getUserId().toString());
+ User user = userMapper.selectById(userId);
+
+ //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅)
+ //涓嶆槸缁勯暱
+
+ return ids;
}
//瀵煎嚭
@@ -172,11 +240,25 @@
public void exportWorkingHours(HttpServletResponse response) throws IOException {
List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtos = new ArrayList<>();
List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = new ArrayList<>();
- List<Integer> ids = new ArrayList<>();
+ List<Integer> ids = getCurrentGroupUserIds();
//鏌ヨ杈呭姪宸ユ椂
auxiliaryWorkingHoursDayDtos = auxiliaryWorkingHoursDayMapper.selectDataByUser(ids);
//鏌ヨ缁熻宸ユ椂
- auxiliaryOutputWorkingHoursDtos = auxiliaryOutputWorkingHoursMapper.selectDataByUser(ids);
+ auxiliaryOutputWorkingHoursDtos = auxiliaryOutputWorkingHoursMapper.selectDataByUser(ids).stream().map(item -> {
+ if(Objects.isNull(item.getOvertimeWorkTime())) {
+ item.setOvertimeWorkTime((double)0);
+ }
+ if(Objects.isNull(item.getOvertimeAmount())) {
+ item.setOvertimeAmount(0);
+ }
+ if(Objects.isNull(item.getWorkTime())) {
+ item.setWorkTime((double)0);
+ }
+ if(Objects.isNull(item.getAmount())) {
+ item.setAmount(0);
+ }
+ return item;
+ }).collect(Collectors.toList());
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("UTF-8");
// 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
@@ -185,73 +267,11 @@
try {
// 鏂板缓ExcelWriter
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
-
WriteSheet mainSheet = EasyExcel.writerSheet(0, "杈呭姪宸ユ椂瀵煎嚭").head(AuxiliaryWorkingHoursDayDto.class).build();
excelWriter.write(auxiliaryWorkingHoursDayDtos, mainSheet);
-
WriteSheet mainSheet1 = EasyExcel.writerSheet(1, "浜ч噺宸ユ椂瀵煎嚭").head(AuxiliaryOutputWorkingHoursDto.class).build();
excelWriter.write(auxiliaryOutputWorkingHoursDtos, mainSheet1);
// 鍏抽棴娴�
- excelWriter.finish();
- } catch (IOException e) {
- throw new RuntimeException("瀵煎嚭澶辫触");
- }
- }
-
- /**
- * 瀵煎嚭浜ч噺宸ユ椂
- * @param response
- */
- @Override
- public void exportOutputHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto, HttpServletResponse response) {
- //鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹�
- String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
- String week = auxiliaryOutputWorkingHoursDto.getWeek();
- auxiliaryOutputWorkingHoursDto.setDateTime(null);
- auxiliaryOutputWorkingHoursDto.setWeek(null);
-
- List<Integer> ids = new ArrayList<>();
- String name = auxiliaryOutputWorkingHoursDto.getName();
- if (ObjectUtils.isNotEmpty(name)) {
- ids.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList()));
- }
-
- List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = new ArrayList<>();
- if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
- String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
- .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
- .ge("week", weeks[0]).le("week", weeks[1]), ids);
-
- } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
- String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
- .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
-
- } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
- String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
- .ge("week", weeks[0]).le("week", weeks[1]), ids);
-
- } else {
- auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
- }
-
- try {
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
- // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
- String fileName = URLEncoder.encode("浜ч噺宸ユ椂淇℃伅瀵煎嚭", "UTF-8");
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- //鏂板缓ExcelWriter
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
- //鑾峰彇sheet0瀵硅薄
- WriteSheet mainSheet = EasyExcel.writerSheet(0, "浜ч噺宸ユ椂淇℃伅瀵煎嚭").head(AuxiliaryOutputWorkingHoursDto.class).build();
-
- //鍚憇heet0鍐欏叆鏁版嵁 浼犲叆绌簂ist杩欐牱鍙鍑鸿〃澶�
- excelWriter.write(auxiliaryOutputWorkingHoursDtoIPage, mainSheet);
- //鍏抽棴娴�
excelWriter.finish();
} catch (IOException e) {
throw new RuntimeException("瀵煎嚭澶辫触");
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
index b9f48d0..ddbd8f1 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
@@ -1,41 +1,45 @@
package com.ruoyi.performance.service.impl;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto;
import com.ruoyi.performance.dto.HoursDay;
import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursDayMapper;
import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursMapper;
import com.ruoyi.performance.mapper.PerformanceShiftMapper;
+import com.ruoyi.performance.mapper.ShiftTimeMapper;
import com.ruoyi.performance.pojo.AuxiliaryWorkingHours;
import com.ruoyi.performance.pojo.AuxiliaryWorkingHoursDay;
import com.ruoyi.performance.pojo.PerformanceShift;
+import com.ruoyi.performance.pojo.ShiftTime;
import com.ruoyi.performance.service.AuxiliaryWorkingHoursDayService;
+import com.ruoyi.system.mapper.SysRoleMapper;
+import com.ruoyi.system.mapper.SysUserRoleMapper;
import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.system.service.ISysDictTypeService;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.math3.analysis.function.Power;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -55,11 +59,25 @@
@Resource
AuxiliaryWorkingHoursMapper auxiliaryWorkingHoursMapper;
+
@Resource
UserMapper userMapper;
@Resource
+ private SysRoleMapper roleMapper;
+
+ @Resource
+ private SysUserRoleMapper userRoleMapper;
+
+
+ @Resource
PerformanceShiftMapper performanceShiftMapper;
+
+ @Resource
+ private ISysDictTypeService dictTypeService;
+
+ @Resource
+ private ShiftTimeMapper shiftTimeMapper;
@Override
public IPage<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto) {
@@ -67,48 +85,45 @@
String week = auxiliaryWorkingHoursDayDto.getWeek();
auxiliaryWorkingHoursDayDto.setDateTime(null);
auxiliaryWorkingHoursDayDto.setWeek(null);
- Map<String, Object> map = new HashMap<>();
List<Integer> ids = new ArrayList<>();
- if (ids.size() == 0) {
- ids = null;
- }
+ IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = null;
+
if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+ auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
.ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
.ge("week", weeks[0]).le("week", weeks[1]), ids);
for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
record.setDateTime(record.getDateTime().substring(0, 10));
}
- return auxiliaryWorkingHoursDayDtoIPage;
+
} else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+ auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
.ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
record.setDateTime(record.getDateTime().substring(0, 10));
}
- return auxiliaryWorkingHoursDayDtoIPage;
+
} else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+ auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
.ge("week", weeks[0]).le("week", weeks[1]), ids);
for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
record.setDateTime(record.getDateTime().substring(0, 10));
}
- return auxiliaryWorkingHoursDayDtoIPage;
+
} else {
- IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids);
+ auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids);
for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
record.setDateTime(record.getDateTime().substring(0, 10));
}
- return auxiliaryWorkingHoursDayDtoIPage;
}
-
+ return auxiliaryWorkingHoursDayDtoIPage;
}
//鏍规嵁缂栧彿鏌ヨ杈呭姪宸ユ椂閰嶇疆淇℃伅
@@ -117,7 +132,7 @@
//鏍规嵁濉啓鐨勭紪鍙锋煡璇㈣緟鍔╁伐鏃堕厤缃�
AuxiliaryWorkingHours auxiliaryWorkingHours = auxiliaryWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryWorkingHours>lambdaQuery().eq(AuxiliaryWorkingHours::getNumber, number));
if (ObjectUtils.isEmpty(auxiliaryWorkingHours)) {
- throw new BaseException("璇ョ紪鍙锋病鏈夊搴旂殑杈呭姪宸ユ椂閰嶇疆");
+ throw new ErrorException("璇ョ紪鍙锋病鏈夊搴旂殑杈呭姪宸ユ椂閰嶇疆");
}
AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = new AuxiliaryWorkingHoursDay();
BeanUtils.copyProperties(auxiliaryWorkingHours, auxiliaryWorkingHoursDay);
@@ -127,23 +142,134 @@
//褰曞叆鏁版嵁(鏂板)
@Override
public int insertAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
- Integer userId = SecurityUtils.getUserId().intValue();
+ Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
auxiliaryWorkingHoursDay.setNameUser(userId);//濮撳悕id
auxiliaryWorkingHoursDay.setState("宸叉彁浜�");
+ //鏌ヨ浜哄憳褰撳墠鐨勭彮娆�
+ if(StringUtils.isNotBlank(auxiliaryWorkingHoursDay.getDateTime())){
+ //褰曞叆鏃堕棿
+ DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ LocalDateTime saveDate = LocalDateTime.parse(auxiliaryWorkingHoursDay.getDateTime(), pattern);
+
+ LocalDate now1 = LocalDate.now();//褰撳墠鏃ユ湡
+ LocalDate dateTime = LocalDate.parse(saveDate.format(formatter));// 鐢ㄦ埛閫夋嫨鏃ユ湡
+
+ //鐝璁板綍
+ PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+ .eq(PerformanceShift::getUserId, userId)
+ .eq(PerformanceShift::getWorkTime, saveDate).last("limit 1"));
+ if(Objects.isNull(performanceShift)) {
+ throw new ErrorException("璇峰厛褰曞叆鐝淇℃伅");
+ }
+ auxiliaryWorkingHoursDay.setShift(performanceShift.getShift());
+ DateTime parse = DateUtil.parse(saveDate.format(formatter));
+ auxiliaryWorkingHoursDay.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)))); // 鍛ㄦ
+ // 濡傛灉鏄槰澶╋紝璧嬪�煎埌涓婁竴涓彮娆�
+ if(now1.isAfter(dateTime)) {
+ }else{
+ // 濡傛灉鏄粖澶╋紝骞朵笖鏄法澶╃殑鐝锛岄渶瑕佸皢鏃ユ湡鏀逛负鏄ㄥぉ
+ ShiftTime shiftTime = shiftTimeMapper.selectOne(new LambdaQueryWrapper<ShiftTime>()
+ .eq(ShiftTime::getShift, performanceShift.getShift()));
+ if(Objects.nonNull(shiftTime)) {
+ String start = shiftTime.getStartTime();
+ String end = shiftTime.getEndTime();
+ LocalTime startTime = LocalTime.parse(start);
+ LocalTime endTime = LocalTime.parse(end);
+ LocalTime now = LocalTime.now();
+ // 璺ㄥぉ鐝
+ if(startTime.isAfter(endTime)){
+ // 涓嶅湪浠婂ぉ鐨勭彮娆℃椂闂村唴
+ if(now.isBefore(startTime)) {
+ auxiliaryWorkingHoursDay = previousShift(userId, auxiliaryWorkingHoursDay);
+ }
+ }else {
+ // 涓嶈法澶╃殑鎯呭喌
+ // 濡傛灉褰撳墠鏃堕棿涓嶅湪浠婂ぉ鐨勭彮娆℃椂闂村唴,涓斿湪寮�濮嬩箣鍓� 绠楀埌涓婁竴涓彮娆�
+ if(now.isBefore(startTime)){
+ auxiliaryWorkingHoursDay = previousShift(userId, auxiliaryWorkingHoursDay);
+ }
+
+ }
+ }else {
+ // 濡傛灉鏄紤鎭� 璇峰亣 鍑哄樊 鐨勬儏鍐碉紝闇�瑕佸皢鏃ユ湡鏀逛负鍓嶄竴涓彮娆�
+ // 閮界畻鍒颁笂涓�涓彮娆�
+ auxiliaryWorkingHoursDay = previousShift(userId, auxiliaryWorkingHoursDay);
+ }
+ }
+ }
return auxiliaryWorkingHoursDayMapper.insert(auxiliaryWorkingHoursDay);
}
+ // 鑾峰彇涓婁竴涓彮娆$殑鏃堕棿
+ public AuxiliaryWorkingHoursDay previousShift(Integer userId,AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
+ LocalTime time = LocalTime.of(0, 0, 0);
+ LocalDateTime yesterdayTime = LocalDateTime.of(LocalDate.now(), time);
+ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ // 閮界畻鍒颁笂涓�涓彮娆�
+ List<Integer> list = Arrays.asList(3, 4, 6); // 浼戞伅 璇峰亣 鍗婂ぉ 鍑哄樊
+ List<PerformanceShift> performanceShifts = performanceShiftMapper.selectList(new LambdaQueryWrapper<PerformanceShift>()
+ .eq(PerformanceShift::getUserId, userId)
+ .lt(PerformanceShift::getWorkTime, yesterdayTime.format(dateTimeFormatter))
+ .notIn(PerformanceShift::getShift, list)
+ .orderByDesc(PerformanceShift::getWorkTime));
+ String dateTime = performanceShifts.get(0).getWorkTime().format(dateTimeFormatter);
+ auxiliaryWorkingHoursDay.setDateTime(dateTime);//鏃ユ湡 鍓嶄竴涓彮娆�
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ DateTime parse = DateUtil.parse(performanceShifts.get(0).getWorkTime().format(formatter));
+ auxiliaryWorkingHoursDay.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)))); // 鍛ㄦ
+ auxiliaryWorkingHoursDay.setWeekDay(getWeek(dateTime));//鏄熸湡
+ return auxiliaryWorkingHoursDay;
+ }
+ public static String getWeek(String dayStr) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ try {
+ Date date = sdf.parse(dayStr);
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
+ int day = calendar.get(Calendar.DAY_OF_MONTH);
+ return getWeekDay(dayOfWeek);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+ public static String getWeekDay(int dayOfWeek) {
+ switch (dayOfWeek) {
+ case Calendar.MONDAY:
+ return "1";
+ case Calendar.TUESDAY:
+ return "2";
+ case Calendar.WEDNESDAY:
+ return "3";
+ case Calendar.THURSDAY:
+ return "4";
+ case Calendar.FRIDAY:
+ return "5";
+ case Calendar.SATURDAY:
+ return "6";
+ case Calendar.SUNDAY:
+ return "7";
+ default:
+ return "鏈煡";
+ }
+ }
+
//瀹℃牳/鎵瑰噯
@Override
public boolean checkOrApprove(HoursDay hoursDay) {
List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = hoursDay.getAuxiliaryWorkingHoursDays();
for (AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay : auxiliaryWorkingHoursDays) {
- Integer userId = SecurityUtils.getUserId().intValue();
- auxiliaryWorkingHoursDay.setReviewer(userMapper.selectById(userId).getName());
+ if (auxiliaryWorkingHoursDay.getState().equals("宸插鏍�")) {
+ Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
+ auxiliaryWorkingHoursDay.setReviewer(userMapper.selectById(userId).getName());
+ }
if (auxiliaryWorkingHoursDay.getReviewerNumber() == null) {
auxiliaryWorkingHoursDay.setReviewerNumber(auxiliaryWorkingHoursDay.getAmount());//澶嶆牳鏁伴噺
auxiliaryWorkingHoursDay.setReviewerNonproductiveTime(auxiliaryWorkingHoursDay.getNonproductiveTime());//澶嶆牳宸ユ椂
}
+
}
return updateBatchById(auxiliaryWorkingHoursDays);
}
@@ -151,7 +277,7 @@
//缂栬緫
@Override
public int updateAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
- Integer userId = SecurityUtils.getUserId().intValue();
+ Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
auxiliaryWorkingHoursDay.setNameUser(userId);//濮撳悕id
return auxiliaryWorkingHoursDayMapper.updateById(auxiliaryWorkingHoursDay);
}
@@ -165,67 +291,12 @@
//鏍规嵁缂栧彿褰撳墠鐢ㄦ埛淇℃伅鏌ヨ鎵�鍦ㄧ彮娆�
@Override
public String selectshiftByUser(LocalDateTime dateTime) {
- Integer userId = SecurityUtils.getUserId().intValue();
+ Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery().eq(PerformanceShift::getUserId, userId).eq(PerformanceShift::getWorkTime, dateTime));
if (ObjectUtils.isEmpty(performanceShift)) {
return null;
}
return performanceShift.getShift();
- }
-
- /**
- * 瀵煎嚭杈呭姪宸ユ椂
- * @param
- * @param response
- */
- @Override
- public void exportWorkingHours(AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto, HttpServletResponse response) {
- String dates = auxiliaryWorkingHoursDayDto.getDateTime();
- String week = auxiliaryWorkingHoursDayDto.getWeek();
- auxiliaryWorkingHoursDayDto.setDateTime(null);
- auxiliaryWorkingHoursDayDto.setWeek(null);
- List<Integer> ids = new ArrayList<>();
- String name = auxiliaryWorkingHoursDayDto.getName();
- if (ObjectUtils.isNotEmpty(name)) {
- ids.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList()));
- }
- List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = new ArrayList<>();
- if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
- String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList(QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
- .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
- .ge("week", weeks[0]).le("week", weeks[1]), ids);
- } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
- String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList(QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
- .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
- } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
- String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
- auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList(QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
- .ge("week", weeks[0]).le("week", weeks[1]), ids);
- } else {
- auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList( QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids);
- }
-
- try {
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
- // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
- String fileName = URLEncoder.encode("杈呭姪宸ユ椂淇℃伅瀵煎嚭", "UTF-8");
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- //鏂板缓ExcelWriter
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
- //鑾峰彇sheet0瀵硅薄
- WriteSheet mainSheet = EasyExcel.writerSheet(0, "杈呭姪宸ユ椂淇℃伅瀵煎嚭").head(AuxiliaryWorkingHoursDayDto.class).build();
-
- //鍚憇heet0鍐欏叆鏁版嵁 浼犲叆绌簂ist杩欐牱鍙鍑鸿〃澶�
- excelWriter.write(auxiliaryWorkingHoursDayDtoIPage, mainSheet);
- //鍏抽棴娴�
- excelWriter.finish();
- } catch (IOException e) {
- throw new RuntimeException("瀵煎嚭澶辫触");
- }
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java
index 9863d69..397667b 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.core.dto.UserPageDto;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursMapper;
import com.ruoyi.performance.pojo.AuxiliaryWorkingHours;
@@ -52,4 +54,5 @@
}
return auxiliaryWorkingHoursMapper.insert(auxiliaryWorkingHours);
}
+
}
diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
index 9229c98..d723be8 100644
--- a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
+++ b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
@@ -17,41 +17,36 @@
<result column="date_time" property="dateTime"/>
<result column="week" property="week"/>
<result column="week_day" property="weekDay"/>
- <result column="check" property="check"/>
+ <result column="check_id" property="checkId"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="create_user" property="createUser"/>
<result column="update_user" property="updateUser"/>
</resultMap>
-
- <sql id="selectAuxiliaryOutputWorking">
+ <select id="selectAuxiliaryOutputWorkingHours" resultType="com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto">
select *
from (
select aowh.id,
- aowh.inspection_item_class,
- aowh.inspection_item,
- aowh.inspection_item_subclass,
- aowh.overtime_order_no,
- aowh.overtime_work_time,
- aowh.overtime_amount,
- aowh.order_no,
- aowh.work_time,
- aowh.amount,
- aowh.output_work_time,
- aowh.date_time,
- aowh.week,
- aowh.week_day,
- user.name,
- aowh.sample,
- aowh.price,
- aowh.man_hour_group,
- ip.cable_tag
+ inspection_item,
+ inspection_item_subclass,
+ overtime_order_no,
+ overtime_work_time,
+ overtime_amount,
+ order_no,
+ work_time,
+ amount,
+ output_work_time,
+ date_time,
+ week,
+ week_day,
+ name,
+ sample,
+ aowh.check_id
FROM auxiliary_output_working_hours aowh
- left join ins_product ip on ip.id = aowh.ins_product_id
- left join user on user.id=aowh.`check`
+ left join user on user.id=aowh.check_id
WHERE 1=1
- <if test="ids !=null and ids.size() > 0">
- and `check` in
+ <if test="ids !=null and ids.size()>0">
+ and aowh.check_id in
<foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
#{val}
</foreach>
@@ -60,18 +55,14 @@
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
- </sql>
- <select id="selectAuxiliaryOutputWorkingHours" resultType="com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto">
- <include refid="selectAuxiliaryOutputWorking"/>
</select>
<select id="selectDataByUser" resultType="com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto">
- select aowh.*, name, ip.cable_tag cableTag
+ select aowh.*,name
FROM auxiliary_output_working_hours aowh
- left join ins_product ip on ip.id = aowh.ins_product_id
- left join user on user.id = aowh.`check`
- WHERE 1 = 1
- <if test="ids !=null and ids.size() > 0">
- and `check` in
+ left join user on user.id=aowh.check_id
+ WHERE 1=1
+ <if test="ids !=null and ids.size()>0">
+ and aowh.check_id in
<foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
#{val}
</foreach>
@@ -80,22 +71,24 @@
<select id="totalHours" resultType="java.util.Map">
select A.name,
A.month,
- FORMAT(SUM(A.manHours), 4) manHours
+ FORMAT(SUM(A.manHours), 4) AS manHours
from(
select user.name,
date_time as month,
order_no,
sample,
man_hour_group,
- case when #{type}='鍔犵彮宸ユ椂' then case when overtime_work_time is null then 0 else overtime_work_time end
- else case when work_time is null then 0 else work_time end end as manHours
+ case
+ when #{type}='鍔犵彮宸ユ椂' then case when overtime_work_time is null then 0 else overtime_work_time end
+ else case when work_time is null then 0 else work_time end
+ end as manHours
-- FORMAT(SUM(output_work_time), 4) as manHours
from auxiliary_output_working_hours aowh
- left join user on user.id=aowh.`check`
+ left join user on user.id=aowh.check_id
left join department_lims dl on depart_lims_id=dl.id
where date_time LIKE CONCAT('%', #{month}, '%')
- <if test="ids !=null and ids != ''">
- and `check` in
+ <if test="ids !=null and ids.size()>0">
+ and aowh.check_id in
<foreach collection="ids" open="(" separator="," close=")" item="val">
#{val}
</foreach>
@@ -115,8 +108,8 @@
<select id="selectListByIds" resultType="com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours">
select * from auxiliary_output_working_hours
where 1=1
- <if test="ids !=null and ids != ''">
- and `check` in
+ <if test="ids !=null and ids.size()>0">
+ and check_id in
<foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
#{val}
</foreach>
@@ -126,8 +119,8 @@
<select id="selectLists" resultMap="BaseResultMap">
select * from(select * from auxiliary_output_working_hours
WHERE 1=1
- <if test="ids !=null and ids != ''">
- and `check` in
+ <if test="ids !=null and ids.size()>0">
+ and check_id in
<foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
#{val}
</foreach>
@@ -136,51 +129,5 @@
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
- </select>
- <select id="selectAuxiliaryAllByMonth" resultType="com.ruoyi.performance.dto.AuxiliaryAllDto">
- select sum(aowh.work_time) yieldHour,
- u.name userName,
- aowh.`check` userId,
- #{dto.month} month
- from (SELECT *
- FROM auxiliary_output_working_hours
- GROUP BY CASE
- WHEN man_hour_group IS NOT NULL AND man_hour_group != '' THEN man_hour_group
- ELSE id
- END
- , CASE
- WHEN man_hour_group IS NOT NULL AND man_hour_group != '' THEN order_id
- ELSE id
- END) aowh
- left join user u on u.id = aowh.`check`
- where aowh.date_time between #{dto.beginDate} and #{dto.endDate}
- <if test="userIds !=null and userIds.size() > 0">
- and aowh.`check` in
- <foreach collection="userIds" index="index" open="(" separator="," close=")" item="val">
- #{val}
- </foreach>
- </if>
- group by aowh.`check`
- </select>
- <select id="selectSubsidiaryAllByMonth" resultType="com.ruoyi.performance.dto.AuxiliaryAllDto">
- select sum(awhd.reviewer_nonproductive_time) subsidiaryHour,
- u.name userName,
- awhd.name_user userId,
- #{dto.month} month
- from auxiliary_working_hours_day awhd
- left join user u on u.id = awhd.name_user
- where awhd.date_time between #{dto.beginDate} and #{dto.endDate}
- and awhd.state = '宸叉壒鍑�'
- <if test="userIds !=null and userIds.size() > 0">
- and awhd.name_user in
- <foreach collection="userIds" index="index" open="(" separator="," close=")" item="val">
- #{val}
- </foreach>
- </if>
- group by awhd.name_user
- </select>
- <!-- 鏌ヨ浜ч噺宸ユ椂闆嗗悎 -->
- <select id="selectAuxiliaryOutputWorkingHoursList" resultType="com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto">
- <include refid="selectAuxiliaryOutputWorking"/>
</select>
</mapper>
diff --git a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
index 55779b3..b92f761 100644
--- a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
+++ b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
@@ -149,7 +149,7 @@
from user u
left join department_lims dl
on FIND_IN_SET(dl.id,u.depart_lims_id)
- where dl.name in('閫氫俊浜у搧瀹為獙瀹�','鐢靛姏浜у搧瀹為獙瀹�')
+ where dl.name in('閫氫俊浜у搧瀹為獙瀹�','鐢靛姏浜у搧瀹為獙瀹�','妫�娴嬪姙')
and u.status = 0
and u.is_custom = 0
</select>
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
index 3143ec8..58130ac 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
@@ -6,14 +6,14 @@
/**
* 鐢ㄦ埛涓庤鑹插叧鑱旇〃 鏁版嵁灞�
- *
+ *
* @author ruoyi
*/
public interface SysUserRoleMapper
{
/**
* 閫氳繃鐢ㄦ埛ID鍒犻櫎鐢ㄦ埛鍜岃鑹插叧鑱�
- *
+ *
* @param userId 鐢ㄦ埛ID
* @return 缁撴灉
*/
@@ -21,7 +21,7 @@
/**
* 鎵归噺鍒犻櫎鐢ㄦ埛鍜岃鑹插叧鑱�
- *
+ *
* @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
* @return 缁撴灉
*/
@@ -29,7 +29,7 @@
/**
* 閫氳繃瑙掕壊ID鏌ヨ瑙掕壊浣跨敤鏁伴噺
- *
+ *
* @param roleId 瑙掕壊ID
* @return 缁撴灉
*/
@@ -37,7 +37,7 @@
/**
* 鎵归噺鏂板鐢ㄦ埛瑙掕壊淇℃伅
- *
+ *
* @param userRoleList 鐢ㄦ埛瑙掕壊鍒楄〃
* @return 缁撴灉
*/
@@ -45,7 +45,7 @@
/**
* 鍒犻櫎鐢ㄦ埛鍜岃鑹插叧鑱斾俊鎭�
- *
+ *
* @param userRole 鐢ㄦ埛鍜岃鑹插叧鑱斾俊鎭�
* @return 缁撴灉
*/
@@ -53,10 +53,18 @@
/**
* 鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊
- *
+ *
* @param roleId 瑙掕壊ID
* @param userIds 闇�瑕佸垹闄ょ殑鐢ㄦ埛鏁版嵁ID
* @return 缁撴灉
*/
public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds);
+
+
+ /**
+ * 閫氳繃鐢ㄦ埛ID鏌ヨ瑙掕壊ID
+ * @param userId 鐢ㄦ埛ID
+ */
+ public List<Long> selectRoleIdsByUserId(Long userId);
+
}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
index dd72689..483262d 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
@@ -12,33 +12,39 @@
<delete id="deleteUserRoleByUserId" parameterType="Long">
delete from sys_user_role where user_id=#{userId}
</delete>
-
+
<select id="countUserRoleByRoleId" resultType="Integer">
- select count(1) from sys_user_role where role_id=#{roleId}
+ select count(1) from sys_user_role where role_id=#{roleId}
</select>
-
+
<delete id="deleteUserRole" parameterType="Long">
delete from sys_user_role where user_id in
<foreach collection="array" item="userId" open="(" separator="," close=")">
#{userId}
- </foreach>
+ </foreach>
</delete>
-
+
<insert id="batchUserRole">
insert into sys_user_role(user_id, role_id) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.userId},#{item.roleId})
</foreach>
</insert>
-
+
<delete id="deleteUserRoleInfo" parameterType="SysUserRole">
delete from sys_user_role where user_id=#{userId} and role_id=#{roleId}
</delete>
-
+
<delete id="deleteUserRoleInfos">
delete from sys_user_role where role_id=#{roleId} and user_id in
<foreach collection="userIds" item="userId" open="(" separator="," close=")">
#{userId}
- </foreach>
+ </foreach>
</delete>
-</mapper>
\ No newline at end of file
+
+ <select id="selectRoleIdsByUserId" resultType="list">
+ select role_id from sys_user_role where user_id=#{userId}
+ </select>
+
+
+</mapper>
--
Gitblit v1.9.3