xxyy
2025-02-18 7feb87dec6ebb75c7ec235505bc6c3dd94c1cde0
合并
已修改2个文件
已添加29个文件
136 ■■■■■ 文件已修改
3F/项目资料/会议纪要/COSMX_MOM&创智上位机__v1.0_20230913.pdf 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/会议纪要/冠宇MOM项目[创智上位机设备供应商&MOM交互会议(电芯线)]会议纪要_v1.0_20230913.docx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/技术协议/052-08百步一期中段业务流程图参考.pdf 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/技术协议/052-09百步一期后段业务流程参考.pdf 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/技术协议/CZCN052-08中段物流技术协议签字版20230131.docx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/技术协议/CZCN052-08中段物流技术协议签字版20230131.pdf 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/技术协议/CZCN052-08中段物流技术参数变更补充协议20230927.pdf 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/技术协议/CZCN052-09后段物流技术协议20230131.docx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/技术协议/CZCN052-09后段物流技术协议(20230131)-1007.pdf 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/技术协议/华益项目技术文件软件部分疑问点-KH.doc 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/接口协议/Apriso行业库-设备通讯接口技术规范v1.3(静置&陈化工序创智上位机&MOM交互流程)@20231009.docx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/接口协议/Apriso行业库-设备通讯接口技术规范v1.3(静置&陈化工序创智上位机&MOM交互流程)@20231009.pdf 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/接口协议/MOM创智接口.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/接口协议/~$MOM创智接口.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/接口协议/冠宇MOM项目方案设计规格书_电芯段_[创智静置陈化工序]_设备集成模块_v1.2@20250208(1).pdf 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/接口协议/电芯接口测试脚本.docx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/接口协议/百步分容柜接口协议.xls 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/接口协议/通用接口测试.docx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/通信协议/02_COSMX设备集成流程静置&陈化流程v1.0.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/通信协议/Apriso行业库-设备通讯接口技术规范v1.3(静置&陈化工序创智上位机&MOM交互流程)@20231009.pdf 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/通信协议/WCS-输送交互表2024-3-26.V1.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/通信协议/WCS与输送线交互协议V20231130.xls 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/通信协议/~$WCS-输送交互表2024-3-26.V1.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/通信协议/堆垛机通信协议.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/项目图纸/前段线体点位图/08三楼输送布局点位图1107.DWG 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/项目图纸/后段线体点位图/09三楼输送光电位置图1108(1).dwg 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/项目图纸/后段线体点位图/三楼9#交互偏移量地址20241027.xls 补丁 | 查看 | 原始文档 | blame | 历史
3F/项目资料/项目图纸/后段线体点位图/电芯车间三楼09编号光电位置图1108.DWG 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StaticVariable.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs 115 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
3F/ÏîÄ¿×ÊÁÏ/»áÒé¼ÍÒª/COSMX_MOM&´´ÖÇÉÏλ»ú__v1.0_20230913.pdf
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/»áÒé¼ÍÒª/¹ÚÓîMOMÏîÄ¿[´´ÖÇÉÏλ»úÉ豸¹©Ó¦ÉÌ&MOM½»»¥»áÒ飨µçоÏߣ©]»áÒé¼ÍÒª_v1.0_20230913.docx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/¼¼ÊõЭÒé/052-08°Ù²½Ò»ÆÚÖжÎÒµÎñÁ÷³Ìͼ²Î¿¼.pdf
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/¼¼ÊõЭÒé/052-09°Ù²½Ò»ÆÚºó¶ÎÒµÎñÁ÷³Ì²Î¿¼.pdf
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/¼¼ÊõЭÒé/CZCN052-08ÖжÎÎïÁ÷¼¼ÊõЭÒéÇ©×Ö°æ20230131.docx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/¼¼ÊõЭÒé/CZCN052-08ÖжÎÎïÁ÷¼¼ÊõЭÒéÇ©×Ö°æ20230131.pdf
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/¼¼ÊõЭÒé/CZCN052-08ÖжÎÎïÁ÷¼¼Êõ²ÎÊý±ä¸ü²¹³äЭÒé20230927.pdf
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/¼¼ÊõЭÒé/CZCN052-09ºó¶ÎÎïÁ÷¼¼ÊõЭÒé20230131.docx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/¼¼ÊõЭÒé/CZCN052-09ºó¶ÎÎïÁ÷¼¼ÊõЭÒ飨20230131£©-1007.pdf
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/¼¼ÊõЭÒé/»ªÒæÏîÄ¿¼¼ÊõÎļþÈí¼þ²¿·ÖÒÉÎʵã-KH.doc
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/½Ó¿ÚЭÒé/AprisoÐÐÒµ¿â-É豸ͨѶ½Ó¿Ú¼¼Êõ¹æ·¶v1.3(¾²ÖÃ&³Â»¯¹¤Ðò´´ÖÇÉÏλ»ú&MOM½»»¥Á÷³Ì)@20231009.docx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/½Ó¿ÚЭÒé/AprisoÐÐÒµ¿â-É豸ͨѶ½Ó¿Ú¼¼Êõ¹æ·¶v1.3(¾²ÖÃ&³Â»¯¹¤Ðò´´ÖÇÉÏλ»ú&MOM½»»¥Á÷³Ì)@20231009.pdf
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/½Ó¿ÚЭÒé/MOM´´ÖǽӿÚ.xlsx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/½Ó¿ÚЭÒé/~$MOM´´ÖǽӿÚ.xlsx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/½Ó¿ÚЭÒé/¹ÚÓîMOMÏîÄ¿·½°¸Éè¼Æ¹æ¸ñÊé_µçо¶Î_[´´ÖǾ²Ö󻯹¤Ðò]_É豸¼¯³ÉÄ£¿é_v1.2@20250208(1).pdf
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/½Ó¿ÚЭÒé/µçо½Ó¿Ú²âÊԽű¾.docx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/½Ó¿ÚЭÒé/°Ù²½·ÖÈݹñ½Ó¿ÚЭÒé.xls
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/½Ó¿ÚЭÒé/ͨÓýӿڲâÊÔ.docx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ͨÐÅЭÒé/02_COSMXÉ豸¼¯³ÉÁ÷³Ì¾²ÖÃ&³Â»¯Á÷³Ìv1.0.xlsx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ͨÐÅЭÒé/AprisoÐÐÒµ¿â-É豸ͨѶ½Ó¿Ú¼¼Êõ¹æ·¶v1.3(¾²ÖÃ&³Â»¯¹¤Ðò´´ÖÇÉÏλ»ú&MOM½»»¥Á÷³Ì)@20231009.pdf
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ͨÐÅЭÒé/WCS-ÊäËͽ»»¥±í2024-3-26.V1.xlsx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ͨÐÅЭÒé/WCSÓëÊäËÍÏß½»»¥Ð­ÒéV20231130.xls
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ͨÐÅЭÒé/~$WCS-ÊäËͽ»»¥±í2024-3-26.V1.xlsx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ͨÐÅЭÒé/¶Ñ¶â»úͨÐÅЭÒé.xlsx
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ǰ¶ÎÏßÌåµãλͼ/08ÈýÂ¥ÊäËͲ¼¾Öµãλͼ1107.DWG
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ºó¶ÎÏßÌåµãλͼ/09ÈýÂ¥ÊäË͹âµçλÖÃͼ1108(1).dwg
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ºó¶ÎÏßÌåµãλͼ/ÈýÂ¥9#½»»¥Æ«ÒÆÁ¿µØÖ·20241027.xls
Binary files differ
3F/ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ºó¶ÎÏßÌåµãλͼ/µçо³µ¼äÈýÂ¥09±àºÅ¹âµçλÖÃͼ1108.DWG
Binary files differ
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StaticVariable.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Common
{
    public class StaticVariable
    {
        // å®šä¹‰ä¸€ä¸ªé™æ€çš„ bool ç±»åž‹å˜é‡ isLineRun
        public static bool isLineRun = true;
        // å®šä¹‰ä¸€ä¸ªé™æ€çš„ bool ç±»åž‹å˜é‡ isStackerRun
        public static bool isStackerRun = true;
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs
@@ -135,6 +135,8 @@
                Creater = "System", // ä¿®æ­£æ‹¼å†™é”™è¯¯
                CreateDate = DateTime.Now,
                TaskId = 0,
                ProductionLine= stockInfo.ProductionLine,
                ProcessCode = stockInfo.ProcessCode,
            };
        }
