feiyue 3 lat temu
rodzic
commit
a1cd5773ee
1 zmienionych plików z 31 dodań i 32 usunięć
  1. 31 32
      DK.Service/PDAModuleLogic/PDAModuleLogicEntrucking.cs

+ 31 - 32
DK.Service/PDAModuleLogic/PDAModuleLogicEntrucking.cs

@@ -364,7 +364,7 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
 				{
 					sqlStr = $@"
                         SELECT
-	                        TPE.STATUS
+	                        TPE.STATUS,TPE.BATCH
                         FROM TP_PM_ENTRUCKING TPE
                         WHERE TPE.VALUEFLAG = '1'
                             AND TPE.ENTRUCKINGCODE = '{entruckingCode}'
@@ -384,7 +384,8 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
 							TT.BARCODE,
 							TT.GOODSCODE,
 							TT.USERCODE,
-							TT.PROCEDURENAME 
+							TT.PROCEDURENAME,
+							TT.PROCEDUREID 
 						FROM
 							(
 							SELECT
@@ -393,7 +394,7 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
 								TD.BARCODE,
 								G.GOODSCODE,
 								DECODE(U.USERCODE,NULL,GDD.USERCODE,U.USERCODE) USERCODE,
-								DECODE(P.PROCEDURENAME,NULL,'成型',P.PROCEDURENAME) PROCEDURENAME,
+								DECODE(P.PROCEDURENAME,NULL,'成型',P.PROCEDURENAME) PROCEDURENAME,P.PROCEDUREID,
 								TD.DOFUNCTION 
 							FROM
 								TP_PM_ENTRUCKINGDETAIL TD
@@ -572,28 +573,22 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
 				conn.Connect();
 				if (sre.Status == Constant.ServiceResultStatus.Success)
 				{
-					//获取最大批次
-					sqlStr = $@"SELECT
-	                                TPE.BATCH,TPE.STATUS
-                                FROM TP_PM_ENTRUCKING TPE
-                                WHERE TPE.VALUEFLAG = '1'
-                                    AND TPE.ENTRUCKINGCODE = '{entruckingCode}'";
-					DataTable dt = conn.GetSqlResultToDt(sqlStr);
-					if (dt.Rows.Count == 0)
-					{
-						sre.Status = Constant.ServiceResultStatus.NoSearchResults;
-						sre.Message = "无效装具条码!";
-					}
-					else if (dt.Rows[0]["STATUS"].ToString().Equals("1"))
+					ServiceResultEntity srOld = GetTruckBarCodes(entruckingCode,sUser);
+					if (srOld.Status == Constant.ServiceResultStatus.Success)
 					{
-						int batch = Convert.ToInt32(dt.Rows[0]["BATCH"]);
+						int batch = Convert.ToInt32(srOld.Data.Tables[0].Rows[0]["BATCH"]);
 						//获取产品条码当前工序
 						sqlStr = $@"
                                 select PROCEDUREID from TP_PM_INPRODUCTION where barcode = '{barCode}'
                             ";
 						string procedureid = conn.GetSqlResultToStr(sqlStr);
-						//插入装具明细
-						sqlStr = $@"
+
+						//必须验证产品在同一工序,才允许绑定
+						string oldprocedureid = srOld.Data.Tables[1].Rows[0]["PROCEDUREID"] + "";
+						if (procedureid.Equals(oldprocedureid))
+						{
+							//插入装具明细
+							sqlStr = $@"
                             INSERT INTO TP_PM_EntruckingDetail ( 
                                     ENTRUCKINGCODE,
                                     BARCODE, 
@@ -622,22 +617,26 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
 		                            '{sUser.UserID}'
 	                          FROM TP_MST_USER WHERE USERCODE = '{currentUserCode}'
                             ";
-						execute = conn.ExecuteNonQuery(sqlStr);
-						if (execute > 0)
-						{
-							sre.Status = Constant.ServiceResultStatus.Success;
-							sre.Message = "操作完成!";
+							execute = conn.ExecuteNonQuery(sqlStr);
+							if (execute > 0)
+							{
+								sre.Status = Constant.ServiceResultStatus.Success;
+								sre.Message = "操作完成!";
+							}
+							else
+							{
+								sre.Status = Constant.ServiceResultStatus.NoModifyData;
+								sre.Message = "操作失败,没有更新任何数据!";
+							}
 						}
-						else
-						{
-							sre.Status = Constant.ServiceResultStatus.NoModifyData;
-							sre.Message = "操作失败,没有更新任何数据!";
+						else {
+							sre.Status = Constant.ServiceResultStatus.Other;
+							sre.Message = "与装具上产品不在同一工序,不允许绑定!";
 						}
 					}
-					else
-					{
-						sre.Status = Constant.ServiceResultStatus.NoSearchResults;
-						sre.Message = "装具未使用不可增补!";
+					else {
+						sre.Status = srOld.Status;
+						sre.Message = srOld.Message;
 					}
 					conn.Commit();
 				}