Ver código fonte

发货单细节

konghe 1 ano atrás
pai
commit
d464da425e

+ 51 - 0
DK.Client/PMModule/F_PM_3502.cs

@@ -221,7 +221,58 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
 		{
 			try
 			{
+				ClientRequestEntity cre = new ClientRequestEntity();
+				cre.NameSpace = "F_PM_3502";
+				cre.Name = "SaveSendInfo";
+				cre.Properties["SENDOUTGOODSLOGID"] = this._sendoutGoodsLogID;
+				cre.Properties["OUTLABELCODE"] = this.txtOUTLABELCODE.Text;
+				cre.Properties["WAREHOUSINGCODE"] = this.cmbWAREHOUSINGCODE.SelectedValue;
+				cre.Properties["RECEIVECODE"] = this.cmbRECEIVECODE.SelectedValue;
+				cre.Properties["CARPLATECODE"] = this.cmbCARPLATENAME.SelectedValue;
+				cre.Properties["WAREHOUSINGENAME"] = this.cmbWAREHOUSINGCODE.Text;
+				cre.Properties["RECEIVEENAME"] = this.cmbRECEIVECODE.Text;
+				cre.Properties["CARPLATENAME"] = this.cmbCARPLATENAME.Text;
+				cre.Properties["AccountDateStart"] = this.dtpAccountDateStart.Value;
+				cre.Properties["DELIVERDATE"] = this.c_DateTimePicker1.Value;
+				if (dgvSendDetail.DataSource != null)
+				{
+
+					DataTable detail = (DataTable)(dgvSendDetail.DataSource);
+					cre.Data = new DataSet();
+					cre.Data.Tables.Add(detail.Copy());
+				}
+				else
+				{
+					MessageBox.Show(string.Format("发货单信息不能为空"),
+														this.Text,
+														MessageBoxButtons.OK,
+														MessageBoxIcon.Warning);
+					return;
+				}
+				ServiceResultEntity sre = DoAsync<ServiceResultEntity>(() =>
+				{
+					return PMModuleProxyNew.Service.HandleRequest(cre);
+				});
+
+				if (sre.Status == Constant.ServiceResultStatus.Success)
+				{
 
+					MessageBox.Show("保存成功",
+					   this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
+					return;
+				}
+				else if(sre.Status == Constant.ServiceResultStatus.DataChanged)//"库存不足"
+				{
+					MessageBox.Show("sap库存不足",
+					   this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
+					return;
+				}
+				else if (sre.Status == Constant.ServiceResultStatus.Other) // "存在已发货产品";
+				{
+					MessageBox.Show("存在已发货产品",
+						   this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
+					return;
+				}
 			}
 			catch (Exception ex)
 			{

+ 3 - 3
DK.Service/PMModuleLogic/PMModuleLogic.cs

@@ -4953,13 +4953,13 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
 
                 //明细
                 sqlString = @"SELECT
-	                                                SENDOUTGOODSLOGDETAILID,
+	                                                 SENDOUTGOODSLOGDETAILID,
 	                                                SENDOUTGOODSLOGID,
-	                                                OUTLABELCODE,
+	                                                FINISHEDLOADBATCHNO,
 	                                                GOODSCODE,
 	                                                MATERIALCODE,
 	                                                MATERIALREMARK,
-	                                                BINDINGCODE,
+	                                                BINDINGCOUNT,
                                                     BANMA
                                                 FROM
 	                                                TP_PM_SENDOUTGOODSLOGDETAIL 

+ 11 - 6
DK.Service/PMModuleLogic/PMModuleLogicDAL.cs

@@ -31046,22 +31046,19 @@ updateuserid=:updateuserid where barcode=:barcode";
             return tables;
         }
 
-        public static ServiceResultEntity SaveSendOutGoodsLogs(Dictionary<string, object> data, SUserInfo sUserInfo)
+        public static ServiceResultEntity SaveSendOutGoodsLogs(SendOutGoodsEntity send, List<SendOutGoodsDetailEntity> sendDetail, SUserInfo sUserInfo)
         {
-            SendOutGoodsEntity send = JsonHelper.FromJson<SendOutGoodsEntity>(data.ElementAt(0).Value.ToString());
-            var sendDetail = JsonHelper.FromJson<List<SendOutGoodsDetailEntity>>(data.ElementAt(1).Value.ToString());
             StringBuilder where = new StringBuilder();
             ServiceResultEntity result = new ServiceResultEntity();
             result.Status = Constant.ServiceResultStatus.Success;
             sendDetail.ForEach(m => where.Append("'" + m.FINISHEDLOADBATCHNO + "',"));
             string SENDOUTCODE = send.SENDOUTCODE;
-            string lgotr = send.WAREHOUSINGID;
             string WAREHOUSINGID = send.WAREHOUSINGID;
             string usercode = send.USERCODE;
             string createusercode = sUserInfo.UserCode;
             bool isCrete = false;
             string WERKS = "1000";
-            string LGORT = "1350";
+            string LGORT = "";
             int resultNumber = 0;
             OracleParameter[] parmetersSql = new OracleParameter[] { };
             if (SENDOUTCODE == null || string.IsNullOrEmpty(SENDOUTCODE))
@@ -31090,8 +31087,16 @@ updateuserid=:updateuserid where barcode=:barcode";
                     result.Result = isSend;
                     return result;
                 }
-                //调用sap筛选库存不足变黄 物料编码够不够 生成sap同步数据
+                //调用sap筛选库存不足 物料编码够不够 生成sap同步数据
                 string message = "";
+                if (string.IsNullOrEmpty(send.WAREHOUSINGNAME))
+                {
+                    LGORT = oracleTrConn.GetSqlResultToStr("select  DICTIONARYVALUE from TP_MST_DATADICTIONARY where dictionaryid='" + send.WAREHOUSINGID + "'");
+                }
+                else
+                {
+                    LGORT = send.WAREHOUSINGNAME;
+                }
                 var dt = SapApi.ZMM_WMS016(WERKS, matnr, LGORT, out message);
                 //dt.sort = "批号 ASC";
                 List<string> countList = new List<string>();

+ 15 - 10
WCF.Service/WCF.DataModels/PMModule/SendOutGoodsEntity.cs

@@ -6,50 +6,55 @@ using System.Runtime.Serialization;
 
 namespace Dongke.IBOSS.PRD.WCF.DataModels.PMModule
 {
-    [DataContract]
-    [KnownType(typeof(System.DBNull))]
     public class SendOutGoodsEntity
     {
 
 		/// <summary>
 		/// 发货单号
 		/// </summary>
-		[DataMember]
 		public string SENDOUTCODE { get; set; }
 
 		/// <summary>
 		/// 生产工号
 		/// </summary>
-		[DataMember]
 		public string USERCODE { get; set; }
 
 		/// <summary>
 		/// 账单日期
 		/// </summary>
-		[DataMember]
 		public string ACCOUNTDATE { get; set; }
 
 		/// <summary>
 		/// 发货日期
 		/// </summary>
-		[DataMember]
 		public string DELIVERDATE { get; set; }
 
 		/// <summary>
 		/// 发货仓库
 		/// </summary>
-		[DataMember]
 		public string WAREHOUSINGID { get; set; }
 		/// <summary>
 		/// 接受仓库
 		/// </summary>
-		[DataMember]
 		public string RECEIVEID { get; set; }
 		/// <summary>
 		/// 车牌号
 		/// </summary>
-		[DataMember]
 		public string CARPLATEID { get; set; }
-		 
+
+
+		/// <summary>
+		/// 发货仓库
+		/// </summary>
+		public string WAREHOUSINGNAME { get; set; }
+		/// <summary>
+		/// 接受仓库
+		/// </summary>
+		public string RECEIVENAME { get; set; }
+		/// <summary>
+		/// 车牌号
+		/// </summary>
+		public string CARPLATENAME { get; set; }
+
 	}
 }

+ 4 - 1
WCF.Service/WCF.Services/PDAModuleService.cs

@@ -12,6 +12,7 @@ using System;
 using System.Collections.Generic;
 using System.Data;
 using System.IO;
+using System.Linq;
 using System.ServiceModel;
 using System.ServiceModel.Activation;
 using Dongke.IBOSS.PRD.Basics.BaseResources;
@@ -10926,7 +10927,9 @@ namespace Dongke.IBOSS.PRD.WCF.Services
 
                     if (action == "SaveSendOutGoods")
                     {
-                        var result = PMModuleLogicDAL.SaveSendOutGoodsLogs(data, sUserInfo);
+                        SendOutGoodsEntity send = JsonHelper.FromJson<SendOutGoodsEntity>(data.ElementAt(0).Value.ToString());
+                        var sendDetail = JsonHelper.FromJson<List<SendOutGoodsDetailEntity>>(data.ElementAt(1).Value.ToString());
+                        var result = PMModuleLogicDAL.SaveSendOutGoodsLogs(send, sendDetail, sUserInfo);
                         actionResult.Result = JsonHelper.ToJson(result);
                         //actionResult.Message = message;
                         actionResult.Status = (int)result.Status;

+ 331 - 310
WCF.Service/WCF.Services/PMModuleServiceNew.cs

@@ -21,226 +21,227 @@ using Dongke.IBOSS.PRD.Service.PDAModuleLogic;
 using Dongke.IBOSS.PRD.Service.PMModuleService;
 using Dongke.IBOSS.PRD.WCF.Contracts;
 using Dongke.IBOSS.PRD.WCF.DataModels;
+using Dongke.IBOSS.PRD.WCF.DataModels.PMModule;
 
 namespace Dongke.IBOSS.PRD.WCF.Services
 {
-	/// <summary>
-	/// 生产管理模块WCF服务
-	/// </summary>
-	/// 服务实现类,继承服务声明接口
-	/// 该标签声明该服务可以在ASP.NET下运行
-	[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
-	[ServiceBehavior(ConfigurationName = "PMModuleServiceNew",
-	InstanceContextMode = InstanceContextMode.PerCall,
-	ConcurrencyMode = ConcurrencyMode.Multiple,
-	UseSynchronizationContext = false)]
-	public class PMModuleServiceNew : ServicesBase, IPMModuleNew
-	{
-		#region 构造函数
-
-		/// <summary>
-		/// 构造函数
-		/// </summary>
-		public PMModuleServiceNew()
-			: base()
-		{
-		}
-
-		#endregion
-
-		#region 注浆管理
-
-		#region 注浆登记一览
-
-		/// <summary>
-		/// 取得FPM0101画面(注浆登记)的初始化数据
-		/// </summary>
-		/// <returns>初始化数据</returns>
-		public ServiceResultEntity GetFPM0101IData()
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0101IData(this.SUserInfo));
-		}
-
-		/// <summary>
-		/// 取得FPM0101画面(注浆登记)的查询数据
-		/// </summary>
-		/// <param name="se">查询条件</param>
-		/// <returns>查询结果</returns>
-		public ServiceResultEntity GetFPM0101SData(FPM0101_SE se)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0101SData(this.SUserInfo, se));
-		}
-
-		/// <summary>
-		/// 取得FPM0101画面(注浆登记)的查询数据
-		/// </summary>
-		/// <param name="ids">新建注浆登记的id(多个用【,】隔开)</param>
-		/// <returns>查询结果</returns>
-		public ServiceResultEntity GetFPM0101NSData(string ids)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0101SData(this.SUserInfo, ids));
-		}
-
-		#endregion 注浆登记
-
-		#region 注浆登记
-
-		/// <summary>
-		/// 取得FPM0102画面(注浆登记)的成型线数据
-		/// </summary>
-		/// <param name="groutingDate">注浆日期(null:当天)</param>
-		/// <param name="groutingIDs">成型线ID(多个用【,】隔开;null:全部注浆)</param>
-		/// <returns>
-		/// 成型线数据
-		/// OtherStatus = 1:注浆日期大于账务日期
-		/// OtherStatus = 2:没有可注浆的成型线
-		/// OtherStatus = 3:没有可注浆的模具
-		/// </returns>
-		public ServiceResultEntity GetFPM0102_GroutingLine(DateTime? groutingDate, string groutingIDs)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0102_GroutingLine(this.SUserInfo, groutingDate, groutingIDs));
-		}
-
-		/// <summary>
-		/// 取得FPM0102画面(注浆登记)的初始化数据
-		/// </summary>
-		/// <param name="groutingDailyID">注浆日报ID</param>
-		/// <returns>
-		/// 初始化数据
-		/// 注浆数据
-		/// OtherStatus = 1:没有可编辑的注浆信息
-		/// OtherStatus = 2:没有可编辑的注浆明细信息
-		/// </returns>
-		public ServiceResultEntity GetFPM0102IData(int groutingDailyID)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0102IData(this.SUserInfo, groutingDailyID));
-		}
-
-		/// <summary>
-		/// 取得FPM0104画面(选择成型线)的查询数据
-		/// </summary>
-		/// <param name="se">查询条件</param>
-		/// <returns>查询结果</returns>
-		public ServiceResultEntity GetFPM0104SData(FPM0104_SE se)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0104SData(this.SUserInfo, se));
-		}
-
-		/// <summary>
-		/// 保存FPM0102画面(注浆登记)的注浆数据
-		/// </summary>
-		/// <param name="groutingDate">注浆日期(null:编辑;非null:新建)</param>
-		/// <param name="groutingInfo">注浆数据</param>
-		/// <returns>保存结果
-		/// OtherStatus = 1: 没有以下成型线的操作权限
-		/// OtherStatus = 2: 以下成型线已做过注浆
-		/// OtherStatus = 3: 以下成型工号已被停用
-		/// OtherStatus = 4: 补注浆,成型工号没有班次配置
-		/// OtherStatus = 5: 以下成型工号没有配置员工关联
-		/// </returns>
-		public ServiceResultEntity SetFPM0102Data(DateTime? groutingDate, DataSet groutingInfo)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.SetFPM0102Data(this.SUserInfo, groutingDate, groutingInfo));
-		}
-
-		/// <summary>
-		/// 取得FPM0105画面(选择能绑定条码的注浆登记)的查询数据
-		/// </summary>s
-		/// <param name="se">查询条件</param>
-		/// <returns>查询结果</returns>
-		public ServiceResultEntity GetFPM0105SData(FPM0104_SE se)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0105SData(this.SUserInfo, se));
-		}
-
-		#endregion 注浆登记
-
-		#region 条码绑定
-
-		/// <summary>
-		/// 取得FPM0103画面(绑定条码)的注浆数据
-		/// </summary>
-		/// <param name="groutingDailyID">注浆日报ID</param>
-		/// <returns>
-		/// 注浆数据
-		/// OtherStatus = 1:没有可编辑的注浆信息
-		/// OtherStatus = 2:没有可编辑的注浆明细信息
-		/// </returns>
-		public ServiceResultEntity GetFPM0103Data(int groutingDailyID)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0103Data(this.SUserInfo, groutingDailyID));
-		}
-
-		/// <summary>
-		/// 保存FPM0103画面(绑定条码)的注浆数据
-		/// </summary>
-		/// <param name="groutingInfo">注浆数据</param>
-		/// <returns>保存结果</returns>
-		public ServiceResultEntity SetFPM0103Data(DataSet groutingInfo)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.SetFPM0103Data(this.SUserInfo, groutingInfo));
-		}
-
-		#endregion 条码绑定
-
-		#endregion 注浆管理
-
-		#region 条码管理
-
-		#region 条码变更
-		/// <summary>
-		/// 取得FPM0202画面(条码变更用条码查询)的查询数据
-		/// </summary>
-		/// <param name="se">查询条件</param>
-		/// <returns>查询结果</returns>
-		public ServiceResultEntity GetFPM0202SData(FPM0202_SE se)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0202SData(this.SUserInfo, se));
-		}
-
-		/// <summary>
-		/// 取得FPM0203画面(条码变更)的查询数据
-		/// </summary>
-		/// <param name="barcode">条码</param>
-		/// <returns>查询结果</returns>
-		public ServiceResultEntity GetFPM0203NSData(string barcode)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0203SData(this.SUserInfo, barcode));
-		}
-
-		/// <summary>
-		/// 取得FPM0203画面(条码变更)的查询数据
-		/// </summary>
-		/// <param name="se">查询条件</param>
-		/// <returns>查询结果</returns>
-		public ServiceResultEntity GetFPM0203SData(FPM0203_SE se)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0203SData(this.SUserInfo, se));
-		}
-
-		/// <summary>
-		/// 更换条码
-		/// </summary>
-		/// <param name="barcode">原条码</param>
-		/// <param name="newBarcode">新条码</param>
-		/// <param name="remarks">备注</param>
-		/// <returns>操作结果</returns>
-		public ServiceResultEntity SetFPM0201Data(string barcode, string newBarcode, string remarks, string groutingUserCode, string goodsCode)
-		{
-			return ServiceInvoker.Invoke(this, () => PMModuleLogic.SetFPM0201Data(this.SUserInfo, barcode, newBarcode, remarks, groutingUserCode, goodsCode));
-		}
-		#endregion 条码变更
-
-		#endregion 条码管理
-
-		#region 请求处理
-		/// <summary>
-		/// 处理请求
-		/// </summary>
-		/// <param name="cre"></param>
-		/// <returns></returns>
-		public ServiceResultEntity HandleRequest(ClientRequestEntity cre)
-		{
+    /// <summary>
+    /// 生产管理模块WCF服务
+    /// </summary>
+    /// 服务实现类,继承服务声明接口
+    /// 该标签声明该服务可以在ASP.NET下运行
+    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
+    [ServiceBehavior(ConfigurationName = "PMModuleServiceNew",
+    InstanceContextMode = InstanceContextMode.PerCall,
+    ConcurrencyMode = ConcurrencyMode.Multiple,
+    UseSynchronizationContext = false)]
+    public class PMModuleServiceNew : ServicesBase, IPMModuleNew
+    {
+        #region 构造函数
+
+        /// <summary>
+        /// 构造函数
+        /// </summary>
+        public PMModuleServiceNew()
+            : base()
+        {
+        }
+
+        #endregion
+
+        #region 注浆管理
+
+        #region 注浆登记一览
+
+        /// <summary>
+        /// 取得FPM0101画面(注浆登记)的初始化数据
+        /// </summary>
+        /// <returns>初始化数据</returns>
+        public ServiceResultEntity GetFPM0101IData()
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0101IData(this.SUserInfo));
+        }
+
+        /// <summary>
+        /// 取得FPM0101画面(注浆登记)的查询数据
+        /// </summary>
+        /// <param name="se">查询条件</param>
+        /// <returns>查询结果</returns>
+        public ServiceResultEntity GetFPM0101SData(FPM0101_SE se)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0101SData(this.SUserInfo, se));
+        }
+
+        /// <summary>
+        /// 取得FPM0101画面(注浆登记)的查询数据
+        /// </summary>
+        /// <param name="ids">新建注浆登记的id(多个用【,】隔开)</param>
+        /// <returns>查询结果</returns>
+        public ServiceResultEntity GetFPM0101NSData(string ids)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0101SData(this.SUserInfo, ids));
+        }
+
+        #endregion 注浆登记
+
+        #region 注浆登记
+
+        /// <summary>
+        /// 取得FPM0102画面(注浆登记)的成型线数据
+        /// </summary>
+        /// <param name="groutingDate">注浆日期(null:当天)</param>
+        /// <param name="groutingIDs">成型线ID(多个用【,】隔开;null:全部注浆)</param>
+        /// <returns>
+        /// 成型线数据
+        /// OtherStatus = 1:注浆日期大于账务日期
+        /// OtherStatus = 2:没有可注浆的成型线
+        /// OtherStatus = 3:没有可注浆的模具
+        /// </returns>
+        public ServiceResultEntity GetFPM0102_GroutingLine(DateTime? groutingDate, string groutingIDs)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0102_GroutingLine(this.SUserInfo, groutingDate, groutingIDs));
+        }
+
+        /// <summary>
+        /// 取得FPM0102画面(注浆登记)的初始化数据
+        /// </summary>
+        /// <param name="groutingDailyID">注浆日报ID</param>
+        /// <returns>
+        /// 初始化数据
+        /// 注浆数据
+        /// OtherStatus = 1:没有可编辑的注浆信息
+        /// OtherStatus = 2:没有可编辑的注浆明细信息
+        /// </returns>
+        public ServiceResultEntity GetFPM0102IData(int groutingDailyID)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0102IData(this.SUserInfo, groutingDailyID));
+        }
+
+        /// <summary>
+        /// 取得FPM0104画面(选择成型线)的查询数据
+        /// </summary>
+        /// <param name="se">查询条件</param>
+        /// <returns>查询结果</returns>
+        public ServiceResultEntity GetFPM0104SData(FPM0104_SE se)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0104SData(this.SUserInfo, se));
+        }
+
+        /// <summary>
+        /// 保存FPM0102画面(注浆登记)的注浆数据
+        /// </summary>
+        /// <param name="groutingDate">注浆日期(null:编辑;非null:新建)</param>
+        /// <param name="groutingInfo">注浆数据</param>
+        /// <returns>保存结果
+        /// OtherStatus = 1: 没有以下成型线的操作权限
+        /// OtherStatus = 2: 以下成型线已做过注浆
+        /// OtherStatus = 3: 以下成型工号已被停用
+        /// OtherStatus = 4: 补注浆,成型工号没有班次配置
+        /// OtherStatus = 5: 以下成型工号没有配置员工关联
+        /// </returns>
+        public ServiceResultEntity SetFPM0102Data(DateTime? groutingDate, DataSet groutingInfo)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.SetFPM0102Data(this.SUserInfo, groutingDate, groutingInfo));
+        }
+
+        /// <summary>
+        /// 取得FPM0105画面(选择能绑定条码的注浆登记)的查询数据
+        /// </summary>s
+        /// <param name="se">查询条件</param>
+        /// <returns>查询结果</returns>
+        public ServiceResultEntity GetFPM0105SData(FPM0104_SE se)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0105SData(this.SUserInfo, se));
+        }
+
+        #endregion 注浆登记
+
+        #region 条码绑定
+
+        /// <summary>
+        /// 取得FPM0103画面(绑定条码)的注浆数据
+        /// </summary>
+        /// <param name="groutingDailyID">注浆日报ID</param>
+        /// <returns>
+        /// 注浆数据
+        /// OtherStatus = 1:没有可编辑的注浆信息
+        /// OtherStatus = 2:没有可编辑的注浆明细信息
+        /// </returns>
+        public ServiceResultEntity GetFPM0103Data(int groutingDailyID)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0103Data(this.SUserInfo, groutingDailyID));
+        }
+
+        /// <summary>
+        /// 保存FPM0103画面(绑定条码)的注浆数据
+        /// </summary>
+        /// <param name="groutingInfo">注浆数据</param>
+        /// <returns>保存结果</returns>
+        public ServiceResultEntity SetFPM0103Data(DataSet groutingInfo)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.SetFPM0103Data(this.SUserInfo, groutingInfo));
+        }
+
+        #endregion 条码绑定
+
+        #endregion 注浆管理
+
+        #region 条码管理
+
+        #region 条码变更
+        /// <summary>
+        /// 取得FPM0202画面(条码变更用条码查询)的查询数据
+        /// </summary>
+        /// <param name="se">查询条件</param>
+        /// <returns>查询结果</returns>
+        public ServiceResultEntity GetFPM0202SData(FPM0202_SE se)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0202SData(this.SUserInfo, se));
+        }
+
+        /// <summary>
+        /// 取得FPM0203画面(条码变更)的查询数据
+        /// </summary>
+        /// <param name="barcode">条码</param>
+        /// <returns>查询结果</returns>
+        public ServiceResultEntity GetFPM0203NSData(string barcode)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0203SData(this.SUserInfo, barcode));
+        }
+
+        /// <summary>
+        /// 取得FPM0203画面(条码变更)的查询数据
+        /// </summary>
+        /// <param name="se">查询条件</param>
+        /// <returns>查询结果</returns>
+        public ServiceResultEntity GetFPM0203SData(FPM0203_SE se)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0203SData(this.SUserInfo, se));
+        }
+
+        /// <summary>
+        /// 更换条码
+        /// </summary>
+        /// <param name="barcode">原条码</param>
+        /// <param name="newBarcode">新条码</param>
+        /// <param name="remarks">备注</param>
+        /// <returns>操作结果</returns>
+        public ServiceResultEntity SetFPM0201Data(string barcode, string newBarcode, string remarks, string groutingUserCode, string goodsCode)
+        {
+            return ServiceInvoker.Invoke(this, () => PMModuleLogic.SetFPM0201Data(this.SUserInfo, barcode, newBarcode, remarks, groutingUserCode, goodsCode));
+        }
+        #endregion 条码变更
+
+        #endregion 条码管理
+
+        #region 请求处理
+        /// <summary>
+        /// 处理请求
+        /// </summary>
+        /// <param name="cre"></param>
+        /// <returns></returns>
+        public ServiceResultEntity HandleRequest(ClientRequestEntity cre)
+        {
             try
             {
                 #region 生产数据查询(干补)
@@ -549,17 +550,17 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                     }
                     return null;
                 }
