Просмотр исходного кода

防伪码测试好用的版本

liusq 4 лет назад
Родитель
Сommit
1e285ee5fe

+ 60 - 87
DK.Service/PDAModuleLogic/PDAModuleLogicWorkShop3.cs

@@ -2285,7 +2285,7 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
         /// <param name="securityCode">防伪码</param>
         /// 陈强 2021-08-9 新建
         /// <returns>int</returns>
-        public static ServiceResultEntity UpdateSecurityCodeByBarcode( string barCode, string securityCode, string procedureID, string flag, SUserInfo sUser)
+        public static ServiceResultEntity UpdateSecurityCodeByBarcode( string barCode, string securityCode, string procedureID, SUserInfo sUser)
         {
             IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
             ServiceResultEntity sre = new ServiceResultEntity();
@@ -2295,7 +2295,7 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
             bool b = true;//true 有防伪码  false 无防伪码
             try
             {
-                oracleTrConn.Connect();
+                oracleTrConn.Connect();              
                 #region 查此件原来有没有防伪码
                 sqlString = @"SELECT 
                                             SECURITYCODE 
@@ -2310,86 +2310,83 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
                 DataTable SecurityCode = oracleTrConn.GetSqlResultToDt(sqlString, paras);
                 if (SecurityCode != null && SecurityCode.Rows.Count > 0 && SecurityCode.Rows[0]["SecurityCode"].ToString() != "")
                 {
-                    //有防伪码
+                    //有防伪码 —— 防伪码变更
                     b = true;
                 }
                 else {
-                    //无防伪码
+                    //无防伪码 —— 防伪码绑定
                     b = false;
                 }
-                #endregion
 
-                if (Convert.ToInt32(flag) == 0)
+                #region 检验输入的防伪码是否被使用过
+                sqlString = @"SELECT
+	                                1 
+                                FROM
+	                                TP_PM_GROUTINGDAILYDETAIL 
+                                WHERE
+	                                VALUEFLAG = 1 
+	                                AND SECURITYCODE = :SECURITYCODE";
+                paras = new OracleParameter[]{
+                            new OracleParameter(":SECURITYCODE",OracleDbType.Varchar2, securityCode,ParameterDirection.Input),
+                            };
+                DataTable dt = oracleTrConn.GetSqlResultToDt(sqlString, paras);
+                // 被使用过则不能被再次使用
+                if (SecurityCode != null && SecurityCode.Rows.Count > 0 && SecurityCode.Rows[0]["SecurityCode"].ToString() != "")
                 {
-                    if (b) {
-                        sre.Status = Constant.ServiceResultStatus.NoModifyData;
-                        sre.Message = "已有防伪码!";
-                    }
-                    else {
-                        #region 写防伪码
-                        sqlString = @"UPDATE 
+                    sre.Status = Constant.ServiceResultStatus.NoModifyData;
+                    sre.Message = "防伪码被使用过!";
+                }
+
+                #endregion
+
+                #region 写防伪码(变更和绑定都走这个)
+                sqlString = @"UPDATE 
                                             TP_PM_GROUTINGDAILYDETAIL 
                                     SET 
                                             SECURITYCODE = :SECURITYCODE 
                                     WHERE
 	                                        BARCODE =:BARCODE 
 	                                        AND VALUEFLAG =1";
-                        paras = new OracleParameter[]{
+                paras = new OracleParameter[]{
                             new OracleParameter(":BARCODE",OracleDbType.Varchar2, barCode,ParameterDirection.Input),
                             new OracleParameter(":SECURITYCODE",OracleDbType.Varchar2, securityCode,ParameterDirection.Input),
                             };
-                        retnrnRows = oracleTrConn.ExecuteNonQuery(sqlString, paras);
+                retnrnRows = oracleTrConn.ExecuteNonQuery(sqlString, paras);
 
-                        #endregion
+                #endregion
 
-                        #region 记录操作日志 
-                        // 成功
-                        if (retnrnRows > 0)
-                        {
-                            sqlString = @"INSERT INTO TP_MST_SECURITYCODELOG 
+                #endregion
+                // 防伪码变更
+                if (b)
+                {
+                    #region 记录变更日志 
+                    // 成功
+                    if (retnrnRows > 0)
+                    {
+                        sqlString = @"INSERT INTO TP_MST_SECURITYCODELOG 
                                     ( USERID,   BARCODE,  OLDSECURITYCODE,   NEWSECURITYCODE,   CREATETIME,  OPERATION,   REMARKS,  PROCEDUREID )
                             VALUES  (:USERID,  :BARCODE, :OLDSECURITYCODE,  :NEWSECURITYCODE,   SYSDATE,    :OPERATION,  :REMARKS, :PROCEDUREID )";
-                            paras = new OracleParameter[]{
+                        paras = new OracleParameter[]{
                             new OracleParameter(":USERID",OracleDbType.Int32, sUser.UserID,ParameterDirection.Input),
                             new OracleParameter(":BARCODE",OracleDbType.Varchar2, barCode,ParameterDirection.Input),
                             new OracleParameter(":OLDSECURITYCODE",OracleDbType.Varchar2, null,ParameterDirection.Input),
                             new OracleParameter(":NEWSECURITYCODE",OracleDbType.Varchar2, securityCode,ParameterDirection.Input),
-                            new OracleParameter(":OPERATION",OracleDbType.Int32, 1,ParameterDirection.Input),
-                            new OracleParameter(":REMARKS",OracleDbType.Varchar2,sUser.UserName+ "于"+DateTime.Now.ToString()+""+"新建防伪码: "+securityCode ,ParameterDirection.Input),
-                            new OracleParameter(":PROCEDUREID",OracleDbType.Int32, Convert.ToInt32(procedureID) ,ParameterDirection.Input),
+                            new OracleParameter(":OPERATION",OracleDbType.Int32, 2,ParameterDirection.Input),
+                            new OracleParameter(":REMARKS",OracleDbType.Varchar2," 【时间】 "+DateTime.Now.ToString() + " 【用户】 " + sUser.UserName+ " 【操作条码】 "+ barCode +" 【变更防伪码】 "+ SecurityCode.Rows [ 0 ][ "SecurityCode" ] + " 更改为 " + securityCode ,ParameterDirection.Input),
+                            new OracleParameter(":PROCEDUREID",OracleDbType.Int32, Convert.ToInt32(procedureID) ,ParameterDirection.Input)
                             };
-                            retnrnRows2 = oracleTrConn.ExecuteNonQuery(sqlString, paras);
-                            sre.Status = Constant.ServiceResultStatus.Success;
-                            sre.Message = "防伪码绑定成功!";
-                        }
-                        #endregion
-                        else
-                        {
-                            sre.Status = Constant.ServiceResultStatus.NoModifyData;
-                            sre.Message = "防伪码绑定失败!";
-                        }
+                        retnrnRows2 = oracleTrConn.ExecuteNonQuery(sqlString, paras);
+                        sre.Status = Constant.ServiceResultStatus.Success;
+                        sre.Message = "防伪码变更成功!";
                     }
-                }
-                else if (Convert.ToInt32(flag) == 1)
-                {
-                    if (b)
+                    else
                     {
-                        #region 更改防伪码
-                        sqlString = @"UPDATE 
-                                            TP_PM_GROUTINGDAILYDETAIL 
-                                    SET 
-                                            SECURITYCODE = :SECURITYCODE 
-                                    WHERE
-	                                        BARCODE =:BARCODE 
-	                                        AND VALUEFLAG =1";
-                        paras = new OracleParameter[]{
-                            new OracleParameter(":BARCODE",OracleDbType.Varchar2, barCode,ParameterDirection.Input),
-                            new OracleParameter(":SECURITYCODE",OracleDbType.Varchar2, securityCode,ParameterDirection.Input),
-                            };
-                        retnrnRows = oracleTrConn.ExecuteNonQuery(sqlString, paras);
-
-                        #endregion
-
+                        sre.Status = Constant.ServiceResultStatus.NoModifyData;
+                        sre.Message = "防伪码变更失败!";
+                    }
+                }
+                //防伪码绑定
+                else {
                         #region 记录操作日志 
                         // 成功
                         if (retnrnRows > 0)
@@ -2402,45 +2399,21 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
                             new OracleParameter(":BARCODE",OracleDbType.Varchar2, barCode,ParameterDirection.Input),
                             new OracleParameter(":OLDSECURITYCODE",OracleDbType.Varchar2, null,ParameterDirection.Input),
                             new OracleParameter(":NEWSECURITYCODE",OracleDbType.Varchar2, securityCode,ParameterDirection.Input),
-                            new OracleParameter(":OPERATION",OracleDbType.Int32, 2,ParameterDirection.Input),
-                            new OracleParameter(":REMARKS",OracleDbType.Varchar2,sUser.UserName+ " 于 "+DateTime.Now.ToString()+""+" 将 " + SecurityCode.Rows [ 0 ][ "SecurityCode" ] + " 更改为 " +securityCode ,ParameterDirection.Input),
-                            new OracleParameter(":PROCEDUREID",OracleDbType.Int32, Convert.ToInt32(procedureID) ,ParameterDirection.Input)
+                            new OracleParameter(":OPERATION",OracleDbType.Int32, 1,ParameterDirection.Input),
+                            new OracleParameter(":REMARKS",OracleDbType.Varchar2," 【时间】 "+DateTime.Now.ToString() + " 【用户】 " + sUser.UserName+ " 【操作条码】 "+ barCode +" 【绑定防伪码】 "+ securityCode ,ParameterDirection.Input),
+                            new OracleParameter(":PROCEDUREID",OracleDbType.Int32, Convert.ToInt32(procedureID) ,ParameterDirection.Input),
                             };
                             retnrnRows2 = oracleTrConn.ExecuteNonQuery(sqlString, paras);
                             sre.Status = Constant.ServiceResultStatus.Success;
-                            sre.Message = "防伪码变更成功!";
+                            sre.Message = "防伪码绑定成功!";
                         }
-                        else {
+                        #endregion
+                        else
+                        {
                             sre.Status = Constant.ServiceResultStatus.NoModifyData;
-                            sre.Message = "防伪码变更失败!";
+                            sre.Message = "防伪码绑定失败!";
                         }
                     }
-                    else {
-                            sre.Status = Constant.ServiceResultStatus.NoModifyData;
-                            sre.Message = "未绑定过防伪码的产品不可变更防伪码!";
-                    }
-                }                 
-                //失败
-                else
-                {
-                    // 20210814 add 失败不用记录日志
-                    //sqlString = @"INSERT INTO TLOG_HEGII_SECURITYCODELOG 
-                    //                ( USERID,  BARCODE,   OLDSECURITYCODE,   NEWSECURITYCODE,   CREATETIME,  OPERATION,   REMARKS )
-                    //        VALUES  (:USERID, :BARCODE,  :OLDSECURITYCODE,  :NEWSECURITYCODE,   SYSDATE,    :OPERATION,  :REMARKS )";
-                    //paras = new OracleParameter[]{
-                    //new OracleParameter(":USERID",OracleDbType.Int32, sUser.UserID, ParameterDirection.Input),
-                    //new OracleParameter(":BARCODE",OracleDbType.Varchar2, barCode, ParameterDirection.Input),
-                    //new OracleParameter(":OLDSECURITYCODE",OracleDbType.Varchar2, b ? null : SecurityCode.Rows[0]["SecurityCode"],ParameterDirection.Input),
-                    //new OracleParameter(":NEWSECURITYCODE",OracleDbType.Varchar2, securityCode,ParameterDirection.Input),
-                    //new OracleParameter(":OPERATION",OracleDbType.Int32, b ? 1 : 2, ParameterDirection.Input),
-                    //new OracleParameter(":REMARKS",OracleDbType.Varchar2,sUser.UserName+ " "+DateTime.Now.ToString()+""+( b?"新建防伪码失败-"+securityCode+"":"修改防伪码失败"+" "+SecurityCode.Rows[0]["SecurityCode"]+"-"+securityCode+""),ParameterDirection.Input),
-                    //};
-                    //retnrnRows += oracleTrConn.ExecuteNonQuery(sqlString, paras);
-                    
-                    sre.Status = Constant.ServiceResultStatus.NoModifyData;
-                    sre.Message = "操作失败,没有更新任何数据!";
-                    
-                }
                 #endregion
                 
                 oracleTrConn.Commit();

+ 1 - 1
WCF.Service/WCF.Contracts/IPDAModuleWorkShop3.cs

@@ -149,7 +149,7 @@ namespace Dongke.IBOSS.PRD.WCF.Contracts
         [WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest
             , ResponseFormat = WebMessageFormat.Json
             , RequestFormat = WebMessageFormat.Json)]
-        ActionResult UpdateSecurityCodeByBarcode(string accountCode, string userCode, string userPassword, string sessionKey, string barCode, string securityCode, string procedureID, string flag );
+        ActionResult UpdateSecurityCodeByBarcode(string accountCode, string userCode, string userPassword, string sessionKey, string barCode, string securityCode, string procedureID );
 
         [OperationContract]
         [WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest

+ 2 - 3
WCF.Service/WCF.Services/PDAModuleServiceWorkShop3.cs

@@ -321,7 +321,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
 
         #region xuwei add 2021-08-11 防伪码处理接口
         //防伪码绑定
-        public ActionResult UpdateSecurityCodeByBarcode(string accountCode, string userCode, string userPassword, string sessionKey, string barCode, string securityCode, string procedureID, string flag)
+        public ActionResult UpdateSecurityCodeByBarcode(string accountCode, string userCode, string userPassword, string sessionKey, string barCode, string securityCode, string procedureID)
         {
             return CallActionResult("PDAModuleLogic.PDAModuleLogic.UpdateSecurityCodeByBarcode",
                 accountCode,
@@ -330,8 +330,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 sessionKey,
                 barCode,
                 securityCode,
-                procedureID,
-                flag
+                procedureID                
                 );
         }
         //防伪码校验