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/OpenServiceImpl.java | 149 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 108 insertions(+), 41 deletions(-) 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()); + } + } } -- Gitblit v1.9.1