Commit 4b5ea0e5 by Anuar

Remote

parent 7818f9b2
package models;
import java.sql.Date;
public class ReestrModel implements Comparable<ReestrModel> {
private String dbId;
private String documentID;
private Date date;
private String stateId;
private String regionId;
private String resName;
private String labName;
private String labNameCode;
private String resGroup;
private String resGroupCode;
private String subResGroup;
private String subResGroupCode;
private String resMethod;
private String serUnit;
private String coeficient;
private String tarCode;
private String baseRate;
private String serAmount;
private String mSerAmount;
private String subLabName;
private String subLabNameCode;
public String getDocumentID() {
return documentID;
}
public void setDocumentID(String documentID) {
this.documentID = documentID;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getStateId() {
return stateId;
}
public void setStateId(String stateId) {
this.stateId = stateId;
}
public String getRegionId() {
return regionId;
}
public void setRegionId(String regionId) {
this.regionId = regionId;
}
public String getResName() {
return resName;
}
public void setResName(String resName) {
this.resName = resName;
}
public String getLabName() {
return labName;
}
public void setLabName(String labName) {
this.labName = labName;
}
public String getLabNameCode() {
return labNameCode;
}
public void setLabNameCode(String labNameCode) {
this.labNameCode = labNameCode;
}
public String getResGroup() {
return resGroup;
}
public void setResGroup(String resGroup) {
this.resGroup = resGroup;
}
public String getResGroupCode() {
return resGroupCode;
}
public void setResGroupCode(String resGroupCode) {
this.resGroupCode = resGroupCode;
}
public String getSubResGroup() {
return subResGroup;
}
public void setSubResGroup(String subResGroup) {
this.subResGroup = subResGroup;
}
public String getSubResGroupCode() {
return subResGroupCode;
}
public void setSubResGroupCode(String subResGroupCode) {
this.subResGroupCode = subResGroupCode;
}
public String getResMethod() {
return resMethod;
}
public void setResMethod(String resMethod) {
this.resMethod = resMethod;
}
public String getSerUnit() {
return serUnit;
}
public void setSerUnit(String serUnit) {
this.serUnit = serUnit;
}
public String getCoeficient() {
return coeficient;
}
public void setCoeficient(String coeficient) {
this.coeficient = coeficient;
}
public String getTarCode() {
return tarCode;
}
public void setTarCode(String tarCode) {
this.tarCode = tarCode;
}
public String getBaseRate() {
return baseRate;
}
public void setBaseRate(String baseRate) {
this.baseRate = baseRate;
}
public String getSerAmount() {
return serAmount;
}
public void setSerAmount(String serAmount) {
this.serAmount = serAmount;
}
public String getmSerAmount() {
return mSerAmount;
}
public void setmSerAmount(String mSerAmount) {
this.mSerAmount = mSerAmount;
}
public String getSubLabName() {
return subLabName;
}
public void setSubLabName(String subLabName) {
this.subLabName = subLabName;
}
public String getSubLabNameCode() {
return subLabNameCode;
}
public void setSubLabNameCode(String subLabNameCode) {
this.subLabNameCode = subLabNameCode;
}
@Override
public int compareTo(ReestrModel model) {
if (Integer.parseInt(this.getLabNameCode()) == 16) {
if (Integer.parseInt(model.getLabNameCode()) == 16) {
return Long.compare(Long.parseLong(this.getTarCode()), Long.parseLong(model.getTarCode()));
} else {
return 1;
}
} else {
if (Integer.parseInt(model.getLabNameCode()) == 16) {
return -1;
} else {
return Long.compare(Long.parseLong(this.getTarCode()), Long.parseLong(model.getTarCode()));
}
}
}
public String getDbId() {
return dbId;
}
public void setDbId(String dbId) {
this.dbId = dbId;
}
}
package operation.IntegrationOperation;
import kz.arta.synergy.api.JsonUtils;
import kz.arta.synergy.forms.common.util.JsonUtil;
import operation.OperationInterfaces.Service;
import java.io.IOException;
......@@ -15,6 +15,6 @@ public class AdditionalOnfo implements Service {
Map<String, String> map = new HashMap<>();
map.put("code", "1");
map.put("message", "success");
return JsonUtils.toJson(map);
return JsonUtil.toJSON(map);
}
}
package operation.IntegrationOperation;
import kz.arta.synergy.api.JsonUtils;
import kz.arta.synergy.forms.common.util.JsonUtil;
import operation.OperationInterfaces.Service;
import java.io.IOException;
......@@ -15,6 +15,6 @@ public class ConsolidApp implements Service {
Map<String, String> map = new HashMap<>();
map.put("code", "1");
map.put("message", "success");
return JsonUtils.toJson(map);
return JsonUtil.toJSON(map);
}
}
package operation.IntegrationOperation;
import kz.arta.synergy.api.JsonUtils;
import kz.arta.synergy.forms.common.object.ASFData;
import kz.arta.synergy.forms.common.object.ASFDataWrapperExt;
import kz.arta.synergy.forms.common.util.JsonUtil;
import kz.arta.synergy.forms.common.util.rest.operations.AsfDataApi;
import models.jsonmodels.ExpenseModel;
import models.jsonmodels.ExpensesInnerModel;
......@@ -72,6 +72,6 @@ public class Expense implements Service {
}
expenseModel.setExpensesInnerModels(expensesInnerModels);
return JsonUtils.toJson(expenseModel);
return JsonUtil.toJSON(expenseModel);
}
}
package operation.IntegrationOperation;
import kz.arta.synergy.api.JsonUtils;
import kz.arta.synergy.forms.common.util.JsonUtil;
import operation.OperationInterfaces.Service;
import java.io.IOException;
......@@ -15,6 +15,6 @@ public class FLPayment implements Service {
Map<String, String> map = new HashMap<>();
map.put("code", "1");
map.put("message", "success");
return JsonUtils.toJson(map);
return JsonUtil.toJSON(map);
}
}
package operation.IntegrationOperation;
import kz.arta.synergy.api.JsonUtils;
import kz.arta.synergy.forms.common.util.JsonUtil;
import operation.OperationInterfaces.Service;
import java.io.IOException;
......@@ -15,6 +15,6 @@ public class WareHouseInfo implements Service {
Map<String, String> map = new HashMap<>();
map.put("code", "1");
map.put("message", "success");
return JsonUtils.toJson(map);
return JsonUtil.toJSON(map);
}
}
package operation;
public class NumberUtils {
public static boolean isInteger(String str) {
if (str == null) {
return false;
}
int length = str.length();
if (length == 0) {
return false;
}
int i = 0;
if (str.charAt(0) == '-') {
if (length == 1) {
return false;
}
i = 1;
}
for (; i < length; i++) {
char c = str.charAt(i);
if (c < '0' || c > '9') {
return false;
}
}
return true;
}
public static boolean isDouble(String str) {
if (str == null) {
return false;
}
int length = str.length();
if (length == 0) {
return false;
}
return true;
}
public static int parseInt(String str) {
int res = 0;
if (isInteger(str)) {
res = Integer.parseInt(str);
}
return res;
}
public static double parseDouble(String str) {
double res = 0;
if (isDouble(str)) {
res = Double.parseDouble(str);
}
return res;
}
}
package operation.dbutils;
import javax.ejb.Local;
import java.sql.Connection;
@Local
public interface ConnectionPool {
Connection getConnection();
void returnConnection(Connection con);
}
package operation.dbutils;
import kz.arta.synergy.datasource.utils.ConnectionUtil;
import javax.annotation.PostConstruct;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Objects;
import java.util.Stack;
public class ConnectionPoolImpl implements ConnectionPool {
private static ConnectionPool connectionPool;
private int size;
private Stack<Connection> connectionStack = new Stack<>();;
public static ConnectionPool getInstance(int size) {
if (connectionPool == null) {
synchronized (ConnectionPoolImpl.class) {
connectionPool = new ConnectionPoolImpl(size);
}
return connectionPool;
}
return connectionPool;
}
private ConnectionPoolImpl() {
}
private ConnectionPoolImpl(int size) {
// if (size <= 0) {
// return;
// }
// fillStack(size);
// this.size = size;
}
private void fillStack(int size) {
for (int i = 0; i < size; i++) {
try {
connectionStack.add(ConnectionUtil.getXAConnection());
} catch (Exception e) {
System.out.println("Коннекшен не получен");
}
}
}
@Override
public synchronized Connection getConnection() {
// if (connectionStack.empty()) {
// return getIfEmpty();
// }
// return connectionStack.pop();
return ConnectionUtil.getXAConnection();
}
private Connection getIfEmpty() {
while (connectionStack.empty()) {
System.out.println("Все конекшены заняты");
}
return connectionStack.pop();
}
@Override
public void returnConnection(Connection con) {
// if (Objects.isNull(con)) return;
// if (connectionStack.size() == size) {
// try {
// con.close();
// } catch (SQLException e) {
// System.out.println("Ошибка при закрытии connection");
// }
// return;
// }
// connectionStack.add(con);
try {
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package processes;
import queue.services.DeleteService;
import javax.inject.Inject;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = "/merger")
public class DeleteServing extends HttpServlet {
@Inject
private DeleteService deleteService;
@Override
protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
String docId = httpServletRequest.getParameter("documentID");
try {
deleteService.delete(docId);
} catch (Exception e) {
}
}
}
package queue;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
public class DocNumberGenerator {
private static AtomicLong docNum = new AtomicLong();
public static long getNextDocNum() {
return docNum.getAndIncrement();
}
}
package queue.listeners;
import kz.arta.synergy.forms.common.util.JsonUtil;
import operation.UnblockOperation;
import operation.dbutils.ConnectionPool;
import operation.dbutils.ConnectionPoolImpl;
import org.apache.commons.codec.binary.Base64;
import org.codehaus.jackson.JsonNode;
import queue.services.DeleteService;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.inject.Inject;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
@MessageDriven(name = "DeleteTask", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "java:jboss/queues/Integration/DeleteTask"),
@ActivationConfigProperty(propertyName = "reconnectAttempts", propertyValue = "32"),
@ActivationConfigProperty(propertyName = "reconnectInterval", propertyValue = "4000"),
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge") })
public class DeleteTaskListener implements MessageListener {
@Override
public void onMessage(Message message) {
String documentID = "";
String executionID = "";
try {
JsonNode node = JsonUtil.readTree(((TextMessage) message).getText());
documentID = node.get("documentID").asText();
executionID = node.get("executionID").asText();
DeleteService.delete(documentID);
UnblockOperation unblockOperation = new UnblockOperation("http://127.0.0.1:8080/Synergy", "Basic " + Base64.encodeBase64String(("admincrm" + ":" + "Adm1nCRM").getBytes()));
unblockOperation.unblock(executionID, "Ok", "got_agree");
} catch (Exception e) {
System.out.println("DeleteTask was not completed for documentId " + documentID + " with error");
System.out.println(e.getMessage());
try {
UnblockOperation unblockOperation = new UnblockOperation("http://127.0.0.1:8080/Synergy", "Basic " + Base64.encodeBase64String(("admincrm" + ":" + "Adm1nCRM").getBytes()));
unblockOperation.unblock(executionID, e.getMessage(), "got_agree");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
package queue.listeners;
import integration.ConsolidIntegration;
import kz.arta.synergy.api.JsonUtils;
import kz.arta.synergy.forms.common.object.ASFData;
import kz.arta.synergy.forms.common.object.ASFDataWrapperExt;
import kz.arta.synergy.forms.common.util.JsonUtil;
......@@ -12,6 +11,7 @@ import org.apache.commons.codec.binary.Base64;
import org.codehaus.jackson.JsonNode;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import queue.DocNumberGenerator;
import wsdl.consolid.*;
import javax.ejb.ActivationConfigProperty;
......@@ -76,7 +76,7 @@ public class EventBlockListener implements MessageListener {
System.out.println(res);
asfDataWrapperExt.getData("rsDateOperarion").setValue(tContract.getRsDateOperation());
asfDataWrapperExt.getData("flag_consolidation").setValue(res);
asfDataApi.saveData(JsonUtils.toJson(asfDataWrapperExt.getData()), asfDataWrapperExt.getForm(), asfDataWrapperExt.getUuid(), null);
asfDataApi.saveData(JsonUtil.toJSON(asfDataWrapperExt.getData()), asfDataWrapperExt.getForm(), asfDataWrapperExt.getUuid(), null);
} catch (Exception e) {
e.printStackTrace();
} finally {
......@@ -92,7 +92,7 @@ public class EventBlockListener implements MessageListener {
private TMessage getTMessage(ASFDataWrapperExt asfDataWrapperExt) {
TMessage tMessage = new TMessage();
String documentNum = asfDataWrapperExt.getData("counter").getValue();
String documentNum = String.valueOf(DocNumberGenerator.getNextDocNum());
String organization = asfDataWrapperExt.getData("bin_ispolnitel_ru").getValue();
String region = asfDataWrapperExt.getData("district_office_ru").getKey();
String responsible = asfDataWrapperExt.getData("iin").getValue();
......
package queue.listeners;
import kz.arta.synergy.forms.common.object.ASFData;
import kz.arta.synergy.forms.common.object.ASFDataWrapperExt;
import kz.arta.synergy.forms.common.util.JsonUtil;
import kz.arta.synergy.forms.common.util.rest.operations.AsfDataApi;
import models.ReestrModel;
import operation.NumberUtils;
import operation.UnblockOperation;
import operation.dbutils.ConnectionPool;
import operation.dbutils.ConnectionPoolImpl;
import org.apache.commons.codec.binary.Base64;
import org.codehaus.jackson.JsonNode;
import queue.services.InsertService;
import queue.services.SynergyWriteDataService;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.inject.Inject;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
@MessageDriven(name = "InsertTask", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "java:jboss/queues/Integration/InsertTask"),
@ActivationConfigProperty(propertyName = "reconnectAttempts", propertyValue = "32"),
@ActivationConfigProperty(propertyName = "reconnectInterval", propertyValue = "4000"),
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge") })
public class InsertTaskListener implements MessageListener {
@Override
public void onMessage(Message message) {
String dataUUID = "";
String documentID = "";
String executionID = "";
try {
JsonNode node = JsonUtil.readTree(((TextMessage) message).getText());
dataUUID = node.get("dataUUID").asText();
documentID = node.get("documentID").asText();
executionID = node.get("executionID").asText();
ASFDataWrapperExt data = SynergyWriteDataService.getDataFromSynergy(dataUUID);
assert data != null;
InsertService.insert(data, documentID);
UnblockOperation unblockOperation = new UnblockOperation("http://127.0.0.1:8080/Synergy", "Basic " + Base64.encodeBase64String(("admincrm" + ":" + "Adm1nCRM").getBytes()));
unblockOperation.unblock(executionID, "Ok", "got_agree");
} catch (Exception e) {
System.out.println("InsertTask was not completed for documentId " + documentID + " with error");
System.out.println(e.getMessage());
try {
UnblockOperation unblockOperation = new UnblockOperation("http://127.0.0.1:8080/Synergy", "Basic " + Base64.encodeBase64String(("admincrm" + ":" + "Adm1nCRM").getBytes()));
unblockOperation.unblock(executionID, e.getMessage(), "got_agree");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
package queue.listeners;
import kz.arta.synergy.forms.common.object.ASFDataWrapperExt;
import kz.arta.synergy.forms.common.util.JsonUtil;
import operation.UnblockOperation;
import org.apache.commons.codec.binary.Base64;
import org.codehaus.jackson.JsonNode;
import queue.services.SynergyWriteDataService;
import queue.services.UpdateService;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
@MessageDriven(name = "UpdateTask", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "java:jboss/queues/Integration/UpdateTask"),
@ActivationConfigProperty(propertyName = "reconnectAttempts", propertyValue = "32"),
@ActivationConfigProperty(propertyName = "reconnectInterval", propertyValue = "4000"),
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge") })
public class UpdateTaskListener implements MessageListener {
@Override
public void onMessage(Message message) {
String dataUUID = "";
String documentID = "";
String executionID = "";
try {
JsonNode node = JsonUtil.readTree(((TextMessage) message).getText());
dataUUID = node.get("dataUUID").asText();
documentID = node.get("documentID").asText();
executionID = node.get("executionID").asText();
ASFDataWrapperExt data = SynergyWriteDataService.getDataFromSynergy(dataUUID);
UpdateService.update(data, documentID);
UnblockOperation unblockOperation = new UnblockOperation("http://127.0.0.1:8080/Synergy", "Basic " + Base64.encodeBase64String(("admincrm" + ":" + "Adm1nCRM").getBytes()));
unblockOperation.unblock(executionID, "Ok", "got_agree");
} catch (Exception e) {
System.out.println("UpdateTask was not completed for documentId " + documentID + " with error");
System.out.println(e.getMessage());
try {
UnblockOperation unblockOperation = new UnblockOperation("http://127.0.0.1:8080/Synergy", "Basic " + Base64.encodeBase64String(("admincrm" + ":" + "Adm1nCRM").getBytes()));
unblockOperation.unblock(executionID, e.getMessage(), "got_agree");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
package queue.services;
import operation.dbutils.ConnectionPool;
import operation.dbutils.ConnectionPoolImpl;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.inject.Inject;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Objects;
public class DeleteService {
private static ConnectionPool connectionPool = ConnectionPoolImpl.getInstance(20);
public static void delete (String docId) throws Exception {
if (Objects.isNull(docId)) {
System.out.println("Документ не должен быть пустым");
}
deleteFromDb(docId);
}
private static void deleteFromDb(String docId) throws Exception {
Connection conn = connectionPool.getConnection();
try (PreparedStatement pre = conn.prepareStatement("delete from finished_work where documentId = ?")) {
pre.setString(1, docId);
int result = pre.executeUpdate();
if (result == 0) {
System.out.println("Records were not deleted");
}
} catch (SQLException e) {
System.out.println("Records were not deleted" + e);
throw e;
} finally {
connectionPool.returnConnection(conn);
}
}
}
package queue.services;
import kz.arta.synergy.forms.common.object.ASFData;
import kz.arta.synergy.forms.common.object.ASFDataWrapperExt;
import models.ReestrModel;
import operation.NumberUtils;
import operation.dbutils.ConnectionPool;
import operation.dbutils.ConnectionPoolImpl;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class InsertService {
private static ConnectionPool connectionPool = ConnectionPoolImpl.getInstance(20);
public static void insert(ASFDataWrapperExt data, String docId) throws Exception {
int count = SynergyWriteDataService.rowsCountInDocument(data.getData("dynamic_table").getData());
insert(data, docId, count);
}
public static void insert(ASFDataWrapperExt data, String docId, int count) throws Exception {
insertToDb(fill(data, docId, count));
}
private static List<ReestrModel> fill(ASFDataWrapperExt source, String docId, int count) {
List<ASFData.Data> asfDataList = source.getData("dynamic_table").getData();
String stringSate = source.getData("research_end_date").getKey();
if (stringSate == null || stringSate.equalsIgnoreCase("")) {
return new ArrayList<>();
}
Date date = Date.valueOf(stringSate.split(" ")[0]);
String stateId = source.getData("personal_card_name_company_ru1").getKey();
String regionId = source.getData("personal_card_name_department_ru1").getKey();
List<ReestrModel> asfList = new ArrayList<>();
for (int i = 1; i <= count; i++) {
ReestrModel model = fillLevel(asfDataList, i);
model.setDocumentID(docId);
model.setSubLabName(source.getData("list_department").getValue());
model.setSubLabNameCode(source.getData("list_department").getKey());
model.setDate(date);
model.setStateId(stateId);
model.setRegionId(regionId);
asfList.add(model);
}
return asfList;
}
private static ReestrModel fillLevel(List<ASFData.Data> asfList, int level) {
if (asfList == null) return null;
ReestrModel reestrModel = new ReestrModel();
for (ASFData.Data com : asfList) {
if (com.getId().equalsIgnoreCase("research_register-b" + level)) {
reestrModel.setResName(com.getValue());
}
else if (com.getId().equalsIgnoreCase("lab_name-b" + level)) {
reestrModel.setLabName(com.getValue());
reestrModel.setLabNameCode(com.getKey());
}
else if (com.getId().equalsIgnoreCase("research_group-b" + level)) {
reestrModel.setResGroup(com.getValue());
reestrModel.setResGroupCode(com.getKey());
}
else if (com.getId().equalsIgnoreCase("research_subgroup-b" + level)) {
reestrModel.setSubResGroup(com.getValue());
reestrModel.setSubResGroupCode(com.getKey());
}
else if (com.getId().equalsIgnoreCase("research_method-b" + level)) {
reestrModel.setResMethod(com.getValue());
}
else if (com.getId().equalsIgnoreCase("service_unit-b" + level)) {
reestrModel.setSerUnit(com.getValue());
}
else if (com.getId().equalsIgnoreCase("cost_coefficient-b" + level)) {
reestrModel.setCoeficient(com.getValue());
}
else if (com.getId().equalsIgnoreCase("tarificator_research_code-b" + level)) {
reestrModel.setTarCode(com.getValue());
}
else if (com.getId().equalsIgnoreCase("base_rate-b" + level)) {
reestrModel.setBaseRate(com.getValue());
}
else if (com.getId().equalsIgnoreCase("services_amount-b" + level)) {
reestrModel.setSerAmount(com.getValue());
}
else if (com.getId().equalsIgnoreCase("mismatch_services_amount-b" + level)) {
reestrModel.setmSerAmount(com.getValue());
}
else if (com.getId().equalsIgnoreCase("base_rate-b" + level)) {
reestrModel.setBaseRate(com.getValue());
}
}
return reestrModel;
}
private static void insertToDb(List<ReestrModel> reestrModelList) throws Exception {
Connection conn = connectionPool.getConnection();
try (PreparedStatement pre = conn.prepareStatement(insertSql(), Statement.RETURN_GENERATED_KEYS)) {
System.out.println("Inserted rows for document " + reestrModelList.get(0).getDocumentID() + " = " + reestrModelList.size());
for (ReestrModel md : reestrModelList) {
pre.setNString(1, md.getDocumentID());
pre.setDate(2, md.getDate());
pre.setInt(3, NumberUtils.parseInt(md.getStateId()));
pre.setInt(4, NumberUtils.parseInt(md.getRegionId()));
pre.setNString(5, md.getResName());
pre.setNString(6, md.getLabName());
pre.setInt(7, NumberUtils.parseInt(md.getLabNameCode()));
pre.setNString(8, md.getResGroup());
pre.setInt(9, NumberUtils.parseInt(md.getResGroupCode()));
pre.setNString(10, md.getSubResGroup());
pre.setInt(11, NumberUtils.parseInt(md.getSubResGroupCode()));
pre.setNString(12, md.getResMethod());
pre.setNString(13, md.getSerUnit());
pre.setDouble(14, NumberUtils.parseDouble(md.getCoeficient()));
pre.setNString(15, md.getTarCode());
pre.setDouble(16, NumberUtils.parseDouble(md.getBaseRate()));
pre.setInt(17, NumberUtils.parseInt(md.getSerAmount()));
pre.setInt(18, NumberUtils.parseInt(md.getmSerAmount()));
pre.setNString(19, md.getSubLabName());
pre.setNString(20, md.getSubLabNameCode());
int code = pre.executeUpdate();
if (code == 0) {
System.out.println("Something wrong happened");
}
try (ResultSet generatedKeys = pre.getGeneratedKeys()) {
if (generatedKeys.next()) {
md.setDbId(generatedKeys.getString(1));
}
else {
throw new SQLException("Creating user failed, no ID obtained.");
}
}
}
} catch (SQLException e) {
System.out.println("not inserted " + e);
throw e;
} finally {
connectionPool.returnConnection(conn);
}
}
private static String insertSql() {
return "INSERT INTO finished_work(documentID, dbeg, stateid, regionid, resname, labname, labcode, resgroup, resgroupCode, subresgroup, subresgroupCode, resmethod, serunit, coeficient, tarcode, base_rate, seramount, mseramount, subLabName, subLabNameCode) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
}
}
package queue.services;
import kz.arta.synergy.forms.common.object.ASFData;
import kz.arta.synergy.forms.common.object.ASFDataWrapperExt;
import kz.arta.synergy.forms.common.util.rest.operations.AsfDataApi;
import org.apache.commons.codec.binary.Base64;
import java.util.List;
public class SynergyWriteDataService {
public static ASFDataWrapperExt getDataFromSynergy(String uuid) throws Exception {
AsfDataApi asfDataApi = new AsfDataApi("http://127.0.0.1:8080/Synergy", "Basic " + Base64.encodeBase64String(("admincrm" + ":" + "Adm1nCRM").getBytes()));
System.out.println("data not parse yet");
return asfDataApi.getAsfData(uuid);
}
public static int rowsCountInDocument(List<ASFData.Data> list) {
if (list == null) return -1;
if (list.size() > 13) {
String lastId = list.get(list.size() - 1).getId();
int result = -1;
try {
result = Integer.parseInt(lastId.substring(lastId.length() - 2));
} catch (NumberFormatException e) {
System.out.println("Number Format Exception for rows");
result = Integer.parseInt(lastId.substring(lastId.length() - 1));
}
return result;
}
return -1;
}
}
package queue.services;
import kz.arta.synergy.forms.common.object.ASFDataWrapperExt;
public class UpdateService {
public static void update(ASFDataWrapperExt data, String docId) throws Exception {
int count = SynergyWriteDataService.rowsCountInDocument(data.getData("dynamic_table").getData());
if (count >= 1) {
DeleteService.delete(docId);
InsertService.insert(data, docId, count);
}
}
}
import kz.arta.synergy.api.JsonUtils;
import kz.arta.synergy.forms.common.object.ASFDataWrapperExt;
import kz.arta.synergy.forms.common.util.JsonUtil;
import kz.arta.synergy.forms.common.util.rest.operations.AsfDataApi;
import models.jsonmodels.ExpenseModel;
import models.jsonmodels.ExpensesInnerModel;
......@@ -75,7 +76,7 @@ public class DateTimeTest {
innerModel.setUnitOfChange(458);
expensesInnerModels.add(innerModel);
expenseModel.setExpensesInnerModels(expensesInnerModels);
System.out.println(JsonUtils.toJson(expenseModel));
System.out.println(JsonUtil.toJSON(expenseModel));
}
private void execTest() throws Exception {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment