Bläddra i källkod

运单分页列表

chengang 4 år sedan
förälder
incheckning
834e77d293

+ 3 - 1
src/main/java/com/aoyang/tms/controller/vo/WorkOrderPageListVO.java

@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Data
 public class WorkOrderPageListVO {
@@ -43,6 +44,7 @@ public class WorkOrderPageListVO {
     @ApiModelProperty(value = "运单完成时间")
     private LocalDateTime completeDate;
 
-
+    @ApiModelProperty(value = "已读未读信息")
+    private List<ReadInfo> readInfos;
 
 }

+ 44 - 0
src/main/java/com/aoyang/tms/service/impl/WorkOrderServiceImpl.java

@@ -233,6 +233,50 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
             if (workOrder.getType() == 2) {
                 workOrderPageListVO.setWorkOrderType("卸车·" + WorkOrderEnum.getOrderStatusName(workOrder.getOrderStatus()));
             }
+            if (workOrder.getId() != null) {
+                // 设置已读未读信息
+                List<TruckDriver> truckDrivers = truckDriverService.findTruckDrivers(workOrder.getTruckId());
+                List<ReadInfo> readInfos = new ArrayList<>();
+                for (TruckDriver driver : truckDrivers) {
+                    QueryWrapper<WorkOrderReadinfo> workOrderReadinfoQueryWrapper = new QueryWrapper<>();
+                    workOrderReadinfoQueryWrapper.eq("order_id", workOrder.getId());
+                    workOrderReadinfoQueryWrapper.eq("user_id", driver.getDriverId());
+                    WorkOrderReadinfo read = workOrderReadinfoService.getOne(workOrderReadinfoQueryWrapper);
+                    ReadInfo readInfo = new ReadInfo();
+                    readInfo.setDriverId(driver.getDriverId());
+                    readInfo.setDriverName(driver.getDriverName());
+                    readInfo.setDriverType(0);
+                    if (read == null) {
+                        readInfo.setReadFlag(0);
+                        readInfo.setMinutes((int) Duration.between(workOrder.getCreateDate(), LocalDateTime.now()).toMinutes());
+                    } else {
+                        readInfo.setReadFlag(1);
+                    }
+                    readInfos.add(readInfo);
+                }
+                List<TruckEscort> truckEscorts = truckEscortService.list(new QueryWrapper<TruckEscort>().eq("truck_id", workOrder.getTruckId()));
+                for (TruckEscort truckEscort : truckEscorts) {
+                    QueryWrapper<WorkOrderReadinfo> workOrderReadinfoQueryWrapper = new QueryWrapper<>();
+                    workOrderReadinfoQueryWrapper.eq("order_id", workOrder.getId());
+                    workOrderReadinfoQueryWrapper.eq("user_id", truckEscort.getEscortId());
+                    WorkOrderReadinfo read = workOrderReadinfoService.getOne(workOrderReadinfoQueryWrapper);
+                    ReadInfo readInfo = new ReadInfo();
+                    readInfo.setDriverId(truckEscort.getEscortId());
+                    readInfo.setDriverName(truckEscort.getEscortName());
+                    readInfo.setDriverType(1);
+                    if (read == null) {
+                        readInfo.setReadFlag(0);
+                        readInfo.setMinutes((int) Duration.between(workOrder.getCreateDate(), LocalDateTime.now()).toMinutes());
+                    } else {
+                        readInfo.setReadFlag(1);
+                    }
+                    readInfos.add(readInfo);
+                }
+                if (readInfos != null && readInfos.size() > 0) {
+                    workOrderPageListVO.setReadInfos(readInfos);
+                }
+            }
+
 
 
             listVo.add(workOrderPageListVO);