杨前锦
4 天以前 06a8b6963d6d4f229d4e196b4b09ce57e2cbf2dd
HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP_GT/core/Monitor.cs
@@ -29,25 +29,27 @@
        /// <summary>
        /// 同步物料条码信息表
        /// 1.查询上次记录时间
        /// 2.根据记录时间,查询大于等于记录时间的物料条码信息,并计算最小存放时间 和 最大存放时间
        /// 2.根据记录时间,查询大于等于记录时间的物料条码信息
        /// 3.将物料条码信息同步到wms
        /// 4.同步成功,记录最后一条数据的更新时间
        /// </summary>
        internal static void MonitorMatlBarcode() {
            try
            {
                var synDataTimeRecord = WMSDispatch.findLastDataSynTime(new RecordDataSynTimeModel() { recordTable = "1" });
                if (synDataTimeRecord != null)
                var lastTimeStr = WMSDispatch.findDataLastSynTime(new SynTableModel() { tableType = 1 });
                if (lastTimeStr != null)
                {
                    if (DateTime.TryParse(lastTimeStr, out DateTime lastTime))
                {
                   /* CultureInfo enGB = new CultureInfo("en-GB");*/
                    var maltInformations = WMSHelper.getMaltInfoList(synDataTimeRecord.S_SYN_TIME);
                        var maltInformations = WMSHelper.getMaltInfoList(lastTime);
                    if (maltInformations != null && maltInformations.Count > 0) 
                    {
                        bool bo = WMSDispatch.synMatlInformation(new SynMatlInformationModel() { matlInformationList = maltInformations });
                        if (bo)
                        {
                            WMSDispatch.recordDataSynTime(new RecordDataSynTimeModel() { sysTime = maltInformations[0].last_modify_time, synNum = maltInformations.Count, recordTable = "1" });
                            WMSDispatch.synMatlInformation(new SynMatlInformationModel() { matlInformationList = maltInformations });
                        }
                    }
                    else
                    {
                        LogHelper.Info($"同步物料条码信息错误,错误原因:日期解析错误", "WMS");
                    }
                }
            }
@@ -62,28 +64,26 @@
        /// 1.查询上次记录时间
        /// 2.根据记录时间,查询大于等于记录时间,且符合条件的物料状态信息
        /// 3.将物料条码信息同步到wms
        /// 4.同步成功,记录最后一条数据的更新时间
        /// </summary>
        internal static void MonitorMatlStatus()
        {
            try
            {
                var synDataTimeRecord = WMSDispatch.findLastDataSynTime(new RecordDataSynTimeModel() { recordTable = "2" });
                if (synDataTimeRecord != null)
                var lastTimeStr = WMSDispatch.findDataLastSynTime(new SynTableModel() { tableType = 2 });
                if (lastTimeStr != null)
                {
                    if (DateTime.TryParse(lastTimeStr, out DateTime lastTime))
                {
                    /* CultureInfo enGB = new CultureInfo("en-GB");*/
                    var barcodeStatuses = WMSHelper.getMaltStatusList(synDataTimeRecord.S_SYN_TIME);
                        var barcodeStatuses = WMSHelper.getMaltStatusList(lastTime);
                    if (barcodeStatuses != null && barcodeStatuses.Count > 0)
                    {
                        var updateMatlStatuses = barcodeStatuses.Select(a => new UpdateMatlStatus {bc_entried = a.bc_entried ,jdge = a.jdge }).ToList();
                        if (updateMatlStatuses.Count > 0)
                        {
                            bool bo = WMSDispatch.synUpdateMatlStatus(new SynUpdateMatlStatusModel() { updateMatlStatuses = updateMatlStatuses });
                            if (bo)
                            {
                                WMSDispatch.recordDataSynTime(new RecordDataSynTimeModel() { sysTime = barcodeStatuses[0].last_modify_time, synNum = barcodeStatuses.Count, recordTable = "2" });
                            WMSDispatch.synUpdateMatlStatus(new SynBarcodeStatusModel() { barcodeStatusList = barcodeStatuses });
                            }
                        }
                    else
                    {
                        LogHelper.Info($"同步半制品物料状态错误,错误原因:日期解析错误", "WMS");
                    }
                }
            }
@@ -94,25 +94,28 @@
        }
        /// <summary>
        /// 同步半制品物料时间配置
        /// 同步半制品抽检物料状态
        /// </summary>
        internal static void MonitorMatlTimeConfig()
        internal static void MonitorSpotCheckMatlStatus()
        {
            try
            {
                var synDataTimeRecord = WMSDispatch.findLastDataSynTime(new RecordDataSynTimeModel() { recordTable = "3" });
                if (synDataTimeRecord != null)
                var lastTimeStr = WMSDispatch.findDataLastSynTime(new SynTableModel() { tableType = 3 });
                if (lastTimeStr != null)
                {
                    if (DateTime.TryParse(lastTimeStr, out DateTime lastTime))
                {
                    /* CultureInfo enGB = new CultureInfo("en-GB");*/
                    var overages = WMSHelper.getOverageList(synDataTimeRecord.S_SYN_TIME);
                    if (overages != null && overages.Count > 0)
                        var sampleStatuses = WMSHelper.getSampleMaltStatusList(lastTime);
                        if (sampleStatuses != null && sampleStatuses.Count > 0)
                    {
                       bool bo = WMSDispatch.synUpdateMatlTimeConfig(new MatlTimeConfigModel() { overages = overages });
                        if (bo)
                        {
                            WMSDispatch.recordDataSynTime(new RecordDataSynTimeModel() { sysTime = overages[0].last_modify_time, synNum = overages.Count, recordTable = "3" });
                            WMSDispatch.synUpdateSampleMatlStatus(new SynSampleStatusModel() { sampleStatusList = sampleStatuses });
                        }
                    }
                    else
                    {
                        LogHelper.Info($"同步半制品抽检物料状态错误,错误原因:日期解析错误", "WMS");
                    }
                }
            }
            catch (Exception ex)