mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-30 15:42:34 +02:00
Move 'CART.SCHED_CODES' field to 'CART_SCHED_CODES' table.
This commit is contained in:
parent
8af01a466d
commit
3ed7a7ca6f
@ -18007,3 +18007,7 @@
|
|||||||
* Fixed a regression in rdpanel(1) background image.
|
* Fixed a regression in rdpanel(1) background image.
|
||||||
2018-11-09 Fred Gleason <fredg@paravelsystems.com>
|
2018-11-09 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Removed a debugging printf in rdpanel(1).
|
* Removed a debugging printf in rdpanel(1).
|
||||||
|
2018-11-13 Patrick Linstruth <patrick@deltecent.com>
|
||||||
|
* Added a 'CART_SCHED_CODES' table to the database.
|
||||||
|
* Removed 'SCHED_CODES' field from 'CART'
|
||||||
|
* Incremented the database version to 299.
|
||||||
|
10
docs/tables/cart_sched_codes.txt
Normal file
10
docs/tables/cart_sched_codes.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
CART_SCHED_CODES Table Layout for Rivendell
|
||||||
|
|
||||||
|
The CART_SCHED_CODES table holds the scheduler codes for carts.
|
||||||
|
|
||||||
|
FIELD NAME TYPE REMARKS
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
ID int(11) Primary Key, Not Null, Unique
|
||||||
|
Auto-Increment
|
||||||
|
CART_NUMBER int(11) From CART.NUMBER
|
||||||
|
SCHED_CODE varchar(11)
|
@ -24,7 +24,7 @@
|
|||||||
/*
|
/*
|
||||||
* Current Database Version
|
* Current Database Version
|
||||||
*/
|
*/
|
||||||
#define RD_VERSION_DATABASE 298
|
#define RD_VERSION_DATABASE 299
|
||||||
|
|
||||||
|
|
||||||
#endif // DBVERSION_H
|
#endif // DBVERSION_H
|
||||||
|
@ -260,21 +260,21 @@ void RDCart::setYear(int year)
|
|||||||
|
|
||||||
QString RDCart::schedCodes() const
|
QString RDCart::schedCodes() const
|
||||||
{
|
{
|
||||||
return RDGetSqlValue("CART","NUMBER",cart_number,"SCHED_CODES").toString();
|
QString sched_codes="";
|
||||||
|
|
||||||
|
QStringList list = schedCodesList();
|
||||||
|
|
||||||
|
for(int i=0;i<list.size();i++) {
|
||||||
|
sched_codes+=QString().sprintf("%-11s",(const char *)list.at(i));
|
||||||
|
}
|
||||||
|
sched_codes+=".";
|
||||||
|
return sched_codes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RDCart::setSchedCodes(const QString &sched_codes) const
|
void RDCart::setSchedCodes(const QString &sched_codes) const
|
||||||
{
|
|
||||||
SetRow("SCHED_CODES",sched_codes);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QStringList RDCart::schedCodesList() const
|
|
||||||
{
|
{
|
||||||
QStringList list;
|
QStringList list;
|
||||||
QString sched_codes=
|
|
||||||
RDGetSqlValue("CART","NUMBER",cart_number,"SCHED_CODES").toString();
|
|
||||||
|
|
||||||
for(int i=0;i<255;i+=11) {
|
for(int i=0;i<255;i+=11) {
|
||||||
QString code=sched_codes.mid(i,11);
|
QString code=sched_codes.mid(i,11);
|
||||||
@ -282,6 +282,20 @@ QStringList RDCart::schedCodesList() const
|
|||||||
list.push_back(code.stripWhiteSpace());
|
list.push_back(code.stripWhiteSpace());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
setSchedCodesList(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QStringList RDCart::schedCodesList() const
|
||||||
|
{
|
||||||
|
QStringList list;
|
||||||
|
RDSqlQuery *q;
|
||||||
|
|
||||||
|
QString sql=QString().sprintf("select SCHED_CODE from CART_SCHED_CODES where CART_NUMBER=%u", cart_number);
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
while(q->next()) {
|
||||||
|
list.push_back(q->value(0).toString());
|
||||||
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
@ -289,13 +303,19 @@ QStringList RDCart::schedCodesList() const
|
|||||||
|
|
||||||
void RDCart::setSchedCodesList(const QStringList &codes) const
|
void RDCart::setSchedCodesList(const QStringList &codes) const
|
||||||
{
|
{
|
||||||
|
RDSqlQuery *q;
|
||||||
|
QString sql;
|
||||||
QString sched_codes="";
|
QString sched_codes="";
|
||||||
|
|
||||||
|
sql=QString().sprintf("delete from CART_SCHED_CODES where CART_NUMBER=%u",cart_number);
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
delete q;
|
||||||
|
|
||||||
for(int i=0;i<codes.size();i++) {
|
for(int i=0;i<codes.size();i++) {
|
||||||
sched_codes+=QString().sprintf("%-11s",(const char *)codes[i].left(11));
|
sql=QString().sprintf("insert into CART_SCHED_CODES set CART_NUMBER=%u,SCHED_CODE='%s'",cart_number,(const char *)codes.at(i));
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
delete q;
|
||||||
}
|
}
|
||||||
sched_codes+=".";
|
|
||||||
SetRow("SCHED_CODES",sched_codes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -324,7 +344,7 @@ void RDCart::removeSchedCode(const QString &code) const
|
|||||||
void RDCart::updateSchedCodes(const QString &add_codes,const QString &remove_codes) const
|
void RDCart::updateSchedCodes(const QString &add_codes,const QString &remove_codes) const
|
||||||
{
|
{
|
||||||
QString sched_codes;
|
QString sched_codes;
|
||||||
QString save_codes="";
|
QStringList save_codes;
|
||||||
QString sql;
|
QString sql;
|
||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString str;
|
QString str;
|
||||||
@ -336,15 +356,13 @@ void RDCart::updateSchedCodes(const QString &add_codes,const QString &remove_cod
|
|||||||
while(q->next()) {
|
while(q->next()) {
|
||||||
QString wstr=q->value(0).toString();
|
QString wstr=q->value(0).toString();
|
||||||
wstr+=" ";
|
wstr+=" ";
|
||||||
wstr=wstr.left(11);
|
wstr=wstr.left(11);
|
||||||
if((sched_codes.contains(wstr)>0||add_codes.contains(wstr)>0)&&remove_codes.contains(wstr)==0) {
|
if((sched_codes.contains(wstr)>0||add_codes.contains(wstr)>0)&&remove_codes.contains(wstr)==0) {
|
||||||
save_codes+=wstr;
|
save_codes.push_back(wstr.stripWhiteSpace());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
|
setSchedCodesList(save_codes);
|
||||||
save_codes+=".";
|
|
||||||
SetRow("SCHED_CODES",save_codes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1608,6 +1626,9 @@ bool RDCart::removeCart(unsigned cart_num,RDStation *station,RDUser *user,
|
|||||||
sql=QString().sprintf("delete from CUTS where CART_NUMBER=%u",cart_num);
|
sql=QString().sprintf("delete from CUTS where CART_NUMBER=%u",cart_num);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
|
sql=QString().sprintf("delete from CART_SCHED_CODES where CART_NUMBER=%u",cart_num);
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
delete q;
|
||||||
sql=QString().sprintf("delete from REPL_CART_STATE where CART_NUMBER=%u",
|
sql=QString().sprintf("delete from REPL_CART_STATE where CART_NUMBER=%u",
|
||||||
cart_num);
|
cart_num);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
|
@ -703,7 +703,7 @@ void RDCartDialog::RefreshCarts()
|
|||||||
"CART.GROUP_NAME,"+ // 12
|
"CART.GROUP_NAME,"+ // 12
|
||||||
"GROUPS.COLOR "+ // 13
|
"GROUPS.COLOR "+ // 13
|
||||||
"from CART left join GROUPS "+
|
"from CART left join GROUPS "+
|
||||||
"on CART.GROUP_NAME=GROUPS.NAME where "+
|
"on CART.GROUP_NAME=GROUPS.NAME "+
|
||||||
GetSearchFilter(cart_filter_edit->text(),group,schedcode);
|
GetSearchFilter(cart_filter_edit->text(),group,schedcode);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -723,8 +723,8 @@ void RDCartDialog::RefreshCarts()
|
|||||||
"CART.GROUP_NAME,"+ // 12
|
"CART.GROUP_NAME,"+ // 12
|
||||||
"GROUPS.COLOR "+ // 13
|
"GROUPS.COLOR "+ // 13
|
||||||
"from CART left join GROUPS "+
|
"from CART left join GROUPS "+
|
||||||
"on CART.GROUP_NAME=GROUPS.NAME where "+
|
"on CART.GROUP_NAME=GROUPS.NAME "+
|
||||||
"("+GetSearchFilter(cart_filter_edit->text(),group,schedcode)+")&&"+
|
GetSearchFilter(cart_filter_edit->text(),group,schedcode)+"&&"+
|
||||||
QString().sprintf("(TYPE=%d)",cart_type);
|
QString().sprintf("(TYPE=%d)",cart_type);
|
||||||
}
|
}
|
||||||
if(cart_limit_box->isChecked()) {
|
if(cart_limit_box->isChecked()) {
|
||||||
|
@ -103,20 +103,29 @@ QString RDBaseSearchText(QString filter,bool incl_cuts)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString RDSchedSearchText(const QString &schedcode)
|
||||||
|
{
|
||||||
|
QString ret="";
|
||||||
|
|
||||||
|
if(!schedcode.isEmpty()) {
|
||||||
|
ret+=QString(" inner join CART_SCHED_CODES on CART.NUMBER=CART_SCHED_CODES.CART_NUMBER and CART_SCHED_CODES.SCHED_CODE=\"")+RDEscapeString(schedcode)+"\" ";
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
QString RDCartSearchText(QString filter,const QString &group,
|
QString RDCartSearchText(QString filter,const QString &group,
|
||||||
const QString &schedcode,bool incl_cuts)
|
const QString &schedcode,bool incl_cuts)
|
||||||
{
|
{
|
||||||
QString ret=QString(" ")+RDBaseSearchText(filter,incl_cuts);
|
QString ret="";
|
||||||
|
|
||||||
|
ret+=RDSchedSearchText(schedcode);
|
||||||
|
ret+=QString(" where ")+RDBaseSearchText(filter,incl_cuts);
|
||||||
if(!group.isEmpty()) {
|
if(!group.isEmpty()) {
|
||||||
ret+=QString("&&(CART.GROUP_NAME=\"")+RDEscapeString(group)+"\")";
|
ret+=QString("&&(CART.GROUP_NAME=\"")+RDEscapeString(group)+"\")";
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!schedcode.isEmpty()) {
|
|
||||||
QString code=schedcode+" ";
|
|
||||||
code=code.left(11);
|
|
||||||
ret+=QString("&&(SCHED_CODES like \"%")+RDEscapeString(code)+"%\")";
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,8 +135,10 @@ QString RDAllCartSearchText(const QString &filter,const QString &schedcode,
|
|||||||
{
|
{
|
||||||
QString sql;
|
QString sql;
|
||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
QString search="(";
|
QString search="";
|
||||||
|
|
||||||
|
search+=RDSchedSearchText(schedcode);
|
||||||
|
search+=" where (";
|
||||||
sql=QString("select GROUP_NAME from USER_PERMS where ")+
|
sql=QString("select GROUP_NAME from USER_PERMS where ")+
|
||||||
"USER_NAME=\""+RDEscapeString(user)+"\"";
|
"USER_NAME=\""+RDEscapeString(user)+"\"";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
@ -139,11 +150,5 @@ QString RDAllCartSearchText(const QString &filter,const QString &schedcode,
|
|||||||
search=search.left(search.length()-2)+QString(")");
|
search=search.left(search.length()-2)+QString(")");
|
||||||
search+=QString("&&")+RDBaseSearchText(filter,incl_cuts);
|
search+=QString("&&")+RDBaseSearchText(filter,incl_cuts);
|
||||||
|
|
||||||
if(!schedcode.isEmpty()) {
|
|
||||||
QString code=schedcode+" ";
|
|
||||||
code=code.left(11);
|
|
||||||
search+=QString("&&(SCHED_CODES like \"%%")+RDEscapeString(code)+"%%\")";
|
|
||||||
}
|
|
||||||
|
|
||||||
return search;
|
return search;
|
||||||
}
|
}
|
||||||
|
@ -489,7 +489,7 @@ void RDCutDialog::RefreshCarts()
|
|||||||
sql=QString().sprintf("select CART.NUMBER,CART.TITLE,CART.GROUP_NAME,\
|
sql=QString().sprintf("select CART.NUMBER,CART.TITLE,CART.GROUP_NAME,\
|
||||||
GROUPS.COLOR,CART.TYPE from CART left join GROUPS \
|
GROUPS.COLOR,CART.TYPE from CART left join GROUPS \
|
||||||
on CART.GROUP_NAME=GROUPS.NAME \
|
on CART.GROUP_NAME=GROUPS.NAME \
|
||||||
where (%s)&&((CART.TYPE=%u))",
|
%s&&(CART.TYPE=%u)",
|
||||||
(const char *)RDCartSearchText(cut_filter_edit->text(),
|
(const char *)RDCartSearchText(cut_filter_edit->text(),
|
||||||
group,schedcode.utf8(),
|
group,schedcode.utf8(),
|
||||||
false),
|
false),
|
||||||
|
@ -594,8 +594,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
|
|
||||||
sql=QString("select ")+
|
sql=QString("select ")+
|
||||||
"NUMBER,"+
|
"NUMBER,"+
|
||||||
"ARTIST,"+
|
"ARTIST "+
|
||||||
"SCHED_CODES "+
|
|
||||||
"from CART where "+
|
"from CART where "+
|
||||||
"GROUP_NAME=\""+RDEscapeString(SchedGroup())+"\"";
|
"GROUP_NAME=\""+RDEscapeString(SchedGroup())+"\"";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
@ -617,7 +616,9 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
|||||||
for(counter=0;counter<querysize;counter++)
|
for(counter=0;counter<querysize;counter++)
|
||||||
{
|
{
|
||||||
q->seek(counter);
|
q->seek(counter);
|
||||||
schedCL->insertItem(q->value(0).toUInt(),0,0,q->value(1).toString(),q->value(2).toString());
|
RDCart *cart=new RDCart(q->value(0).toUInt());
|
||||||
|
schedCL->insertItem(q->value(0).toUInt(),0,0,q->value(1).toString(),cart->schedCodes());
|
||||||
|
delete cart;
|
||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
|
|
||||||
|
@ -215,13 +215,11 @@ void ListReports::GenerateCartReport(QString *report)
|
|||||||
"from CART left join CUTS on "+
|
"from CART left join CUTS on "+
|
||||||
"CART.NUMBER=CUTS.CART_NUMBER ";
|
"CART.NUMBER=CUTS.CART_NUMBER ";
|
||||||
if(list_group==QString("ALL")) {
|
if(list_group==QString("ALL")) {
|
||||||
sql+=QString(" where ")+
|
sql+=RDAllCartSearchText(list_filter,schedcode,rda->user()->name(),true)+" && "+
|
||||||
RDAllCartSearchText(list_filter,schedcode,rda->user()->name(),true)+" && "+
|
|
||||||
list_type_filter+" order by NUMBER";
|
list_type_filter+" order by NUMBER";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sql+=QString(" where ")+
|
sql+=RDCartSearchText(list_filter,list_group,schedcode,true)+" && "+
|
||||||
RDCartSearchText(list_filter,list_group,schedcode,true)+" && "+
|
|
||||||
list_type_filter+" order by NUMBER";
|
list_type_filter+" order by NUMBER";
|
||||||
}
|
}
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
@ -376,13 +374,11 @@ void ListReports::GenerateCutReport(QString *report)
|
|||||||
"from CART join CUTS "+
|
"from CART join CUTS "+
|
||||||
"on CART.NUMBER=CUTS.CART_NUMBER ";
|
"on CART.NUMBER=CUTS.CART_NUMBER ";
|
||||||
if(list_group==QString("ALL")) {
|
if(list_group==QString("ALL")) {
|
||||||
sql+=QString(" where ")+
|
sql+=RDAllCartSearchText(list_filter,schedcode,rda->user()->name(),true)+" && "+
|
||||||
RDAllCartSearchText(list_filter,schedcode,rda->user()->name(),true)+" && "+
|
|
||||||
list_type_filter+" order by CART.NUMBER";
|
list_type_filter+" order by CART.NUMBER";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sql+=QString(" where ")+
|
sql+=RDCartSearchText(list_filter,list_group,schedcode,true)+" && "+
|
||||||
RDCartSearchText(list_filter,list_group,schedcode,true)+" && "+
|
|
||||||
list_type_filter+" order by CART.NUMBER";
|
list_type_filter+" order by CART.NUMBER";
|
||||||
}
|
}
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
@ -587,13 +583,11 @@ void ListReports::GenerateCartDumpFixed(QString *report,bool prepend_names)
|
|||||||
"from CART join CUTS "+
|
"from CART join CUTS "+
|
||||||
"on CART.NUMBER=CUTS.CART_NUMBER ";
|
"on CART.NUMBER=CUTS.CART_NUMBER ";
|
||||||
if(list_group==QString("ALL")) {
|
if(list_group==QString("ALL")) {
|
||||||
sql+=QString(" where ")+
|
sql+=RDAllCartSearchText(list_filter,schedcode,rda->user()->name(),true)+" && "+
|
||||||
RDAllCartSearchText(list_filter,schedcode,rda->user()->name(),true)+" && "+
|
|
||||||
list_type_filter+" order by CUTS.CUT_NAME";
|
list_type_filter+" order by CUTS.CUT_NAME";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sql+=QString(" where ")+
|
sql+=RDCartSearchText(list_filter,list_group,schedcode,true)+" && "+
|
||||||
RDCartSearchText(list_filter,list_group,schedcode,true)+" && "+
|
|
||||||
list_type_filter+" order by CUTS.CUT_NAME";
|
list_type_filter+" order by CUTS.CUT_NAME";
|
||||||
}
|
}
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
@ -755,13 +749,11 @@ void ListReports::GenerateCartDumpCsv(QString *report,bool prepend_names)
|
|||||||
"from CART left join CUTS "+
|
"from CART left join CUTS "+
|
||||||
"on CART.NUMBER=CUTS.CART_NUMBER ";
|
"on CART.NUMBER=CUTS.CART_NUMBER ";
|
||||||
if(list_group==QString("ALL")) {
|
if(list_group==QString("ALL")) {
|
||||||
sql+=QString(" where ")+
|
sql+=RDAllCartSearchText(list_filter,schedcode,rda->user()->name(),true)+" && "+
|
||||||
RDAllCartSearchText(list_filter,schedcode,rda->user()->name(),true)+" && "+
|
|
||||||
list_type_filter+" order by CART.NUMBER,CUTS.CUT_NAME";
|
list_type_filter+" order by CART.NUMBER,CUTS.CUT_NAME";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sql+=QString(" where ")+
|
sql+=RDCartSearchText(list_filter,list_group,schedcode,true)+" && "+
|
||||||
RDCartSearchText(list_filter,list_group,schedcode,true)+" && "+
|
|
||||||
list_type_filter+" order by CART.NUMBER,CUTS.CUT_NAME";
|
list_type_filter+" order by CART.NUMBER,CUTS.CUT_NAME";
|
||||||
}
|
}
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
|
@ -1411,14 +1411,12 @@ QString MainWidget::WhereClause() const
|
|||||||
schedcode=lib_codes_box->currentText();
|
schedcode=lib_codes_box->currentText();
|
||||||
}
|
}
|
||||||
if(lib_group_box->currentText()==QString(tr("ALL"))) {
|
if(lib_group_box->currentText()==QString(tr("ALL"))) {
|
||||||
sql+=QString(" where ")+
|
sql+=RDAllCartSearchText(lib_filter_edit->text(),schedcode,
|
||||||
RDAllCartSearchText(lib_filter_edit->text(),schedcode,
|
|
||||||
rda->user()->name(),true)+" && "+type_filter;
|
rda->user()->name(),true)+" && "+type_filter;
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sql+=QString(" where ")+
|
sql+=RDCartSearchText(lib_filter_edit->text(),lib_group_box->currentText(),
|
||||||
RDCartSearchText(lib_filter_edit->text(),lib_group_box->currentText(),
|
|
||||||
schedcode,true)+" && "+type_filter;
|
schedcode,true)+" && "+type_filter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1289,8 +1289,7 @@ void EditEvent::RefreshLibrary()
|
|||||||
if(group==QString(tr("ALL"))) {
|
if(group==QString(tr("ALL"))) {
|
||||||
group="";
|
group="";
|
||||||
}
|
}
|
||||||
sql+=QString(" where ")+
|
sql+=RDCartSearchText(event_lib_filter_edit->text(),group,"",false)+" && "+
|
||||||
RDCartSearchText(event_lib_filter_edit->text(),group,"",false)+" && "+
|
|
||||||
type_filter;
|
type_filter;
|
||||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||||
Q3ListViewItem *item;
|
Q3ListViewItem *item;
|
||||||
|
@ -40,6 +40,29 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg)
|
|||||||
|
|
||||||
// NEW SCHEMA REVERSIONS GO HERE...
|
// NEW SCHEMA REVERSIONS GO HERE...
|
||||||
|
|
||||||
|
//
|
||||||
|
// Revert 299
|
||||||
|
//
|
||||||
|
if((cur_schema==299)&&(set_schema<cur_schema)) {
|
||||||
|
QString schedcode;
|
||||||
|
|
||||||
|
q=new RDSqlQuery("alter table CART add column SCHED_CODES VARCHAR( 255 ) NULL default '.' after MACROS",false);
|
||||||
|
delete q;
|
||||||
|
|
||||||
|
q=new RDSqlQuery("select CART_NUMBER,SCHED_CODE from CART_SCHED_CODES order by CART_NUMBER",false);
|
||||||
|
while(q->next()) {
|
||||||
|
schedcode=QString().sprintf("%-11s",(const char *)q->value(1).toString());
|
||||||
|
q1=new RDSqlQuery(QString().sprintf("update CART set SCHED_CODES=CONCAT(\"%s\",SCHED_CODES) where NUMBER=%d",(const char *)schedcode,q->value(0).toUInt()),false);
|
||||||
|
delete q1;
|
||||||
|
}
|
||||||
|
delete q;
|
||||||
|
|
||||||
|
q=new RDSqlQuery("drop table CART_SCHED_CODES",false);
|
||||||
|
delete q;
|
||||||
|
|
||||||
|
WriteSchemaVersion(--cur_schema);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Revert 298
|
// Revert 298
|
||||||
//
|
//
|
||||||
|
@ -140,7 +140,7 @@ void MainObject::InitializeSchemaMap() {
|
|||||||
global_version_map["2.17"]=268;
|
global_version_map["2.17"]=268;
|
||||||
global_version_map["2.18"]=272;
|
global_version_map["2.18"]=272;
|
||||||
global_version_map["2.19"]=275;
|
global_version_map["2.19"]=275;
|
||||||
global_version_map["3.0"]=298;
|
global_version_map["3.0"]=299;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -9803,6 +9803,30 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)
|
|||||||
|
|
||||||
// NEW SCHEMA UPDATES GO HERE...
|
// NEW SCHEMA UPDATES GO HERE...
|
||||||
|
|
||||||
|
if((cur_schema<299)&&(set_schema>cur_schema)) {
|
||||||
|
sql=QString("create table if not exists CART_SCHED_CODES (")+
|
||||||
|
"ID int auto_increment not null primary key,"+
|
||||||
|
"CART_NUMBER int unsigned not null default 0,"+
|
||||||
|
"SCHED_CODE varchar(11) not null,"+
|
||||||
|
"index SCHED_CODE_IDX (CART_NUMBER,SCHED_CODE))"+
|
||||||
|
" charset utf8mb4 collate utf8mb4_general_ci"+
|
||||||
|
db_table_create_postfix;
|
||||||
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
q=new RDSqlQuery("select NUMBER,SCHED_CODES from CART where TYPE=1",false);
|
||||||
|
while(q->next()) {
|
||||||
|
cart=new RDCart(q->value(0).toUInt());
|
||||||
|
cart->setSchedCodes(q->value(1).toString());
|
||||||
|
}
|
||||||
|
delete q;
|
||||||
|
|
||||||
|
q=new RDSqlQuery("alter table CART drop column SCHED_CODES",false);
|
||||||
|
delete q;
|
||||||
|
|
||||||
|
WriteSchemaVersion(++cur_schema);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Maintainer's Note:
|
// Maintainer's Note:
|
||||||
|
@ -164,7 +164,7 @@ void Xport::ListCarts()
|
|||||||
if(cart_type!=RDCart::All) {
|
if(cart_type!=RDCart::All) {
|
||||||
where+=QString().sprintf("&&(TYPE=%u)",cart_type);
|
where+=QString().sprintf("&&(TYPE=%u)",cart_type);
|
||||||
}
|
}
|
||||||
sql=RDCart::xmlSql(include_cuts)+"where "+where+" order by CART.NUMBER";
|
sql=RDCart::xmlSql(include_cuts)+where+" order by CART.NUMBER";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
|
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user