feiyue пре 3 година
родитељ
комит
1a5e29a24f

+ 401 - 9
DK.Service/PDAModuleLogic/PDAModuleLogicEntrucking.cs

@@ -214,7 +214,7 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
         /// <param name="currentUserCode"></param>
         /// <param name="sUser"></param>
         /// <returns></returns>
-        public static ServiceResultEntity AddTruckBarCode(string[] barcodes, string entruckingCode, string currentUserCode, SUserInfo sUser)
+        public static ServiceResultEntity AddTruckBarCodes(string[] barcodes, string entruckingCode, string currentUserCode, SUserInfo sUser)
         {
             ServiceResultEntity sre = new ServiceResultEntity();
             sre.Data = new DataSet();
@@ -279,26 +279,313 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
 		                            '{sUser.UserID}',
 		                            '{sUser.UserID}'
 	                          FROM TP_MST_USER WHERE USERCODE = '{currentUserCode}'
-                        ";
+                            ";
+                            execute = conn.ExecuteNonQuery(sqlStr);
+                            if (execute > 0)
+                            {
+                                sre.Status = Constant.ServiceResultStatus.Success;
+                                sre.Message = "操作完成!";
+                            }
+                            else
+                            {
+                                sre.Status = Constant.ServiceResultStatus.NoModifyData;
+                                sre.Message = "操作失败,没有更新任何数据!";
+                            }
                         }
 
-                        execute = conn.ExecuteNonQuery(sqlStr);
                     }
                     else {
                         sre.Status = Constant.ServiceResultStatus.NoSearchResults;
                         sre.Message = "装具不可用!";
                     }
+                    conn.Commit();
+                }
+            }
+            catch (Exception ex)
+            {
+                conn.Rollback();
+                throw ex;
+            }
+            finally
+            {
+                conn.Disconnect();
+            }
+            //返回数据
+            return sre;
+        }
 
