Stringupdate="UPDATE \"CHINT_ QUOTATION_TITLE_TEMPLATE\" set \"state\"='已创建' where \"tennumber\" = '"+quotations.get(selectedRow).getTennumber()+"'";
Stringupdate="UPDATE \"CHINT_ QUOTATION_TITLE_TEMPLATE\" set \"state\"='已创建' where \"tennumber\" = '"
+quotations.get(selectedRow).getTennumber()+"'";
System.out.println("update:"+update);
intstate=SqlUtil.update(update);
System.out.println("修改数据库:"+state);
Stringinsert="INSERT INTO \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\"(\"cbdlx\",\"projectid\",\"revision\",\"factory\",\"proname\",\"tennumber\",\"promanager\",\"quantity\",\"tramodel\",\"capfactor\",\"volratio\",\"noloadloss\",\"loadloss\",\"impvoltage\",\"traweight\",\"totweight\",\"copconsumption\",\"cmarketprice\",\"vollevel\") values('"+
Stringinsert="INSERT INTO \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\"(\"cbdlx\",\"projectid\",\"revision\",\"factory\",\"proname\",\"tennumber\",\"promanager\",\"quantity\",\"tramodel\",\"capfactor\",\"volratio\",\"noloadloss\",\"loadloss\",\"impvoltage\",\"traweight\",\"totweight\",\"copconsumption\",\"cmarketprice\",\"vollevel\") values('"
@ -167,7 +169,9 @@ public class ButtonCellEditor extends AbstractCellEditor implements TableCellEdi
SqlUtil.write(insertsql);
}
Stringselect2="SELECT * FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"+project.getStringProperty("item_id")+"' and \"cbdlx\" = '报价成本单' order by \"matgroup\" asc ,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
Stringselect2="SELECT * FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"
+project.getStringProperty("item_id")
+"' and \"cbdlx\" = '报价成本单' order by \"matgroup\" asc ,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
System.out.println("select2:"+select2);
ResultSetresultSet2=SqlUtil.read(select2);
tableList=newArrayList<QuotationMX>();
@ -183,14 +187,19 @@ public class ButtonCellEditor extends AbstractCellEditor implements TableCellEdi
Stringselect1="SELECT * FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" WHERE \"projectid\"='"+project.getStringProperty("item_id")+"' and \"cbdlx\" = '报价成本单' order by \"revision\" desc ";
Stringselect1="SELECT * FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" WHERE \"projectid\"='"
+project.getStringProperty("item_id")
+"' and \"cbdlx\" = '报价成本单' order by \"revision\" desc ";
StringgetLastRevSql1="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"projectid\" = '"+project.getStringProperty("item_id")+"' and \"cbdlx\" = '"+"报价成本单"+"' order by \"revision\" desc";
StringgetLastRevSql1="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"projectid\" = '"
@ -152,8 +176,11 @@ public class CostListManagementHandler extends AbstractHandler{
e1.printStackTrace();
}
Stringselect2="SELECT * FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"+project.getStringProperty("item_id")+"' and \"cbdlx\" = '报价成本单' and \"revision\" = '"+revList.get(0)+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
Stringselect2="SELECT * FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"
+project.getStringProperty("item_id")
+"' and \"cbdlx\" = '报价成本单' and \"revision\" = '"
+revList.get(0)
+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
Stringsql1="SELECT DISTINCT \"cbdlx\" FROM \"CHINT_ QUOTATION_LOV\"";
System.out.println(sql1);
ResultSetresultSet1=SqlUtil.read(sql1);
@ -396,7 +391,8 @@ public class MyController extends KFXPanelController {
// 查询版次
Stringsql2="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+"报价成本单"+"'";
Stringsql2="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+"报价成本单"+"'";
System.out.println(sql2);
ResultSetresultSet2=SqlUtil.read(sql2);
List<String>revision=newArrayList<String>();
@ -447,12 +443,10 @@ public class MyController extends KFXPanelController {
@ -519,7 +508,9 @@ public class MyController extends KFXPanelController {
// 根据选择的成本单类型刷新版本下拉框
try{
Stringrevsql="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+selectedItemType+"' order by \"revision\" asc";
Stringrevsql="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+selectedItemType
+"' order by \"revision\" asc";
System.out.println(revsql);
ResultSetresultRev=SqlUtil.read(revsql);
List<String>revisions=newArrayList<String>();
@ -544,12 +535,11 @@ public class MyController extends KFXPanelController {
e.printStackTrace();
}
// 开始刷新数据,设置只能查看数据
System.out.println("开始刷新头表数据");
StringselSQL="SELECT \"cbdlx\",\"projectid\",\"revision\",\"factory\",\"proname\",\"tennumber\",\"promanager\",\"quantity\",\"tramodel\",\"capfactor\",\"volratio\",\"noloadloss\",\"loadloss\",\"impvoltage\",\"traweight\",\"totweight\",\"copconsumption\",\"cmarketprice\",\"vollevel\" FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"+rev+"' and \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"'";
StringselSQL="SELECT \"cbdlx\",\"projectid\",\"revision\",\"factory\",\"proname\",\"tennumber\",\"promanager\",\"quantity\",\"tramodel\",\"capfactor\",\"volratio\",\"noloadloss\",\"loadloss\",\"impvoltage\",\"traweight\",\"totweight\",\"copconsumption\",\"cmarketprice\",\"vollevel\" FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"+rev
+"' and \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"'";
// 根据查询结果更新数据
System.out.println(selSQL);
try{
@ -579,7 +569,10 @@ public class MyController extends KFXPanelController {
System.out.println("开始刷新明细数据");
try{
StringreSql="SELECT * FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"revision\" = '"+rev+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
StringreSql="SELECT * FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"
+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"revision\" = '"+rev
+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
@ -652,13 +651,8 @@ public class MyController extends KFXPanelController {
e.printStackTrace();
}
});
// 版本下拉框,按钮监听
editionComboBox.setOnAction(event->{
@ -666,7 +660,9 @@ public class MyController extends KFXPanelController {
// 开始刷新数据,设置只能查看数据
System.out.println("开始刷新头表数据");
StringselSQL="SELECT \"cbdlx\",\"projectid\",\"revision\",\"factory\",\"proname\",\"tennumber\",\"promanager\",\"quantity\",\"tramodel\",\"capfactor\",\"volratio\",\"noloadloss\",\"loadloss\",\"impvoltage\",\"traweight\",\"totweight\",\"copconsumption\",\"cmarketprice\",\"vollevel\" FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"+selectedItem+"' and \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"'";
StringselSQL="SELECT \"cbdlx\",\"projectid\",\"revision\",\"factory\",\"proname\",\"tennumber\",\"promanager\",\"quantity\",\"tramodel\",\"capfactor\",\"volratio\",\"noloadloss\",\"loadloss\",\"impvoltage\",\"traweight\",\"totweight\",\"copconsumption\",\"cmarketprice\",\"vollevel\" FROM \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"+selectedItem
+"' and \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"'";
// 根据查询结果更新数据
System.out.println(selSQL);
try{
@ -694,10 +690,13 @@ public class MyController extends KFXPanelController {
e1.printStackTrace();
}
System.out.println("开始刷新明细数据");
try{
StringreSql="SELECT * FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"revision\" = '"+selectedItem+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
StringreSql="SELECT * FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"
+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"revision\" = '"
+selectedItem
+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
Stringset="select * from \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"+editionComboBox.getSelectionModel().getSelectedItem()+"'";
Stringset="select * from \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" where \"cbdlx\" = '"
+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"
StringupdateTop="UPDATE \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" SET \"cbdlx\" = '"+
newCbdlx+"', \"projectid\" = '"+
newProjectid+"', \"revision\" = '"+
newRevision+"', \"factory\" = '"+
newFactory+"', \"proname\" = '"+
newProname+"', \"tennumber\" = '"+
newTennumber+"', \"promanager\" = '"+
newPromanager+"', \"quantity\" = '"+
newQuantity+"', \"tramodel\" = '"+
newTramodel+"', \"capfactor\" = '"+
newCapfactor+"', \"volratio\" = '"+
newVolratio+"', \"noloadloss\" = '"+
newNoloadloss+"', \"loadloss\" = '"+
newLoadloss+"', \"impvoltage\" = '"+
newImpvoltage+"', \"traweight\" = '"+
newTraweight+"', \"totweight\" = '"+
newTotweight+"', \"copconsumption\" = '"+
newCopconsumption+"', \"cmarketprice\" = '"+
newCmarketprice+"', \"vollevel\" = '"+
newVollevel+"' where \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"+editionComboBox.getSelectionModel().getSelectedItem()+"'";
StringupdateTop="UPDATE \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\" SET \"cbdlx\" = '"+newCbdlx
+"' where \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()
+"' and \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()
+"' and \"revision\" = '"+editionComboBox.getSelectionModel().getSelectedItem()+"'";
System.out.println("insertTop:"+updateTop);
SqlUtil.update(updateTop);
System.out.println("更新数据成功");
// 将关联的明细表数据删除,重新插入数据
StringdeleSql="DELETE FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"+editionComboBox.getSelectionModel().getSelectedItem()+"'";
StringdeleSql="DELETE FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"cbdlx\" = '"
+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"
StringdeleteDataSql="DELETE FROM \"CHINT_DBCUSQUOTATION_ DETAILS_TEMPLATE\" where \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"+editionComboBox.getSelectionModel().getSelectedItem()+"' and \"dbcbdlx\" = '"+comparedCostSheetTextField.getText()+"'";
StringdeleteDataSql="DELETE FROM \"CHINT_DBCUSQUOTATION_ DETAILS_TEMPLATE\" where \"cbdlx\" = '"
+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"revision\" = '"
+editionComboBox.getSelectionModel().getSelectedItem()+"' and \"dbcbdlx\" = '"
+comparedCostSheetTextField.getText()+"'";
SqlUtil.delete(deleteDataSql);
}else{
// 插入数据
StringinsertTop="INSERT INTO \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\"(\"cbdlx\",\"projectid\",\"revision\",\"factory\",\"proname\",\"tennumber\",\"promanager\",\"quantity\",\"tramodel\",\"capfactor\",\"volratio\",\"noloadloss\",\"loadloss\",\"impvoltage\",\"traweight\",\"totweight\",\"copconsumption\",\"cmarketprice\",\"vollevel\") values('"+
newCbdlx+"','"+
newProjectid+"','"+
newRevision+"','"+
newFactory+"','"+
newProname+"','"+
newTennumber+"','"+
newPromanager+"','"+
newQuantity+"','"+
newTramodel+"','"+
newCapfactor+"','"+
newVolratio+"','"+
newNoloadloss+"','"+
newLoadloss+"','"+
newImpvoltage+"','"+
newTraweight+"','"+
newTotweight+"','"+
newCopconsumption+"','"+
newCmarketprice+"','"+
newVollevel+"')";
StringinsertTop="INSERT INTO \"CHINT_ CUSQUOTATION_TITLE_TEMPLATE\"(\"cbdlx\",\"projectid\",\"revision\",\"factory\",\"proname\",\"tennumber\",\"promanager\",\"quantity\",\"tramodel\",\"capfactor\",\"volratio\",\"noloadloss\",\"loadloss\",\"impvoltage\",\"traweight\",\"totweight\",\"copconsumption\",\"cmarketprice\",\"vollevel\") values('"
Stringinsert1="INSERT INTO \"CHINT_DBCUSQUOTATION_ DETAILS_TEMPLATE\"(\"cbdlx\",\"dbcbdlx\",\"projectid\",\"revision\",\"dbrevision\",\"dbjg\",\"factory\",\"matgroup\",\"mgsnumber\",\"matcname\",\"matcnumber\",\"matcatname\",\"dbmatcatname\",\"specifications\",\"manufacturer\",\"nwquantity\",\"dbnwquantity\",\"utirate\",\"dbutirate\",\"unit\",\"dbunit\",\"amomoney\",\"dbamomoney\",\"unitprice\",\"dbunitprice\",\"no\",\"Dbno\",\"totalprice\",\"dbtotalprice\") values('"+
Stringinsert1="INSERT INTO \"CHINT_DBCUSQUOTATION_ DETAILS_TEMPLATE\"(\"cbdlx\",\"dbcbdlx\",\"projectid\",\"revision\",\"dbrevision\",\"dbjg\",\"factory\",\"matgroup\",\"mgsnumber\",\"matcname\",\"matcnumber\",\"matcatname\",\"dbmatcatname\",\"specifications\",\"manufacturer\",\"nwquantity\",\"dbnwquantity\",\"utirate\",\"dbutirate\",\"unit\",\"dbunit\",\"amomoney\",\"dbamomoney\",\"unitprice\",\"dbunitprice\",\"no\",\"Dbno\",\"totalprice\",\"dbtotalprice\") values('"
@ -1121,7 +1085,9 @@ public class MyController extends KFXPanelController {
dbtotalpriceList=newArrayList<String>();
System.out.println("用户选择的选项:"+selectedOption);
// 获取数据库该类型成本单最新的版本
StringgetLastRevSql="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+selectedOption+"' order by \"revision\" desc";
StringgetLastRevSql="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+selectedOption
@ -1133,8 +1099,10 @@ public class MyController extends KFXPanelController {
e1.printStackTrace();
}
Stringsql4="SELECT \"matcatname\",\"nwquantity\",\"utirate\",\"unit\",\"amomoney\",\"unitprice\",\"no\",\"totalprice\" FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+selectedOption+"' and \"revision\" = '"+dbRevList.get(0)+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
Stringsql4="SELECT \"matcatname\",\"nwquantity\",\"utirate\",\"unit\",\"amomoney\",\"unitprice\",\"no\",\"totalprice\" FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+selectedOption
+"' and \"revision\" = '"+dbRevList.get(0)
+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
@ -1165,7 +1132,9 @@ public class MyController extends KFXPanelController {
}
// 开始刷新对比结果数据
// 获取数据库该类型成本单最新的版本
StringgetLastRevSql1="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"projectid\" = '"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+selectedOption+"' order by \"revision\" desc";
StringgetLastRevSql1="SELECT \"revision\" FROM \"CHINT_ CUSQUOTATION_ DETAILS_TEMPLATE\" where \"projectid\" = '"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+selectedOption
@ -1180,7 +1149,12 @@ public class MyController extends KFXPanelController {
if(revList.size()>0){
try{
StringreSql="SELECT \"dbjg\" FROM \"CHINT_DBCUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"revision\" = '"+editionComboBox.getSelectionModel().getSelectedItem()+"' and \"dbrevision\" = '"+revList.get(0)+"' and \"dbcbdlx\"='"+selectedOption+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";
StringreSql="SELECT \"dbjg\" FROM \"CHINT_DBCUSQUOTATION_ DETAILS_TEMPLATE\" WHERE \"projectid\"='"
+ButtonCellEditor.cusquotation.getProjectid()+"' and \"cbdlx\" = '"
+costSheetTypeComboBox.getSelectionModel().getSelectedItem()+"' and \"revision\" = '"
+editionComboBox.getSelectionModel().getSelectedItem()+"' and \"dbrevision\" = '"
+revList.get(0)+"' and \"dbcbdlx\"='"+selectedOption
+"' order by \"matgroup\" asc,TO_NUMBER(\"mgsnumber\") asc ,TO_NUMBER(\"matcnumber\") asc,TO_NUMBER(\"no\") asc";