5 Commits

Author SHA1 Message Date
863d65fa7c 保存进度! 2022-09-28 10:07:48 +08:00
7fb1741a89 Merge branch 'main' of http://222.76.244.118:3000/CPICXIM/car_deal_util 2022-09-28 10:06:16 +08:00
5ab7f22f7c Initial commit 2022-09-28 01:57:47 +00:00
173aa6655f 提交信息! 2021-03-18 16:19:57 +08:00
92681a8cfe 提交信息! 2021-03-18 11:44:01 +08:00
7 changed files with 670 additions and 154 deletions

573
.gitignore vendored
View File

@@ -1,162 +1,53 @@
#.idea/ # ---> Java
.vs/ # Compiled class file
x64/ *.class
out/
ipch/
win32/
win64/
Debug/
Release/
GeneratedFiles/
*.~sql
*.~pck
*.~*
*.pkg
*.suo
*.sdf
*.opensdf
*.db
*.obj
workspace.xml
Browse.VC.opendb
# ---> C++
# Prerequisites
*.d
# Compiled Object files # Log file
*.slo *.log
*.lo
*.o
*.obj
# Precompiled Headers # BlueJ files
*.gch *.ctxt
*.pch
# Compiled Dynamic libraries # Mobile Tools for Java (J2ME)
*.so .mtj.tmp/
*.dylib
*.dll
# Fortran module files # Package Files #
*.mod *.jar
*.smod *.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# Compiled Static libraries # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
*.lai hs_err_pid*
*.la replay_pid*
*.a
*.lib
# Executables # ---> Maven
*.exe target/
*.out pom.xml.tag
*.app pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
# ---> C # Eclipse m2e generated files
# Prerequisites # Eclipse Core
*.d .project
# JDT-specific (Eclipse Java Development Tools)
# Object files .classpath
*.o
*.ko
*.obj
*.elf
# Linker output
*.ilk
*.map
*.exp
# Precompiled Headers
*.gch
*.pch
# Libraries
*.lib
*.a
*.la
*.lo
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
# Debug files
*.dSYM/
*.su
*.idb
*.pdb
# Kernel Module Compile Results
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf
# ---> CMake
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
# ---> Vim
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
# ---> VisualStudioCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
# ---> VisualStudio # ---> VisualStudio
## Ignore Visual Studio temporary files, build results, and ## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons. ## files generated by popular Visual Studio add-ons.
## ##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
# User-specific files # User-specific files
*.rsuser *.rsuser
@@ -245,6 +136,7 @@ StyleCopReport.xml
*.tmp_proj *.tmp_proj
*_wpftmp.csproj *_wpftmp.csproj
*.log *.log
*.tlog
*.vspscc *.vspscc
*.vssscc *.vssscc
.builds .builds
@@ -448,6 +340,17 @@ node_modules/
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw *.vbw
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp
# Visual Studio 6 technical files
*.ncb
*.aps
# Visual Studio LightSwitch build output # Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts **/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts
@@ -504,6 +407,9 @@ ASALocalRun/
# Local History for Visual Studio # Local History for Visual Studio
.localhistory/ .localhistory/
# Visual Studio History (VSHistory) files
.vshistory/
# BeatPulse healthcheck temp database # BeatPulse healthcheck temp database
healthchecksdb healthchecksdb
@@ -516,3 +422,376 @@ MigrationBackup/
# Fody - auto-generated XML schema # Fody - auto-generated XML schema
FodyWeavers.xsd FodyWeavers.xsd
# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp
# JetBrains Rider
*.sln.iml
# ---> VisualStudioCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
# ---> C++
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
# ---> Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
# ---> Eclipse
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
.apt_generated_test/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
#.project
# ---> JetBrains
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
*.~*

View File

@@ -1,3 +1,10 @@
# car_dealer_util <!--
* @Author: Kane
车商渠道数据管理工具。 * @Date: 2022-09-28 10:04:24
* @LastEditors: Kane
* @LastEditTime: 2022-09-28 10:06:04
* @FilePath: \undefinedd:\develop\cpicxim\car_dealer_util\README.md
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->

View File

