konghe 1 год назад
Родитель
Сommit
f8aafbb66d

+ 1 - 1
DK.Basics/Library/SapApi.cs

@@ -121,7 +121,7 @@ public class SapApi
 
         //输入参数
         IRfcTable imTable = rfcApi.GetTable("IT_INPUT");
-
+        if(matnrs!=null&&matnrs.Count>0)
         foreach (string MATNR in matnrs)
         {
             imTable.Append();

+ 102 - 101
DK.Service/PMModuleLogic/PMModuleLogic.cs

@@ -5064,45 +5064,68 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
 				oracleConn.Open();
 				ServiceResultEntity resultEntity = new ServiceResultEntity();
 
-				// 如果是板码,不能扫板码?
-				#region 暂时注释板码
-                //string banMa = string.Empty;
-				//if (barcode.Length == 8)
-				//{
-				//	banMa = barcode;
-				//	string sqlBanMa = @"
-				//	SELECT BARCODE,
-				//		   FINISHEDLOADBATCHNO
-				//	  FROM TP_PM_FINISHEDPRODUCT
-				//	 WHERE BANMA = :barcode ";
-
-				//	OracleParameter[] parasBanMa = new OracleParameter[]
-				//	{
-				//		new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input)
-				//	};
-				//	DataTable dtBanMa = oracleConn.GetSqlResultToDt(sqlBanMa, parasBanMa);
-
-				//	if (dtBanMa.Rows.Count == 0)
-				//	{
-				//		resultEntity.Result = -1;
-				//		resultEntity.Message = "当前载具上无可交接的产品。";
-				//		return resultEntity;
-				//	}
-
-				//	DataTable dtFinishedLoadBatchNo = dtBanMa.DefaultView.ToTable(true, new string[] { "FINISHEDLOADBATCHNO" });
-				//	if (dtFinishedLoadBatchNo.Rows.Count > 1)
-				//	{
-				//		resultEntity.Result = -1;
-				//		resultEntity.Message = "当前载具存在超过两版以上的产品。";
-				//		return resultEntity;
-				//	}
-
-				//	barcode = dtBanMa.Rows[0]["BARCODE"].ToString();
-				//}
-				#endregion
-				 
-				string gbarcode = null;
+                // 如果是板码,不能扫板码?
+                #region 暂时注释板码
+                string banMa = string.Empty;
+     //           if (barcode.Length == 8)
+     //           {
+     //               banMa = barcode;
+     //               string sqlBanMa = @"
+					//SELECT BARCODE,
+					//	   FINISHEDLOADBATCHNO
+					//  FROM TP_PM_FINISHEDPRODUCT
+					// WHERE BANMA = :barcode  and FHTIME is not null and SENDOUTFLAG<>1 order by FHTIME desc";
+
+     //               OracleParameter[] parasBanMa = new OracleParameter[]
+     //               {
+     //                   new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input)
+     //               };
+     //               DataTable dtBanMa = oracleConn.GetSqlResultToDt(sqlBanMa, parasBanMa);
+
+     //               if (dtBanMa.Rows.Count == 0)
+     //               {
+     //                   resultEntity.Result = -1;
+     //                   resultEntity.Message = "当前载具上无可发货的产品。";
+     //                   return resultEntity;
+     //               }
+
+     //               //DataTable dtFinishedLoadBatchNo = dtBanMa.DefaultView.ToTable(true, new string[] { "FINISHEDLOADBATCHNO" });
+     //               //if (dtFinishedLoadBatchNo.Rows.Count > 1)
+     //               //{
+     //               //    resultEntity.Result = -1;
+     //               //    resultEntity.Message = "当前载具存在超过两版以上的产品。";
+     //               //    return resultEntity;
+     //               //}
+
+     //               barcode = dtBanMa.Rows[0]["BARCODE"].ToString();
+     //           }
+     //           else//外箱吗
+     //           {
+
+     //               banMa = barcode;
+     //               string sqlBanMa = @"
+					// select  BANMA,TP_PM_GroutingDailyDetail.GOODSCODE,MATERIALCODE,MATERIALREMARK from TP_PM_FINISHEDPRODUCT left join TP_PM_GroutingDailyDetail on TP_PM_GroutingDailyDetail.BARCODE=TP_PM_FINISHEDPRODUCT.BARCODE  
+					// WHERE TP_PM_GroutingDailyDetail.outlabelcode = :barcode  and FHTIME is not null and SENDOUTFLAG<>1";
+
+     //               OracleParameter[] parasBanMa = new OracleParameter[]
+     //            {
+     //                   new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input)
+     //            };
+     //               DataTable dtBanMa = oracleConn.GetSqlResultToDt(sqlBanMa, parasBanMa);
+
+     //               if (dtBanMa.Rows.Count == 0)
+     //               {
+     //                   resultEntity.Result = -1;
+     //                   resultEntity.Message = "当前载具上无可发货的产品。";
+     //                   return resultEntity;
+     //               }
+
+     //           }
+                #endregion
+
+                string gbarcode = null;
 				string FINISHEDLOADBATCHNO = null;
+                string fhtime = "";
 				string sqlString = @"select FUN_CMN_GetBarCode(:barcode,null,:accountid) From DUAL";
 				OracleParameter[] paras1 = new OracleParameter[]{
 									new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
@@ -5114,21 +5137,28 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
 				{
 					gbarcode = ds.Tables[0].Rows[0][0].ToString();
 				}
-
-				// 1.判断产品是否在产成品表中
-				string sql = @"select
+                string sql = "";
+                // 1.判断产品是否在产成品表中
+                if (barcode.Length == 8)
+                {
+                    sql = @"select
                                 f.FHUserID,
                                 f.FHUserCode,
                                 f.GoodsID,
                                 f.GoodsCode,
                                 f.GoodsName,
-                                f.BarCode, f.FINISHEDLOADBATCHNO
+                                f.BarCode, f.FINISHEDLOADBATCHNO,FHTIME
                                 from TP_PM_FinishedProduct f 
-                                where f.BarCode=:BarCode";
-				// where BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid)";
-				string currentBarcode = string.Empty;
+                                where f.BANMA=:BarCode  and FHTIME is not null and SENDOUTFLAG<>1 order by FHTIME desc ";
+                }
+                else {
+                    sql = "select  TP_PM_FINISHEDPRODUCT.* from TP_PM_FINISHEDPRODUCT left join TP_PM_GroutingDailyDetail on TP_PM_GroutingDailyDetail.BARCODE=TP_PM_FINISHEDPRODUCT.BARCODE WHERE TP_PM_GroutingDailyDetail.outlabelcode = :BarCode  order by FHTIME desc ";
+                }
+
+                // where BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid)";
+                string currentBarcode = string.Empty;
 				OracleParameter[] paras = new OracleParameter[]{
-					new OracleParameter(":BarCode",OracleDbType.NVarchar2,gbarcode,ParameterDirection.Input),
+					new OracleParameter(":BarCode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
                     //new OracleParameter(":Accountid",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
                 };
 
@@ -5136,16 +5166,17 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
 				if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
 				{
 					FINISHEDLOADBATCHNO = dsResult.Tables[0].Rows[0]["FINISHEDLOADBATCHNO"].ToString();
-					// 在产成品表中
-					#region 是否交接过
-					string fhUserCode = dsResult.Tables[0].Rows[0]["FHUserCode"].ToString();
-					//if ( !string.IsNullOrEmpty(fhUserCode))
-					//{
-					//	resultEntity.Result = -1; //已交接,不能再次进行交接
-					//	resultEntity.Message = "此产品【" + barcode + "】已交接,不能进行该操作";
-					//	return resultEntity;
-					//}
-					if (string.IsNullOrEmpty(fhUserCode))
+                    fhtime = dsResult.Tables[0].Rows[0]["FHTIME"].ToString();
+                    // 在产成品表中
+                    #region 是否交接过
+                    string fhUserCode = dsResult.Tables[0].Rows[0]["FHUserCode"].ToString();
+                    if (dsResult.Tables[0].Rows[0]["SENDOUTFLAG"] == null|| (!string.IsNullOrEmpty(dsResult.Tables[0].Rows[0]["SENDOUTFLAG"].ToString())&& dsResult.Tables[0].Rows[0]["SENDOUTFLAG"].ToString()=="0"))
+                    {
+                        resultEntity.Result = -1; 
+                        resultEntity.Message = "此产品【" + barcode + "】已发货,不能进行该操作";
+                        return resultEntity;
+                    }
+                    if (string.IsNullOrEmpty(fhUserCode))
 					{
 						resultEntity.Result = -1; //未交接,不能进行
                         resultEntity.Message = "此产品【" + barcode + "】未交接,不能进行该操作";
@@ -5189,58 +5220,28 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
 
 
 				#region 查询产品相关信息
-				sql = "select gd.BarCode,\n" +
-				"       l.logoid,\n" +
-				"       l.logocode,\n" +
-				"       l.logoname,\n" +
-				"       gd.goodscode,\n" +
-				"       gd.UserID,\n" +
-				"       gd.UserCode          as GroutingUserCode,\n" +
-				"       gd.GroutingMouldCode as MouldCode,\n" +
-				"       gd.GroutingDate,\n" +
-				"       gd.DeliverTime,\n" +
-				"       nvl(gd.MaterialCode, nvl(Goods.MaterialCode, Goods.GoodsCode)) ||'#'|| to_char(Goods.GOODS_LINE_TYPE) as GoodsModel, -- 用物料编码验证产品型号是否一致\n" +
-				"       Goods.PlateLimitNum,\n" +
-				"       nvl(gd.outlabelcode,\n" +
-				"           Goods.MaterialCode ||\n" +
-				"           (select a.workcode\n" +
-				"              from tp_mst_account a\n" +
-				"             where a.accountid = gd.accountid) || l.tagcode || gd.onlycode) as FinishedBarCode,\n" +
-				"       o.ORDERNO,\n" +
-				"       SUBSTR( gd.OUTLABELCODE, 0, 14 ) OUTLABELCODE,\n" +
-				"       gd.MATERIALCODE,\n" +
-				"       gd.OUTLABELCODE as OUTLABELCODES,\n" +
-				"       f.BanMa\n" +
-				"  from TP_PM_GroutingDailyDetail gd\n" +
-				" inner join tp_mst_logo l\n" +
-				"    on gd.logoid = l.logoid\n" +
-				" inner join TP_PM_FinishedProduct f\n" +
-				"    on f.GROUTINGDAILYDETAILID = gd.GROUTINGDAILYDETAILID\n" +
-				"  left join tp_pm_order o\n" +
-				"    on o.orderid = f.FHORDERID\n" +
-				" inner join TP_MST_Goods Goods\n" +
-				"    on gd.goodsid = Goods.goodsid \n";
+				sql = " select  BANMA,GOODSCODE,MATERIALCODE,MATERIALREMARK,FINISHEDLOADBATCHNO,count(1) Count from TP_PM_FINISHEDPRODUCT where 1=1 ";
 				if (string.IsNullOrWhiteSpace(FINISHEDLOADBATCHNO))
 				{
-					sql += " where gd.BarCode='" + gbarcode + "'";
-				}
-				else
-				{
-					sql += " where f.FINISHEDLOADBATCHNO ='" + FINISHEDLOADBATCHNO + "'";
-					paras[0].Value = FINISHEDLOADBATCHNO;
+					sql += " and FINISHEDLOADBATCHNO='" + FINISHEDLOADBATCHNO + "'";
 				}
-				dsResult = oracleConn.GetSqlResultToDs(sql);
+                if (string.IsNullOrWhiteSpace(fhtime))
+                {
+                    sql += " and FHTIME=FUN_CMN_GETDATETIME('" + fhtime + "') ";
+                }
+                sql += " group by BANMA,GOODSCODE,MATERIALCODE,MATERIALREMARK,FINISHEDLOADBATCHNO";
+                dsResult = oracleConn.GetSqlResultToDs(sql);
 				if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
 				{
-					resultEntity.Result = 1;					
+					resultEntity.Result = 1;
 					resultEntity.Data = dsResult;
 				}
-				else
-				{
-					resultEntity.Result = -2;// 条码未注浆
-					resultEntity.Message = "条码【" + barcode + "】未注浆";
-					return resultEntity;
-				}
+				//else
+				//{
+				//	resultEntity.Result = -2;// 条码未注浆
+				//	resultEntity.Message = "条码【" + barcode + "】未注浆";
+				//	return resultEntity;
+				//}
 				#endregion
 
 				return resultEntity;

+ 444 - 233
DK.Service/PMModuleLogic/PMModuleLogicDAL.cs

@@ -29,6 +29,8 @@ using Dongke.WinForm.Controls.InvoiceLayout;
 
 using Oracle.ManagedDataAccess.Client;
 using static Dongke.IBOSS.PRD.Service.SAPHegiiDataService.SAPDataLogic;
+using Dongke.IBOSS.PRD.WCF.DataModels.PMModule;
+using System.Linq;
 
 namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
 {
@@ -55,7 +57,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
         {
             procedureInfo = null;
             if (barcodeTable == null || barcodeTable.Rows.Count == 0)
-            {   
+            {
                 return null;
             }
             // 实例返回的Talbe
@@ -10433,8 +10435,8 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                         new OracleParameter(":LEAKFLAG7", productionData.LeakFlag7),
                                         new OracleParameter(":groutingdailydetailid", groutingdailydetailid)
                                     });
-						if (productionData.LeakFlag1  != leakflag1.ToString())
-						{
+                        if (productionData.LeakFlag1 != leakflag1.ToString())
+                        {
                             string sqlString = @"
                                             INSERT INTO tp_pm_goodsleak
                                                 (BARCODE,
@@ -10468,7 +10470,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                 new OracleParameter(":USERID", sUserInfo.UserID)
                             });
                         }
-                        
+
                     }
                 }
                 #endregion
@@ -11070,15 +11072,15 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                             ischanged = 1;
                             int returnRows = SetBarCodeLogo(oracleTrConn, productionData.Barcode, productionData.NewLogoID.ToNullableInt32().Value, sUserInfo);
 
-							if (returnRows == -5)
-							{
-								return "该商标已超过生产计划允许变更数量,不能变更商标";
-							}
-							else if (returnRows == -6)
-							{
+                            if (returnRows == -5)
+                            {
+                                return "该商标已超过生产计划允许变更数量,不能变更商标";
+                            }
+                            else if (returnRows == -6)
+                            {
                                 return "该商标无生产计划,不允许变更商标";
                             }
-							string canSaveIdnrks = ",";
+                            string canSaveIdnrks = ",";
                             if (productionData.CanSaveIdnrkList != null && productionData.CanSaveIdnrkList.Count > 0)
                             {
                                 foreach (IdnrkEntity entity in productionData.CanSaveIdnrkList)
@@ -11098,26 +11100,26 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                 new OracleParameter(":CANSAVEIDNRKS", canSaveIdnrks)
                             });
                         }
-						else
-						{
-							ischanged = 0;
-							//20240510 by qq 不需要商标变更的也要控制不是计划的不让保存
-							#region 根据生产计划,判断商标数量
-							//根据生控计划 固定工序,用户是否拥有高级权限,判断商标切换的剩余数量是否满足条件等 20240418 add by qq
-							sql = @"SELECT PLANFLAG FROM TP_MST_User WHERE usercode = :usercode";
-							//end
-
-							DataTable userTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-													  new OracleParameter(":usercode",OracleDbType.Varchar2, sUserInfo.UserCode,ParameterDirection.Input)
-												  });
-							if (userTable != null && userTable.Rows.Count > 0)
-							{
-								if (userTable.Rows[0]["PLANFLAG"].ToString() == "0")
-								{
-									//等于0为低级权限,需要判断数量,等于1为高级权限,无需控制变更产品
-
-									//再查询该产品所有商标有没有计划数量 ,查出来则为有
-									sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
+                        else
+                        {
+                            ischanged = 0;
+                            //20240510 by qq 不需要商标变更的也要控制不是计划的不让保存
+                            #region 根据生产计划,判断商标数量
+                            //根据生控计划 固定工序,用户是否拥有高级权限,判断商标切换的剩余数量是否满足条件等 20240418 add by qq
+                            sql = @"SELECT PLANFLAG FROM TP_MST_User WHERE usercode = :usercode";
+                            //end
+
+                            DataTable userTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                                                      new OracleParameter(":usercode",OracleDbType.Varchar2, sUserInfo.UserCode,ParameterDirection.Input)
+                                                  });
+                            if (userTable != null && userTable.Rows.Count > 0)
+                            {
+                                if (userTable.Rows[0]["PLANFLAG"].ToString() == "0")
+                                {
+                                    //等于0为低级权限,需要判断数量,等于1为高级权限,无需控制变更产品
+
+                                    //再查询该产品所有商标有没有计划数量 ,查出来则为有
+                                    sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
                                                        FROM TP_PM_PRODUCTION_PLAN PP
                                                        LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PP.GOODSID = GDD.GOODSID 
                                                        WHERE GDD.BARCODE = :BARCODE
@@ -11126,14 +11128,14 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                                        AND PP.BEGINTIME <= SYSDATE
                                                         AND PP.ENDTIME > SYSDATE
                                                         AND PP.CONTROLRANGE = 1 ";
-									DataTable planTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-														  new OracleParameter(":BARCODE",OracleDbType.Varchar2, productionData.Barcode,ParameterDirection.Input),
-														  new OracleParameter(":LOGOID",OracleDbType.Varchar2, oldLogoID,ParameterDirection.Input),
-													  });
-									//有计划,判断数量
-									if (planTable != null && planTable.Rows.Count > 0)
-									{
-										sql = @"SELECT sum(changedata.CHANGENUM) CHANGENUM FROM (
+                                    DataTable planTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                                                          new OracleParameter(":BARCODE",OracleDbType.Varchar2, productionData.Barcode,ParameterDirection.Input),
+                                                          new OracleParameter(":LOGOID",OracleDbType.Varchar2, oldLogoID,ParameterDirection.Input),
+                                                      });
+                                    //有计划,判断数量
+                                    if (planTable != null && planTable.Rows.Count > 0)
+                                    {
+                                        sql = @"SELECT sum(changedata.CHANGENUM) CHANGENUM FROM (
                                                                     --在装配环节变更数量
                                                                     SELECT ip.goodsid,ip.logoid,COUNT(distinct l.barcode) CHANGENUM
                                                                         FROM tp_pm_logochangedrecord l 
@@ -11187,12 +11189,12 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                                                                 GROUP BY pd.goodsid,pd.logoid
                                                 ) changedata
                                                 WHERE changedata.logoid = :logoid  ";
-										DataTable quantityTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-															  new OracleParameter(":barcode",OracleDbType.Varchar2, productionData.Barcode,ParameterDirection.Input),
-															  new OracleParameter(":logoid",OracleDbType.Varchar2, oldLogoID,ParameterDirection.Input),
-														  });
-										if (quantityTable != null && quantityTable.Rows.Count > 0)
-										{
+                                        DataTable quantityTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                                                              new OracleParameter(":barcode",OracleDbType.Varchar2, productionData.Barcode,ParameterDirection.Input),
+                                                              new OracleParameter(":logoid",OracleDbType.Varchar2, oldLogoID,ParameterDirection.Input),
+                                                          });
+                                        if (quantityTable != null && quantityTable.Rows.Count > 0)
+                                        {
                                             if (!string.IsNullOrWhiteSpace(quantityTable.Rows[0]["CHANGENUM"].ToString()))
                                             {
                                                 //实际变换商标的数量大于计划的数量,不能再变
@@ -11201,13 +11203,13 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                                     return "该商标已超过生产计划允许变更数量,不能保存";
                                                 }
                                             }