-                    
-                    if (execute > 0)
+        /// <summary>
+        /// 获取装具上的产品信息
+        /// </summary>
+        /// <param name="entruckingCode"></param>
+        /// <param name="sUser"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity GetTruckBarCodes(string entruckingCode, SUserInfo sUser)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            sre.Data = new DataSet();
+            sre.Status = Constant.ServiceResultStatus.Success;
+            IDBTransaction conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            string sqlStr = "";
+            try
+            {
+                conn.Connect();
+                if (sre.Status == Constant.ServiceResultStatus.Success)
+                {
+                    sqlStr = $@"
+                        SELECT
+	                        TPE.STATUS
+                        FROM TP_PM_ENTRUCKING TPE
+                        WHERE TPE.VALUEFLAG = '1'
+                            AND TPE.ENTRUCKINGCODE = '{entruckingCode}'
+                    ";
+                    DataTable dt = conn.GetSqlResultToDt(sqlStr);
+                    sre.Data.Tables.Add(dt);
+                    if (dt.Rows.Count == 0)
                     {
-                        sre.Status = Constant.ServiceResultStatus.Success;
-                        sre.Message = "操作完成!";
+                        sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                        sre.Message = "无效装具条码!";
+                    }
+                    else if (dt.Rows[0]["STATUS"].Equals("1"))
+                    {
+                        sqlStr = $@"
+                        SELECT
+	                        TD.BARCODE,G.GOODSCODE,P.PROCEDURENAME,U.USERCODE
+                        FROM
+	                        TP_PM_ENTRUCKINGDETAIL TD
+	                        INNER JOIN TP_PM_ENTRUCKING T ON T.ENTRUCKINGCODE = TD.ENTRUCKINGCODE AND T.BATCH = TD.BATCH
+	                        INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = TD.BARCODE
+	                        INNER JOIN TP_PM_INPRODUCTION IP ON IP.BARCODE = TD.BARCODE
+	                        INNER JOIN TP_PC_PROCEDURE P ON P.PROCEDUREID = IP.PROCEDUREID
+	                        INNER JOIN TP_MST_USER U ON U.USERID = IP.USERID
+	                        INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
+                        WHERE
+	                        TD.ENTRUCKINGCODE = '{entruckingCode}' 
+	                        AND T.STATUS = '1'
+                    ";
+                        dt = conn.GetSqlResultToDt(sqlStr);
+                        sre.Data.Tables.Add(dt);
+                        if (dt.Rows.Count == 0)
+                        {
+                            sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                            sre.Message = "装具上无产品!";
+                        }
+                        else
+                        {
+                            sre.Status = Constant.ServiceResultStatus.Success;
+                            sre.Message = "操作成功!";
+                        }
+                    }
+                    else {
+                        sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                        sre.Message = "装具未使用";
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                conn.Disconnect();
+            }
+            //返回数据
+            return sre;
+        }
+
+        /// <summary>
+        /// 解绑
+        /// </summary>
+        /// <param name="entruckingCode"></param>
+        /// <param name="sUser"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity UnbindTruckBarCodes(string entruckingCode,string currentUserCode, SUserInfo sUser)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            sre.Data = new DataSet();
+            sre.Status = Constant.ServiceResultStatus.Success;
+            IDBTransaction conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            string sqlStr = "";
+            try
+            {
+                conn.Connect();
+                if (sre.Status == Constant.ServiceResultStatus.Success)
+                {
+                    sqlStr = $@"
+                        SELECT
+	                        TPE.STATUS
+                        FROM TP_PM_ENTRUCKING TPE
+                        WHERE TPE.VALUEFLAG = '1'
+                            AND TPE.ENTRUCKINGCODE = '{entruckingCode}'
+                    ";
+                    DataTable dt = conn.GetSqlResultToDt(sqlStr);
+                    sre.Data.Tables.Add(dt);
+                    if (dt.Rows.Count == 0)
+                    {
+                        sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                        sre.Message = "无效装具条码!";
+                    }
+                    else if (dt.Rows[0]["STATUS"].Equals("1"))
+                    {
+                        //插入装具明细
+                        sqlStr = $@"
+                            INSERT INTO TP_PM_EntruckingDetail ( 
+                                    ENTRUCKINGCODE,
+                                    BARCODE, 
+                                    BATCH, 
+                                    DOFUNCTION, 
+                                    PROCEDUREID,
+                                    REMARKS, 
+                                    ACCOUNTID, 
+                                    USERID, 
+                                    USERCODE, 
+                                    VALUEFLAG, 
+                                    CREATEUSERID, 
+                                    UPDATEUSERID )
+                                        SELECT
+	                                    '{entruckingCode}',
+                                        TD.BARCODE,
+                                        TD.BATCH,
+                                        2,
+                                        IP.PROCEDUREID,
+                                        '',
+                                        {sUser.AccountID},
+                                        CU.USERID,
+                                        '{currentUserCode}',
+                                        '1',
+                                        {sUser.UserID},
+                                        {sUser.UserID}
+                                    FROM
+	                                    TP_PM_ENTRUCKINGDETAIL TD
+	                                    INNER JOIN TP_PM_ENTRUCKING T ON T.ENTRUCKINGCODE = TD.ENTRUCKINGCODE AND T.BATCH = TD.BATCH 
+	                                    INNER JOIN TP_PM_INPRODUCTION IP ON IP.BARCODE = TD.BARCODE
+	                                    INNER JOIN TP_MST_USER CU ON CU.USERCODE = '{currentUserCode}' AND CU.VALUEFLAG = '1'
+                                    WHERE
+	                                    TD.ENTRUCKINGCODE = '{entruckingCode}' 
+	                                    AND T.STATUS = '1'
+                            ";
+                        int execute = conn.ExecuteNonQuery(sqlStr);
+                        dt = conn.GetSqlResultToDt(sqlStr);
+                        sre.Data.Tables.Add(dt);
+                        if (dt.Rows.Count == 0)
+                        {
+                            sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                            sre.Message = "装具上无产品!";
+                        }
+                        else
+                        {
+                            sre.Status = Constant.ServiceResultStatus.Success;
+                            sre.Message = "操作成功!";
+                        }
+                    }
+                    else
+                    {
+                        sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                        sre.Message = "装具未使用";
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                conn.Disconnect();
+            }
+            //返回数据
+            return sre;
+        }
+
+        /// <summary>
+        /// 增补
+        /// </summary>
+        /// <param name="barcodes"></param>
+        /// <param name="entruckingCode"></param>
+        /// <param name="currentUserCode"></param>
+        /// <param name="sUser"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity AddTruckBarCode(string[] barcodes, string entruckingCode, string currentUserCode, SUserInfo sUser)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            sre.Data = new DataSet();
+            sre.Status = Constant.ServiceResultStatus.Success;
+            IDBTransaction conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            string sqlStr = "";
+            int execute = 0;
+            try
+            {
+                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"))
+                    {
+                        int batch = Convert.ToInt32(dt.Rows[0]["BATCH"]) + 1;
+                        //获取产品条码当前工序
+                        sqlStr = $@"
+                                select PROCEDUREID from TP_PM_INPRODUCTION where barcode = '{barcodes[i]}'
+                            ";
+                        string procedureid = conn.GetSqlResultToStr(sqlStr);
+
+                        //插入装具明细
+                        sqlStr = $@"
+                            INSERT INTO TP_PM_EntruckingDetail ( 
+                                    ENTRUCKINGCODE,
+                                    BARCODE, 
+                                    BATCH, 
+                                    DOFUNCTION, 
+                                    PROCEDUREID,
+                                    REMARKS, 
+                                    ACCOUNTID, 
+                                    USERID, 
+                                    USERCODE, 
+                                    VALUEFLAG, 
+                                    CREATEUSERID, 
+                                    UPDATEUSERID )
+                            SELECT
+		                            '{entruckingCode}',
+		                            '{barcodes}',
+		                            '{batch}',
+		                            1,
+		                            {procedureid},
+		                            '',
+		                            '{sUser.AccountID}',
+		                            USERID,
+		                            '{currentUserCode}',
+		                            1,
+		                            '{sUser.UserID}',
+		                            '{sUser.UserID}'
+	                          FROM TP_MST_USER WHERE USERCODE = '{currentUserCode}'
+                            ";
+                        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 = "操作失败,没有更新任何数据!";
+                        sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                        sre.Message = "装具未使用不可增补!";
                     }
                     conn.Commit();
                 }
@@ -315,6 +602,111 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
             //返回数据
             return sre;
         }
+
+        /// <summary>
+        /// 拆减产品
+        /// </summary>
+        /// <param name="entruckingCode"></param>
+        /// <param name="sUser"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity UnbindTruckBarCode(string barcode,string entruckingCode, string currentUserCode, SUserInfo sUser)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            sre.Data = new DataSet();
+            sre.Status = Constant.ServiceResultStatus.Success;
+            IDBTransaction conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            string sqlStr = "";
+            try
+            {
+                conn.Connect();
+                if (sre.Status == Constant.ServiceResultStatus.Success)
+                {
+                    sqlStr = $@"
+                        SELECT
+	                        TPE.STATUS
+                        FROM TP_PM_ENTRUCKING TPE
+                        WHERE TPE.VALUEFLAG = '1'
+                            AND TPE.ENTRUCKINGCODE = '{entruckingCode}'
+                    ";
+                    DataTable dt = conn.GetSqlResultToDt(sqlStr);
+                    sre.Data.Tables.Add(dt);
+                    if (dt.Rows.Count == 0)
+                    {
+                        sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                        sre.Message = "无效装具条码!";
+                    }
+                    else if (dt.Rows[0]["STATUS"].Equals("1"))
+                    {
+                        //插入装具明细
+                        sqlStr = $@"
+                            INSERT INTO TP_PM_EntruckingDetail ( 
+                                    ENTRUCKINGCODE,
+                                    BARCODE, 
+                                    BATCH, 
+                                    DOFUNCTION, 
+                                    PROCEDUREID,
+                                    REMARKS, 
+                                    ACCOUNTID, 
+                                    USERID, 
+                                    USERCODE, 
+                                    VALUEFLAG, 
+                                    CREATEUSERID, 
+                                    UPDATEUSERID )
+                                        SELECT
+	                                    '{entruckingCode}',
+                                        TD.BARCODE,
+                                        TD.BATCH,
+                                        2,
+                                        IP.PROCEDUREID,
+                                        '',
+                                        {sUser.AccountID},
+                                        CU.USERID,
+                                        '{currentUserCode}',
+                                        '1',
+                                        {sUser.UserID},
+                                        {sUser.UserID}
+                                    FROM
+	                                    TP_PM_ENTRUCKINGDETAIL TD
+	                                    INNER JOIN TP_PM_ENTRUCKING T ON T.ENTRUCKINGCODE = TD.ENTRUCKINGCODE AND T.BATCH = TD.BATCH 
+	                                    INNER JOIN TP_PM_INPRODUCTION IP ON IP.BARCODE = TD.BARCODE
+	                                    INNER JOIN TP_MST_USER CU ON CU.USERCODE = '{currentUserCode}' AND CU.VALUEFLAG = '1'
+                                    WHERE
+	                                    TD.ENTRUCKINGCODE = '{entruckingCode}' 
+                                        AND TD.BARCODE = '{barcode}' 
+	                                    AND T.STATUS = '1'
+                            ";
+                        int execute = conn.ExecuteNonQuery(sqlStr);
+                        dt = conn.GetSqlResultToDt(sqlStr);
+                        sre.Data.Tables.Add(dt);
+                        if (dt.Rows.Count == 0)
+                        {
+                            sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                            sre.Message = "装具上无产品!";
+                        }
+                        else
+                        {
+                            sre.Status = Constant.ServiceResultStatus.Success;
+                            sre.Message = "操作成功!";
+                        }
+                    }
+                    else
+                    {
+                        sre.Status = Constant.ServiceResultStatus.NoSearchResults;
+                        sre.Message = "装具未使用";
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                conn.Disconnect();
+            }
+            //返回数据
+            return sre;
+        }
         #endregion
     }
 }