-				#endregion
-
-				#region 梭式窑入窑 fubin add 2020-6-24
-				if (cre.NameSpace == "F_PM_0505")
-				{
-					if (cre.Name == "SaveSKBatchNo")
-					{
-						return ServiceInvoker.Invoke(this, () => PMModuleLogic.SaveSKBatchNo(cre, this.SUserInfo));
-					}
-					return null;
-				}
+                #endregion
+
+                #region 梭式窑入窑 fubin add 2020-6-24
+                if (cre.NameSpace == "F_PM_0505")
+                {
+                    if (cre.Name == "SaveSKBatchNo")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PMModuleLogic.SaveSKBatchNo(cre, this.SUserInfo));
+                    }
+                    return null;
+                }
                 #endregion
 
                 #region 重启3#高压注浆
@@ -613,30 +614,30 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                     }
                     return null;
                 }
-				#endregion
-
-				#region 发货单
-				if (cre.NameSpace == "F_PM_3501")
-				{
-					// 发货单仓库
-					//if ("GetSendWarehouse" == cre.Name)
-					//{
-					//                   return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetSendWarehouse(this.SUserInfo, cre));
-					//}
-					//else if ("GetNumberplaten" == cre.Name)
-					//{
-					//                   return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetNumberPlate(this.SUserInfo, cre));
-					//}
-					//查询发货单总单
-					if ("GetSendOutGoodsLog" == cre.Name)
-					{
-						return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetSendOutGoodsLog(this.SUserInfo, cre));
-					}
-					//查询发货单明细
-					else if ("GetSendOutGoodsLogDetail" == cre.Name)
-					{
-						return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetSendOutGoodsLogDetail(this.SUserInfo, cre));
-                    } 
+                #endregion
+
+                #region 发货单
+                if (cre.NameSpace == "F_PM_3501")
+                {
+                    // 发货单仓库
+                    //if ("GetSendWarehouse" == cre.Name)
+                    //{
+                    //                   return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetSendWarehouse(this.SUserInfo, cre));
+                    //}
+                    //else if ("GetNumberplaten" == cre.Name)
+                    //{
+                    //                   return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetNumberPlate(this.SUserInfo, cre));
+                    //}
+                    //查询发货单总单
+                    if ("GetSendOutGoodsLog" == cre.Name)
+                    {
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetSendOutGoodsLog(this.SUserInfo, cre));
+                    }
+                    //查询发货单明细
+                    else if ("GetSendOutGoodsLogDetail" == cre.Name)
+                    {
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetSendOutGoodsLogDetail(this.SUserInfo, cre));
+                    }
                     //撤销发货单
                     else if ("KHDRevokeInvoice" == cre.Name)
                     {
@@ -648,69 +649,89 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                         return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.KHDDestroyInvoice(this.SUserInfo, cre));
                     }
                     return null;