-										}
+                                        }
 
-									}
-									else
-									{
-										//这个品这个商标没有计划,查看这个品其他商标有没有计划,其他商标有计划,则控制不能变更这个商标 
-										sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
+                                    }
+                                    else
+                                    {
+                                        //这个品这个商标没有计划,查看这个品其他商标有没有计划,其他商标有计划,则控制不能变更这个商标 
+                                        sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
                                                        FROM TP_PM_PRODUCTION_PLAN PP
                                                        LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PP.GOODSID = GDD.GOODSID 
                                                        WHERE GDD.BARCODE = :BARCODE 
@@ -11215,33 +11217,33 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                                        AND PP.BEGINTIME <= SYSDATE
                                                        AND PP.ENDTIME > SYSDATE
                                                        AND PP.CONTROLRANGE = 1";
-										DataTable planTable1 = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-														  new OracleParameter(":BARCODE",OracleDbType.Varchar2, productionData.Barcode,ParameterDirection.Input),
-														  });
-										//其他商标有计划
-										if (planTable1 != null && planTable1.Rows.Count > 0)
-										{
-											return "该商标无生产计划,不允许保存";
-										}
-
-									}
-								}
-							}
-							#endregion
-						}
-					}
+                                        DataTable planTable1 = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                                                          new OracleParameter(":BARCODE",OracleDbType.Varchar2, productionData.Barcode,ParameterDirection.Input),
+                                                          });
+                                        //其他商标有计划
+                                        if (planTable1 != null && planTable1.Rows.Count > 0)
+                                        {
+                                            return "该商标无生产计划,不允许保存";
+                                        }
+
+                                    }
+                                }
+                            }
+                            #endregion
+                        }
+                    }
                     #endregion
 
                     #region 写入组件和报损组件
                     if (productionData.IdnrkList != null && productionData.IdnrkList.Count > 0)
                     {
                         //连体装配 校验或者保存
-						if (procedure.ProcedureID == 121 && ischanged == 0)
-						{  
+                        if (procedure.ProcedureID == 121 && ischanged == 0)
+                        {
                             foreach (IdnrkEntity entity in productionData.IdnrkList)
                             {
-								if (entity.RELATIONID == 0)
-								{
+                                if (entity.RELATIONID == 0)
+                                {
                                     string barcodeidnrkrel = @"
                                         INSERT INTO TP_PM_BARCODEIDNRKREL
                                                 (PROCEDUREID,
@@ -11273,7 +11275,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                                  :USERID,
                                                  :USERID,
                                                  :CreateTime) ";
-                                     
+
                                     oracleTrConn.ExecuteNonQuery(barcodeidnrkrel,
                                     new OracleParameter[]
                                     {
@@ -11291,10 +11293,10 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                         new OracleParameter(":USERID", sUserInfo.UserID),
                                         new OracleParameter(":CreateTime", Convert.ToDateTime(entity.CREATETIME)),
                                     });
-                                     
+
                                 }
-								else
-								{
+                                else
+                                {
                                     //如果没有切换商标,则为校验更新功能,否则为正常保存
                                     string barcodeidnrkrel = @"
                                     UPDATE TP_PM_BARCODEIDNRKREL SET  
@@ -11315,13 +11317,13 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                        });
 
                                 }
-                                
 
-                               
+
+
                             }
                         }
-						else
-						{  
+                        else
+                        {
                             string barcodeidnrkrel = @"
                             INSERT INTO TP_PM_BARCODEIDNRKREL
                                     (PROCEDUREID,
@@ -11490,7 +11492,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                     #endregion
 
                     //三车间打印拆开后,通过工控屏装配后调用打印接口 152:3#条码打印
-                    if (procedure.ProcedureID ==  152)
+                    if (procedure.ProcedureID == 152)
                     {
                         string printerName = null;
                         int printtype = 0;
@@ -11509,7 +11511,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
 
                             List<OracleParameter> parameters = new List<OracleParameter>();
 
-                                    
+
                             // 打印
                             //printWay = 1;
                             string sqlPrinterName =
@@ -11538,7 +11540,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                 sre.Message = "此工号没有关联打印机类型";
                                 return sre.Message;
                             }
-                                    
+
                             bool hasPrinter = false;
                             foreach (string item in installedPrinters)
                             {
@@ -11562,7 +11564,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                 new OracleParameter(":accountid",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
                             };
                             string barcode = oracleTrConn.GetSqlResultToStr(sqlString, paras1);
-                                   
+
 
                             // 获取打印数据
                             parameters.Clear();
@@ -11621,14 +11623,14 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                             //if (layoutID > 0)
                             //{
                             //    string sqlString1 = @"SELECT
-	                           //                             B.ITEMSTYLE
+                            //                             B.ITEMSTYLE
                             //                            FROM
-	                           //                             TP_MST_BARCODEPRINTLAYOUT P
-	                           //                             LEFT JOIN TP_MST_BARCODEPRINTITEM T ON P.LAYOUTID = T.LAYOUTID 
-	                           //                             INNER JOIN TP_SYS_BARCODEPRINTITEM B ON T.ITEMCODE = B.ITEMCODE
-	                           //                             AND B.ITEMCODE = 'OUTONLYCODE2'
+                            //                             TP_MST_BARCODEPRINTLAYOUT P
+                            //                             LEFT JOIN TP_MST_BARCODEPRINTITEM T ON P.LAYOUTID = T.LAYOUTID 
+                            //                             INNER JOIN TP_SYS_BARCODEPRINTITEM B ON T.ITEMCODE = B.ITEMCODE
+                            //                             AND B.ITEMCODE = 'OUTONLYCODE2'
                             //                            WHERE
-	                           //                             P.LAYOUTID = :LAYOUTID";
+                            //                             P.LAYOUTID = :LAYOUTID";
                             //    OracleParameter[] paras2 = new OracleParameter[]{
                             //        new OracleParameter(":LAYOUTID",OracleDbType.Int16, layoutID,ParameterDirection.Input)
                             //    };
@@ -11665,7 +11667,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                         }
                     }
                 }
-                 
+
                 return errMsg;
             }
             catch (Exception ex)
@@ -15518,15 +15520,15 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
 
                 // 6  更正在产表最新商标 从注浆表取数据 由于变更商标后走了非工序的条码打印,pd表中的最后一条商标不是最新的 ;20240508 by qq 
                 sql = "select LogoID from tp_pm_groutingdailydetail where barcode=:barcode and valueflag=1";
-                 
+
                 DataSet dset = oracleTrConn.GetSqlResultToDs(sql, Paras);
 
-				if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0)
-				{
+                if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0)
+                {
                     sql = "update TP_PM_InProduction set LogoID = " + dset.Tables[0].Rows[0]["LogoID"].ToString() + " where barcode=:barcode and valueflag=1";
                     returnRows += oracleTrConn.ExecuteNonQuery(sql, Paras);
                 }
-               
+
                 if (returnRows <= 0)
                 {
                     oracleTrConn.Rollback();
@@ -15676,7 +15678,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
             try
             {
                 goodsID = 0;
-                goodsCode = null ;
+                goodsCode = null;
                 goodsName = null;
                 groutingUserCode = null;
                 GroutingDailyDetailID = 0;
@@ -19354,30 +19356,30 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                     }
                 }
 
-				#region 根据生产计划,判断商标数量
-				//根据生控计划 固定工序,用户是否拥有高级权限,判断商标切换的剩余数量是否满足条件等 20240418 add by qq
-				sql = @"SELECT PLANFLAG FROM TP_MST_User WHERE usercode = :usercode";
-				//end
-
-				DataTable userTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-						new OracleParameter(":usercode",OracleDbType.Varchar2, sUserInfo.UserCode,ParameterDirection.Input)
-					});
-				if (userTable != null && userTable.Rows.Count > 0)
-				{
-					if (userTable.Rows[0]["PLANFLAG"].ToString() == "0")
-					{
-						//等于0为低级权限,需要判断数量,等于1为高级权限,无需控制变更产品
-						//先查询该产品的所在工序,是否是成瓷库出、包装打印工序
-						sql = @"select ProcedureID from tp_pm_inproduction where barcode=:barcode";
-						object proid = oracleTrConn.GetSqlResultToObj(sql, new OracleParameter[]{
-							new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input)
-						});
-						int procedureid = Convert.ToInt32(proid);
-						//符合条件的工序,进一步判断
-						if (procedureid > 0 && (procedureid == 106 || procedureid == 107 || procedureid == 78 || procedureid == 126 || procedureid == 152))
-						{
-							//再查询该产品需要变更的商标有没有计划数量 ,查出来则为有
-							sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
+                #region 根据生产计划,判断商标数量
+                //根据生控计划 固定工序,用户是否拥有高级权限,判断商标切换的剩余数量是否满足条件等 20240418 add by qq
+                sql = @"SELECT PLANFLAG FROM TP_MST_User WHERE usercode = :usercode";
+                //end
+
+                DataTable userTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                        new OracleParameter(":usercode",OracleDbType.Varchar2, sUserInfo.UserCode,ParameterDirection.Input)
+                    });
+                if (userTable != null && userTable.Rows.Count > 0)
+                {
+                    if (userTable.Rows[0]["PLANFLAG"].ToString() == "0")
+                    {
+                        //等于0为低级权限,需要判断数量,等于1为高级权限,无需控制变更产品
+                        //先查询该产品的所在工序,是否是成瓷库出、包装打印工序
+                        sql = @"select ProcedureID from tp_pm_inproduction where barcode=:barcode";
+                        object proid = oracleTrConn.GetSqlResultToObj(sql, new OracleParameter[]{
+                            new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input)
+                        });
+                        int procedureid = Convert.ToInt32(proid);
+                        //符合条件的工序,进一步判断
+                        if (procedureid > 0 && (procedureid == 106 || procedureid == 107 || procedureid == 78 || procedureid == 126 || procedureid == 152))
+                        {
+                            //再查询该产品需要变更的商标有没有计划数量 ,查出来则为有
+                            sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
                                      FROM TP_PM_PRODUCTION_PLAN PP
                                      LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PP.GOODSID = GDD.GOODSID 
                                      WHERE GDD.BARCODE = :BARCODE
@@ -19386,11 +19388,11 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                      AND PP.BEGINTIME <= SYSDATE
                                      AND PP.ENDTIME > SYSDATE
                                      AND PP.CONTROLRANGE = 2 ";
-							DataTable planTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-								new OracleParameter(":BARCODE",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
-								new OracleParameter(":LOGOID",OracleDbType.Varchar2, logoid,ParameterDirection.Input),
+                            DataTable planTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                                new OracleParameter(":BARCODE",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
+                                new OracleParameter(":LOGOID",OracleDbType.Varchar2, logoid,ParameterDirection.Input),
 
-							});
+                            });
                             //有计划,判断数量
                             if (planTable != null && planTable.Rows.Count > 0)
                             {
@@ -19464,21 +19466,21 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                 });
                                 if (quantityTable != null && quantityTable.Rows.Count > 0)
                                 {
-									if (!string.IsNullOrWhiteSpace(quantityTable.Rows[0]["CHANGENUM"].ToString()))
-									{
+                                    if (!string.IsNullOrWhiteSpace(quantityTable.Rows[0]["CHANGENUM"].ToString()))
+                                    {
                                         //实际变换商标的数量大于计划的数量,不能再变
                                         if (Convert.ToDecimal(quantityTable.Rows[0]["CHANGENUM"]) >= Convert.ToDecimal(planTable.Rows[0]["quantity"]))
                                         {
                                             return -5;
                                         }
-                                    } 
+                                    }
                                 }
 
                             }