@@ -1111,3 +1111,113 @@ void ImportNewRepairMonitorToOracle( const std::string &
OCI_ConnectionFree( pConnection ); OCI_ConnectionFree( pConnection );
OCI_Cleanup(); OCI_Cleanup();
} }
/************************************************
* \brief 保存核价清单表 - 源自新送返修监控报表
* \param userName
* \param password
* \param tnsName
* \param recordVector 新送返修监控报表记录
************************************************/
void ImportPriceCheckedListToOracle( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::vector<NewRepairMonitorReportRecord> & recordVector )
{
OCI_Connection * pConn = nullptr;
OCI_Statement * pStatement = nullptr;
int returnCode = 0;
QString sql = QString::fromUtf8( "begin \n"
" car_dealer.data_import_util_pkg.import_pricecheck_list( \n"
" :a_caseno, \n"
" :a_report_date, \n"
" :a_damage_date, \n"
" :a_damage_address, \n"
" :a_plateno, \n"
" :a_brandname, \n"
" :a_carseries, \n"
" :a_policyno, \n"
" :a_insuredcar, \n"
" :a_checked_premium, \n"
" :a_step, \n"
" :a_branch_name, \n"
" :a_cardealer_code, \n"
" :a_cardealer_name, \n"
" :a_check_date \n"
" ); \n"
"end;" );
returnCode = OCI_Initialize( l_error_handler, nullptr, OCI_ENV_DEFAULT );
if ( static_cast<bool>(returnCode) == false )
{
string errorMessage( "ocilib初始化错误:" );
errorMessage.append( get_last_error_message() );
throw runtime_error( errorMessage );
}
try
{
pConn = OCI_ConnectionCreate( tnsName.c_str(),
userName.c_str(),
password.c_str(),
OCI_SESSION_DEFAULT );
pStatement = OCI_StatementCreate( pConn );
OCI_AllowRebinding( pStatement, true );
OCI_Prepare( pStatement, sql.toLocal8Bit().data() );
for ( auto iterRecord = recordVector.begin();
iterRecord != recordVector.end();
++iterRecord )
{
string a_caseno = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_report_date = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_damage_date = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_damage_address = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_plateno = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_brandname = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_carseries = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_policyno = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_insuredcar = QString::fromStdWString( iterRecord->_三者车_ ).toLocal8Bit();
string a_checked_premium = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_step = QString::fromStdWString( iterRecord->_核价通过环节_ ).toLocal8Bit();
string a_branch_name = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_cardealer_code = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_cardealer_name = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
string a_check_date = QString::fromStdWString( iterRecord->_ ).toLocal8Bit();
//OCI_BindString(pStatement, (const otext*)(":"), (otext*)(.c_str()), .size());
OCI_BindString( pStatement, (const otext*)(":a_caseno"), (otext*)(a_caseno.c_str()), a_caseno.size() );
OCI_BindString( pStatement, (const otext*)(":a_report_date"), (otext*)(a_report_date.c_str()), a_report_date.size() );
OCI_BindString( pStatement, (const otext*)(":a_damage_date"), (otext*)(a_damage_date.c_str()), a_damage_date.size() );
OCI_BindString( pStatement, (const otext*)(":a_damage_address"), (otext*)(a_damage_address.c_str()), a_damage_address.size() );
OCI_BindString( pStatement, (const otext*)(":a_plateno"), (otext*)(a_plateno.c_str()), a_plateno.size() );
OCI_BindString( pStatement, (const otext*)(":a_brandname"), (otext*)(a_brandname.c_str()), a_brandname.size() );
OCI_BindString( pStatement, (const otext*)(":a_carseries"), (otext*)(a_carseries.c_str()), a_carseries.size() );
OCI_BindString( pStatement, (const otext*)(":a_policyno"), (otext*)(a_policyno.c_str()), a_policyno.size() );
OCI_BindString( pStatement, (const otext*)(":a_insuredcar"), (otext*)(a_insuredcar.c_str()), a_insuredcar.size() );
OCI_BindString( pStatement, (const otext*)(":a_checked_premium"), (otext*)(a_checked_premium.c_str()), a_checked_premium.size() );
OCI_BindString( pStatement, (const otext*)(":a_step"), (otext*)(a_step.c_str()), a_step.size() );
OCI_BindString( pStatement, (const otext*)(":a_branch_name"), (otext*)(a_branch_name.c_str()), a_branch_name.size() );
OCI_BindString( pStatement, (const otext*)(":a_cardealer_code"), (otext*)(a_cardealer_code.c_str()), a_cardealer_code.size() );
OCI_BindString( pStatement, (const otext*)(":a_cardealer_name"), (otext*)(a_cardealer_name.c_str()), a_cardealer_name.size() );
OCI_BindString( pStatement, (const otext*)(":a_check_date"), (otext*)(a_check_date.c_str()), a_check_date.size() );
OCI_Execute( pStatement );
}
}
catch ( runtime_error & error )
{
OCI_ConnectionFree( pConn );
OCI_Cleanup();
throw error;
}
OCI_Commit( pConn );
OCI_ConnectionFree( pConn );
OCI_Cleanup();
}