-				}
-
-				if (cre.NameSpace == "F_PM_3502")
-				{
-					//查询发货单信息 编辑信息
-					if ("GetSendInfo" == cre.Name)
-					{
-						return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetSendInfo(this.SUserInfo, cre));
-					}
-
-					return null;
-				}
-				#endregion
-
-				#region 首件登记检验
-				if (cre.NameSpace == "F_PM_3601")
-				{
-					//查询总单
-					if ("GetRegisterData" == cre.Name)
-					{
-						return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetRegisterData(this.SUserInfo, cre));
-					}
-					//查询条码明细
-					else if ("GetRegisterDetail" == cre.Name)
-					{
-						return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetRegisterDetail(this.SUserInfo, cre));
-					}
-					//查询明细
-					else if ("GetItemDetail" == cre.Name)
-					{
-						return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetItemDetail(this.SUserInfo, cre));
-					}
-
-					return null;
-				}
-				if (cre.NameSpace == "F_PM_3602")
-				{
-					if ("GetMatnr" == cre.Name)
-					{
-						return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetMatnr(this.SUserInfo, cre));
-					}
-					//编辑信息
-					else if ("GetInfo" == cre.Name)
-					{
-						return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetInfo(this.SUserInfo, cre));
-					}
-					//保存
-					else if ("SaveFirstRegister" == cre.Name)
-					{
-						return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.SaveFirstRegister(this.SUserInfo, cre));
-					}
-				}
-				#endregion
-
-				return null;
+                }
+
+                if (cre.NameSpace == "F_PM_3502")
+                {
+                    //查询发货单信息 编辑信息
+                    if ("GetSendInfo" == cre.Name)
+                    {
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetSendInfo(this.SUserInfo, cre));
+
+                    }
+                    else if ("SaveSendInfo" == cre.Name)
+                    {
+                        var sendOut = new SendOutGoodsEntity()
+                        {
+                            SENDOUTCODE = cre.Properties["SENDOUTGOODSLOGID"].ToString(),
+                            //  cre.Properties["OUTLABELCODE"] 
+                            WAREHOUSINGID = cre.Properties["WAREHOUSINGCODE"].ToString(),
+                            RECEIVEID = cre.Properties["RECEIVECODE"].ToString(),
+                            CARPLATEID = cre.Properties["CARPLATECODE"].ToString(),
+                            WAREHOUSINGNAME = cre.Properties["WAREHOUSINGENAME"].ToString(),
+                            RECEIVENAME = cre.Properties["RECEIVEENAME"].ToString(),
+                            CARPLATENAME = cre.Properties["CARPLATENAME"].ToString(),
+                            ACCOUNTDATE = cre.Properties["AccountDateStart"].ToString(),
+                            DELIVERDATE = cre.Properties["DELIVERDATE"].ToString(),
+                            USERCODE = SUserInfo.UserCode
+                        };
+                        var detail = JsonHelper.FromJson<List<SendOutGoodsDetailEntity>>(JsonHelper.ToJson(cre.Data.Tables[0]));
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogicDAL.SaveSendOutGoodsLogs(sendOut, detail, SUserInfo));
+                    }
+
+                    return null;
+                }
+                #endregion
+
+                #region 首件登记检验
+                if (cre.NameSpace == "F_PM_3601")
+                {
+                    //查询总单
+                    if ("GetRegisterData" == cre.Name)
+                    {
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetRegisterData(this.SUserInfo, cre));
+                    }
+                    //查询条码明细
+                    else if ("GetRegisterDetail" == cre.Name)
+                    {
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetRegisterDetail(this.SUserInfo, cre));
+                    }
+                    //查询明细
+                    else if ("GetItemDetail" == cre.Name)
+                    {
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetItemDetail(this.SUserInfo, cre));
+                    }
+
+                    return null;
+                }
+                if (cre.NameSpace == "F_PM_3602")
+                {
+                    if ("GetMatnr" == cre.Name)
+                    {
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetMatnr(this.SUserInfo, cre));
+                    }
+                    //编辑信息
+                    else if ("GetInfo" == cre.Name)
+                    {
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.GetInfo(this.SUserInfo, cre));
+                    }
+                    //保存
+                    else if ("SaveFirstRegister" == cre.Name)
+                    {
+                        return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.SaveFirstRegister(this.SUserInfo, cre));
+                    }
+                }
+                #endregion
+
+                return null;
             }
             catch (Exception ex)
             {
                 throw ex;
             }
-		}
-		#endregion
+        }
+        #endregion
 
 
-	}
+    }
 }