-							else
-							{
-								//这个品这个商标没有计划,查看这个品其他商标有没有计划,其他商标有计划,则控制不能变更这个商标 
-								sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
+                            else
+                            {
+                                //这个品这个商标没有计划,查看这个品其他商标有没有计划,其他商标有计划,则控制不能变更这个商标 
+                                sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
                                      FROM TP_PM_PRODUCTION_PLAN PP
                                      LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PP.GOODSID = GDD.GOODSID 
                                      WHERE GDD.BARCODE = :BARCODE 
@@ -19486,38 +19488,38 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                      AND PP.BEGINTIME <= SYSDATE
                                      AND PP.ENDTIME > SYSDATE
                                      AND PP.CONTROLRANGE = 2 ";
-								DataTable planTable1 = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-								new OracleParameter(":BARCODE",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
-								});
-								//其他商标有计划
-								if (planTable1 != null && planTable1.Rows.Count > 0)
-								{
-									return -6;
-								}
-
-							}
-						}
-					}
-				}
-				#endregion
-
-				#region 先查询sap数据 
-				//DataSet sapDataSet = new DataSet();
-
-				////查询变更的型号信息
-				//OracleParameter[] paras = new OracleParameter[]
-				//{
-				//    new OracleParameter("IN_BARCODE", OracleDbType.Varchar2, barcode, ParameterDirection.Input),
-				//    new OracleParameter("IN_GOODSID", OracleDbType.Int32, 0, ParameterDirection.Input),
-				//    new OracleParameter("IN_LOGOID", OracleDbType.Int32, logoid, ParameterDirection.Input),
-				//    new OracleParameter("OUT_RESULT", OracleDbType.RefCursor, null, ParameterDirection.Output),
-				//};
-				//sapDataSet = oracleTrConn.ExecStoredProcedure("PRO_SAP_HEGII_WORKDATA_BG_BIANGENG", paras);
-
-				#endregion
-
-				// 1.更新注浆明细
-				sql = @"update tp_pm_groutingdailydetail set logoid=:logoid,updateuserid=:updateuserid where barcode=:barcode";
+                                DataTable planTable1 = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                                new OracleParameter(":BARCODE",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
+                                });
+                                //其他商标有计划
+                                if (planTable1 != null && planTable1.Rows.Count > 0)
+                                {
+                                    return -6;
+                                }
+
+                            }
+                        }
+                    }
+                }
+                #endregion
+
+                #region 先查询sap数据 
+                //DataSet sapDataSet = new DataSet();
+
+                ////查询变更的型号信息
+                //OracleParameter[] paras = new OracleParameter[]
+                //{
+                //    new OracleParameter("IN_BARCODE", OracleDbType.Varchar2, barcode, ParameterDirection.Input),
+                //    new OracleParameter("IN_GOODSID", OracleDbType.Int32, 0, ParameterDirection.Input),
+                //    new OracleParameter("IN_LOGOID", OracleDbType.Int32, logoid, ParameterDirection.Input),
+                //    new OracleParameter("OUT_RESULT", OracleDbType.RefCursor, null, ParameterDirection.Output),
+                //};
+                //sapDataSet = oracleTrConn.ExecStoredProcedure("PRO_SAP_HEGII_WORKDATA_BG_BIANGENG", paras);
+
+                #endregion
+
+                // 1.更新注浆明细
+                sql = @"update tp_pm_groutingdailydetail set logoid=:logoid,updateuserid=:updateuserid where barcode=:barcode";
                 Paras = new OracleParameter[] {
                     new OracleParameter(":logoid",OracleDbType.Int32,
                         logoid,ParameterDirection.Input),
@@ -20370,9 +20372,9 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
         /// 商标变更后插入sap数据 
         /// </summary>
         /// <returns></returns>
-        public static int SaveLogoSAPData(string barcode, int newlogoid,string oldMatnr)
+        public static int SaveLogoSAPData(string barcode, int newlogoid, string oldMatnr)
         {
-            int returnRows = 0; 
+            int returnRows = 0;
             IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
@@ -20390,7 +20392,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                 sapDataSet = oracleTrConn.ExecStoredProcedure("PRO_SAP_HEGII_WORKDATA_BG_BIANGENG", paras);
 
                 #endregion
-                 
+
                 //变更型号成功后 SAP报工数据同步,一正一负
                 #region sap报工 
                 if (sapDataSet != null && sapDataSet.Tables.Count > 0 && sapDataSet.Tables[0].Rows.Count > 0 && !string.IsNullOrEmpty(oldMatnr))
@@ -29345,7 +29347,7 @@ updateuserid=:updateuserid where barcode=:barcode";
                     {
                         new OracleParameter(":BARCODE", OracleDbType.Varchar2, barcode, ParameterDirection.Input),
                     };
-                    oracleTrConn.ExecuteNonQuery(sqlUpdateGoodsLevel, parasUpdateGoodsLevel); 
+                    oracleTrConn.ExecuteNonQuery(sqlUpdateGoodsLevel, parasUpdateGoodsLevel);
                     #endregion
                 }
                 logoName = logoName_Temp;
@@ -29645,7 +29647,7 @@ updateuserid=:updateuserid where barcode=:barcode";
                         // 无效条件
                         errorMessage = "条码[" + barcode + "]:已回收过一次,不允许再次回收";
                     }
