From 67f4004e7645ecb4b88191981bcb106a55cd5765 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 29 八月 2023 16:03:14 +0800
Subject: [PATCH] U8接口bug修复
---
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 10 +
src/main/java/com/zy/asrs/controller/OpenController.java | 53 +++++++++----
src/main/java/com/zy/asrs/entity/Order.java | 2
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 149 +++++++++++++++++++++++++++----------
src/main/java/com/zy/asrs/entity/param/MatInfoParam.java | 6 +
src/main/resources/application.yml | 3
6 files changed, 160 insertions(+), 63 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 93fe59d..8228a63 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -244,34 +244,55 @@
return R.parse(BaseRes.PARAM);
}
- int MsgT = 0;
- int MsgF = 0;
- StringBuilder Msg= new StringBuilder("鍘熷洜锛�");
+ int msgU = 0;
+ int msgT = 0;
+ int msgF = 0;
+ StringBuilder msg= new StringBuilder("鍘熷洜锛�");
List<MatInfoParam> matDetails = (List<MatInfoParam>) param.get("matDetails");
for (Object matDetail : matDetails){
MatInfoParam matInfoParam = JSONObject.parseObject(JSON.toJSONString(matDetail),MatInfoParam.class);
if (Cools.isEmpty(matDetails)) {
- MsgF++;
+ msgF++;
continue;
}
openService.syncMat(matInfoParam);
- if(matInfoParam.isType()){
- MsgT++;
- }else {
- MsgF++;
- Msg.append(matInfoParam.getCinvcode()).append(":").append(matInfoParam.getMemo()).append(";");
+ if(matInfoParam.isUpdate()){
+ msgU++;
+ }else if(matInfoParam.isInsert()){
+ msgT++;
+ } else if(matInfoParam.isError()){
+ msgF++;
+ msg.append(matInfoParam.getCinvcode()).append(":").append(matInfoParam.getMemo()).append(";");
}
}
-
- if (MsgF==0){
- return R.ok("鎴愬姛鎺ユ敹鐗╂枡锛�"+MsgT+"涓�");
- }else if (MsgT==0){
- return R.ok("鎺ユ敹鐗╂枡澶辫触锛�"+MsgF+"涓�;"+Msg);
- }else {
- return R.ok("鎴愬姛鎺ユ敹鐗╂枡锛�"+MsgT+"涓�;"+"鎺ユ敹鐗╂枡澶辫触锛�"+MsgF+"涓�;"+Msg);
+ String message = "";
+ boolean success = false;
+ if(msgT != 0){
+ message += "鎴愬姛鎺ユ敹鐗╂枡锛�"+msgT+"涓�";
+ success = true;
}
+ if(msgU != 0){
+ message += "鎴愬姛淇敼鐗╂枡锛�"+msgU+"涓�";
+ success = true;
+ }
+ if(msgF != 0){
+ message += "鎺ユ敹鐗╂枡澶辫触锛�"+msgF+"涓�;"+msg;
+ }
+ if(success){
+ return R.ok(message);
+ }else {
+ return R.error(message);
+ }
+
+// if (MsgF==0){
+// return R.ok("鎴愬姛鎺ユ敹鐗╂枡锛�"+MsgT+"涓�");
+// }else if (MsgT==0){
+// return R.error("鎺ユ敹鐗╂枡澶辫触锛�"+MsgF+"涓�;"+Msg);
+// }else {
+// return R.ok("鎴愬姛鎺ユ敹鐗╂枡锛�"+MsgT+"涓�;"+"鎺ユ敹鐗╂枡澶辫触锛�"+MsgF+"涓�;"+Msg);
+// }
}
diff --git a/src/main/java/com/zy/asrs/entity/Order.java b/src/main/java/com/zy/asrs/entity/Order.java
index 99abc64..02f85b4 100644
--- a/src/main/java/com/zy/asrs/entity/Order.java
+++ b/src/main/java/com/zy/asrs/entity/Order.java
@@ -163,7 +163,7 @@
private String salesman;
/**
- * 缁撶畻澶╂暟
+ * setMemo
*/
@ApiModelProperty(value= "缁撶畻澶╂暟")
@TableField("account_day")
diff --git a/src/main/java/com/zy/asrs/entity/param/MatInfoParam.java b/src/main/java/com/zy/asrs/entity/param/MatInfoParam.java
index e3feb2d..d251b7c 100644
--- a/src/main/java/com/zy/asrs/entity/param/MatInfoParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MatInfoParam.java
@@ -71,7 +71,11 @@
*/
private String cinvdefine4;
- private boolean type;
+ private boolean insert;
+
+ private boolean update;
+
+ private boolean error;
private String memo;
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 3307d90..19cd7bc 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -20,6 +20,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Date;
@@ -615,16 +616,24 @@
@Transactional
public boolean syncMat(MatInfoParam param) {
- if(!Cools.isEmpty(matService.selectByMatnr(param.getCinvcode()))){
- callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
- param.setType(false);
- param.setMemo("鍟嗗搧宸插瓨鍦紒");
- return false;
- }
Date now = new Date();
- Mat mat = new Mat();
+ Mat mat = matService.selectByMatnr(param.getCinvcode());
+ boolean update = true;
+ if(Cools.isEmpty(matService.selectByMatnr(param.getCinvcode()))){
+ //鐗╂枡鍙�
+ mat = new Mat();
+ mat.setMatnr(param.getCinvcode());
+ mat.setCreateTime(now);
+ mat.setCreateBy(9999L);
+ update = false;
+// callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
+// param.setType(false);
+// param.setMemo("鍟嗗搧宸插瓨鍦紒");
+// return false;
+ }
+ //Mat mat = new Mat();
//鐗╂枡鍙�
- mat.setMatnr(param.getCinvcode());
+ //mat.setMatnr(param.getCinvcode());
//鐗╂枡鍚嶇О
mat.setMaktx(param.getCinvname());
//瑙勬牸鍨嬪彿
@@ -648,19 +657,34 @@
//閫氱敤鍨嬪彿
mat.setModel(param.getCinvdefine4());
- mat.setCreateTime(now);
+ //9999琛ㄧずerp涓嬪彂
+
+ mat.setUpdateBy(9999L);
+ mat.setTagId(1L);
+
mat.setUpdateTime(now);
- if (matService.insert(mat)) {
- callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
- param.setType(true);
- } else {
- callApiLogSave(param, "/open/asrs/mat/v1", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
- param.setType(false);
- param.setMemo("娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛�");
+ if(update){
+ if (matService.updateById(mat)){
+ callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+ param.setUpdate(true);
+ } else {
+ callApiLogSave(param, "/open/asrs/mat/v1", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
+ param.setError(true);
+ param.setMemo("娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛�");
+ }
+ }else {
+ if (matService.insert(mat)) {
+ callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+ param.setInsert(true);
+ } else {
+ callApiLogSave(param, "/open/asrs/mat/v1", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
+ param.setError(true);
+ param.setMemo("娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛�");
+ }
}
- matService.insert(mat);
+
return true;
}
@@ -674,11 +698,12 @@
if(!Cools.isEmpty(orderService.selectByNo(param.get("id").toString()))){
throw new CoolException("璇ュ崟鎹凡瀛樺湪锛屾棤娉曠敓鎴愬崟鎹俊鎭�");
}
- Order order = orderMapping(param);
+ Date now = new Date();
+ Order order = orderMapping(param,now);
orderService.insert(order);
List<Map<String, Object>> orderDetails = (List<Map<String, Object>>) param.get("orderDetails");
orderDetails.forEach(odParam -> {
- OrderDetl od = orderDetlMapping(order.getOrderNo(),odParam);
+ OrderDetl od = orderDetlMapping(order,odParam,now);
orderDetlService.insert(od);
});
@@ -702,34 +727,43 @@
return true;
}
- private Order orderMapping(Map<String, Object> param){
- Date now = new Date();
+ private Order orderMapping(Map<String, Object> param, Date now){
Order order = new Order();
//uuid
order.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
//鏍哥畻涓讳綋
- order.setItemName(param.get("account").toString());
+ //order.setItemName(param.get("account").toString());
+ order.setItemName(toString(param.get("account")));
//鍗曟嵁鍞竴琛ㄧず
- order.setOrderNo(param.get("id").toString());
+ //order.setOrderNo(param.get("id").toString());
+ order.setOrderNo(toString(param.get("id")));
//涓氬姟绫诲瀷
- order.setDefNumber(param.get("cBusType").toString());
+ //order.setDefNumber(param.get("cBusType").toString());
+ order.setDefNumber(toString(param.get("cBusType")));
//鍗曟嵁绫诲瀷
DocType docType = docTypeService.selectOrAdd(param.get("cVouchType").toString(), Boolean.TRUE);
order.setDocType(docType.getDocId());
//鍗曟嵁鏃ユ湡
- order.setOrderTime(param.get("dDate").toString());
+ //order.setOrderTime(param.get("dDate").toString());
+ order.setOrderTime(toString(param.get("dDate")));
//渚涘簲鍟�/瀹㈡埛缂栫爜
- order.setCstmrName(param.get("ks").toString());
+ //order.setCstmrName(param.get("ks").toString());
+ order.setCstmrName(toString(param.get("ks")));
//浠撳簱
- order.setTel(param.get("cWhName").toString());
+ //order.setTel(param.get("cWhName").toString());
+ order.setTel(toString(param.get("cWhName")));
//鍑哄叆搴撶被鍒�
- order.setOperMemb(param.get("cRdName").toString());
+ //setOperMemb(param.get("cRdName").toString());
+ order.setOperMemb(toString(param.get("cRdName")));
//閮ㄩ棬
- order.setSalesman(param.get("cDepCode").toString());
+ //order.setSalesman(param.get("cDepCode").toString());
+ order.setSalesman(toString(param.get("cDepCode")));
//澶囨敞
- order.setMemo(param.get("cMemo").toString());
+ //order.setMemo(param.get("cMemo").toString());
+ order.setMemo(toString(param.get("cMemo")));
//鍒跺崟浜�
- order.setShipCode(param.get("cMaker").toString());
+ //order.setShipCode(param.get("cMaker").toString());
+ order.setShipCode(toString(param.get("cMaker")));
order.setCreateTime(now);
order.setUpdateTime(now);
@@ -741,29 +775,54 @@
return order;
}
- private OrderDetl orderDetlMapping(String orderId, Map<String, Object> odParam){
+ private OrderDetl orderDetlMapping(Order order, Map<String, Object> odParam, Date now){
OrderDetl od = new OrderDetl();
- od.setOrderNo(orderId);
+ od.setOrderId(order.getId());
+ od.setOrderNo(order.getOrderNo());
//琛屽敮涓�鏍囪瘑
- od.setItemNum(odParam.get("autoId").toString());
+ //od.setItemNum(odParam.get("autoId").toString());
+ od.setItemNum(toString(odParam.get("autoId")));
//瀛樿揣缂栫爜
- od.setMatnr(odParam.get("cInvCode").toString());
+ //od.setMatnr(odParam.get("cInvCode").toString());
+ od.setMatnr(toString(odParam.get("cInvCode")));
//瀛樿揣鍚嶇О
- od.setMaktx(odParam.get("cInvName").toString());
+ //od.setMaktx(odParam.get("cInvName").toString());
+ od.setMaktx(toString(odParam.get("cInvName")));
//瑙勬牸鍨嬪彿
- od.setSpecs(odParam.get("cInvStd").toString());
+ //od.setSpecs(odParam.get("cInvStd").toString());
+ od.setSpecs(toString(odParam.get("cInvStd")));
//璁¢噺鍗曚綅
- od.setUnit(odParam.get("cComUnitName").toString());
+ //od.setUnit(odParam.get("cComUnitName").toString());
+ od.setUnit(toString(odParam.get("cComUnitName")));
//鏁伴噺
od.setAnfme(Double.parseDouble(odParam.get("iQuantity").toString()));
+ //od.setAnfme(toString(odParam.get("iQuantity")));
//琛屽彿
- od.setBrand(odParam.get("irowno").toString());
+ //od.setBrand(odParam.get("irowno").toString());
+ od.setBrand(toString(odParam.get("irowno")));
//閿�鍞鍗曞彿
- od.setColor(odParam.get("csocode").toString());
+ //od.setColor(odParam.get("csocode").toString());
+ od.setColor(toString(odParam.get("csocode")));
//閿�鍞鍗曡鍙�
- od.setOrigin(odParam.get("isoseq").toString());
+ //od.setOrigin(odParam.get("isoseq").toString());
+ od.setOrigin(toString(odParam.get("isoseq")));
+
+ od.setStatus(1);
+ od.setQty(0.0D);
+ od.setCreateBy(9999L);
+ od.setCreateTime(now);
+ od.setUpdateBy(9999L);
+ od.setUpdateTime(now);
return od;
+ }
+
+ private String toString(Object o){
+ if(StringUtils.isEmpty(o)){
+ return null;
+ }else{
+ return o.toString();
+ }
}
@@ -773,4 +832,12 @@
response, bool);
}
+ public static void main(String[] args) {
+ Object s = null;
+ if(StringUtils.isEmpty(s)){
+ System.out.println("null");
+ }else {
+ System.out.println(s.toString());
+ }
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index 43bee06..4c492ce 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -259,9 +259,13 @@
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
- int code = (int) jsonObject.get("code");
- if(code != 200){
- throw new CoolException(jsonObject.get("msg").toString());
+ if(Cools.isEmpty(jsonObject.get("errCode"))){
+ throw new CoolException(jsonObject.get("Message").toString());
+ }
+
+ int code = (int) jsonObject.get("errCode");
+ if(code != 0){
+ throw new CoolException(jsonObject.get("errMsg").toString());
}
success = true;
return code;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index d8ac8ba..d84dd0c 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,7 +10,8 @@
enabled: false
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- url: jdbc:sqlserver://192.168.4.15:1433;databasename=tzskasrs
+ #url: jdbc:sqlserver://192.168.4.15:1433;databasename=tzskasrs
+ url: jdbc:sqlserver://localhost:1433;databasename=tzskasrs
username: sa
password: sa@123
mvc:
--
Gitblit v1.9.1