Kaynağa Gözat

产品分级(3车间)

Administrator 5 yıl önce
ebeveyn
işleme
58bd7a9009

+ 113 - 0
DK.Service/PDAModuleLogic/PDAModuleLogic.cs

@@ -7329,5 +7329,118 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
             }
         }
         #endregion
+
+        #region 产品分级(3车间)
+        /// <summary>
+        /// 验证产品分级(3车间)
+        /// </summary>
+        /// <param name="barcode"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity CheckOneLevelType(string barcode)
+        {
+            IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            try
+            {
+                ServiceResultEntity sre = new ServiceResultEntity();
+                oracleConn.Open();
+
+                string sqlString =
+                "SELECT gdd.barcode\n" +
+                "      ,g.goodscode\n" +
+                "      ,l.logoname\n" +
+                "      ,gdd.oneleveltypeid\n" +
+                "      ,decode(gdd.leakflag1, '1', '合格', '0', '不合格', '未检测') AS leakflag1name\n" +
+                "      ,decode(gdd.leakflag2, '1', '合格', '0', '不合格', '未检测') AS leakflag2name\n" +
+                "      ,decode(gdd.leakflag3, '1', '合格', '0', '不合格', '未检测') AS leakflag3name\n" +
+                "      ,decode(ip.specialrepairflag, '1', '是', '0', '否') AS specialrepairflagname\n" +
+                "      ,decode(ip.isrefire, '6', '是', '0', '否') AS isrefirename\n" +
+                "  FROM tp_pm_inproduction ip\n" +
+                "  LEFT JOIN tp_pm_groutingdailydetail gdd\n" +
+                "    ON gdd.groutingdailydetailid = ip.groutingdailydetailid\n" +
+                "  LEFT JOIN tp_mst_logo l\n" +
+                "    ON gdd.logoid = l.logoid\n" +
+                "  LEFT JOIN tp_mst_goods g\n" +
+                "    ON g.goodsid = ip.goodsid\n" +
+                " WHERE ip.barcode = :barcode";
+
+                OracleParameter[] paras = new OracleParameter[]
+                {
+                    new OracleParameter(":barcode", barcode)
+                };
+
+                DataSet ds = oracleConn.GetSqlResultToDs(sqlString, paras);
+
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    sre.OtherStatus = -1;
+                    sre.Message = "无效条码";
+                    return sre;
+                }
+
+                if (string.IsNullOrEmpty(ds.Tables[0].Rows[0]["oneleveltypeid"]+""))
+                {
+                    sre.OtherStatus = -1;
+                    sre.Message = "该条码未进行成检交接,不能进行产品分级";
+                    return sre;
+                }
+
+                sre.Data = ds;
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                if (oracleConn.ConnState == ConnectionState.Open)
+                {
+                    oracleConn.Close();
+                }
+            }
+        }
+
+        /// <summary>
+        /// 保存产品分级(3车间)
+        /// </summary>
+        /// <param name="levelTypeID"></param>
+        /// <param name="barcode"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity SaveOneLevelType(int? levelTypeID, string barcode)
+        {
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            try
+            {
+                oracleTrConn.Connect();
+                ServiceResultEntity sre = new ServiceResultEntity();
+
+                string sqlString =
+                "UPDATE tp_pm_groutingdailydetail gdd\n" +
+                "   SET gdd.oneleveltypeid = :leveltypeid\n" +
+                " WHERE gdd.barcode = :barcode";
+
+                OracleParameter[] paras = new OracleParameter[]
+                {
+                    new OracleParameter(":leveltypeid", levelTypeID),
+                    new OracleParameter(":barcode", barcode)
+                };
+
+                sre.OtherStatus = oracleTrConn.ExecuteNonQuery(sqlString, paras);
+                oracleTrConn.Commit();
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                if (oracleTrConn.ConnState == ConnectionState.Open)
+                {
+                    oracleTrConn.Disconnect();
+                }
+            }
+        }
+        #endregion
     }
 }

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

@@ -14,7 +14,6 @@ using System.Data;
 using System.IO;
 using System.ServiceModel;
 using System.ServiceModel.Activation;
-
 using Dongke.IBOSS.PRD.Basics.BaseResources;
 using Dongke.IBOSS.PRD.Basics.Library;
 using Dongke.IBOSS.PRD.Service.BarcodePrintService;
@@ -11413,6 +11412,50 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 }
                 #endregion
 
+                #region 产品分级(3车间)
+                else if (module == "0628")
+                {
+                    if (action == "CheckOneLevelType")
+                    {
+                        string barcode = data["Barcode"] + "";
+                        ServiceResultEntity sre = PDAModuleLogic.CheckOneLevelType(barcode);
+
+                        if (sre.OtherStatus < 0)
+                        {
+                            actionResult.Status = (int)Constant.PDAResult.Fail;
+                            actionResult.Message = sre.Message;
+                        }
+                        else
+                        {
+                            actionResult.Status = (int)Constant.PDAResult.Success;
+                            actionResult.Result = JsonHelper.ToJson(sre.Data.Tables[0]);
+                        }
+
+                        return actionResult;
+                    }
+
+                    if (action == "SaveOneLevelType")
+                    {
+                        int? levelTypeID = data["LevelTypeID"].ToNullableInt32();
+                        string barcode = data["Barcode"] + "";
+
+                        ServiceResultEntity sre = PDAModuleLogic.SaveOneLevelType(levelTypeID, barcode);
+
+                        if (sre.OtherStatus < 0)
+                        {
+                            actionResult.Status = (int)Constant.PDAResult.Fail;
+                            actionResult.Message = sre.Message;
+                        }
+                        else
+                        {
+                            actionResult.Status = (int)Constant.PDAResult.Success;
+                        }
+
+                        return actionResult;
+                    }
+                }
+                #endregion
+
                 return actionResult;
             }
             catch (Exception ex)