-                } 
+                }
                 #endregion
                 return errorMessage;
             }
@@ -29772,22 +29774,22 @@ updateuserid=:updateuserid where barcode=:barcode";
                     oldMatnr = dt.Rows[0]["materialcode"] + "";
                 }
 
-				#region 根据生产计划,判断商标数量
-				//根据生控计划 固定工序,用户是否拥有高级权限,判断商标切换的剩余数量是否满足条件等 20240418 add by qq
-				sql = @"SELECT PLANFLAG FROM TP_MST_User WHERE usercode = :usercode";
-				//end
+                #region 根据生产计划,判断商标数量
+                //根据生控计划 固定工序,用户是否拥有高级权限,判断商标切换的剩余数量是否满足条件等 20240418 add by qq
+                sql = @"SELECT PLANFLAG FROM TP_MST_User WHERE usercode = :usercode";
+                //end
 
-				DataTable userTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-						new OracleParameter(":usercode",OracleDbType.Varchar2, sUserInfo.UserCode,ParameterDirection.Input)
-					});
-				if (userTable != null && userTable.Rows.Count > 0)
-				{
-					if (userTable.Rows[0]["PLANFLAG"].ToString() == "0")
-					{
-						//等于0为低级权限,需要判断数量,等于1为高级权限,无需控制变更产品
+                DataTable userTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                        new OracleParameter(":usercode",OracleDbType.Varchar2, sUserInfo.UserCode,ParameterDirection.Input)
+                    });
+                if (userTable != null && userTable.Rows.Count > 0)
+                {
+                    if (userTable.Rows[0]["PLANFLAG"].ToString() == "0")
+                    {
+                        //等于0为低级权限,需要判断数量,等于1为高级权限,无需控制变更产品
 
-						//再查询该产品所有商标有没有计划数量 ,查出来则为有
-						sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
+                        //再查询该产品所有商标有没有计划数量 ,查出来则为有
+                        sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
                                      FROM TP_PM_PRODUCTION_PLAN PP
                                      LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PP.GOODSID = GDD.GOODSID 
                                      WHERE GDD.BARCODE = :BARCODE
@@ -29796,14 +29798,14 @@ updateuserid=:updateuserid where barcode=:barcode";
                                      AND PP.BEGINTIME <= SYSDATE
                                      AND PP.ENDTIME > SYSDATE
                                      AND PP.CONTROLRANGE = 1 ";
-						DataTable planTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-							new OracleParameter(":BARCODE",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
-							new OracleParameter(":LOGOID",OracleDbType.Varchar2, logoid,ParameterDirection.Input),
-						});
-						//有计划,判断数量
-						if (planTable != null && planTable.Rows.Count > 0)
-						{
-							sql = @"SELECT sum(changedata.CHANGENUM) CHANGENUM FROM (
+                        DataTable planTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                            new OracleParameter(":BARCODE",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
+                            new OracleParameter(":LOGOID",OracleDbType.Varchar2, logoid,ParameterDirection.Input),
+                        });
+                        //有计划,判断数量
+                        if (planTable != null && planTable.Rows.Count > 0)
+                        {
+                            sql = @"SELECT sum(changedata.CHANGENUM) CHANGENUM FROM (
                                                         --在装配环节变更数量
                                                         SELECT ip.goodsid,ip.logoid,COUNT(distinct l.barcode) CHANGENUM
                                                             FROM tp_pm_logochangedrecord l 
@@ -29857,12 +29859,12 @@ updateuserid=:updateuserid where barcode=:barcode";
                                                                     GROUP BY pd.goodsid,pd.logoid
                                     ) changedata
                                     WHERE changedata.logoid = :logoid   ";
-							DataTable quantityTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-									new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
-									new OracleParameter(":logoid",OracleDbType.Varchar2, logoid,ParameterDirection.Input),
-								});
-							if (quantityTable != null && quantityTable.Rows.Count > 0)
-							{
+                            DataTable quantityTable = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                                    new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
+                                    new OracleParameter(":logoid",OracleDbType.Varchar2, logoid,ParameterDirection.Input),
+                                });
+                            if (quantityTable != null && quantityTable.Rows.Count > 0)
+                            {
                                 if (!string.IsNullOrWhiteSpace(quantityTable.Rows[0]["CHANGENUM"].ToString()))
                                 {
                                     //实际变换商标的数量大于计划的数量,不能再变
@@ -29871,14 +29873,14 @@ updateuserid=:updateuserid where barcode=:barcode";
                                         return -5;
                                     }
                                 }