+ 25 - 1
WCF.Service/WCF.Contracts/IPDAModuleEntrucking.cs

@@ -54,7 +54,31 @@ namespace Dongke.IBOSS.PRD.WCF.Contracts
         [WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest
             , ResponseFormat = WebMessageFormat.Json
             , RequestFormat = WebMessageFormat.Json)]
-        ActionResult AddTruckBarCode(string accountCode, string userCode, string userPassword, string sessionKey, string[] barcodes, string entruckingCode, string currentUserCode);
+        ActionResult AddTruckBarCodes(string accountCode, string userCode, string userPassword, string sessionKey, string[] barcodes, string entruckingCode, string currentUserCode);
+
+        [OperationContract]
+        [WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest
+            , ResponseFormat = WebMessageFormat.Json
+            , RequestFormat = WebMessageFormat.Json)]
+        ActionResult GetTruckBarCodes(string accountCode, string userCode, string userPassword, string sessionKey, string entruckingCode);
+
+        [OperationContract]
+        [WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest
+            , ResponseFormat = WebMessageFormat.Json
+            , RequestFormat = WebMessageFormat.Json)]
+        ActionResult UnbindTruckBarCodes(string accountCode, string userCode, string userPassword, string sessionKey, string entruckingCode, string currentUserCode);
+
+        [OperationContract]
+        [WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest
+            , ResponseFormat = WebMessageFormat.Json
+            , RequestFormat = WebMessageFormat.Json)]
+        ActionResult AddTruckBarCode(string accountCode, string userCode, string userPassword, string sessionKey, string barcode, string entruckingCode, string currentUserCode);
+
+        [OperationContract]
+        [WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest
+            , ResponseFormat = WebMessageFormat.Json
+            , RequestFormat = WebMessageFormat.Json)]
+        ActionResult UnbindTruckBarCode(string accountCode, string userCode, string userPassword, string sessionKey, string barcode, string entruckingCode, string currentUserCode);
         #endregion
     }
 }

