From e46aa927d231af83724683c7286d9db503e24cf7 Mon Sep 17 00:00:00 2001 From: z8018 <1282578289@qq.com> Date: 星期二, 10 六月 2025 11:46:20 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ExceptionPlaceBlockService.cs | 35 +++++++++++++++++++++++++++++++++-- 1 files changed, 33 insertions(+), 2 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ExceptionPlaceBlockService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ExceptionPlaceBlockService.cs" index f1e04a7..764060b 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ExceptionPlaceBlockService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ExceptionPlaceBlockService.cs" @@ -10,6 +10,14 @@ namespace WIDESEAWCS_BasicInfoService { + /// <summary> + /// 寮傚父鏀剧疆鍖哄潡鏈嶅姟锛岀敤浜庤绠楀拰澶勭悊寮傚父鎯呭喌涓嬬殑璐х墿鏀剧疆浣嶇疆 + /// </summary> + /// <remarks> + /// 璇ョ被鏍规嵁瀹瑰櫒灏哄鍜岃揣鐗╁昂瀵歌绠楀彇鏀句綅缃潗鏍囷紝 + /// 鍖呭惈妯悜Y鍧愭爣鐨勬渶灏�/鏈�澶ч檺鍒跺鐞嗛�昏緫锛� + /// 骞惰繑鍥炲寘鍚畬鏁翠綅缃俊鎭殑TaskPosition瀵硅薄 + /// </remarks> public class ExceptionPlaceBlockService { public ContainerSize ContainerSize { get; private set; } @@ -24,11 +32,29 @@ /// </summary> public const int MaxY = 600; + /// <summary> + /// 鏋勯�犲嚱鏁帮紝鍒濆鍖栧紓甯镐綅缃尯鍧楁湇鍔� + /// </summary> + /// <param name="containerSize">瀹瑰櫒灏哄鍙傛暟</param> public ExceptionPlaceBlockService(ContainerSize containerSize) { ContainerSize = containerSize; } + /// <summary> + /// 璁$畻寮傚父鏀剧疆鍧楃殑浠诲姟浣嶇疆 + /// </summary> + /// <param name="length">鐗╁搧闀垮害</param> + /// <param name="width">鐗╁搧瀹藉害</param> + /// <param name="height">鐗╁搧楂樺害</param> + /// <param name="count">鐗╁搧鏁伴噺</param> + /// <returns>鍖呭惈鍙栨斁浣嶇疆淇℃伅鐨凾askPosition瀵硅薄</returns> + /// <remarks> + /// 璇ユ柟娉曚細鏍规嵁鐗╁搧灏哄鑷姩璋冩暣鍙栨斁浣嶇疆锛� + /// 1. 褰撻暱搴﹀皬浜庡搴︽椂浼氫氦鎹袱鑰� + /// 2. 鏍规嵁鐗╁搧灏哄閫夋嫨涓嶅悓鐨勮澶囦腑蹇冪偣 + /// 3. 纭繚Y杞翠綅缃湪MinY鍜孧axY涔嬮棿 + /// </remarks> public TaskPosition ExceptionPlaceBlock(int length, int width, int height, int count) { int tempLength = length; @@ -52,7 +78,7 @@ deviceCenter = new Point3D(530 / 2, 130 / 2, 0); } - takePositionX = width / 2 - deviceCenter.X - MinY / 2; + takePositionX = width / 2 - deviceCenter.X; takePositionY = length / 2 - deviceCenter.Y; takePositionZ = 10; @@ -65,7 +91,12 @@ takePositionY = 0; putPositionY = MinY; } - else if (putPositionY > MaxY) + else + { + takePositionY -= MinY; + } + + if (putPositionY > MaxY) { int moreY = putPositionY - MaxY; if (takePositionY - moreY > 0) -- Gitblit v1.9.3