-								
-							}
-
-						}
-						else
-						{
-							//这个品这个商标没有计划,查看这个品其他商标有没有计划,其他商标有计划,则控制不能变更这个商标
-							sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
+
+                            }
+
+                        }
+                        else
+                        {
+                            //这个品这个商标没有计划,查看这个品其他商标有没有计划,其他商标有计划,则控制不能变更这个商标
+                            sql = @"SELECT PP.GOODSID,PP.LOGOID,PP.QUANTITY,PP.BEGINTIME,PP.ENDTIME 
                                      FROM TP_PM_PRODUCTION_PLAN PP
                                      LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PP.GOODSID = GDD.GOODSID 
                                      WHERE GDD.BARCODE = :BARCODE 
@@ -29886,37 +29888,37 @@ updateuserid=:updateuserid where barcode=:barcode";
                                      AND PP.BEGINTIME <= SYSDATE
                                      AND PP.ENDTIME > SYSDATE
                                      AND PP.CONTROLRANGE = 1";
-							DataTable planTable1 = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
-								new OracleParameter(":BARCODE",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
-								});
-							//其他商标有计划
-							if (planTable1 != null && planTable1.Rows.Count > 0)
-							{
-								return -6;
-							}
-
-						}
-					}
-				}
-				#endregion
-
-				#region 先查询sap数据 
-				//DataSet sapDataSet = new DataSet();
-
-				////查询变更的型号信息
-				//OracleParameter[] paras = new OracleParameter[]
-				//{
-				//    new OracleParameter("IN_BARCODE", OracleDbType.Varchar2, barcode, ParameterDirection.Input),
-				//    new OracleParameter("IN_GOODSID", OracleDbType.Int32, 0, ParameterDirection.Input),
-				//    new OracleParameter("IN_LOGOID", OracleDbType.Int32, logoid, ParameterDirection.Input),
-				//    new OracleParameter("OUT_RESULT", OracleDbType.RefCursor, null, ParameterDirection.Output),
-				//};
-				//sapDataSet = oracleTrConn.ExecStoredProcedure("PRO_SAP_HEGII_WORKDATA_BG_BIANGENG", paras);
-
-				#endregion
-
-				// 1.更新注浆明细
-				sql = @"update tp_pm_groutingdailydetail set logoid=:logoid,updateuserid=:updateuserid where barcode=:barcode";
+                            DataTable planTable1 = oracleTrConn.GetSqlResultToDt(sql, new OracleParameter[]{
+                                new OracleParameter(":BARCODE",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
+                                });
+                            //其他商标有计划
+                            if (planTable1 != null && planTable1.Rows.Count > 0)
+                            {
+                                return -6;
+                            }
+
+                        }
+                    }
+                }
+                #endregion
+
+                #region 先查询sap数据 
+                //DataSet sapDataSet = new DataSet();
+
+                ////查询变更的型号信息
+                //OracleParameter[] paras = new OracleParameter[]
+                //{
+                //    new OracleParameter("IN_BARCODE", OracleDbType.Varchar2, barcode, ParameterDirection.Input),
+                //    new OracleParameter("IN_GOODSID", OracleDbType.Int32, 0, ParameterDirection.Input),
+                //    new OracleParameter("IN_LOGOID", OracleDbType.Int32, logoid, ParameterDirection.Input),
+                //    new OracleParameter("OUT_RESULT", OracleDbType.RefCursor, null, ParameterDirection.Output),
+                //};
+                //sapDataSet = oracleTrConn.ExecStoredProcedure("PRO_SAP_HEGII_WORKDATA_BG_BIANGENG", paras);
+
+                #endregion
+
+                // 1.更新注浆明细
+                sql = @"update tp_pm_groutingdailydetail set logoid=:logoid,updateuserid=:updateuserid where barcode=:barcode";
                 Paras = new OracleParameter[]
                 {
                     new OracleParameter(":logoid",OracleDbType.Int32, logoid,ParameterDirection.Input),
@@ -30986,5 +30988,214 @@ updateuserid=:updateuserid where barcode=:barcode";
             //}
             return returnRows;
         }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="Lgort"></param>
