From be554d9e52799a0ee14c98b0959d07ab3847c8e6 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期一, 20 十月 2025 15:24:27 +0800
Subject: [PATCH] 联调
---
src/main/java/com/zy/common/service/erp/ErpSqlServer.java | 134 +++++++++++++++++++++++++++-----------------
1 files changed, 82 insertions(+), 52 deletions(-)
diff --git a/src/main/java/com/zy/common/service/erp/ErpSqlServer.java b/src/main/java/com/zy/common/service/erp/ErpSqlServer.java
index a94c994..ccc6207 100644
--- a/src/main/java/com/zy/common/service/erp/ErpSqlServer.java
+++ b/src/main/java/com/zy/common/service/erp/ErpSqlServer.java
@@ -1,11 +1,12 @@
package com.zy.common.service.erp;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.core.common.Cools;
import com.zy.third.erp.entity.InDetTB;
+import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -42,14 +43,14 @@
// sql = "update InStockBill set Fflag_finish = 1 where FBillNo = ''{0}''";
// sql = MessageFormat.format(sql, "123456");
// erpSqlServer.update(sql);
-
+
HashMap<String, Object> stringStringHashMap = new HashMap<>();
- stringStringHashMap.put("BillNo","'1231312'");
- stringStringHashMap.put("test","'1231312'");
- stringStringHashMap.put("BilhahahlNo","'1231312'");
- stringStringHashMap.put("B21312illNo","'1231312'");
- stringStringHashMap.put("testnum",100);
- erpSqlServer.insert(InDetTB.class,stringStringHashMap);
+ stringStringHashMap.put("BillNo", "'1231312'");
+ stringStringHashMap.put("test", "'1231312'");
+ stringStringHashMap.put("BilhahahlNo", "'1231312'");
+ stringStringHashMap.put("B21312illNo", "'1231312'");
+ stringStringHashMap.put("testnum", 100);
+ erpSqlServer.insert(InDetTB.class, stringStringHashMap);
}
// 鏁版嵁搴撹繛鎺�
@@ -74,22 +75,42 @@
List<T> list = new ArrayList<>();
if (null != result) {
for (Map<String, Object> entity : result) {
- list.add(Cools.conver(entity, cls));
+ //鐢ㄦ渶绗ㄧ殑鏂规硶杞崲锛屼篃鍙互鐢ㄤ笅闈㈢殑process鏂规硶锛堣繕娌℃湁鍐欏叏锛�
+ list.add(JSONObject.parseObject(JSONObject.toJSONString(entity), cls));
+ //list.add(Cools.conver(entity, cls));
}
}
return list;
}
-
-
+
+ @SneakyThrows
+ public <T> void process(Map<String, Object> entity, Class<T> cls) {
+ for (Map.Entry<String, Object> entry : entity.entrySet()) {
+ String fieldName = entry.getKey();
+ Object value = entry.getValue();
+
+ Field field = cls.getDeclaredField(fieldName);
+ field.setAccessible(true);
+
+ if (value instanceof Integer && field.getType() == int.class || field.getType() == Integer.class) {
+ field.setInt(cls, (Integer) value);
+ } else if (value instanceof String && field.getType() == String.class) {
+ field.set(cls, value);
+ }
+ // 鍏朵粬绫诲瀷鍙互绫讳技澶勭悊
+ }
+ }
+
/**
* 鎵弿鎵�鏈夊疄鍔涚被灞炴�ч噷鐨凾ableField娉ㄨВ,骞跺皢閲岄潰鐨勫�间綔涓篶olumn
+ *
* @param cls
* @param <T>
* @return
*/
- public <T> String selectFrontPart(Class<T> cls){
+ public <T> String selectFrontPart(Class<T> cls) {
String tableName = cls.getDeclaredAnnotation(TableName.class).value();
- List<HashMap<String,String>> columnAndField = new ArrayList<>();
+ List<HashMap<String, String>> columnAndField = new ArrayList<>();
String sql = "SELECT ";
if (Cools.isEmpty(tableName)) {
return null;
@@ -98,7 +119,7 @@
for (Field f : allFields) {
if (Modifier.isFinal(f.getModifiers())
|| Modifier.isStatic(f.getModifiers())
- || Modifier.isTransient(f.getModifiers())){
+ || Modifier.isTransient(f.getModifiers())) {
continue;
}
String column = null;
@@ -110,16 +131,16 @@
}
String name = f.getName();
HashMap<String, String> container = new HashMap<>();
- container.put(column,name);
+ container.put(column, name);
columnAndField.add(container);
}
for (int i = 0; i < columnAndField.size(); i++) {
HashMap<String, String> stringStringHashMap = columnAndField.get(i);
- if (i == columnAndField.size() - 1){
+ if (i == columnAndField.size() - 1) {
for (String s : stringStringHashMap.keySet()) {
sql = sql + s + " AS " + stringStringHashMap.get(s);
}
- }else {
+ } else {
for (String s : stringStringHashMap.keySet()) {
sql = sql + s + " AS " + stringStringHashMap.get(s) + ", ";
}
@@ -128,40 +149,41 @@
sql = sql + " FROM " + tableName;
return sql;
}
-
- public String addWhere(String sql, Map<String,String> condition){
+
+ public String addWhere(String sql, Map<String, String> condition) {
int conditionSize = 1;
sql = sql + " WHERE ";
for (String s : condition.keySet()) {
- if (conditionSize == condition.keySet().size()){
+ if (conditionSize == condition.keySet().size()) {
sql = sql + s + " = " + condition.get(s);
- }else {
+ } else {
sql = sql + s + " = " + condition.get(s) + " and ";
}
conditionSize = conditionSize + 1;
}
return sql;
}
-
+
/**
* map鐨勯敭鏄垪鍚�, 鍊肩瓑鍚屼簬鍊�
* key: id, value: 1 绛夊悓浜� WHERE id = 1
* 濡傛灉瑕佹煡璇㈠瓧绗︿覆闇�瑕佽嚜琛屽姞涓�''
* key:name, value: 'zhs'绛夊悓浜� WHERE name = 'zhs'
+ *
* @param cls
* @param condition
* @param <T>
* @return
*/
- public <T> List<T> selectList(Class<T> cls, Map<String,String> condition){
+ public <T> List<T> selectList(Class<T> cls, Map<String, String> condition) {
String sql = selectFrontPart(cls);
String finalSQL = addWhere(sql, condition);
- return select(finalSQL,cls);
- }
-
- public <T> List<T> selectAll(Class<T> cls){
+ return select(finalSQL, cls);
+ }
+
+ public <T> List<T> selectAll(Class<T> cls) {
String sql = selectFrontPart(cls);
- return select(sql,cls);
+ return select(sql, cls);
}
public List<Map<String, Object>> select(String sql) {
@@ -175,7 +197,7 @@
return executeUpdate(sql);
}
- public <T> int delete(Class<T> cls, Map<String,String> condition) {
+ public <T> int delete(Class<T> cls, Map<String, String> condition) {
String tableName = cls.getDeclaredAnnotation(TableName.class).value();
if (Cools.isEmpty(tableName)) {
return 0;
@@ -184,8 +206,8 @@
String finalSQL = addWhere(sql, condition);
return executeUpdate(finalSQL);
}
-
- public <T> int insert(Class<T> cls, Map<String,Object> condition){
+
+ public <T> int insert(Class<T> cls, Map<String, Object> condition) {
String tableName = cls.getDeclaredAnnotation(TableName.class).value();
if (Cools.isEmpty(tableName)) {
return 0;
@@ -193,9 +215,9 @@
String sql = "INSERT INTO " + tableName + " (";
int conditionSize = 1;
for (String s : condition.keySet()) {
- if (conditionSize == condition.keySet().size()){
- sql = sql +s+")";
- }else {
+ if (conditionSize == condition.keySet().size()) {
+ sql = sql + s + ")";
+ } else {
sql = sql + s + ",";
}
conditionSize = conditionSize + 1;
@@ -203,52 +225,61 @@
sql = sql + " VALUES(";
int valuesSize = 1;
for (String s : condition.keySet()) {
- if (valuesSize == condition.keySet().size()){
-
- sql = sql + condition.get(s)+")";
- }else {
+ if (valuesSize == condition.keySet().size()) {
+
+ sql = sql + condition.get(s) + ")";
+ } else {
sql = sql + condition.get(s) + ",";
}
valuesSize = valuesSize + 1;
}
-
+
return executeUpdate(sql);
}
-
-
+
/*****************************************************************************/
/********************************* 鏍稿績灞� *********************************/
/*****************************************************************************/
-
private List<Map<String, Object>> executeQuery(String sql) {
Connection conn = null;
+ PreparedStatement pstm = null;
+ ResultSet rs = null;
try {
conn = getConn();
pstm = conn.prepareStatement(sql);
-
pstm.setQueryTimeout(QUERY_TIMEOUT_SECONDS);
-
rs = pstm.executeQuery();
-// List<Map<String, Object>> maps = convertList(rs);
+
+ // 鉁� 鍏堟妸 rs 杞崲瀹屽啀鍏抽棴杩炴帴
return convertList(rs);
+
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
- release();
- if (conn != null) {
- try {
+ // 鉂椾笉鑳芥彁鍓嶈皟鐢� release()锛屾敼涓烘墜鍔ㄩ噴鏀惧悇瀵硅薄
+ try {
+ if (rs != null) {
+ rs.close();
+ rs = null;
+ }
+ if (pstm != null) {
+ pstm.close();
+ pstm = null;
+ }
+ if (conn != null) {
conn.close();
conn = null;
- } catch (SQLException e) {
- e.printStackTrace();
}
+ } catch (SQLException e) {
+ e.printStackTrace();
}
}
}
+
public Number executeQueryCount(String sql, String column) {
Number value = 0;
@@ -285,8 +316,7 @@
Connection conn = null;
try {
conn = getConn();
- if(null != conn)
- {
+ if (null != conn) {
pstm = conn.prepareStatement(sql);
pstm.setQueryTimeout(QUERY_TIMEOUT_SECONDS);
--
Gitblit v1.9.1