From 0d243e7f5dc593cdc6e0608bb52cd635f8fc6982 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 19 九月 2025 11:59:44 +0800
Subject: [PATCH] 新需求
---
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 71 ++++++++++++++++++++++++++++++++++-
1 files changed, 69 insertions(+), 2 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index d557e97..a138de8 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -27,10 +27,12 @@
import com.ycl.platform.wvp.WVPResult;
import com.ycl.system.Result;
import com.ycl.system.domain.SysConfig;
+import com.ycl.system.entity.SysDept;
import com.ycl.system.entity.SysDictData;
import com.ycl.system.mapper.SysConfigMapper;
import com.ycl.system.model.LoginUser;
import com.ycl.system.page.PageUtil;
+import com.ycl.system.service.ISysDeptService;
import com.ycl.task.DeleteWorkOrderImgTask;
import com.ycl.utils.DateUtils;
import com.ycl.utils.SecurityUtils;
@@ -117,7 +119,14 @@
WorkOrderServiceImpl self = applicationContext.getBean(WorkOrderServiceImpl.class);
return self.batchAddWorkOrder(workOrderList);
}
-
+ private boolean isSameDay(Date date1, Date date2) {
+ if (date1 == null || date2 == null) {
+ return false;
+ }
+ LocalDate localDate1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ LocalDate localDate2 = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ return localDate1.isEqual(localDate2);
+ }
@Transactional(rollbackFor = Exception.class)
public Boolean batchAddWorkOrder(List<WorkOrder> workOrderList) {
int total = workOrderList.size();
@@ -162,6 +171,15 @@
for (WorkOrder workOrder : workOrderList) {
WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber());
if (Objects.nonNull(databaseWorkOrder)) {
+ //鍒ゆ柇鏄惁鏄粖澶╃殑宸ュ崟
+ if (!isSameDay(databaseWorkOrder.getCreateTime(), now)) {
+ // 鑻ヤ负鍓嶄竴澶╃殑宸ュ崟锛屼笉鏇存柊锛岀洿鎺ュ綋浣滄柊宸ュ崟鏂板
+ workOrder.setCreateTime(now);
+ workOrder.setUpdateTime(now);
+ waitAddList.add(workOrder);
+ continue; // 璺宠繃鍚庣画鐨勬洿鏂伴�昏緫
+ }
+
List<String> errorNameList = databaseWorkOrder.getErrorTypeList();
List<String> errorTypes = workOrder.getErrorTypeList();
if (errorNameList.containsAll(errorTypes)) {
@@ -591,6 +609,37 @@
return Result.ok("鎿嶄綔鎴愬姛");
}
+ @Override
+ public Result ywConditionList(WorkOrderYWConditionsForm form) {
+ List<WorkOrder> workOrderList = new LambdaQueryChainWrapper<>(baseMapper)
+ .in(WorkOrder::getWorkOrderNo,form.getWorkOrderNumbers())
+ .list();
+ System.out.println("--------------");
+ System.out.println(workOrderList);
+ if (CollectionUtils.isEmpty(workOrderList)) {
+ throw new ServiceException("宸ュ崟涓嶅瓨鍦�");
+ }
+ // 宸ュ崟鐘舵��
+ for (WorkOrder workOrder : workOrderList) {
+ workOrder.setStatus(WorkOrderStatusEnum.YW_HANDLE);
+ workOrder.setYwHandleTime(LocalDateTime.now());
+ }
+ baseMapper.updateMany(workOrderList);
+ // 娣诲姞涓�鏉¤繍缁存儏鍐佃褰�
+ for (WorkOrder workOrder : workOrderList) {
+ WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord();
+ workOrderYwConditionRecord.setWorkOrderNo(workOrder.getWorkOrderNo());
+ workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue());
+ workOrderYwConditionRecord.setYwCondition(form.getYwCondition());
+ workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials());
+ workOrderYwConditionRecord.setSysMsg(Boolean.FALSE);
+ workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord);
+ WorkOrderServiceImpl self = applicationContext.getBean(WorkOrderServiceImpl.class);
+ self.getImage(workOrder);
+ }
+ return Result.ok("鎿嶄綔鎴愬姛");
+ }
+
@Async("threadPoolTaskExecutor")
public void getImage(WorkOrder workOrder) {
List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper)
@@ -756,7 +805,7 @@
-
+ private final ISysDeptService deptService;
/**
* 鍒嗛〉鏌ヨ
*
@@ -765,6 +814,24 @@
*/
@Override
public Result page(WorkOrderQuery query) {
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ SysDept sysDept = null;
+ Long deptId =null;
+ if (loginUser.getDeptId() != null){
+ deptId = loginUser.getDeptId();
+ sysDept = deptService.selectDeptById(deptId);
+ }
+ //鏌ヨ鎸囧畾鍖烘暟鎹�
+ // 鐧诲綍璐﹀彿鐨勫瓨鍦ㄩ儴闂� 涓嶅湪閮ㄩ棬鍐呭氨涓嶄紶鍊硷紝榛樿鏌ヨ鍏ㄩ儴
+ if (sysDept !=null){
+ //鏇村叿閮ㄩ棬id鑾峰緱瀵瑰簲鏋氫妇 閮ㄩ棬code
+ AreaDeptEnum areaDeptEnum = AreaDeptEnum.fromDept(Math.toIntExact(sysDept.getDeptId()));
+ if (areaDeptEnum != null){
+ query.setDept(areaDeptEnum.getCode());
+ }
+ }
+
+
IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
if (query.getUnitId() == null) {
query.setUnitId(SecurityUtils.getUnitId());
--
Gitblit v1.8.0