+        /// <param name="sendoutgoodslogid"></param>
+        /// <param name="sUserInfo"></param>
+        /// <returns></returns>
+        public static DataSet GetSendOutGoodsLogs(string lgort, string sendoutgoodslogid, SUserInfo sUserInfo)
+        {
+
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            string mes = "";
+
+            var dt = SapApi.ZMM_WMS016("", null, lgort, out mes);
+
+
+            string sql = @"select   TP_PM_SENDOUTGOODSLOGDETAIL.* from TP_PM_SENDOUTGOODSLOGDETAIL INNER JOIN TP_PM_SENDOUTGOODSLOG on TP_PM_SENDOUTGOODSLOG.SENDOUTGOODSLOGID=TP_PM_SENDOUTGOODSLOGDETAIL.SENDOUTGOODSLOGID where TP_PM_SENDOUTGOODSLOGDETAIL.SENDOUTGOODSLOGID=:sendoutgoodslogid and TP_PM_SENDOUTGOODSLOG.WAREHOUSINGID= :Lgort";
+            var ds = oracleTrConn.GetSqlResultToDs(sql, new OracleParameter[]{
+                        new OracleParameter(":sendoutgoodslogid",OracleDbType.Varchar2, sendoutgoodslogid,ParameterDirection.Input),
+                        new OracleParameter(":Lgort",OracleDbType.Varchar2, lgort,ParameterDirection.Input)
+                    });
+            ds.Tables.Add(dt);
+            return ds;
+        }
+        public class SnedSendOutGoods
+        {
+            public string MESNO;
+            public string MESLINENO;
+            public string ZID;
+            public string BUDAT;
+            public string HEADER_TXT;
+            public string BWART;
+            public string SOBKZ;
+            public string MOVE_REAS;
+            public string WERKS;
+            public string MATNR;
+            public int PSMNG;
+            public string MEINS;
+            public string LGORT;
+            public string CHARG;
+            public string KDAUF;
+            public int KDPOS;
+            public string MOVE_MAT;
+            public string MOVE_STLOC;
+            public string MOVE_BATCH;
+            public string VAL_SALES_ORD;
+            public int VAL_S_ORD_ITEM;
+            public string CARID;
+        }
+        public static string SaveSendOutGoodsLogs(Dictionary<string, object> data, SUserInfo sUserInfo,out string MSG)
+        {
+            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();
+            sendDetail.ForEach(m => where.Append("'" + m.FINISHEDLOADBATCHNO + "',"));
+            string SENDOUTCODE = send.SENDOUTCODE;
+            string lgotr = send.WAREHOUSINGID;
+            string WAREHOUSINGID = "";
+            string usercode = send.USERCODE;
+            bool isCrete = false;
+            string WERKS = "5000";
+            string LGORT = "1350";
+            int resultNumber = 0;
+            MSG = "";
+            OracleParameter[] parmetersSql = new OracleParameter[]
+                {
+                };
+
+
+            if (SENDOUTCODE == null || string.IsNullOrEmpty(SENDOUTCODE))
+            {
+                isCrete = true;
+            }
+
+            List<string> matnr = sendDetail.Select(m => m.MATERIALCODE).Distinct().ToList();
+            List<SnedSendOutGoods> SnedSendOutGoodsList = new List<SnedSendOutGoods>();
+            //判断发货单号添加或者编辑 删与不删明细 生不生成发货单号 
+            if (sendDetail.Count==0)//明细有没有数据
+            {
+
+                //生成发货单号
+                if (isCrete)
+                {
+                    SENDOUTCODE = DateTime.Now.ToString("yyyyMMddHHmmsss") + usercode;
+                }
+
+                IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+                var isSend = oracleTrConn.GetSqlResultToDt("select FINISHEDLOADBATCHNO from TP_PM_FINISHEDPRODUCT where SENDOUTFLAG=1 and FINISHEDLOADBATCHNO in (" + where.ToString().TrimEnd(',') + ")", parmetersSql);
+                if (isSend!=null && isSend.Rows.Count > 0)
+                {
+                    MSG = "存在已发货产品";
+                    string res = "";
+                    foreach (DataRow dr in isSend.Rows)
+                    {
+                        res += "'" + dr["FINISHEDLOADBATCHNO"] + "',";
+                    }
+                    return res.TrimEnd(',');
+                }
+                //调用sap筛选库存不足变黄 物料编码够不够 生成sap同步数据
+                string message = "";
+                var dt = SapApi.ZMM_WMS016(WERKS, matnr, LGORT, out message);
+                //dt = "批号 ASC";
+                List<string> countList = new List<string>();
+                for (int i = 0; i < matnr.Count; i++)
+                {
+                    var rows = dt.Select("物料='" + matnr[i] + "'");
+                    var sapCount = rows.Sum(m => Convert.ToDecimal(m["库存数"]));
+                    var apps = sendDetail.Where(m => m.MATERIALCODE == matnr[i]);
+                    var appCount = apps.Sum(m => Convert.ToDecimal(m.BINDINGCount));
+                    if (appCount > sapCount)
+                    {
+                        countList.Add(matnr[i]);
+                    }
+                    else//添加同步信息
+                    {
+
+                        for (int j = 0; j < rows.Length; j++)
+                        {
+                            decimal tmp = 0;
+                            if (appCount >= Convert.ToDecimal(rows[j]["库存数"]))
+                            {
+                                tmp = Convert.ToDecimal(rows[j]["库存数"]);
+                            }
+                            else
+                            {
+                                tmp = appCount;
+                            }
+                            appCount = appCount - Convert.ToDecimal(rows[j]["库存数"]);
+                            SnedSendOutGoods ss = new SnedSendOutGoods()
+                            {
+                                LGORT = rows[j]["物料"].ToString(),
+                                MATNR = rows[j]["物料"].ToString(),
+                                CHARG = rows[j]["批号"].ToString(),
+                                CARID = rows[j]["车辆"].ToString(),
+                            };
+                            SnedSendOutGoodsList.Add(ss);
+                        }
+
+                    }
+                }
+
+                if (countList.Count > 0)//返回哪些库存不够(包装批次)
+                {
+                    MSG = "库存不足";
+                    return string.Join(",", countList).TrimEnd(',');
+                }
+                //成功
+                //同步sap(SnedSendOutGoodsList) 修改产成品sendflag 返回成功失败 
+                var result = SapApi.ZMM_WMS016("", null, lgotr, out message);
+                var SYNCSTATUS = 1;
+                try
+                {
+                    oracleTrConn.Connect();
+                    string sql = "";
+                    if (isCrete)
+                    {
+                        sql = "INSERT INTO TP_PM_SENDOUTGOODSLOG( SENDOUTCODE, USERID, USERCODE, WAREHOUSINGID, WAREHOUSINGNAME, RECEIVEID, RECEIVENAME, CARPLATEID, CARPLATENAME, ACCOUNTDATE, DELIVERDATE, SYNCSTATUS, SYNCTIME,     ACCOUNTID, VALUEFLAG, CREATETIME, CREATEUSERID , MBLNR) select '" + SENDOUTCODE + "', (select  USERID from  TP_MST_USER where  USERCODE= '" + usercode + "'), '" + usercode + "', '" + WAREHOUSINGID + "', (select DICTIONARYVALUE  from  TP_MST_DATADICTIONARY where DICTIONARYid = '" + WAREHOUSINGID + "'), '" + send.RECEIVEID + "', (select DICTIONARYVALUE from  TP_MST_DATADICTIONARY where DICTIONARYid= '" + send.RECEIVEID + "'), '" + send.CARPLATEID + "', (select DICTIONARYVALUE  from  TP_MST_DATADICTIONARY where  DICTIONARYid= '" + send.CARPLATEID + "'), '" + send.ACCOUNTDATE + "', '" + send.DELIVERDATE + "', '" + SYNCSTATUS + "', SYSDATE,  '1','1', SYSDATE,(select  USERID from  TP_MST_USER where  USERCODE= '" + usercode + "'),NULL from dual;";
+                    }
+                    else
+                    {
+                        sql = "UPDATE TP_PM_SENDOUTGOODSLOG SET WAREHOUSINGID = '" + WAREHOUSINGID + "', WAREHOUSINGNAME = (select DICTIONARYVALUE  from  TP_MST_DATADICTIONARY where DICTIONARYid = '" + WAREHOUSINGID + "'), RECEIVEID = '" + send.RECEIVEID + "', RECEIVENAME = (select DICTIONARYVALUE from  TP_MST_DATADICTIONARY where DICTIONARYid= '" + send.RECEIVEID + "'), CARPLATEID = '" + send.CARPLATEID + "', CARPLATENAME = (select DICTIONARYVALUE from  TP_MST_DATADICTIONARY where DICTIONARYid= '" + send.CARPLATEID + "'), ACCOUNTDATE = '" + send.ACCOUNTDATE + "', DELIVERDATE = '" + send.DELIVERDATE + "', SYNCSTATUS = '" + SYNCSTATUS + "', UPDATETIME =SYSDATE, UPDATEUSERID = (select  USERID from  TP_MST_USER where  USERCODE= '" + usercode + "'),MBLNR = NULL WHERE SENDOUTCODE = '" + SENDOUTCODE + "';";
+                    }
+                    resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                    if (!isCrete)
+                    {
+                        sql = "UPDATE TP_PM_SENDOUTGOODSLOGDETAIL set valueflag=0 where SENDOUTCODE='" + SENDOUTCODE + "';";
+                        resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                    }
+
+                    foreach (var item in sendDetail)
+                    {
+                        sql = "INSERT INTO TP_PM_SENDOUTGOODSLOGDETAIL( SENDOUTGOODSLOGID, FINISHEDLOADBATCHNO, GOODSCODE, MATERIALCODE, MATERIALREMARK, BINDINGCOUNT, BANMA, ACCOUNTID, VALUEFLAG, CREATETIME, CREATEUSERID, UPDATETIME, UPDATEUSERID) VALUES ((select SENDOUTGOODSLOGID from TP_PM_SENDOUTGOODSLOG where SENDOUTCODE='" + SENDOUTCODE + "'), '" + item.FINISHEDLOADBATCHNO + "', '" + item.GOODSCODE + "', '" + item.MATERIALCODE + "', '" + item.MATERIALREMARK + "', '" + item.BINDINGCount + "', '" + item.Banma + "', 1, 1, SYSDATE, (select  USERID from  TP_MST_USER where  USERCODE= '" + usercode + "'));";
+                        resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                    }
+                    //修改产成品
+                    sql = "update TP_PM_FINISHEDPRODUCT set SENDOUTFLAG=1 where FINISHEDLOADBATCHNO in (" + where.ToString().TrimEnd(',') + ")";
+                    resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                    // 没有错误 提交事务
+                    if (resultNumber != 0)
+                    {
+                        oracleTrConn.Rollback();
+                    }
+                }
+                catch (Exception ex)
+                {
+                    if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
+                    {
+                        oracleTrConn.Rollback();
+                        oracleTrConn.Disconnect();
+                    }
+                    throw ex;
+                }
+                finally
+                {
+                    if (oracleTrConn.ConnState == ConnectionState.Open)
+                    {
+                        oracleTrConn.Disconnect();
+                    }
+                }
+
+
+                //  插入发货表明细表删除明细 添加新的明细 
+
+            }
+            return "";
+        }
+
     }
 }

