Pārlūkot izejas kodu

加工状态功能处理

oyq28 2 gadi atpakaļ
vecāks
revīzija
13c5f23c3f
1 mainītis faili ar 24 papildinājumiem un 4 dzēšanām
  1. 24 4
      IMCS_CCS/Service/Impl/TaskJobService.cs

+ 24 - 4
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -1331,11 +1331,31 @@ namespace IMCS.CCS.Service.Impl
                     }
                     else if (device != null && device.State && device.UseState && (equipment.Type == "HEIDEHAIN" || equipment.Type == "FANUC"))
                     {
+                        string ktIp = "192.168.11.170";
+                        string ktRedisKey = imcs_redis_key + ktIp + ":" + ProtocalTypeEnum.S7_1500;
                         string plcAddress = jcAddressDict[device.Ip];
-                        ccsTagValue = tagValues.Where(x => x.Ip == "192.168.11.170" && x.Address == plcAddress).FirstOrDefault();
-                        if(ccsTagValue != null)
+                        var ktTagData = await _redisService.Database.StringGetAsync(ktRedisKey);
+                        List<CcsTagValue> ktTagValues = new List<CcsTagValue>();
+                        if (ktTagData.IsNullOrEmpty)
+                        { 
+                            CcsTagValue tagQuery = new CcsTagValue();
+                            tagQuery.ProtocolType = device.ProtocolType;
+                            tagQuery.Ip = ktIp;
+                            ktTagValues = _ccsTagValueService.GetList(tagQuery);
+                            //首次设置redis
+                            if (ktTagValues != null && ktTagValues.Count > 0)
+                            {
+                                await _redisService.Database.StringSetAsync(ktRedisKey, JsonConvert.SerializeObject(ktTagValues));
+                            }
+                        }
+                        else
+                        {
+                            ktTagValues = JsonConvert.DeserializeObject<List<CcsTagValue>>(ktTagData);
+                        }
+                        CcsTagValue ktTagValue = ktTagValues.Where(x => x.Ip.Trim() == ktIp && x.Address.Trim() == plcAddress).FirstOrDefault();
+                        if(ktTagValue != null)
                         {
-                            if (ccsTagValue.TagValue == "1")
+                            if (ktTagValue.TagValue == "1")
                             {
                                 if (equipment.Status != "生产中")
                                 {
@@ -1344,7 +1364,7 @@ namespace IMCS.CCS.Service.Impl
                                 }
                                 continue;
                             }
-                            if (ccsTagValue.TagValue == "2")
+                            if (ktTagValue.TagValue == "2")
                             {
                                 if (equipment.Status != "空闲")
                                 {