mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-11-26 15:20:29 +01:00
Move 'CART.SCHED_CODES' field to 'CART_SCHED_CODES' table.
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
/*
|
||||
* Current Database Version
|
||||
*/
|
||||
#define RD_VERSION_DATABASE 298
|
||||
#define RD_VERSION_DATABASE 299
|
||||
|
||||
|
||||
#endif // DBVERSION_H
|
||||
|
||||
@@ -260,21 +260,21 @@ void RDCart::setYear(int year)
|
||||
|
||||
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
|
||||
{
|
||||
SetRow("SCHED_CODES",sched_codes);
|
||||
}
|
||||
|
||||
|
||||
QStringList RDCart::schedCodesList() const
|
||||
{
|
||||
QStringList list;
|
||||
QString sched_codes=
|
||||
RDGetSqlValue("CART","NUMBER",cart_number,"SCHED_CODES").toString();
|
||||
|
||||
for(int i=0;i<255;i+=11) {
|
||||
QString code=sched_codes.mid(i,11);
|
||||
@@ -282,6 +282,20 @@ QStringList RDCart::schedCodesList() const
|
||||
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;
|
||||
}
|
||||
@@ -289,13 +303,19 @@ QStringList RDCart::schedCodesList() const
|
||||
|
||||
void RDCart::setSchedCodesList(const QStringList &codes) const
|
||||
{
|
||||
RDSqlQuery *q;
|
||||
QString sql;
|
||||
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++) {
|
||||
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
|
||||
{
|
||||
QString sched_codes;
|
||||
QString save_codes="";
|
||||
QStringList save_codes;
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
QString str;
|
||||
@@ -336,15 +356,13 @@ void RDCart::updateSchedCodes(const QString &add_codes,const QString &remove_cod
|
||||
while(q->next()) {
|
||||
QString wstr=q->value(0).toString();
|
||||
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) {
|
||||
save_codes+=wstr;
|
||||
save_codes.push_back(wstr.stripWhiteSpace());
|
||||
}
|
||||
}
|
||||
delete q;
|
||||
|
||||
save_codes+=".";
|
||||
SetRow("SCHED_CODES",save_codes);
|
||||
setSchedCodesList(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);
|
||||
q=new RDSqlQuery(sql);
|
||||
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",
|
||||
cart_num);
|
||||
q=new RDSqlQuery(sql);
|
||||
|
||||
@@ -703,7 +703,7 @@ void RDCartDialog::RefreshCarts()
|
||||
"CART.GROUP_NAME,"+ // 12
|
||||
"GROUPS.COLOR "+ // 13
|
||||
"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);
|
||||
}
|
||||
else {
|
||||
@@ -723,8 +723,8 @@ void RDCartDialog::RefreshCarts()
|
||||
"CART.GROUP_NAME,"+ // 12
|
||||
"GROUPS.COLOR "+ // 13
|
||||
"from CART left join GROUPS "+
|
||||
"on CART.GROUP_NAME=GROUPS.NAME where "+
|
||||
"("+GetSearchFilter(cart_filter_edit->text(),group,schedcode)+")&&"+
|
||||
"on CART.GROUP_NAME=GROUPS.NAME "+
|
||||
GetSearchFilter(cart_filter_edit->text(),group,schedcode)+"&&"+
|
||||
QString().sprintf("(TYPE=%d)",cart_type);
|
||||
}
|
||||
if(cart_limit_box->isChecked()) {
|
||||
|
||||
@@ -103,20 +103,29 @@ QString RDBaseSearchText(QString filter,bool incl_cuts)
|
||||
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,
|
||||
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()) {
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -126,8 +135,10 @@ QString RDAllCartSearchText(const QString &filter,const QString &schedcode,
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
QString search="(";
|
||||
QString search="";
|
||||
|
||||
search+=RDSchedSearchText(schedcode);
|
||||
search+=" where (";
|
||||
sql=QString("select GROUP_NAME from USER_PERMS where ")+
|
||||
"USER_NAME=\""+RDEscapeString(user)+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
@@ -139,11 +150,5 @@ QString RDAllCartSearchText(const QString &filter,const QString &schedcode,
|
||||
search=search.left(search.length()-2)+QString(")");
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -489,7 +489,7 @@ void RDCutDialog::RefreshCarts()
|
||||
sql=QString().sprintf("select CART.NUMBER,CART.TITLE,CART.GROUP_NAME,\
|
||||
GROUPS.COLOR,CART.TYPE from CART left join GROUPS \
|
||||
on CART.GROUP_NAME=GROUPS.NAME \
|
||||
where (%s)&&((CART.TYPE=%u))",
|
||||
%s&&(CART.TYPE=%u)",
|
||||
(const char *)RDCartSearchText(cut_filter_edit->text(),
|
||||
group,schedcode.utf8(),
|
||||
false),
|
||||
|
||||
@@ -594,8 +594,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
||||
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+
|
||||
"ARTIST,"+
|
||||
"SCHED_CODES "+
|
||||
"ARTIST "+
|
||||
"from CART where "+
|
||||
"GROUP_NAME=\""+RDEscapeString(SchedGroup())+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
@@ -617,7 +616,9 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
||||
for(counter=0;counter<querysize;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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user