|
@@ -4,6 +4,7 @@ using Newtonsoft.Json.Linq;
|
|
|
using System;
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
using UnityEngine;
|
|
|
using XRTool.Util;
|
|
|
using static easyar.ImageTargetController;
|
|
@@ -92,7 +93,8 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
xj.projectType = "未开始 ";
|
|
|
xj.projectTime = "2023/11/23 10:53 ";
|
|
|
xj.renwuModelType = RenWuModelType.SaoTu;
|
|
|
- xj.itemList = getRenwuData();
|
|
|
+
|
|
|
+ xj.tasksList = new List<XunJianTasks>();
|
|
|
xj.people = "员工A";
|
|
|
return xj;
|
|
|
}
|
|
@@ -108,7 +110,8 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
xj.projectType = "未开始 ";
|
|
|
xj.projectTime = "2023/11/23 10:53 ";
|
|
|
xj.renwuModelType = RenWuModelType.DianYun;
|
|
|
- xj.itemList = getRenwuData();
|
|
|
+
|
|
|
+ xj.tasksList = new List<XunJianTasks>();
|
|
|
xj.people = "员工B";
|
|
|
|
|
|
return xj;
|
|
@@ -125,7 +128,8 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
xj.projectType = "未开始 ";
|
|
|
xj.projectTime = "2023/11/23 10:53 ";
|
|
|
xj.renwuModelType = RenWuModelType.None;
|
|
|
- xj.itemList = getRenwuData();
|
|
|
+
|
|
|
+ xj.tasksList = new List<XunJianTasks>();
|
|
|
xj.people = "员工C";
|
|
|
xj.listWall = getWallData();
|
|
|
return xj;
|
|
@@ -392,7 +396,89 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
xjDataList.Add(testData());
|
|
|
xjDataList.Add(testData2());
|
|
|
}
|
|
|
- xjDataList.AddRange(XunJianDataParetListData(data));
|
|
|
+
|
|
|
+
|
|
|
+ * 1是否为异常巡检>2是否逾期>3是否更新>4接收时间
|
|
|
+ 1. 异常巡检项目>常规巡检项目
|
|
|
+ 2. 已逾期>即将开始>未到逾期提醒>进行中>已完成
|
|
|
+ 3. 新项目>已更新>未更新项目
|
|
|
+ 4. 新接收时间>老接收时间
|
|
|
+
|
|
|
+
|
|
|
+ 新项目 : 接受发布时间在24小时内
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i < data.Count; i++)
|
|
|
+ {
|
|
|
+ int sortStatus = 10;
|
|
|
+ switch (data[i].status)
|
|
|
+ {
|
|
|
+ case 1:
|
|
|
+ sortStatus = 3;
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ sortStatus = 2;
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ sortStatus = 1;
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ sortStatus = 4;
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ sortStatus = 5;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ int sortType = 10;
|
|
|
+ if(data[i].publishTime == data[i].firstPublishTime)
|
|
|
+ {
|
|
|
+ DateTime publishTime = UnixTimeStampToDateTime(data[i].publishTime);
|
|
|
+ DateTime nowTime = UnixTimeStampToDateTime(GetHttpTimer.Instance.timestamp);
|
|
|
+
|
|
|
+ if (IsWithin24Hours(publishTime, nowTime))
|
|
|
+ {
|
|
|
+ sortType = 1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sortType = 3;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sortType = 2;
|
|
|
+ }
|
|
|
+ data[i].sort_projectStatus = sortStatus;
|
|
|
+ data[i].sort_status = sortStatus;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ var data2 = data.OrderByDescending(XunJianData => XunJianData.type)
|
|
|
+ .ThenBy(XunJianData => XunJianData.sort_status)
|
|
|
+ .ThenBy(XunJianData => XunJianData.sort_projectStatus)
|
|
|
+ .ThenByDescending(XunJianData => XunJianData.publishTime);
|
|
|
+
|
|
|
+ List<XunJianData> data3 = new List<XunJianData>();
|
|
|
+ foreach (XunJianData item in data2)
|
|
|
+ {
|
|
|
+ data3.Add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ Debug.Log("DGJ ===> 排序后 " + JsonConvert.SerializeObject(data3));
|
|
|
+
|
|
|
+ xjDataList.AddRange(XunJianDataParetListData(data3));
|
|
|
|
|
|
|
|
|
peopleList = new Dictionary<string, List<XunJianListData>>();
|
|
@@ -422,6 +508,11 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
callback(xjDataList);
|
|
|
}
|
|
|
else
|
|
@@ -453,14 +544,43 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
xj.projectState = ((ProjectStatus)data[i].status).ToString();
|
|
|
xj.projectType = ((ProjectType)data[i].type).ToString();
|
|
|
xj.projectTime = data[i].inspectionTime.ToString();
|
|
|
- xj.updateState = data[i].status > 2 ? "已更新" : "新项目";
|
|
|
+ xj.updateState = data[i].status > 3 ? "已更新" : "新项目";
|
|
|
xj.listWall = data[i].listWall;
|
|
|
+
|
|
|
+ switch (data[i].regionMapType)
|
|
|
+ {
|
|
|
+ case 0:
|
|
|
+ xj.renwuModelType = RenWuModelType.None;
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ xj.renwuModelType = RenWuModelType.SaoTu;
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ xj.renwuModelType = RenWuModelType.DianYun;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
listData.Add(xj);
|
|
|
}
|
|
|
|
|
|
return listData;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ DateTime UnixTimeStampToDateTime(long unixTimeStamp)
|
|
|
+ {
|
|
|
+ DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
|
|
+ return epoch.AddSeconds(unixTimeStamp).ToLocalTime();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ bool IsWithin24Hours(DateTime dateTime1, DateTime dateTime2)
|
|
|
+ {
|
|
|
+ TimeSpan difference = dateTime2 - dateTime1;
|
|
|
+ return Math.Abs(difference.TotalHours) <= 24;
|
|
|
+ }
|
|
|
+
|
|
|
public class XunJianListData
|
|
|
{
|
|
|
public int nowIndex = 0;
|
|
@@ -471,8 +591,10 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
public string projectState;
|
|
|
public string projectType;
|
|
|
public string projectTime;
|
|
|
- public List<RenWuItem> itemList;
|
|
|
+
|
|
|
+ public List<XunJianTasks> tasksList;
|
|
|
public RenWuModelType renwuModelType;
|
|
|
+ public int regionMapType;
|
|
|
public string url;
|
|
|
public string people = "未知员工";
|
|
|
public List<Wall> listWall;
|
|
@@ -487,6 +609,27 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
public int type { get; set; }
|
|
|
public int status { get; set; }
|
|
|
public int inspectionTime { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public int firstPublishTime { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public int publishTime { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public int sort_status { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public int sort_projectStatus { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public int regionMapType { get; set; }
|
|
|
public List<EmployeesData> listEmployees { get; set; }
|
|
|
|
|
|
public List<Wall> listWall { get; set; }
|
|
@@ -508,7 +651,8 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
|
|
|
public void gotoNext()
|
|
|
{
|
|
|
- if(chooseXunJian.itemList.Count-1 > chooseXunJian.nowIndex)
|
|
|
+
|
|
|
+ if (chooseXunJian.tasksList.Count - 1 > chooseXunJian.nowIndex)
|
|
|
{
|
|
|
chooseXunJian.nowIndex++;
|
|
|
if (JinRuRenwu.Instance != null)
|
|
@@ -520,7 +664,7 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
RenWuListWindow.Instance.UpdateData();
|
|
|
}
|
|
|
if (CaoZuoLanManager.Instance)
|
|
|
- CaoZuoLanManager.Instance.nextInteractable(false);
|
|
|
+ CaoZuoLanManager.Instance.nextInteractable(chooseXunJian.tasksList[chooseXunJian.nowIndex].confirmNormal);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -564,6 +708,70 @@ public class XunJianDataManager : Singleton<XunJianDataManager>
|
|
|
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ public class XunJianTasks
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public int id { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public int type { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public string title { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public string description { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public int targetingMethod { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public string locatorNumber { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public bool confirmNormal { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public List<MinioResources> diagram { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public List<MinioResources> resources { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public int index { get; set; }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public List<Vector3> roadList { get; set; }
|
|
|
+
|
|
|
+ public ImageFileSourceData imageData { get; set; }
|
|
|
+
|
|
|
+ public RenWuState state = RenWuState.None;
|
|
|
+ }
|
|
|
+
|
|
|
+ public class MinioResources
|
|
|
+ {
|
|
|
+ public int id { get; set; }
|
|
|
+ public string path { get; set; }
|
|
|
+ public string uuid { get; set; }
|
|
|
+
|
|
|
+ public int loadingMethod { get; set; }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public class RenWuTypeModel
|
|
|
{
|
|
|
public RenWuType type;
|