GrpcPrint/PrintS/Config/bean/ParamSetCfg.cpp
2024-06-25 15:25:46 +08:00

209 lines
5.8 KiB
C++

#include "ParamSetCfg.h"
ParamSetCfg::ParamSetCfg()
{}
ParamSetCfg::~ParamSetCfg()
{}
void ParamSetCfg::Generate(vector<string>& ins)
{
char buffer[512];
string strtemp = "INSERT INTO %s(%s,%s,%s,%s,%s) VALUES(";
sprintf_s(buffer, sizeof(buffer), strtemp.c_str(),
TABLE_NAME.c_str(),
FIELD_CONFIG_NAME.c_str(),
FIELD_SET_TYPE.c_str(),
FIELD_DATA1.c_str(),
FIELD_DATA2.c_str(),
FIELD_DATA3.c_str());
string strsql = string(buffer) + "'%s','%s',%f,%f,%f)";
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderDown", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "FillContourDown", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "HatchingDown", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderAdditionalDown", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderBlockedDown", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "Border", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "FillContour", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "Hatching", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderAdditional", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderBlocked", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderUp", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "FillContourUp", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "HatchingUp", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderAdditionalUp", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderBlockedUp", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderSupport", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "HatchingSupport", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "BorderAdditionalSupport", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "WallSupport", 300.0, 0.1, 100.0);
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
"Default", "Other", 300.0, 0.1, 100.0);
ins.push_back(buffer);
}
void ParamSetCfg::GetUpdateSql(vector<string>& ups)
{}
//bool ParamSetCfg::Add(string name)
//{
// for (auto pps : ParamSetVec)
// {
// if (pps->ConfigName == name)
// return false;
// }
//
// ParamSet* ps = new ParamSet;
// ps->ConfigName = name;
//
// std::map<string, LaserSet*>::iterator it;
// for (it = ParamSetVec.front()->LaserSetMap.begin();
// it != ParamSetVec.front()->LaserSetMap.end();
// it++)
// {
// LaserSet* ls = new LaserSet;
// ls->laser_speed = it->second->laser_speed;
// ls->laser_diameter = it->second->laser_diameter;
// ls->laser_power = it->second->laser_power;
// ps->LaserSetMap[it->first] = ls;
// }
//
// for (unsigned int i = 0; i < ParamSetVec.front()->PowderSets.size(); i++)
// {
// PowderSet* src = ParamSetVec.front()->PowderSets[i];
// PowderSet* pps = new PowderSet;
// pps->end_layer = src->end_layer;
// pps->start_layer = src->start_layer;
// pps->powder = src->powder;
// ps->PowderSets.push_back(pps);
// }
//
// ParamSetVec.push_back(ps);
// return true;
//}
//bool ParamSetCfg::Delete(string name)
//{
// if (name == "Default")
// return false;
//
// std::vector<ParamSet*>::iterator it;
// for (it = ParamSetVec.begin(); it != ParamSetVec.end(); it++)
// {
// if ((*it)->ConfigName == name)
// {
// std::map<string, LaserSet*>::iterator lsit;
// for (lsit = (*it)->LaserSetMap.begin();
// lsit != (*it)->LaserSetMap.end();
// lsit++)
// {
// delete lsit->second;
// }
// (*it)->LaserSetMap.clear();
//
// for (unsigned int i = 0; i < (*it)->PowderSets.size(); i++)
// delete (*it)->PowderSets[i];
// (*it)->PowderSets.clear();
//
// ParamSetVec.erase(it);
// break;
// }
// }
//
// return true;
//}
void ParamSetCfg::UpdatePowderCfg(const ReadData& wd) { //全量更新层供粉量配置
std::unique_lock<std::shared_mutex> lck(m_sMtx);
if (ParamSetVec.empty()) return;
auto it = ParamSetVec[0]->PowderSets.begin();
while (it != ParamSetVec[0]->PowderSets.end()) {
delete (*it);
++it;
}
ParamSetVec[0]->PowderSets.clear();
for (auto item = wd.its.begin(); item != wd.its.end(); ++item) {
PowderSet* ppowder = new PowderSet(item->start_layer, item->end_layer, item->powder);
ParamSetVec[0]->PowderSets.emplace_back(ppowder);
}
}
void ParamSetCfg::GetPowderCfg(vector<PowderSet>& powderVec) {
std::shared_lock<std::shared_mutex> lck(m_sMtx);
if (ParamSetVec.empty()) return;
for (auto item = ParamSetVec[0]->PowderSets.begin(); item != ParamSetVec[0]->PowderSets.end(); ++item) {
powderVec.emplace_back(PowderSet{ (*item)->start_layer,(*item)->end_layer, (*item)->powder });
}
}
const string ParamSetCfg::TABLE_NAME = "ParamSet";
const string ParamSetCfg::FIELD_ID = "ID";
const string ParamSetCfg::FIELD_CONFIG_NAME = "ConfigName";
const string ParamSetCfg::FIELD_SET_TYPE = "SetType";
const string ParamSetCfg::FIELD_DATA1 = "Data1";
const string ParamSetCfg::FIELD_DATA2 = "Data2";
const string ParamSetCfg::FIELD_DATA3 = "Data3";