View File

@@ -1,4 +1,4 @@
#pragma once #pragma once
#include <string> #include <string>
#include <vector> #include <vector>
@@ -75,3 +75,16 @@ void ImportNewRepairMonitorToOracle( const std::string &
const std::string & password, const std::string & password,
const std::string & tnsName, const std::string & tnsName,
const std::vector<NewRepairMonitorReportRecord> & recordVector ); const std::vector<NewRepairMonitorReportRecord> & recordVector );
/************************************************
* \brief 保存核价清单表 - 源自新送返修监控报表
* \param userName
* \param password
* \param tnsName
* \param recordVector 新送返修监控报表记录
************************************************/
void ImportPriceCheckedListToOracle( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::vector<NewRepairMonitorReportRecord> & recordVector );

View File

@@ -71,7 +71,8 @@ void QNewRepairMonitorWidget::onImport()
string password = "cpic123456"; string password = "cpic123456";
string tnsName = "xmcx1"; string tnsName = "xmcx1";
ImportNewRepairMonitorToOracle( userName, password, tnsName, recordVector ); //ImportNewRepairMonitorToOracle( userName, password, tnsName, recordVector );
ImportPriceCheckedListToOracle(userName, password, tnsName, recordVector);
//showNewRepairMonitorRecords(); //showNewRepairMonitorRecords();
} }

View File

