浏览代码

打标机迁移

zhuhao 2 年之前
父节点
当前提交
e10f7412ca
共有 2 个文件被更改,包括 50 次插入47 次删除
  1. 47 44
      IMCS_CCS/Service/Impl/HttpRequestService.cs
  2. 3 3
      IMCS_CCS/Service/Impl/TaskJobService.cs

+ 47 - 44
IMCS_CCS/Service/Impl/HttpRequestService.cs

@@ -1527,57 +1527,60 @@ namespace IMCS.CCS.Services
                     responseData.result = "false";
                     return responseData;
                 }
-                string[] sArray;
 
-                /*if (!string.IsNullOrEmpty(actionInfo.Address5) && !string.IsNullOrEmpty(TypeNo))
-                {
-                    sArray = actionInfo.Address5.Split('.');
-                    s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(TypeNo, 1));
-                }
-                if (!string.IsNullOrEmpty(actionInfo.Address6) && !string.IsNullOrEmpty(SmallTypeNo))
-                {
-                    sArray = actionInfo.Address6.Split('.');
-                    s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(SmallTypeNo, 1));
-                }
-                if (!string.IsNullOrEmpty(actionInfo.Address7) && !string.IsNullOrEmpty(SmallTypeNo))
-                {
-                    sArray = actionInfo.Address7.Split('.');
-                    s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(OrderNo, 128));
-                }
-                if (!string.IsNullOrEmpty(actionInfo.Address8) && !string.IsNullOrEmpty(TaskNo))
-                {
-                    sArray = actionInfo.Address8.Split('.');
-                    s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(TaskNo, 128));
-                }
-                if (!string.IsNullOrEmpty(actionInfo.Address9) && !string.IsNullOrEmpty(ProductNo))
-                {
-                    sArray = actionInfo.Address9.Split('.');
-                    s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(ProductNo, 128));
-                }
-                if (!string.IsNullOrEmpty(actionInfo.Address10) && !string.IsNullOrEmpty(BatchNo))
-                {
-                    sArray = actionInfo.Address10.Split('.');
-                    s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(BatchNo, 32));
-                }
-                if (!string.IsNullOrEmpty(actionInfo.Address11) && !string.IsNullOrEmpty(SerialNo))
-                {
-                    sArray = actionInfo.Address11.Split('.');
-                    s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(SerialNo, 6));
-                }
-
-
-                short mc = 0;
-                s7.Write(ToolUtils.AddressConvertDBW(actionInfo.Address), mc);
+                CcsActionAddress actionAddressQuery = new CcsActionAddress();
+                actionAddressQuery.ActionId = actionInfo.Id;
+                List<CcsActionAddress> CcsActionAddresses = _ccsActionAddressService.GetList(actionAddressQuery);
 
-                Thread.Sleep(SLEEP_TIME);
-                mc = 1;
-                s7.Write(ToolUtils.AddressConvertDBW(actionInfo.Address2), mc);*/
+                //查询写入地址列表
+                string[] sArray;                
+                List<CcsActionAddress> CcsActionAddressWrites = CcsActionAddresses.Where(o => o.Type == ActionAddressTypeEnum.WRITE.ToString()).ToList();
+                foreach (CcsActionAddress actionAddress in CcsActionAddressWrites)
+                {
+                    if (!string.IsNullOrEmpty(actionAddress.Address))
+                    {
+                        sArray = actionAddress.Address.Split('.');
+                        if (actionAddress.Sort == 1)
+                        {
+                            s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(TypeNo, 1));
+                        }else if (actionAddress.Sort == 2)
+                        {
+                            s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(SmallTypeNo, 1));
+                        }
+                        else if (actionAddress.Sort == 3)
+                        {
+                            s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(OrderNo, 128));
+                        }
+                        else if (actionAddress.Sort == 4)
+                        {
+                            s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(TaskNo, 128));
+                        }
+                        else if (actionAddress.Sort == 5)
+                        {
+                            s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(ProductNo, 128));
+                        }
+                        else if (actionAddress.Sort == 6)
+                        {
+                            s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(BatchNo, 32));
+                        }
+                        else if (actionAddress.Sort == 7)
+                        {
+                            s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(SerialNo, 6));
+                        }
+                        else if (actionAddress.Sort == 8 || actionAddress.Sort == 9)
+                        {
+                            s7.Write(ToolUtils.AddressConvertDBW(actionAddress.Address), actionAddress.Value);
+                        } 
+                        Thread.Sleep(1500);
+                    }  
+                } 
+ 
                 s7.Close();
 
                 //插入回调
                 TaskCallback taskCallbackData = new TaskCallback(req.url, ActionTypeEnum.StartLabelMachine.ToString(),
                     EnumHelper.GetDescription(ActionTypeEnum.StartLabelMachine), req.taskId, req.taskNodeId); 
-                await _taskCallbackService.CreateOrUpdateAndCache(taskCallbackData);
+                await _taskCallbackService.CreateOrUpdateAndCache(setCallBackValue(CcsActionAddresses, taskCallbackData));
                 Log.Instance.WriteLogAdd(EnumHelper.GetDescription(ActionTypeEnum.StartLabelMachine) + "启动打标机成功===>>" + JsonConvert.SerializeObject(req)
                    , EnumHelper.GetDescription(ActionTypeEnum.StartLabelMachine));
                 return responseData;

+ 3 - 3
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -670,11 +670,11 @@ namespace IMCS.CCS.Service.Impl
                 {
                     DateTime currentTime = DateTime.Now;
                     CcsTagValue tagValueQuery = new CcsTagValue();
-                    tagValueQuery.Ip = task.IP;
-                    //tagValueQuery.Address = task.Address;
+                    tagValueQuery.Ip = task.IP; 
                     List<CcsTagValue> tagValues = _ccsTagValueService.GetList(tagValueQuery).ToList();
                     CcsTagValue callBacktagValue = tagValues.Where(o=>o.Address == task.Address).FirstOrDefault();
-                    if (callBacktagValue != null && callBacktagValue.TagValue == task.CallbackValue)
+                    CcsTagValue callBacktagValue2 = tagValues.Where(o => o.Address == task.Address2).FirstOrDefault();
+                    if (callBacktagValue != null && callBacktagValue2 != null && callBacktagValue.TagValue == task.CallbackValue && callBacktagValue2.TagValue == task.CallbackValue2)
                     {
                         CallBackRequestData requestData = new CallBackRequestData();
                         requestData.taskId = long.Parse(task.TaskId);