From 010eb7b8cdcaaba77ec272234352f15aa028ca82 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期二, 23 七月 2024 09:52:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java | 2
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java | 32 ++++++++++
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java | 2
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 2
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 5 +
system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java | 75 ++++++++++++++++++++++++
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java | 4
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 22 +++++--
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 3
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java | 4
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java | 12 +++
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java | 2
12 files changed, 144 insertions(+), 21 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
index 169a309..89582d8 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -62,8 +62,8 @@
@ValueClassify("妫�楠屼笅鍗�")
@ApiOperation(value = "妫�楠屽垎閰�")
@PostMapping("/upInsOrder")
- public Result<?> upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId) {
- return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId));
+ public Result<?> upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId,String sonLaboratory) {
+ return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId,sonLaboratory));
}
@ValueClassify("妫�楠屼笅鍗�")
@ApiOperation(value = "娣诲姞妫�楠屼笅鍗曟暟鎹�")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index 3a47296..bc840f3 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -87,8 +87,8 @@
@ValueClassify("妫�楠屼换鍔�")
@ApiOperation(value = "浠诲姟浜ゆ帴")
@PostMapping("/upPlanUser")
- public Result<?> upPlanUser(Integer userId, Integer orderId) {
- return Result.success(insOrderPlanService.upPlanUser(userId, orderId));
+ public Result<?> upPlanUser(Integer userId, Integer orderId,String sonLaboratory) {
+ return Result.success(insOrderPlanService.upPlanUser(userId, orderId, sonLaboratory));
}
@ValueClassify("妫�楠屼换鍔�")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
index 69723bd..d776bbd 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -25,7 +25,7 @@
*/
public interface InsSampleMapper extends BaseMapper<InsSample> {
- IPage<InsOrderPlanVO> findInsSampleAndOrder(Page page, QueryWrapper<InsOrderPlanDTO> ew, Integer userId);
+ IPage<InsOrderPlanVO> findInsSampleAndOrder(Page page, QueryWrapper<InsOrderPlanDTO> ew, Integer userId,String sonLaboratory);
IPage<InsOrderPlanTaskSwitchVo> inspectionOrderDetailsTaskSwitching(Page page, QueryWrapper<InsOrderPlanDTO> ew, Integer userId);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java
index 2afb817..8512567 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java
@@ -10,6 +10,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
+import org.apache.poi.ss.formula.functions.T;
/**
* 鏍峰搧璐熻矗浜鸿褰�
@@ -57,9 +58,18 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
- public InsSampleUser(Integer insSampleId, Integer userId, Integer state) {
+ /**
+ * 瀛愯瘯楠屽
+ * @param insSampleId
+ * @param userId
+ * @param state
+ */
+ private String sonLaboratory;
+
+ public InsSampleUser(Integer insSampleId, Integer userId, Integer state,String sonLaboratory) {
this.insSampleId = insSampleId;
this.userId = userId;
this.state = state;
+ this.sonLaboratory = sonLaboratory;
}
}
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index 023bbaa..510fa39 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -23,7 +23,7 @@
Map<String, Object> doInsOrder(Integer id, String laboratory);
- int upPlanUser(Integer userId, Integer orderId);
+ int upPlanUser(Integer userId, Integer orderId,String sonLaboratory);
int verifyPlan(Integer orderId, String laboratory, Integer type, String tell);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
index 2479a02..b6adc4e 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
@@ -23,7 +23,7 @@
Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto);
//淇敼妫�楠屼笅鍗曟暟鎹�
- int upInsOrder(Integer orderId,Integer sampleId, String appointed, Integer userId);
+ int upInsOrder(Integer orderId,Integer sampleId, String appointed, Integer userId,String sonLaboratory);
int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index 07d458c..a4fd33f 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -143,7 +143,8 @@
userId = map1.get("userId");
insOrderPlanDTO.setUserId(userId.longValue());
}
- IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId);
+ String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
+ IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory);
map.put("body", insOrderPage);
return map;
}
@@ -162,6 +163,7 @@
return map;
}
+ //璁ら浠诲姟
@Override
public boolean claimInsOrderPlan(InsOrderPlanDTO entity) {
if (Objects.isNull(entity)) {
@@ -169,7 +171,7 @@
}
Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
Integer userId = map1.get("userId");
- InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 1);
+ InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 1,entity.getSonLaboratory());
return insSampleUserMapper.insert(insSampleUser) > 0;
}
@@ -418,7 +420,7 @@
productVos = productVos.stream().sorted(Comparator.comparing(productVo -> productVo.getInsProduct().getInspectionItemClass())).collect(Collectors.toList());
}
else {
- //鐢靛姏--鐑惊鐜�
+ //鐢靛姏--鐑惊鐜拰娓╁崌璇曢獙
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
.eq(InsProduct::getInsSampleId, sampleId)
.eq(InsProduct::getInspectionItem, inspectionItem));
@@ -545,7 +547,7 @@
.eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
.eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode()));
if (count == 0 && ObjectUtils.isNotEmpty(insProduct.getManHour())) {
- //娣诲姞姣忎釜浜虹殑浜ч噺宸ユ椂
+ //娣诲姞姣忎釜浜虹殑浜ч噺宸ユ椂,瑕佸垽鏂綋鍓嶆椂闂存槸鍚︽槸杩欎釜浜虹殑鎺掔彮鏃堕棿,濡傛灉涓嶆槸鍒欐槸鍔犵彮
AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
@@ -608,12 +610,14 @@
});
}
+ //浜ゆ帴
@Override
- public int upPlanUser(Integer userId, Integer orderId) {
+ public int upPlanUser(Integer userId, Integer orderId,String sonLaboratory) {
InsSampleUser insSampleUser = new InsSampleUser();
insSampleUser.setUserId(userId);
insSampleUser.setInsSampleId(orderId);
insSampleUser.setState(0);
+ insSampleUser.setSonLaboratory(sonLaboratory);
return insSampleUserMapper.insert(insSampleUser);
}
@@ -3455,7 +3459,13 @@
info.setViewStatus(false);
info.setJumpPath("b1-inspect-order-plan");
informationNotificationService.addInformationNotification(info);
- upPlanUser(verifyUser, orderId);
+ //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
+ InsSampleUser insSampleUser = new InsSampleUser();
+ insSampleUser.setUserId(verifyUser);
+ insSampleUser.setInsSampleId(orderId);
+ insSampleUser.setState(0);
+ insSampleUser.setSonLaboratory(laboratory);
+ insSampleUserMapper.insert(insSampleUser);
/*鏍¢獙涓�涓媟esult琛�*/
CompletableFuture.supplyAsync(() -> {
List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList());
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index c9689b7..3588972 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -122,7 +122,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId) {
+ public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId,String sonLaboratory) {
InsOrder insOrder = new InsOrder();
insOrder.setId(orderId);
insOrder.setAppointed(LocalDate.parse(appointed));
@@ -147,6 +147,7 @@
insSampleUser.setState(0);
insSampleUser.setUserId(userId);
insSampleUser.setInsSampleId(orderId);
+ insSampleUser.setSonLaboratory(sonLaboratory);
insSampleUserMapper.insert(insSampleUser);
}
return 1;
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 8c0fbce..b6396c8 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -421,7 +421,7 @@
GROUP_CONCAT(b.inspection_item2
SEPARATOR ',')
inspection_item from (select * ,
- GROUP_CONCAT(CONCAT(inspection_item,'',inspection_item_subclass) SEPARATOR ',')inspection_item2 from ins_product where state = 1 and template_id IS NOT NULL GROUP BY ins_sample_id,man_hour_group) b GROUP
+ GROUP_CONCAT(CONCAT(inspection_item,'@',inspection_item_subclass) SEPARATOR ',')inspection_item2 from ins_product where state = 1 and template_id IS NOT NULL GROUP BY ins_sample_id,man_hour_group) b GROUP
BY b.ins_sample_id) c ON c.ins_sample_id = isa.id
where (i.state = 1 or i.state = 3 or i.state = 4) and c.ins_sample_id IS not NULL)A
GROUP BY
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index c644e16..b2f30cf 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -47,9 +47,10 @@
LEFT JOIN ( <!--SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id -->
SELECT *
FROM ins_sample_user u
- WHERE (ins_sample_id, id) IN (
+ WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN (
SELECT ins_sample_id, MAX(id)
FROM ins_sample_user
+ WHERE son_laboratory=#{sonLaboratory}
GROUP BY ins_sample_id
)
ORDER BY ins_sample_id, id
@@ -71,7 +72,7 @@
) a
LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM
- ins_sample_user GROUP BY ins_sample_id) md where td.id = md.id
+ ins_sample_user where son_laboratory=#{sonLaboratory} GROUP BY ins_sample_id) md where td.id = md.id
<if test="userId !=null and userId!=''">
and user_id = #{userId} OR user_id is NULL
</if>
diff --git a/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java b/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java
index 1760331..2d3b8bd 100644
--- a/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java
+++ b/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java
@@ -1,16 +1,34 @@
package com.yuanchu.mom.backup;
+import com.yuanchu.mom.dto.PerformanceShiftAddDto;
+import com.yuanchu.mom.mapper.EnumMapper;
+import com.yuanchu.mom.pojo.Enums;
+import com.yuanchu.mom.pojo.PerformanceShift;
+import com.yuanchu.mom.pojo.User;
+import com.yuanchu.mom.service.EnumService;
+import com.yuanchu.mom.service.PerformanceShiftService;
+import com.yuanchu.mom.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
import java.io.*;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.temporal.TemporalAdjusters;
+import java.time.temporal.WeekFields;
import java.util.Date;
+import java.util.Dictionary;
+import java.util.List;
+import java.util.Locale;
+import java.util.stream.Collectors;
-//@Component
+@Component
@EnableScheduling
@Slf4j
public class MysqlDataBackup {
@@ -55,11 +73,20 @@
@Value("${backup.mysqldump}")
private String mysqldump;
+ @Resource
+ private PerformanceShiftService performanceShiftService;
+
+ @Resource
+ private EnumService enumService;
+
+ @Resource
+ private UserService userService;
+
/**
* 姣忓ぉ鏅氫笂23鐐�05绉掓墽琛� 銆� 0 0 4 1/1 * ? 銆�
* 娴嬭瘯 20 绉掍竴娆°�� 0/20 * * * * ? 銆慇Scheduled(cron = "5 * 23 * * ?")
*/
-// @Scheduled(cron = "5 0 23 * * ?")
+ //@Scheduled(cron = "0/20 * * * * ?")
private void configureTasks() {
log.info("銆愬浠芥暟鎹簱銆�--START");
String dbUrl2 = dbUrl.replace("jdbc:mysql://", "");
@@ -171,6 +198,50 @@
}
}
+
+ /**
+ * 瀹氭椂浠诲姟,姣忎釜鏈�1鍙风殑00:00:00
+ * 缁欐瘡涓汉閮借繘琛屾帓鐝�(榛樿鏃╃彮)
+ */
+ //@Scheduled(cron = "0 0 0 1 *?")
+ //@Scheduled(cron = "0/20 * * * * ?")
+ private void timerCreateSchedule(){
+ System.out.println("寮�濮嬬粰姣忎釜浜鸿繘琛屾帓鐝�,榛樿鏃╃彮======start");
+ // TODO 缁欐瘡涓汉閮借繘琛屾帓鐝�(榛樿鏃╃彮)
+ PerformanceShiftAddDto performanceShiftAddDto = new PerformanceShiftAddDto();
+ //鐝--鏃�(鏌ヨ瀛楀吀)
+ List<Enums> shiftType = enumService.selectEnumByCategory("鐝绫诲瀷");
+ List<String> collect = shiftType.stream().filter(enums -> enums.getLabel().equals("鏃�")).map(enums -> enums.getValue()).collect(Collectors.toList());
+ performanceShiftAddDto.setShift(collect.get(0));
+ //浜哄憳--鎵�鏈変汉
+ String userIds = userService.getDeviceManager().stream().map(user -> user.getId().toString()).distinct().collect(Collectors.joining(","));
+ performanceShiftAddDto.setUserId(userIds);
+ //鍛ㄦ--褰撴湀鎵�鏈�
+ // 鑾峰彇褰撳墠鏃ユ湡
+ LocalDate today = LocalDate.now();
+ // 鑾峰彇鏈湀鐨勭涓�澶╁拰鏈�鍚庝竴澶�
+ LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
+ LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());
+ // 鑾峰彇鍛ㄥ瓧娈典俊鎭紙鏍规嵁鍖哄煙璁剧疆锛�
+ WeekFields weekFields = WeekFields.of(Locale.getDefault());
+ // 鑾峰彇鏈湀绗竴澶╃殑鍛ㄤ竴
+ LocalDate startOfWeek = firstDayOfMonth.with(TemporalAdjusters.previousOrSame(weekFields.getFirstDayOfWeek()));
+ // 閬嶅巻鏈湀鎵�鏈夊ぉ鏁帮紝鎵惧嚭姣忓懆鐨勭涓�澶╁拰鏈�鍚庝竴澶�
+ LocalDate endOfWeek;
+ while (startOfWeek.isBefore(firstDayOfMonth.plusMonths(1))) {
+ endOfWeek = startOfWeek.plusDays(6);
+ LocalDateTime startDateTime = LocalDateTime.of(startOfWeek, LocalTime.MIDNIGHT);
+ LocalDateTime endDateTime = LocalDateTime.of(endOfWeek, LocalTime.MIDNIGHT);
+ System.out.println("Week starts on " + startDateTime + " and ends on " + endDateTime);
+ performanceShiftAddDto.setStartWeek(startDateTime);
+ performanceShiftAddDto.setEndWeek(endDateTime);
+ performanceShiftService.performanceShiftAdd(performanceShiftAddDto);
+ startOfWeek = startOfWeek.plusWeeks(1);
+ }
+
+ System.out.println("鎺掔彮缁撴潫======end");
+ }
+
/**
* 鍒ゆ柇鏂囦欢鏄惁瀛樺湪锛屼笉瀛樺湪鍒涘缓
*/
diff --git a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
index c9fa8ae..4e345ea 100644
--- a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
+++ b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -3,12 +3,42 @@
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.temporal.TemporalAdjusters;
+import java.time.temporal.WeekFields;
+import java.util.Locale;
+
@SpringBootTest
class SystemRunApplicationTest {
@Test
- void contextLoads() throws Exception {
+ void contextLoads() {
+ // 鑾峰彇褰撳墠鏃ユ湡
+ LocalDate today = LocalDate.now();
+ // 鑾峰彇鏈湀鐨勭涓�澶╁拰鏈�鍚庝竴澶�
+ LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
+ LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());
+
+ // 鑾峰彇鍛ㄥ瓧娈典俊鎭紙鏍规嵁鍖哄煙璁剧疆锛�
+ WeekFields weekFields = WeekFields.of(Locale.getDefault());
+
+ // 鑾峰彇鏈湀绗竴澶╃殑鍛ㄤ竴
+ LocalDate startOfWeek = firstDayOfMonth.with(TemporalAdjusters.previousOrSame(weekFields.getFirstDayOfWeek()));
+
+ // 閬嶅巻鏈湀鎵�鏈夊ぉ鏁帮紝鎵惧嚭姣忓懆鐨勭涓�澶╁拰鏈�鍚庝竴澶�
+ LocalDate endOfWeek;
+ while (startOfWeek.isBefore(firstDayOfMonth.plusMonths(1))) {
+ endOfWeek = startOfWeek.plusDays(6);
+ LocalDateTime startDateTime = LocalDateTime.of(startOfWeek, LocalTime.MIDNIGHT);
+ LocalDateTime endDateTime = LocalDateTime.of(endOfWeek, LocalTime.MIDNIGHT);
+
+ System.out.println("Week starts on " + startDateTime + " and ends on " + endDateTime);
+
+ startOfWeek = startOfWeek.plusWeeks(1);
+ }
}
}
--
Gitblit v1.9.3