+ 49 - 0
WCF.Service/WCF.DataModels/PMModule/SendOutGoodsDetailEntity.cs

@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Runtime.Serialization;
+
+namespace Dongke.IBOSS.PRD.WCF.DataModels.PMModule
+{
+    [DataContract]
+    [KnownType(typeof(System.DBNull))]
+    public class SendOutGoodsDetailEntity
+	{
+		/// <summary>
+		/// 板码
+		/// </summary>
+		[DataMember]
+		public string Banma { get; set; }
+
+		/// <summary>
+		/// 产品类型
+		/// </summary>
+		[DataMember]
+		public string GOODSCODE { get; set; }
+
+		/// <summary>
+		/// 物料编码
+		/// </summary>
+		[DataMember]
+		public string MATERIALCODE { get; set; }
+
+		/// <summary>
+		/// 物料名称
+		/// </summary>
+		[DataMember]
+		public string MATERIALREMARK { get; set; }
+
+		/// <summary>
+		/// 绑板数量
+		/// </summary>
+		[DataMember]
+		public string BINDINGCount { get; set; }
+
+		/// <summary>
+		/// 包装装板批次
+		/// </summary>
+		[DataMember]
+		public string FINISHEDLOADBATCHNO { get; set; }
+	}
+}

+ 55 - 0
WCF.Service/WCF.DataModels/PMModule/SendOutGoodsEntity.cs

@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+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; }
+		 
+	}
+}

+ 2 - 0
WCF.Service/WCF.DataModels/WCF.DataModels.csproj

@@ -108,6 +108,8 @@
     <Compile Include="PMModule\SemiCheckEntity.cs" />
     <Compile Include="PMModule\SemiReworkRPSEntity.cs" />
     <Compile Include="PMModule\SemiCheckResponsibleEntity.cs" />