@@ -85,6 +85,26 @@ CREATE OR REPLACE PACKAGE data_import_util_pkg IS
a_data_source VARCHAR2 a_data_source VARCHAR2
); );
--<2D><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><E5B5A5><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>޼<EFBFBD><DEBC>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD>
PROCEDURE import_pricecheck_list
(
a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD>յص<D5B5> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD> VARCHAR2,
a_Ʒ<5F><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>߳<EFBFBD> VARCHAR2,
a_<61>˼۽<CBBC><DBBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ƺ˼<C6BA>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61>˼۳<CBBC><DBB3>̷ֹ<CCB7>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> VARCHAR2,
a_<61>˼۳<CBBC><DBB3>̴<EFBFBD><CCB4><EFBFBD> VARCHAR2,
a_<61>˼۳<CBBC><DBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61>˼<EFBFBD>ͨ<EFBFBD><CDA8>ʱ<EFBFBD><CAB1> VARCHAR2
);
PROCEDURE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>޼<EFBFBD><DEBC>ر<EFBFBD><D8B1><EFBFBD> PROCEDURE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>޼<EFBFBD><DEBC>ر<EFBFBD><D8B1><EFBFBD>
( (
a_<61>ֹ<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> VARCHAR2, a_<61>ֹ<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> VARCHAR2,
@@ -408,7 +428,8 @@ CREATE OR REPLACE PACKAGE BODY data_import_util_pkg IS
--<2D><>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --<2D><>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BEGIN BEGIN
DELETE car_dealer.repair_order_info a WHERE a_order_no = a.order_no; DELETE car_dealer.repair_order_info a
WHERE a_order_no = a.order_no;
EXCEPTION EXCEPTION
WHEN OTHERS THEN WHEN OTHERS THEN
NULL; NULL;
@@ -539,7 +560,8 @@ CREATE OR REPLACE PACKAGE BODY data_import_util_pkg IS
--ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BEGIN BEGIN
DELETE FROM car_dealer.<2E>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD> a WHERE a.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = a_notify_no; DELETE FROM car_dealer.<2E>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD> a
WHERE a.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = a_notify_no;
EXCEPTION EXCEPTION
WHEN OTHERS THEN WHEN OTHERS THEN
NULL; NULL;
@@ -584,6 +606,90 @@ CREATE OR REPLACE PACKAGE BODY data_import_util_pkg IS
END; END;
PROCEDURE import_pricecheck_list
(
a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD>յص<D5B5> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD> VARCHAR2,
a_Ʒ<5F><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>߳<EFBFBD> VARCHAR2,
a_<61>˼۽<CBBC><DBBD><EFBFBD> VARCHAR2,
a_<61><5F><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ƺ˼<C6BA>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61>˼۳<CBBC><DBB3>̷ֹ<CCB7>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> VARCHAR2,
a_<61>˼۳<CBBC><DBB3>̴<EFBFBD><CCB4><EFBFBD> VARCHAR2,
a_<61>˼۳<CBBC><DBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VARCHAR2,
a_<61>˼<EFBFBD>ͨ<EFBFBD><CDA8>ʱ<EFBFBD><CAB1> VARCHAR2
) IS
l_<6C><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DATE;
l_<6C><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DATE;
l_<6C>˼<EFBFBD>ͨ<EFBFBD><CDA8>ʱ<EFBFBD><CAB1> DATE;
BEGIN
NULL;
IF a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IS NULL OR
a_<61><5F><EFBFBD><EFBFBD> IS NULL
THEN
raise_application_error(no_notify_no_excpt,
no_notify_no_text);
END IF;
BEGIN
DELETE <20>˼<EFBFBD><CBBC>嵥 hj
--DELETE check_price_list hj
WHERE hj.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AND hj.<2E><><EFBFBD><EFBFBD> = a_<61><5F><EFBFBD><EFBFBD>;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
l_<6C><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> := <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ת<EFBFBD><D7AA>(a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
'yyyy-mm-dd hh24:mi:ss');
l_<6C><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> := <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ת<EFBFBD><D7AA>(a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
'yyyy-mm-dd hh24:mi:ss');
l_<6C>˼<EFBFBD>ͨ<EFBFBD><CDA8>ʱ<EFBFBD><CAB1> := <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ת<EFBFBD><D7AA>(a_<61>˼<EFBFBD>ͨ<EFBFBD><CDA8>ʱ<EFBFBD><CAB1>,
'yyyy-mm-dd hh24:mi:ss');
INSERT INTO <20>˼<EFBFBD><CBBC>
--INSERT INTO check_price_list
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<20><><EFBFBD>յص<D5B5>,
<20><><EFBFBD><EFBFBD>,
Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<20><>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>,
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<20><><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>߳<EFBFBD>,
<20>˼۽<CBBC><DBBD><EFBFBD>,
<20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ƺ˼<C6BA>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<20>˼۳<CBBC><DBB3>̷ֹ<CCB7>˾<EFBFBD><CBBE><EFBFBD><EFBFBD>,
<20>˼۳<CBBC><DBB3>̴<EFBFBD><CCB4><EFBFBD>,
<20>˼۳<CBBC><DBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<20>˼<EFBFBD>ͨ<EFBFBD><CDA8>ʱ<EFBFBD><CAB1>)
VALUES
(a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
l_<6C><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
l_<6C><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
a_<61><5F><EFBFBD>յص<D5B5>,
a_<61><5F><EFBFBD><EFBFBD>,
a_Ʒ<5F><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
a_<61><5F>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>,
a_<61><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
a_<61><5F><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>߳<EFBFBD>,
a_<61>˼۽<CBBC><DBBD><EFBFBD>,
a_<61><5F><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ƺ˼<C6BA>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
a_<61>˼۳<CBBC><DBB3>̷ֹ<CCB7>˾<EFBFBD><CBBE><EFBFBD><EFBFBD>,
a_<61>˼۳<CBBC><DBB3>̴<EFBFBD><CCB4><EFBFBD>,
a_<61>˼۳<CBBC><DBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
l_<6C>˼<EFBFBD>ͨ<EFBFBD><CDA8>ʱ<EFBFBD><CAB1>);
END;
PROCEDURE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>޼<EFBFBD><DEBC>ر<EFBFBD><D8B1><EFBFBD> PROCEDURE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>޼<EFBFBD><DEBC>ر<EFBFBD><D8B1><EFBFBD>
( (
a_<61>ֹ<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> VARCHAR2, a_<61>ֹ<EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> VARCHAR2,