|
|
@@ -12,7 +12,6 @@ using System;
|
|
|
using System.Data;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
-
|
|
|
using Dongke.IBOSS.PRD.Basics.BaseResources;
|
|
|
using Dongke.IBOSS.PRD.Basics.DataAccess;
|
|
|
using Dongke.IBOSS.PRD.Service.DataModels;
|
|
|
@@ -22,6 +21,7 @@ using System.Collections.Generic;
|
|
|
using Dongke.IBOSS.PRD.Service.BarcodePrintService;
|
|
|
using Curtain.Net.Sockets.PLC;
|
|
|
using Curtain.Net.Sockets.PLC.Model.Siemens;
|
|
|
+using Curtain.Log;
|
|
|
|
|
|
namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
|
|
|
{
|
|
|
@@ -3744,11 +3744,12 @@ namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public static ServiceResultEntity AddPlcGood(string Plcid,string BarCode)
|
|
|
+ public static ServiceResultEntity AddPlcGood(string Plcid,string BarCode, string GROUTINGLINECODE,string GOODSMODEL,string GOODSTYPENAME,string GOODSSPECIFICATION)
|
|
|
{
|
|
|
IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
|
|
|
try
|
|
|
{
|
|
|
+ oracleConn.Open();
|
|
|
//获取plc信息
|
|
|
string sqlString = @"SELECT IP,PORT FROM TP_MST_PLC WHERE PLCID = :PLCID";
|
|
|
|
|
|
@@ -3756,31 +3757,14 @@ namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
|
|
|
{
|
|
|
new Oracle.ManagedDataAccess.Client.OracleParameter(":PLCID",Plcid)
|
|
|
};
|
|
|
- oracleConn.Open();
|
|
|
DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
|
|
|
|
|
|
if (result.Tables[0] == null || result.Tables[0].Rows.Count == 0)
|
|
|
{
|
|
|
- return new ServiceResultEntity() { Status = Constant.ServiceResultStatus.Other, Message = "PLC传输错误" };
|
|
|
+ return new ServiceResultEntity() { Status = Constant.ServiceResultStatus.Other, Message = "PLC写入失败" };
|
|
|
}
|
|
|
- //获取产品信息
|
|
|
- string sqlString1 = @"SELECT TPGL.GROUTINGLINECODE,GOODSMODEL,TMGT.GOODSTYPENAME,GOODSSPECIFICATION FROM TP_PM_GROUTINGDAILYDETAIL TPGL
|
|
|
- LEFT JOIN TP_MST_GOODS TMG ON TPGL.GOODSCODE = TMG.GOODSCODE
|
|
|
- LEFT JOIN TP_MST_GOODSTYPE TMGT ON TMGT.GOODSTYPEID = TMG.GOODSTYPEID
|
|
|
- WHERE TPGL.BARCODE = :BARCODE";
|
|
|
-
|
|
|
- Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter1 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
|
|
|
- {
|
|
|
- new Oracle.ManagedDataAccess.Client.OracleParameter(":BARCODE",BarCode)
|
|
|
- };
|
|
|
-
|
|
|
- DataSet result1 = oracleConn.GetSqlResultToDs(sqlString1, oracleParameter1);
|
|
|
string ip = result.Tables[0].Rows[0]["IP"].ToString();
|
|
|
int port = Convert.ToInt32(result.Tables[0].Rows[0]["PORT"]);
|
|
|
- string GROUTINGLINECODE = result1.Tables[0].Rows[0]["GROUTINGLINECODE"].ToString();
|
|
|
- string GOODSMODEL = result1.Tables[0].Rows[0]["GOODSMODEL"].ToString();
|
|
|
- string GOODSTYPENAME = result1.Tables[0].Rows[0]["GOODSTYPENAME"].ToString();
|
|
|
- string GOODSSPECIFICATION = result1.Tables[0].Rows[0]["GOODSSPECIFICATION"].ToString();
|
|
|
//写入PLC
|
|
|
using (SocketClient<SiemensS7_1200Model> plc = new SocketClient<SiemensS7_1200Model>())
|
|
|
{
|
|
|
@@ -3790,27 +3774,25 @@ namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
|
|
|
//plc.Write<short>("D", "102.14", Convert.ToInt16(10));
|
|
|
|
|
|
//手动写
|
|
|
- plc.Connect(ip, port);
|
|
|
- plc.Write<string>("D", "102.2", GROUTINGLINECODE);
|
|
|
- plc.Write<string>("D", "102.4", GOODSMODEL);
|
|
|
- plc.Write<string>("D", "102.6", GOODSTYPENAME);
|
|
|
- plc.Write<string>("D", "102.8", GOODSSPECIFICATION);
|
|
|
-
|
|
|
+ //plc.Connect(ip, port);
|
|
|
+ //plc.Write<string>("D", "102.2", GROUTINGLINECODE);
|
|
|
+ //plc.Write<string>("D", "102.4", GOODSMODEL);
|
|
|
+ //plc.Write<string>("D", "102.6", GOODSTYPENAME);
|
|
|
+ //plc.Write<string>("D", "102.8", GOODSSPECIFICATION);
|
|
|
}
|
|
|
|
|
|
//写入操作成功日志
|
|
|
string plcParaStr = "BarCode:"+ BarCode+ " GROUTINGLINECODE:"+ GROUTINGLINECODE + " GOODSMODEL:" + GOODSMODEL +
|
|
|
" GOODSTYPENAME:" + GOODSTYPENAME + " GOODSSPECIFICATION:"+ GOODSSPECIFICATION;
|
|
|
|
|
|
- Curtain.Log.Logger.Debug("PLC写入成功!" + plcParaStr);
|
|
|
-
|
|
|
+ Curtain.Log.Logger.Debug($"PLC写入成功!" + plcParaStr);
|
|
|
+ oracleConn.Close();
|
|
|
//PLC操作成功
|
|
|
return new ServiceResultEntity()
|
|
|
{
|
|
|
Status = Constant.ServiceResultStatus.Success,
|
|
|
Message = "" //一定不可以有值,为空时才是提交成功
|
|
|
};
|
|
|
- oracleConn.Close();
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|