From b43ede1ee201c0d6aaede56e0fa3c4894c892e3c Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 18 四月 2024 10:44:41 +0800
Subject: [PATCH] 工单下发:下发记录增加下发状态
---
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java | 2
ycl-common/src/main/java/enumeration/general/WorkOrderDistributeWayEnum.java | 33 ++++++++++++++++
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 34 +++++++++-------
ycl-server/src/main/resources/mapper/zgyw/WorkOrderDistributeRecordMapper.xml | 4 +-
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java | 2
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderDistributeRecord.java | 4 ++
6 files changed, 60 insertions(+), 19 deletions(-)
diff --git a/ycl-common/src/main/java/enumeration/general/WorkOrderDistributeWayEnum.java b/ycl-common/src/main/java/enumeration/general/WorkOrderDistributeWayEnum.java
new file mode 100644
index 0000000..ee5796b
--- /dev/null
+++ b/ycl-common/src/main/java/enumeration/general/WorkOrderDistributeWayEnum.java
@@ -0,0 +1,33 @@
+package enumeration.general;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.Getter;
+
+/**
+ * 宸ュ崟涓嬪彂鏂瑰紡
+ *
+ * @author锛歡onghl
+ * @date锛�2024/4/18
+ */
+@Getter
+public enum WorkOrderDistributeWayEnum {
+
+ SELECTED_DISTRIBUTE("SELECTED_DISTRIBUTE", "閫夋嫨涓嬪彂"),
+ ALL_DISTRIBUTE("ALL_DISTRIBUTE", "鍏ㄩ儴涓嬪彂"),
+ FAST_DISTRIBUTE("FAST_DISTRIBUTE", "蹇嵎涓嬪彂"),
+ ;
+
+
+ @EnumValue // 鏍囨槑璇ュ瓧娈靛瓨鍏ユ暟鎹簱
+ @JsonValue // 鏍囨槑鍦ㄨ浆JSON鏃朵娇鐢ㄨ瀛楁锛屽嵆鍝嶅簲鏃�
+ private final String value;
+
+ private final String desc;
+
+ WorkOrderDistributeWayEnum(String value, String desc) {
+ this.value = value;
+ this.desc = desc;
+ }
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderDistributeRecord.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderDistributeRecord.java
index b2d7582..9921ce6 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderDistributeRecord.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderDistributeRecord.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ycl.platform.base.AbsEntity;
+import enumeration.general.WorkOrderDistributeWayEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
@@ -34,5 +35,8 @@
@TableField("user_id")
private Long userId;
+ @ApiModelProperty("涓嬪彂鏂瑰紡")
+ @TableField("distribute_way")
+ private WorkOrderDistributeWayEnum distributeWay;
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
index 4fcdc76..1356a02 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -120,7 +120,7 @@
@PostMapping("/distribute/ids")
@ApiOperation(value = "涓嬪彂閫夋嫨", notes = "涓嬪彂閫夋嫨")
public Result selectedIdsDistribute(@RequestBody DistributeWorkOrderQuery query) {
- return workOrderService.selectedIdsDistribute(query.getIds(), query.getUnitId());
+ return workOrderService.selectedIdsDistribute(query);
}
@GetMapping("/{id}")
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
index f9a76f0..3a271d1 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -133,6 +133,6 @@
* @param ids id
* @return 缁撴灉
*/
- Result selectedIdsDistribute(List<Integer> ids, Integer unitId);
+ Result selectedIdsDistribute(DistributeWorkOrderQuery query);
}
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 670853e..17469e8 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
@@ -21,6 +21,7 @@
import com.ycl.utils.SecurityUtils;
import com.ycl.utils.redis.RedisCache;
import enumeration.general.NotifyTypeEnum;
+import enumeration.general.WorkOrderDistributeWayEnum;
import enumeration.general.WorkOrderStatusEnum;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ArrayUtils;
@@ -316,41 +317,44 @@
.set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED)
.in(WorkOrder::getId, ids)
.update();
- addDistributeRecord(ids);
+ addDistributeRecord(ids, WorkOrderDistributeWayEnum.FAST_DISTRIBUTE);
return Result.ok("鎴愬姛涓嬪彂" + ids.size() + "鏉″伐鍗�");
} catch (Exception e) {
- return Result.ok("鎿嶄綔澶辫触");
+ return Result.error("鎿嶄綔澶辫触");
} finally {
distributeUnLock();
}
}
@Override
- public Result selectedIdsDistribute(List<Integer> ids, Integer unitId) {
+ public Result selectedIdsDistribute(DistributeWorkOrderQuery query) {
+ WorkOrderDistributeWayEnum distributeWayEnum = WorkOrderDistributeWayEnum.SELECTED_DISTRIBUTE;
if (!getDistributeLock()) {
- return Result.error("宸ュ崟涓嬪彂涓紝璇风◢鍚庨噸璇�");
+ return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�");
}
try {
- if (ids.isEmpty()) {
- ids = new LambdaQueryChainWrapper<>(baseMapper)
+ if (query.getIds().isEmpty()) {
+ query.setIds(new LambdaQueryChainWrapper<>(baseMapper)
.eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
- .eq(Objects.nonNull(unitId), WorkOrder::getUnitId, unitId)
+ .eq(Objects.nonNull(query.getUnitId()), WorkOrder::getUnitId, query.getUnitId())
.select(WorkOrder::getId)
.list()
.stream()
.map(WorkOrder::getId)
- .collect(Collectors.toList());
+ .collect(Collectors.toList()));
+ distributeWayEnum = WorkOrderDistributeWayEnum.ALL_DISTRIBUTE;
+ }
+ if (query.getIds().isEmpty()) {
+ return Result.error("娌℃湁宸ュ崟寰呬笅鍙�");
}
new LambdaUpdateChainWrapper<>(baseMapper)
.set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED)
- .in(WorkOrder::getId, ids)
- .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
- .eq(Objects.nonNull(unitId), WorkOrder::getUnitId, unitId)
+ .in(WorkOrder::getId, query.getIds())
.update();
- addDistributeRecord(ids);
+ addDistributeRecord(query.getIds(), distributeWayEnum);
return Result.ok("鎿嶄綔鎴愬姛");
} catch (Exception e) {
- return Result.ok("鎿嶄綔澶辫触");
+ return Result.error("鎿嶄綔澶辫触");
} finally {
distributeUnLock();
}
@@ -380,11 +384,11 @@
* 娣诲姞宸ュ崟涓嬪彂璁板綍
* @param ids 宸ュ崟id
*/
- private void addDistributeRecord(List<Integer> ids) {
+ private void addDistributeRecord(List<Integer> ids, WorkOrderDistributeWayEnum distributeWay) {
LoginUser loginUser = SecurityUtils.getLoginUser();
workOrderDistributeRecordMapper.insertBatch(
ids.stream()
- .map(id -> new WorkOrderDistributeRecord(id, loginUser.getUserId()))
+ .map(id -> new WorkOrderDistributeRecord(id, loginUser.getUserId(), distributeWay))
.toList()
);
}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderDistributeRecordMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderDistributeRecordMapper.xml
index 9b76e5a..7266faf 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderDistributeRecordMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderDistributeRecordMapper.xml
@@ -4,10 +4,10 @@
<insert id="insertBatch">
- insert into t_work_order_distribute_record (work_order_id, user_id, create_time, deleted)
+ insert into t_work_order_distribute_record (work_order_id, user_id, create_time, deleted, distribute_way)
values
<foreach collection="list" item="item" separator=",">
- (#{item.workOrderId}, #{item.userId}, now(), '0')
+ (#{item.workOrderId}, #{item.userId}, now(), '0', #{item.distributeWay})
</foreach>
</insert>
</mapper>
--
Gitblit v1.8.0