@@ -154,6 +156,7 @@
                TaskState = task.TaskState.Value,
                Id = 0,
                TaskType = task.TaskType,
                ProductionLine = task.ProductionLine,
            };
        }
    }
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs
@@ -3,6 +3,7 @@
using WIDESEA_Core.Const;
using WIDESEA_DTO.MOM;
using WIDESEA_DTO.WMS;
//using WIDESEAWCS_Model.Models;
namespace WIDESEA_StorageTaskServices;
@@ -40,65 +41,75 @@
    private async Task<WebResponseContent> ProcessOCVB(DtBoxingInfo boxing, Dt_AreaInfo area, RequestTaskDto input)
    {
        WebResponseContent content = new WebResponseContent();
        // åˆ¤æ–­éœ€ä¸éœ€è¦åŽ»åŒ…è£…ï¼Œä¸éœ€è¦å°±åŽ»å¸¸æ¸©ä¸‰
        var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache" && x.productLine == input.ProductionLine);
        var STATION = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position);
        //var station = stationManagers.Select(x => x.stationChildCode).ToList();
        //// èŽ·å–WCSip地址相关配置
        var wcsIpAddrss = GetWCSIpAddress();
        //if (wcsIpAddrss == null)
        //{
        //    throw new InvalidOperationException("WCS IP æœªé…ç½®");
        //}
        //var abc = HttpHelper.PostAsync(wcsIpAddrss, station.ToJsonString()).Result;
        //content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
        //var num = content.Data.ObjToInt();
        //如果当前库内存在比当前时间的对应产线的料 åˆ™å…¥åº“至常温3
        DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now);
        if (stockInfo != null)
        try
        {
            var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
            var strings = config.ConfigValue.Split(',').ToList();
            // å…¥åº“送至常温3
            var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
            if (resultContent.Status)
            // åˆ¤æ–­éœ€ä¸éœ€è¦åŽ»åŒ…è£…ï¼Œä¸éœ€è¦å°±åŽ»å¸¸æ¸©ä¸‰
            var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache" && x.productLine == input.ProductionLine);
            var STATION = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position);
            //var station = stationManagers.Select(x => x.stationChildCode).ToList();
            //// èŽ·å–WCSip地址相关配置
            var wcsIpAddrss = GetWCSIpAddress();
            //if (wcsIpAddrss == null)
            //{
            //    throw new InvalidOperationException("WCS IP æœªé…ç½®");
            //}
            //var abc = HttpHelper.PostAsync(wcsIpAddrss, station.ToJsonString()).Result;
            //content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
            //var num = content.Data.ObjToInt();
            //如果当前库内存在比当前时间的对应产线的料 åˆ™å…¥åº“至常温3
            DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now);
            if (stockInfo != null)
            {
                await _boxingInfoRepository.AddDataNavAsync(boxing);
                var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
                var strings = config.ConfigValue.Split(',').ToList();
                // å…¥åº“送至常温3
                var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
                if (resultContent.Status)
                {
                    await _boxingInfoRepository.AddDataNavAsync(boxing);
                }
                return resultContent;
            }
            return resultContent;
        }
        // TODO åˆ¤æ–­åœ¨é€”数量
            // TODO åˆ¤æ–­åœ¨é€”数量
        var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine);
        var needCount = needBarcode.inLineNum;
        //var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count;
        if (needCount < needBarcode.cacheNum)
        {
            // é€è‡³åŒ…装
            List<string> strings = stationManagers.Where(x => x.stationType == 0 && x.productLine == input.ProductionLine).Select(x => x.Roadway).ToList();
            var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>()
                .SetColumns(x => x.inLineNum == x.inLineNum + 1)
                .Where(x => x.id == needBarcode.id).ExecuteCommandHasChangeAsync();
            ConsoleHelper.WriteSuccessLine($"在途数量添加{(x ? "成功" : "失败")}数量+1,当前工序{boxing.ProcessCode},产线{input.ProductionLine}");
            return await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings, 3);
        }
        else
        {
            var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
            var strings = config.ConfigValue.Split(',').ToList();
            // å…¥åº“送至常温3
            var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
            if (resultContent.Status)
            var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine);
            var needCount = needBarcode.inLineNum;
            //var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count;
            if (needCount < needBarcode.cacheNum)
            {
                await _boxingInfoRepository.AddDataNavAsync(boxing);
                // é€è‡³åŒ…装
                List<string> strings = stationManagers.Where(x => x.stationType == 0 && x.productLine == input.ProductionLine).Select(x => x.Roadway).ToList();
                var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>()
                    .SetColumns(x => x.inLineNum == x.inLineNum + 1)
                    .Where(x => x.id == needBarcode.id).ExecuteCommandHasChangeAsync();
                ConsoleHelper.WriteSuccessLine($"在途数量添加{(x ? "成功" : "失败")}数量+1,当前工序{boxing.ProcessCode},产线{input.ProductionLine}");
                LogFactory.GetLog("OCVB").InfoFormat(true, $"在途数量添加{(x ? "成功" : "失败")}数量+1,当前工序{boxing.ProcessCode},产线{input.ProductionLine}", "无参数");
                return await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings, 3);
            }
            return resultContent;
            else
            {
                var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
                var strings = config.ConfigValue.Split(',').ToList();
                // å…¥åº“送至常温3
                var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
                if (resultContent.Status)
                {
                    await _boxingInfoRepository.AddDataNavAsync(boxing);
                }
                return resultContent;
            }
        }
        catch (Exception ex)
        {
            ConsoleHelper.WriteErrorLine(ex.Message);
            LogFactory.GetLog("OCVB").InfoFormat(true, $",异常信息:{ex.Message},{ex.StackTrace}", "无参数");
            return content.Error(ex.Message);
        }
    }