Ejemplo n.º 1
0
        /// <summary>
        /// 保存申报数据
        /// </summary>
        /// <param name="declData">申报数据信息</param>
        /// <returns>返回结果</returns>
        public int UploadDeclData(DeclCusData declData)
        {
            #region 记录状态数据
            var insertCmd = Db.GetSqlStringCommand(Context.SqlInsertDeclCusData);
            Db.AddInParameter(insertCmd, "CUS_CIQ_NO", DbType.String, declData.CusCiqNoInfo.CusCiqNo);
            Db.AddInParameter(insertCmd, "CUS_MSG_XML", DbType.Xml, declData.CusMsgXml);
            Db.AddInParameter(insertCmd, "CIQ_MSG_XML", DbType.String, declData.CiqMsgXml);
            Db.AddInParameter(insertCmd, "SAVE_TIME", DbType.DateTime, DateTime.Now);
            Db.AddInParameter(insertCmd, "STATUS", DbType.Int32, (int)declData.Status);
            return(Db.ExecuteNonQuery(insertCmd));

            #endregion
        }
        /// <summary>
        /// 上传报关和报检数据(暂存数据)
        /// </summary>
        /// <param name="keyValue">激活码</param>
        /// <param name="machineCode">机器代码</param>
        /// <param name="ieFlag">进出口标识,1为进口,0为出口</param>
        /// <param name="locationCode">现场代码(4位)</param>
        /// <param name="cusCiqNo">关检关联号</param>
        /// <param name="status">数据状态(0,暂存;1,报检;2,上载QP;3,申报)</param>
        /// <param name="cusMsgXml">报关数据报文</param>
        /// <param name="ciqMsgXml">报检数据报文</param>
        /// <returns>返回实体消息</returns>
        public SaveModel UploadAllData(string keyValue,
                                       string machineCode, string ieFlag, string locationCode, string cusCiqNo, int status, string cusMsgXml, string ciqMsgXml)
        {
            CusCiqNoInfo cusCiqNoInfo = new CusCiqNoInfo {
                CusCiqNo = cusCiqNo, IeFlag = ieFlag, LocationCode = locationCode
            };

            if (!new EntityValidator <CusCiqNoInfo>().Validate(cusCiqNoInfo))
            {
                throw new Exception(Context.ErrIeFlagOrLocalCodeInValid);
            }
            SaveModel saveModel = new SaveModel()
            {
                CusCiqNo = cusCiqNo, Password = string.Empty, IsSuccess = false
            };
            LogHelper logHelper = LogHelper.GetInstance();

            try
            {
                IMessageDataHelper msgDataHelper = DataHelperFactory.GetMessageDataHelper();
                //检查激活码是否有效
                if (!Utility.CheckKey(msgDataHelper.GetKeyInfo(keyValue, machineCode)))
                {
                    saveModel.Message = GetErrInfo(Context.ErrKeyValueInvalid, Context.ErrKeyValueInvalidId);;
                    return(saveModel);
                }

                PreCusData preData = new PreCusData
                {
                    CusCiqNoInfo = cusCiqNoInfo,
                    KeyValue     = keyValue,
                    MachineCode  = machineCode,
                    CusMsgXml    = cusMsgXml,
                    CiqMsgXml    = ciqMsgXml,
                    UpdateTime   = DateTime.Now,
                    Password     = Utility.GetRandomNumString(6)
                };
                IPreserveDataHelper preDataHelper = DataHelperFactory.GetPreserveDataHelper();
                //如果暂存成功
                if (preDataHelper.UploadPreCusData(preData) == 1)
                {
                    preData.Password    = preDataHelper.GetPasswordByCusCiqNo(cusCiqNo);
                    saveModel.IsSuccess = true;
                    saveModel.Message   = string.Empty;
                    saveModel.Password  = preData.Password;
                }
                if (status > 0)
                {
                    DeclCusData declData = new DeclCusData
                    {
                        CusCiqNoInfo = preData.CusCiqNoInfo,
                        CiqMsgXml    = preData.CiqMsgXml,
                        CusMsgXml    = preData.CusMsgXml,
                        Status       = (DeclCusData.SaveType)status
                    };
                    preDataHelper.UploadDeclData(declData);
                }
            }
            catch (Exception ex)
            {
                saveModel.Message = GetErrInfo(Context.ErrUploadAllData, Context.UploadAllDataEventId);
                logHelper.LogErrInfo(ex.Message, Context.UploadAllDataEventId, "UploadAllData", keyValue);
            }
            return(saveModel);
        }