123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685 |
- //
- // Created by lloyd on 2020/12/8.
- //
- #include <fstream>
- #include <cstring>
- #include "gtaoiddao.h"
- #include "aoid_config_data.h"
- #include "../gtrunconf.h"
- #include "aoid_singlewell_config.h"
- #include "aoid_gk_model.h"
- #include "yaml-cpp/yaml.h"
- #include "iostream"
- #include "pthread.h"
- #include "../md5lib/MD5.h"
- #include "unistd.h"
- /*
- *
- * create:wsy
- * date:2020.12.10
- * */
- void *gtaoiddao::input_welldata_yml_path_update(void *args) {
- MD5 md5;
- aoid_config_data data;
- while (1) {
- //md5.reset();
- std::string filename = input_welldata_yml_path;
- auto m = std::ifstream(filename.c_str());
- md5.update3(m);
- std::string md5_temp_str = md5.toString();
- //if (std::strcmp(input_welldata_yml_path_md5_str.c_str(),md5_temp_str.c_str())>=0)continue;
- if (input_welldata_yml_path_md5_str == md5_temp_str) {}
- else {
- input_welldata_yml_path_md5_str = md5.toString();
- std::cout << "insert yaml content !" << std::endl;
- YAML::Node config = YAML::LoadFile(input_welldata_yml_path);
- data.jh = config["井号"].as<std::string>();
- data.bj = config["泵径"].as<float>();
- data.bs = config["泵深"].as<float>();
- data.hsl = config["含水率"].as<float>();
- data.smd = config["水密度"].as<float>();
- data.qyb = config["气液比"].as<float>();
- data.dym = config["动液面"].as<float>();
- data.yy = config["油压"].as<float>();
- data.ty = config["套压"].as<float>();
- data.hy = config["回压"].as<float>();
- add_aoid_config_data_toDB(data);
- }
- sleep(3);
- }
- }
- std::string gtaoiddao::input_welldata_yml_path_md5_str = "";
- pthread_t gtaoiddao::hotupdateymlfilecontentthread_pid = 0;
- /*
- * add
- * aoid_singlegt_yield
- */
- bool gtaoiddao::add_aoid_singlegt_yield(aoid_singlegt_yield d) {
- bool r = false;
- std::vector<std::string> insertsql_fields_name;
- std::vector<std::string> insertsql_fields_value;
- /*if (!d.well_id.empty()) {
- insertsql_fields_name.push_back("well_id");
- insertsql_fields_value.push_back("'" + d.well_id + "'");
- } else {
- std::cout << "Warning:必须指定well_id【唯一标识】" << std::endl;
- return r;
- }*/
- if (!d.sgt.empty() && d.sgt.size() > 0) {
- std::string sgt_str = d.gt_trans_arraytostr(d.sgt);
- if (!sgt_str.empty()) {
- insertsql_fields_value.push_back("'" + sgt_str + "'");
- insertsql_fields_name.push_back("sgt");
- }
- }
- // bgt : beng gt
- if (!d.bgt.empty() && d.bgt.size() > 0) {
- std::string bgt_str = d.gt_trans_arraytostr(d.bgt);
- if (!bgt_str.empty()) {
- insertsql_fields_value.push_back("'" + bgt_str + "'");
- insertsql_fields_name.push_back("bgt");
- }
- }
- // refrencesgt : compare sgt
- if (!d.refrencesgt.empty() && d.refrencesgt.size() > 0) {
- std::string refrencesgt_str = d.gt_trans_arraytostr(d.refrencesgt);
- if (!refrencesgt_str.empty()) {
- insertsql_fields_value.push_back("'" + refrencesgt_str + "'");
- insertsql_fields_name.push_back("refrencesgt");
- }
- }
- {
- insertsql_fields_name.push_back("stroke");
- insertsql_fields_value.push_back(std::to_string(d.stroke));
- insertsql_fields_name.push_back("frequence");
- insertsql_fields_value.push_back(std::to_string(d.frequence));
- insertsql_fields_name.push_back("bj");
- insertsql_fields_value.push_back(std::to_string(d.bj));
- insertsql_fields_name.push_back("bs");
- insertsql_fields_value.push_back(std::to_string(d.bs));
- insertsql_fields_name.push_back("cmd");
- insertsql_fields_value.push_back(std::to_string(d.cmd));
- insertsql_fields_name.push_back("yzzj");
- insertsql_fields_value.push_back(std::to_string(d.yzzj));
- insertsql_fields_name.push_back("sxzh");
- insertsql_fields_value.push_back(std::to_string(d.sxzh));
- insertsql_fields_name.push_back("xxzh");
- insertsql_fields_value.push_back(std::to_string(d.xxzh));
- insertsql_fields_name.push_back("zdjg");
- insertsql_fields_value.push_back("'" + d.zdjg + "'");
- insertsql_fields_name.push_back("refrencewell_id");
- insertsql_fields_value.push_back("'" + d.refrencewell_id + "'");
- insertsql_fields_name.push_back("refrencecjsj");
- insertsql_fields_value.push_back(d.refrencecjsj == "" ? "NULL" : "'" + d.refrencecjsj + "'");
- insertsql_fields_name.push_back("liq_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.liq_prod_daily));
- insertsql_fields_name.push_back("oil_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.oil_prod_daily));
- insertsql_fields_name.push_back("gas_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.gas_prod_daily));
- insertsql_fields_name.push_back("eczdjg");
- insertsql_fields_value.push_back("'" + d.eczdjg + "'");
- insertsql_fields_name.push_back("bx");
- insertsql_fields_value.push_back(std::to_string(d.bx));
- insertsql_fields_name.push_back("hsl");
- insertsql_fields_value.push_back(std::to_string(d.hsl));
- insertsql_fields_name.push_back("flag");
- insertsql_fields_value.push_back(std::to_string(d.flag));
- insertsql_fields_name.push_back("bdxs");
- insertsql_fields_value.push_back(std::to_string(d.bdxs));
- insertsql_fields_name.push_back("llpl");
- insertsql_fields_value.push_back(std::to_string(d.llpl));
- insertsql_fields_name.push_back("zcc");
- insertsql_fields_value.push_back(std::to_string(d.zcc));
- insertsql_fields_name.push_back("ycc");
- insertsql_fields_value.push_back(std::to_string(d.ycc));
- insertsql_fields_name.push_back("sjcc");
- insertsql_fields_value.push_back(std::to_string(d.sjcc));
- insertsql_fields_name.push_back("yxcc");
- insertsql_fields_value.push_back(std::to_string(d.yxcc));
- insertsql_fields_name.push_back("ccss");
- insertsql_fields_value.push_back(std::to_string(d.ccss));
- insertsql_fields_name.push_back("lsss");
- insertsql_fields_value.push_back(std::to_string(d.lsss));
- insertsql_fields_name.push_back("gyss");
- insertsql_fields_value.push_back(std::to_string(d.gyss));
- insertsql_fields_name.push_back("pumpdepth");
- insertsql_fields_value.push_back(std::to_string(d.pumpdepth));
- insertsql_fields_name.push_back("hy");
- insertsql_fields_value.push_back(std::to_string(d.hy));
- insertsql_fields_name.push_back("yy");
- insertsql_fields_value.push_back(std::to_string(d.yy));
- insertsql_fields_name.push_back("ty");
- insertsql_fields_value.push_back(std::to_string(d.ty));
- insertsql_fields_name.push_back("water_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.water_prod_daily));
- insertsql_fields_name.push_back("scsj");
- insertsql_fields_value.push_back(std::to_string(d.scsj));
- insertsql_fields_name.push_back("qyb");
- insertsql_fields_value.push_back(std::to_string(d.qyb));
- insertsql_fields_name.push_back("stroke_ratio");
- insertsql_fields_value.push_back(std::to_string(d.stroke_ratio));
- insertsql_fields_name.push_back("djdy");
- insertsql_fields_value.push_back(std::to_string(d.djdy));
- insertsql_fields_name.push_back("hjwd");
- insertsql_fields_value.push_back(std::to_string(d.hjwd));
- insertsql_fields_name.push_back("ybdl");
- insertsql_fields_value.push_back(std::to_string(d.ybdl));
- insertsql_fields_name.push_back("xhqd");
- insertsql_fields_value.push_back(std::to_string(d.xhqd));
- insertsql_fields_name.push_back("sbh");
- insertsql_fields_value.push_back("'" + d.sbh + "'");
- insertsql_fields_name.push_back("prod_date");
- insertsql_fields_value.push_back("'"+d.prod_date+"'");
- }
- if (insertsql_fields_name.size() == 0)return r;
- std::string addsql =
- "insert into gtly.aoid_singlegt_yield(";
- std::string valuessql = "values(";
- for (int i = 0; i < insertsql_fields_name.size(); ++i) {
- if (i > 0) {
- addsql += ",";
- valuessql += ",";
- }
- addsql += insertsql_fields_name[i];
- valuessql += insertsql_fields_value[i];
- }
- addsql = addsql + ")" + valuessql + ")";
- gtpgcnn _gtpgcnn;
- _gtpgcnn.openCnn();
- r = _gtpgcnn.writeContent(addsql);
- _gtpgcnn.clearRes();
- _gtpgcnn.closeCnn();
- return r;
- }
- /*
- * add
- * add_aoid_daily_yield
- */
- bool gtaoiddao::add_aoid_daily_yield(aoid_daily_yield d) {
- bool r = false;
- std::vector<std::string> insertsql_fields_name;
- std::vector<std::string> insertsql_fields_value;
- if (!d.well_id.empty()) {
- insertsql_fields_name.push_back("well_id");
- insertsql_fields_value.push_back("'" + d.well_id + "'");
- } else {
- std::cout << "Warning:必须指定well_id【唯一标识】" << std::endl;
- return r;
- }
- {
- insertsql_fields_name.push_back("liq_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.liq_prod_daily));
- insertsql_fields_name.push_back("oil_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.oil_prod_daily));
- insertsql_fields_name.push_back("water_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.water_prod_daily));
- insertsql_fields_name.push_back("gas_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.gas_prod_daily));
- insertsql_fields_name.push_back("bx");
- insertsql_fields_value.push_back(std::to_string(d.bx));
- insertsql_fields_name.push_back("llpl");
- insertsql_fields_value.push_back(std::to_string(d.llpl));
- insertsql_fields_name.push_back("prod_time");
- insertsql_fields_value.push_back(std::to_string(d.prod_time));
- insertsql_fields_name.push_back("clxs");
- insertsql_fields_value.push_back(std::to_string(d.clxs));
- insertsql_fields_name.push_back("stroke");
- insertsql_fields_value.push_back(std::to_string(d.stroke));
- insertsql_fields_name.push_back("frequence");
- insertsql_fields_value.push_back(std::to_string(d.frequence));
- insertsql_fields_name.push_back("water_cut");
- insertsql_fields_value.push_back(std::to_string(d.water_cut));
- insertsql_fields_name.push_back("bj");
- insertsql_fields_value.push_back(std::to_string(d.bj));
- insertsql_fields_name.push_back("bs");
- insertsql_fields_value.push_back(std::to_string(d.bs));
- insertsql_fields_name.push_back("cmd");
- insertsql_fields_value.push_back(std::to_string(d.cmd));
- insertsql_fields_name.push_back("yz");
- insertsql_fields_value.push_back(std::to_string(d.yz));
- insertsql_fields_name.push_back("scsj");
- insertsql_fields_value.push_back(std::to_string(d.scsj));
- insertsql_fields_name.push_back("yy");
- insertsql_fields_value.push_back(std::to_string(d.yy));
- insertsql_fields_name.push_back("hy");
- insertsql_fields_value.push_back(std::to_string(d.hy));
- insertsql_fields_name.push_back("ty");
- insertsql_fields_value.push_back(std::to_string(d.ty));
- insertsql_fields_name.push_back("bz");
- insertsql_fields_value.push_back("'" + d.bz + "'");
- insertsql_fields_name.push_back("sfyc");
- insertsql_fields_value.push_back(std::to_string(d.sfyc));
- insertsql_fields_name.push_back("dym");
- insertsql_fields_value.push_back(std::to_string(d.dym));
- insertsql_fields_name.push_back("rcy2");
- insertsql_fields_value.push_back(std::to_string(d.rcy2));
- insertsql_fields_name.push_back("rcu2");
- insertsql_fields_value.push_back(std::to_string(d.rcu2));
- insertsql_fields_name.push_back("rcs2");
- insertsql_fields_value.push_back(std::to_string(d.rcs2));
- insertsql_fields_name.push_back("a2_liq_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.a2_liq_prod_daily));
- insertsql_fields_name.push_back("a2_oil_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.a2_oil_prod_daily));
- insertsql_fields_name.push_back("a2_water_prod_daily");
- insertsql_fields_value.push_back(std::to_string(d.a2_water_prod_daily));
- insertsql_fields_name.push_back("yxgts");
- insertsql_fields_value.push_back(std::to_string(d.yxgts));
- insertsql_fields_name.push_back("errorgts");
- insertsql_fields_value.push_back(std::to_string(d.errorgts));
- insertsql_fields_name.push_back("zdjg");
- insertsql_fields_value.push_back(d.zdjg);
- insertsql_fields_name.push_back("djdy");
- insertsql_fields_value.push_back(std::to_string(d.djdy));
- insertsql_fields_name.push_back("zyq");
- insertsql_fields_value.push_back("'" + d.zyq + "'");
- insertsql_fields_name.push_back("jlz");
- insertsql_fields_value.push_back("'" + d.jlz + "'");
- insertsql_fields_name.push_back("hjwd");
- insertsql_fields_value.push_back(std::to_string(d.hjwd));
- insertsql_fields_name.push_back("ybdl");
- insertsql_fields_value.push_back(std::to_string(d.ybdl));
- insertsql_fields_name.push_back("sbh");
- insertsql_fields_value.push_back("'" + d.sbh + "'");
- insertsql_fields_name.push_back("xhqd");
- insertsql_fields_value.push_back(std::to_string(d.xhqd));
- insertsql_fields_name.push_back("yl");
- insertsql_fields_value.push_back(std::to_string(d.yl));
- insertsql_fields_name.push_back("rzbz");
- insertsql_fields_value.push_back("'" + d.rzbz + "'");
- }
- if (insertsql_fields_name.size() == 0)return r;
- std::string addsql =
- "insert into gtly.aoid_daily_yield(";
- std::string valuessql = "values(";
- for (int i = 0; i < insertsql_fields_name.size(); ++i) {
- if (i > 0) {
- addsql += ",";
- valuessql += ",";
- }
- addsql += insertsql_fields_name[i];
- valuessql += insertsql_fields_value[i];
- }
- addsql = addsql + ")" + valuessql + ")";
- gtpgcnn _gtpgcnn;
- _gtpgcnn.openCnn();
- r = _gtpgcnn.writeContent(addsql);
- _gtpgcnn.clearRes();
- _gtpgcnn.closeCnn();
- return r;
- }
- /**
- * start a thread to listen yml file changes
- * wsy
- * @param data
- * @return
- */
- bool gtaoiddao::get_aoid_config_data_and_open_hotupdate(aoid_config_data &data) {
- //auto r=get_aoid_config_data_fromDB(data);
- /*if (hotupdateymlfilecontentthread_pid == 0) {
- if (pthread_create((&hotupdateymlfilecontentthread_pid), NULL, input_welldata_yml_path_update, NULL) < 0) {
- printf("井筒基础数据:yaml配置失败\n");
- }
- }*/
- //input_welldata_yml_path_update(nullptr);
- bool r = false;
- try {
- YAML::Node config = YAML::LoadFile(input_welldata_yml_path);
- data.jh = config["井号"].as<std::string>();
- data.bj = config["泵径"].as<float>();
- data.bs = config["泵深"].as<float>();
- data.hsl = config["含水率"].as<float>();
- data.smd = config["水密度"].as<float>();
- data.qyb = config["气液比"].as<float>();
- data.dym = config["动液面"].as<float>();
- data.yy = config["油压"].as<float>();
- data.ty = config["套压"].as<float>();
- data.hy = config["回压"].as<float>();
- data.totalgtnum=config["一天内功图数量"].as<int>();
- r = true;
- } catch (const std::exception &e) {
- printf("井筒基础数据:yaml配置失败\n");
- r = false;
- std::cerr << "Error:" << e.what() << std::endl;
- }
- return r;
- }
- /*
- * search
- *
- * aoid_config_data
- */
- bool gtaoiddao::get_aoid_config_data_fromDB(aoid_config_data &data) {
- std::string sql = "select jh,bj,bs,hsl,smd,ymd,qyb,dym from gtly.aoid_config_data order by createtime limit 1";
- bool r = false;
- gtpgcnn _gtpgcnn;
- _gtpgcnn.openCnn();
- r = _gtpgcnn.readContent(sql);
- if (r) {
- int rows = _gtpgcnn.getRowsNumFromResult();
- if (rows > 0) {
- rows = 0;
- data.jh = _gtpgcnn.getValueFromResultChar(rows, 0);
- data.bj = std::atof(_gtpgcnn.getValueFromResult(rows, 1).c_str());
- data.bs = std::atof(_gtpgcnn.getValueFromResult(rows, 2).c_str());
- data.hsl = std::atof(_gtpgcnn.getValueFromResult(rows, 3).c_str());
- data.smd = std::atof(_gtpgcnn.getValueFromResult(rows, 4).c_str());
- data.qyb = std::atof(_gtpgcnn.getValueFromResult(rows, 5).c_str());
- data.dym = std::atof(_gtpgcnn.getValueFromResult(rows, 6).c_str());
- r = true;
- } else r = false;
- }
- _gtpgcnn.clearRes();
- _gtpgcnn.closeCnn();
- return r;
- }
- /*
- * add
- *
- * aoid_config_data
- */
- bool gtaoiddao::add_aoid_config_data_toDB(aoid_config_data data) {
- bool r = false;
- if (data.jh.empty()) {
- std::cout << "Warning:add gtly.aoid_config_data must--->jh" << std::endl;
- return r;
- }
- std::vector<std::string> insertsql_fields_name;
- std::vector<std::string> insertsql_fields_value;
- {
- insertsql_fields_name.push_back("jh");
- insertsql_fields_value.push_back("'" + data.jh + "'");
- insertsql_fields_name.push_back("bj");
- insertsql_fields_value.push_back(std::to_string(data.bj));
- insertsql_fields_name.push_back("bs");
- insertsql_fields_value.push_back(std::to_string(data.bs));
- insertsql_fields_name.push_back("hsl");
- insertsql_fields_value.push_back(std::to_string(data.hsl));
- insertsql_fields_name.push_back("smd");
- insertsql_fields_value.push_back(std::to_string(data.smd));
- insertsql_fields_name.push_back("ymd");
- insertsql_fields_value.push_back(std::to_string(data.ymd));
- insertsql_fields_name.push_back("qyb");
- insertsql_fields_value.push_back(std::to_string(data.qyb));
- insertsql_fields_name.push_back("dym");
- insertsql_fields_value.push_back(std::to_string(data.dym));
- }
- if (insertsql_fields_name.size() == 0)return r;
- std::string addsql =
- "insert into gtly.aoid_config_data(";
- std::string valuessql = "values(";
- for (int i = 0; i < insertsql_fields_name.size(); ++i) {
- if (i > 0) {
- addsql += ",";
- valuessql += ",";
- }
- addsql += insertsql_fields_name[i];
- valuessql += insertsql_fields_value[i];
- }
- addsql = addsql + ")" + valuessql + ")";
- gtpgcnn _gtpgcnn;
- _gtpgcnn.openCnn();
- r = _gtpgcnn.writeContent(addsql);
- _gtpgcnn.clearRes();
- _gtpgcnn.closeCnn();
- return r;
- }
- /*
- * update
- *
- * aoid_config_data
- */
- bool gtaoiddao::udpate_aoid_config_data_toDB(aoid_config_data data) {
- bool r = false;
- std::vector<std::string> updatesql_fields_name;
- std::vector<std::string> updatesql_fields_value;
- if (!data.jh.empty()) {
- updatesql_fields_name.push_back("jh=");
- updatesql_fields_value.push_back("'" + data.jh + "'");
- } else {
- std::cout << "Warning:update gtly.aoid_config_data must--->jh" << std::endl;
- return r;
- }
- if (updatesql_fields_name.size() == 0) return r;
- std::string updatesql = "update gtly.aoid_config_data set ";
- {
- updatesql_fields_name.push_back("bj=");
- updatesql_fields_value.push_back(std::to_string(data.bj));
- updatesql_fields_name.push_back("bs=");
- updatesql_fields_value.push_back(std::to_string(data.bs));
- updatesql_fields_name.push_back("hsl=");
- updatesql_fields_value.push_back(std::to_string(data.hsl));
- updatesql_fields_name.push_back("smd=");
- updatesql_fields_value.push_back(std::to_string(data.smd));
- updatesql_fields_name.push_back("ymd=");
- updatesql_fields_value.push_back(std::to_string(data.ymd));
- updatesql_fields_name.push_back("dym=");
- updatesql_fields_value.push_back(std::to_string(data.dym));
- }
- for (int i = 0; i < updatesql_fields_name.size(); ++i) {
- if (i > 0) {
- updatesql += ",";
- }
- updatesql += updatesql_fields_name[i];
- updatesql += updatesql_fields_value[i];
- }
- gtpgcnn _gtpgcnn;
- _gtpgcnn.openCnn();
- r = _gtpgcnn.writeContent(updatesql);
- _gtpgcnn.clearRes();
- _gtpgcnn.closeCnn();
- return r;
- }
- /*
- * create:wsy
- * date:2020.12.09
- * */
- bool gtaoiddao::get_aoid_singlewell_config_fromDB(int funcid, aoid_singlewell_config &data) {
- std::string sql = "select gradient_1,gradient_2,gradient_3,gradient_4,gradient_5,"
- "gradient_6,gradient_7,gradient_8,gradient_9,gradient_10,"
- "dividenum_1,dividenum_2,dividenum_3,dividenum_4,dividenum_5,"
- "dividenum_6,dividenum_7,dividenum_8,dividenum_9,dividenum_10 from gtly.aoid_singlewell_config where 1=1";
- bool r = false;
- if (funcid <= 0)
- return r;
- gtpgcnn _gtpgcnn;
- _gtpgcnn.openCnn();
- r = _gtpgcnn.readContent(sql);
- if (r) {
- int rows = _gtpgcnn.getRowsNumFromResult();
- for (int i = 0; i < rows; ++i) {
- data.gradient_1 = std::atof(_gtpgcnn.getValueFromResult(i, 0).c_str());
- data.gradient_2 = std::atof(_gtpgcnn.getValueFromResult(i, 1).c_str());
- data.gradient_3 = std::atof(_gtpgcnn.getValueFromResult(i, 2).c_str());
- data.gradient_4 = std::atof(_gtpgcnn.getValueFromResult(i, 3).c_str());
- data.gradient_5 = std::atof(_gtpgcnn.getValueFromResult(i, 4).c_str());
- data.gradient_6 = std::atof(_gtpgcnn.getValueFromResult(i, 5).c_str());
- data.gradient_7 = std::atof(_gtpgcnn.getValueFromResult(i, 6).c_str());
- data.gradient_8 = std::atof(_gtpgcnn.getValueFromResult(i, 7).c_str());
- data.gradient_9 = std::atof(_gtpgcnn.getValueFromResult(i, 8).c_str());
- data.gradient_10 = std::atof(_gtpgcnn.getValueFromResult(i, 9).c_str());
- data.dividenum_1 = std::atof(_gtpgcnn.getValueFromResult(i, 10).c_str());
- data.dividenum_2 = std::atof(_gtpgcnn.getValueFromResult(i, 11).c_str());
- data.dividenum_3 = std::atof(_gtpgcnn.getValueFromResult(i, 12).c_str());
- data.dividenum_4 = std::atof(_gtpgcnn.getValueFromResult(i, 13).c_str());
- data.dividenum_5 = std::atof(_gtpgcnn.getValueFromResult(i, 14).c_str());
- data.dividenum_6 = std::atof(_gtpgcnn.getValueFromResult(i, 15).c_str());
- data.dividenum_7 = std::atof(_gtpgcnn.getValueFromResult(i, 16).c_str());
- data.dividenum_8 = std::atof(_gtpgcnn.getValueFromResult(i, 17).c_str());
- data.dividenum_9 = std::atof(_gtpgcnn.getValueFromResult(i, 18).c_str());
- data.dividenum_10 = std::atof(_gtpgcnn.getValueFromResult(i, 19).c_str());
- }
- }
- _gtpgcnn.clearRes();
- _gtpgcnn.closeCnn();
- /**
- *
- * TODO:wsy
- * get data from db ;where id
- */
- return r;
- }
- /*
- * create:wsy
- * date:2020.12.09
- * */
- bool gtaoiddao::get_aoid_gk_model_fromDB(std::string gkname, aoid_gk_model &data) {
- bool r = false;
- if (gkname.empty()) return r;
- std::string sql = "select gkxs,result from gtly.aoid_gk_model where result='" + gkname + "' ";
- gtpgcnn _gtpgcnn;
- _gtpgcnn.openCnn();
- r = _gtpgcnn.readContent(sql);
- if (r) {
- int rows = _gtpgcnn.getRowsNumFromResult();
- r = rows > 0;
- int i = 0;
- data.gkxs = std::atof(_gtpgcnn.getValueFromResult(i, 0).c_str());
- data.result = _gtpgcnn.getValueFromResult(i, 1);
- }
- _gtpgcnn.clearRes();
- _gtpgcnn.closeCnn();
- return r;
- }
|