From b39f01141a3ec0dfff105647a485033f7cf27dc7 Mon Sep 17 00:00:00 2001
From: duyongjia <adu_555@163.com>
Date: 星期五, 28 二月 2025 09:02:26 +0800
Subject: [PATCH] 增加数据脚本
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs | 95 +++++++++++++++++++++++++++++++++--------------
1 files changed, 67 insertions(+), 28 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs"
index f473d5d..7bd3e0f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs"
@@ -29,9 +29,9 @@
}
private Dictionary<string, OrderByType> _emptyAssignOrderBy = new Dictionary<string, OrderByType>()
{
- { nameof(Dt_LocationInfo.Depth), OrderByType.Desc },
+ //{ nameof(Dt_LocationInfo.Depth), OrderByType.Desc },
{ nameof(Dt_LocationInfo.Layer), OrderByType.Asc },
- { nameof(Dt_LocationInfo.Column), OrderByType.Asc },
+ { nameof(Dt_LocationInfo.Column), OrderByType.Desc },
{ nameof(Dt_LocationInfo.Row), OrderByType.Asc },
};
@@ -68,49 +68,88 @@
return null;
}
+
+ public virtual Dt_LocationInfo? AssignLocation(string stationCode, int inboundType,string palletCode)
+ {
+ try
+ {
+ Dt_RoadwayInfo roadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.InStationCode == stationCode) ?? throw new Exception("鏈壘鍒拌绔欏彴瀵瑰簲鐨勫贩閬擄紝璇锋鏌ュ熀纭�閰嶇疆淇℃伅!");
+ if (roadwayInfo.EnableStatus != EnableStatusEnum.Normal.ObjToInt() && roadwayInfo.EnableStatus != EnableStatusEnum.OnlyIn.ObjToInt())
+ {
+ throw new Exception("璇ュ贩閬撲笉鍙叆搴擄紝璇锋鏌ュ贩閬撶鐢ㄤ俊鎭�!");
+ }
+ if (roadwayInfo.AreaId > 0)
+ {
+ Dt_AreaInfo areaInfo = _basicRepository.AreaInfoRepository.QueryFirst(x => x.Id == roadwayInfo.AreaId);
+ if (areaInfo != null && areaInfo.AreaStatus == EnableEnum.Disable.ObjToInt())
+ {
+ throw new Exception("鍖哄煙琚鐢紝涓嶅彲鍏ュ簱!");
+ }
+ }
+ if (inboundType == TaskTypeEnum.PalletInbound.ObjToInt())//绌虹洏鍏ュ簱鍒嗛厤閫昏緫
+ {
+ return EmptyAssignLocation(roadwayInfo.RoadwayNo,palletCode);
+ }
+ else if (inboundType == TaskTypeEnum.Inbound.ObjToInt()|| inboundType == TaskTypeEnum.PalletReturnInbound.ObjToInt())
+ {
+ return StoredAssignLocation(roadwayInfo.RoadwayNo,palletCode);
+ }
+
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+
+ return null;
+ }
public virtual Dt_LocationInfo? AssignLocation(string RoadwayNo)
{
return StoredAssignLocation(RoadwayNo);
}
+
+ public virtual Dt_LocationInfo? AssignLocation(string RoadwayNo, string palletCode)
+ {
+ return StoredAssignLocation(RoadwayNo,palletCode);
+ }
+
private Dt_LocationInfo EmptyAssignLocation(string roadway)
{
- List<LocationGroupDTO> locationGroups = BaseDal.GetLocationGroups(roadway, LocationStatusEnum.Free, LocationStatusEnum.Pallet);
- if (locationGroups != null && locationGroups.Count > 0)
+
+ return BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() && x.RoadwayNo == roadway), _emptyAssignOrderBy);
+ }
+
+ private Dt_LocationInfo EmptyAssignLocation(string roadway,string palletCode)
+ {
+ if (palletCode.Substring(0, 1) == "B")
{
- LocationGroupDTO? locationGroup = locationGroups.FirstOrDefault(x => x.EnableStatusA == EnableStatusEnum.Normal.ObjToInt()|| x.EnableStatusA == EnableStatusEnum.OnlyIn.ObjToInt());
- int id = locationGroup?.IdA ?? 0;
- return BaseDal.QueryFirst(x => x.Id == id);
+ return BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() && x.RoadwayNo == roadway&&x.AreaId==2), _emptyAssignOrderBy);
}
- locationGroups = BaseDal.GetLocationGroups(roadway, LocationStatusEnum.Free, LocationStatusEnum.Free);
- if (locationGroups != null && locationGroups.Count > 0)
+ else
{
- LocationGroupDTO? locationGroup = locationGroups.FirstOrDefault(x => x.EnableStatusB == EnableStatusEnum.Normal.ObjToInt()||x.EnableStatusB == EnableStatusEnum.OnlyIn.ObjToInt());
- int id = locationGroup?.IdB ?? 0;
- return BaseDal.QueryFirst(x => x.Id == id);
+ return BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() && x.RoadwayNo == roadway&&x.AreaId==1), _emptyAssignOrderBy);
}
- return BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()||x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() && x.RoadwayNo == roadway), _emptyAssignOrderBy);
}
private Dt_LocationInfo StoredAssignLocation(string roadway)
{
- List<LocationGroupDTO> locationGroups = BaseDal.GetLocationGroups(roadway, LocationStatusEnum.Free, LocationStatusEnum.InStock);
- if (locationGroups != null && locationGroups.Count > 0)
- {
- LocationGroupDTO? locationGroup = locationGroups.FirstOrDefault(x => x.EnableStatusA == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatusA == EnableStatusEnum.Normal.ObjToInt());
- int id = locationGroup?.IdA ?? 0;
- return BaseDal.QueryFirst(x => x.Id == id);
- }
- locationGroups = BaseDal.GetLocationGroups(roadway, LocationStatusEnum.Free, LocationStatusEnum.Free);
- if (locationGroups != null && locationGroups.Count > 0)
- {
- LocationGroupDTO? locationGroup = locationGroups.FirstOrDefault(x => x.EnableStatusB == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatusB == EnableStatusEnum.Normal.ObjToInt());
- int id = locationGroup?.IdB ?? 0;
- return BaseDal.QueryFirst(x => x.Id == id);
- }
+
+ return BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() && x.RoadwayNo == roadway), _emptyAssignOrderBy);
+
+ }
- return BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() && x.RoadwayNo == roadway), _emptyAssignOrderBy);
+ private Dt_LocationInfo StoredAssignLocation(string roadway, string palletCode)
+ {
+ if (palletCode.Substring(0, 1) == "B")
+ {
+ return BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() && x.RoadwayNo == roadway&&x.AreaId==2), _emptyAssignOrderBy);
+ }
+ else
+ {
+ return BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() && x.RoadwayNo == roadway && x.AreaId == 1), _emptyAssignOrderBy);
+ }
}
public Dt_LocationInfo AdjacentDepthLocation(string locationCode)
--
Gitblit v1.9.3