+ 51 - 2
WCF.Service/WCF.Services/PDAModuleServiceEntrucking.cs

@@ -96,9 +96,9 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 );
         }
 
-        public ActionResult AddTruckBarCode(string accountCode, string userCode, string userPassword, string sessionKey, string[] barcodes, string entruckingCode, string currentUserCode)
+        public ActionResult AddTruckBarCodes(string accountCode, string userCode, string userPassword, string sessionKey, string[] barcodes, string entruckingCode, string currentUserCode)
         {
-            return CallActionResult("PDAModuleLogic.PDAModuleLogic.AddTruckBarCode",
+            return CallActionResult("PDAModuleLogic.PDAModuleLogic.AddTruckBarCodes",
                 accountCode,
                 userCode,
                 userPassword,
@@ -108,6 +108,55 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 currentUserCode
                 );
         }
+
+        public ActionResult GetTruckBarCodes(string accountCode, string userCode, string userPassword, string sessionKey, string entruckingCode)
+        {
+            return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetTruckBarCodes",
+                accountCode,
+                userCode,
+                userPassword,
+                sessionKey,
+                entruckingCode
+                );
+        }
+
+        public ActionResult UnbindTruckBarCodes(string accountCode, string userCode, string userPassword, string sessionKey, string entruckingCode, string currentUserCode)
+        {
+            return CallActionResult("PDAModuleLogic.PDAModuleLogic.UnbindTruckBarCodes",
+                accountCode,
+                userCode,
+                userPassword,
+                sessionKey,
+                entruckingCode,
+                currentUserCode
+                );
+        }
+
+        public ActionResult AddTruckBarCode(string accountCode, string userCode, string userPassword, string sessionKey,string barcode, string entruckingCode, string currentUserCode)
+        {
+            return CallActionResult("PDAModuleLogic.PDAModuleLogic.AddTruckBarCode",
+                accountCode,
+                userCode,
+                userPassword,
+                sessionKey,
+                barcode,
+                entruckingCode,
+                currentUserCode
+                );
+        }
+
+        public ActionResult UnbindTruckBarCode(string accountCode, string userCode, string userPassword, string sessionKey, string barcode, string entruckingCode, string currentUserCode)
+        {
+            return CallActionResult("PDAModuleLogic.PDAModuleLogic.UnbindTruckBarCode",
+                accountCode,
+                userCode,
+                userPassword,
+                sessionKey,
+                barcode,
+                entruckingCode,
+                currentUserCode
+                );
+        }
         #endregion
     }
 }