+    <Compile Include="PMModule\SendOutGoodsDetailEntity.cs" />
+    <Compile Include="PMModule\SendOutGoodsEntity.cs" />
     <Compile Include="SearchEntity\PC\FPC0101_SE.cs" />
     <Compile Include="SearchEntity\PC\FPC0402_SE.cs" />
     <Compile Include="SearchEntity\PC\FPC0601_SE.cs" />

+ 57 - 24
WCF.Service/WCF.Services/PDAModuleService.cs

@@ -516,13 +516,13 @@ namespace Dongke.IBOSS.PRD.WCF.Services
 
                 if (barcodeDataSet != null && barcodeDataSet.Tables.Count > Constant.INT_IS_ZERO)
                 {
-					if (isNewCheck)
-					{
+                    if (isNewCheck)
+                    {
                         actionResult.Result = JsonHelper.ToJson(barcodeDataSet);
 
                     }
-					else
-					{
+                    else
+                    {
                         actionResult.Result = JsonHelper.ToJson(barcodeDataSet.Tables[0]);
 
                     }
@@ -7562,7 +7562,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
         /// </summary>
         /// <param name="sUserInfo"></param>
         /// <returns></returns>
-        public ActionResult GetPLCParameter(string accountCode, string userCode, string userPassword, string sessionKey,string PlcName)
+        public ActionResult GetPLCParameter(string accountCode, string userCode, string userPassword, string sessionKey, string PlcName)
         {
             ActionResult actionResult = new ActionResult();
             try
@@ -7640,7 +7640,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,string GROUTINGLINECODE, string GOODSMODEL, string GOODSTYPENAME, string GOODSSPECIFICATION)
+        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
@@ -7655,7 +7655,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 }
 
                 ServiceResultEntity resultEntity = ServiceInvoker.Invoke<ServiceResultEntity>(this,
-				   () => SystemModuleLogic.AddPlcGood(Plcid, BarCode, GROUTINGLINECODE, GOODSMODEL, GOODSTYPENAME, GOODSSPECIFICATION));
+                   () => SystemModuleLogic.AddPlcGood(Plcid, BarCode, GROUTINGLINECODE, GOODSMODEL, GOODSTYPENAME, GOODSSPECIFICATION));
 
                 actionResult.Result = JsonHelper.ToJson(resultEntity);
                 actionResult.Status = (int)Constant.PDAResult.Success;
@@ -10725,7 +10725,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 #endregion
 
                 #region 产成品交接
-                if (module == "FinishedProduct")
+                if (module == "SendOutGoods")
                 {
                     #region 产成品交接、整板撤销 by fubin 20200824
                     // 交接验证
@@ -10902,6 +10902,39 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 #endregion
 
                 #region 产成品装车
+
+                if (module == "SendOutGoods")
+                {
+                    if (action == "GetSendOutGoodsLogs")
+                    {
+                        string Lgort = data["Lgort"].ToString();
+                        string sendoutgoodslogid = data["sendoutgoodslogid"].ToString();
+
+                        var result = PMModuleLogicDAL.GetSendOutGoodsLogs(Lgort, sendoutgoodslogid, sUserInfo);
+                        actionResult.Result = JsonHelper.ToJson(result);
+                        actionResult.Status = (int)Constant.PDAResult.Success;
+                        return actionResult;
+                    }
+                    if (action == "CheckSendOutBarcode")
+                    {
+                        var result = PMModuleLogic.CHeckFinishOutlabelCode(data["banma"].ToString(), sUserInfo);
+                        actionResult.Result = JsonHelper.ToJson(result);
+                        actionResult.Status = (int)Constant.PDAResult.Success;
+                        return actionResult;
+                    }
+
+                    if (action == "SaveSendOutGoods")
+                    {
+                        string message = "";
+                        var result = PMModuleLogicDAL.SaveSendOutGoodsLogs(data, sUserInfo,out message);
+                        actionResult.Result = JsonHelper.ToJson(result);
+                        actionResult.Message = message;
+                        actionResult.Status = (int)Constant.PDAResult.Success;
+                        return actionResult;
+                    }
+
+                }
+
                 /*
                 if (module == "FinishedLoading")
                 {
@@ -12125,7 +12158,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
 
                     //查询用户
                     if (action == "CheckProcedureUser")
-                    { 
+                    {
                         string userCode1 = data["UserCode"] + "";
 
                         ServiceResultEntity sre = Service.PCModuleService.FinishedCheckLogic.CheckProcedureUser(userCode1, sUserInfo);
@@ -12134,7 +12167,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                         if (Convert.ToInt32(sre.Result) < 0)
                         {
                             actionResult.Status = (int)Constant.PDAResult.Fail;
-                            actionResult.Result = sre.OtherStatus; 
+                            actionResult.Result = sre.OtherStatus;
                             actionResult.Message = sre.Message;
                         }
                         else
@@ -12244,9 +12277,9 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                     //扫码查询
                     if (action == "RecyclingAddBarcode")
                     {
-                        string barcode = data["barcode"] + ""; 
+                        string barcode = data["barcode"] + "";
                         string type = data["type"] + "";
-                         
+
                         ServiceResultEntity sre = ServiceInvoker.Invoke<ServiceResultEntity>(this,
                                 () => PMModuleLogic.RecyclingAddBarcode(barcode, type, sUserInfo));
 
@@ -12272,11 +12305,11 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                     //扫码查询
                     if (action == "CheckLuoci")
                     {
-                        string barcode = data["barcode"] + ""; 
+                        string barcode = data["barcode"] + "";
                         int procedureID = 159;
-                         
+
                         ServiceResultEntity sre = ServiceInvoker.Invoke<ServiceResultEntity>(this,
-                                () => PMModuleLogic.CheckLuoci(procedureID,barcode, sUserInfo));
+                                () => PMModuleLogic.CheckLuoci(procedureID, barcode, sUserInfo));
 
                         if (sre.OtherStatus < 0)
                         {
@@ -12292,8 +12325,8 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                         return actionResult;
                     }
                     //撤销保存
-					else if (action == "AddChancelLuoci")
-					{
+                    else if (action == "AddChancelLuoci")
+                    {
                         DataTable detailTable = new DataTable();
 
                         if (data["detailTable"] != null)
@@ -12366,7 +12399,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 ServiceResultEntity resultEntity = ServiceInvoker.Invoke<ServiceResultEntity>(this,
                    () => PDAModuleLogic.GetDetails(ementy));
 
-                
+
                 if (resultEntity.OtherStatus == -1)
                 {
                     actionResult.Status = (int)Constant.PDAResult.Fail;
@@ -12400,12 +12433,12 @@ namespace Dongke.IBOSS.PRD.WCF.Services
         {
             ActionResult actionResult = new ActionResult();
             try
-            { 
+            {
                 ServiceResultEntity resultEntity = ServiceInvoker.Invoke<ServiceResultEntity>(this,
                    () => PDAModuleLogic.GetDATA(type));
 
                 actionResult.Result = JsonHelper.ToJson(resultEntity.Data.Tables[0]);
-                if (resultEntity.Data.Tables[0].Rows.Count==0)
+                if (resultEntity.Data.Tables[0].Rows.Count == 0)
                 {
                     actionResult.Status = (int)Constant.PDAResult.Fail;
                 }
@@ -12452,9 +12485,9 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 }
                 ServiceResultEntity resultEntity = ServiceInvoker.Invoke<ServiceResultEntity>(this,
                    () => PDAModuleLogic.DestroyInvoice(ementy, userCode, userPassword));
-                
-                    actionResult.Result = JsonHelper.ToJson(resultEntity.Result);
-                    actionResult.Status = (int)Constant.PDAResult.Success; 
+
+                actionResult.Result = JsonHelper.ToJson(resultEntity.Result);
+                actionResult.Status = (int)Constant.PDAResult.Success;
                 actionResult.Message = resultEntity.Message;
             }
             catch (Exception ex)
@@ -12501,7 +12534,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 else
                 {
                     actionResult.Result = JsonHelper.ToJson(resultEntity.Result);
-                    actionResult.Status = (int)Constant.PDAResult.Success; 
+                    actionResult.Status = (int)Constant.PDAResult.Success;
                 }
                 actionResult.Message = resultEntity.Message;
             }