ztl пре 2 година
родитељ
комит
b0bb7a39a6

+ 11 - 29
DK.Service/SystemModuleLogic/SystemModuleLogic.cs

@@ -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)
 			{

+ 4 - 0
DK.Service/SystemModuleLogic/SystemModuleLogic.csproj

@@ -80,6 +80,10 @@
     <Compile Include="SystemModuleLogicPartial.cs" />
   </ItemGroup>
   <ItemGroup>
+    <Reference Include="Curtain.Core, Version=1.1.7301.20286, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\DLL\Curtain.Core.dll</HintPath>
+    </Reference>
     <Reference Include="Curtain.Net.Sockets.net4">
       <HintPath>..\..\DLL\Curtain.Net.Sockets.net4.dll</HintPath>
     </Reference>

+ 1 - 1
WCF.Service/WCF.Contracts/IPDAModule.cs

@@ -2038,7 +2038,7 @@ namespace Dongke.IBOSS.PRD.WCF.Contracts
         [WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest
             , ResponseFormat = WebMessageFormat.Json
             , RequestFormat = WebMessageFormat.Json)]
-        ActionResult AddPlcGood(string accountCode, string userCode, string userPassword, string sessionKey, string Plcid, string BarCode);
+        ActionResult AddPlcGood(string accountCode, string userCode, string userPassword, string sessionKey, string Plcid, string BarCode, string GROUTINGLINECODE, string GOODSMODEL, string GOODSTYPENAME, string GOODSSPECIFICATION);
 
         /// <summary>
         /// 获取半成品缺陷位置管理的全部数据

+ 2 - 2
WCF.Service/WCF.Services/PDAModuleService.cs

@@ -7629,7 +7629,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
         /// </summary>
         /// <param name="sUserInfo"></param>
         /// <returns></returns>
-        public ActionResult AddPlcGood(string accountCode, string userCode, string userPassword, string sessionKey,string Plcid, string BarCode)
+        public ActionResult AddPlcGood(string accountCode, string userCode, string userPassword, string sessionKey,string Plcid, string BarCode,string GROUTINGLINECODE, string GOODSMODEL, string GOODSTYPENAME, string GOODSSPECIFICATION)
         {
             ActionResult actionResult = new ActionResult();
             try
@@ -7644,7 +7644,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 }
 
                 ServiceResultEntity resultEntity = ServiceInvoker.Invoke<ServiceResultEntity>(this,
-				   () => SystemModuleLogic.AddPlcGood(Plcid, BarCode));
+				   () => SystemModuleLogic.AddPlcGood(Plcid, BarCode, GROUTINGLINECODE, GOODSMODEL, GOODSTYPENAME, GOODSSPECIFICATION));
 
                 actionResult.Result = JsonHelper.ToJson(resultEntity);
                 actionResult.Status = (int)Constant.PDAResult.Success;