From 177a3333cc199eb069f4997f06f3ec6ef290fd97 Mon Sep 17 00:00:00 2001 From: tzsk <Administrator@qq.com> Date: 星期二, 25 六月 2024 19:33:37 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 171 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 121 insertions(+), 50 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..536b54f 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; @@ -115,7 +116,7 @@ for (DetlDto detail : orderDetails) { DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); + DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),null); assert detlDto != null; detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); } else { @@ -160,7 +161,7 @@ result.setOrderType(order.getDocType$()); List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); } if (order.getSettle() == 4L) { // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� @@ -180,7 +181,7 @@ result.setOrderType(order.getDocType$()); List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); } // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� if (!orderService.updateSettle(order.getId(), 6L, null)) { @@ -250,7 +251,7 @@ for (DetlDto detail : orderDetails) { DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); + DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),null); assert detlDto != null; detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); } else { @@ -294,7 +295,7 @@ result.setOrderType(order.getDocType$()); List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); } if (order.getSettle() == 4L) { // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� @@ -314,7 +315,7 @@ result.setOrderType(order.getDocType$()); List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); } // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� if (!orderService.updateSettle(order.getId(), 6L, null)) { @@ -531,8 +532,9 @@ List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); + detlDto.setContainerCode(elem.getContainerCode()); if (DetlDto.has(detlDtos, detlDto)) { - DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode()); assert one != null; one.setAnfme(one.getAnfme() + detlDto.getAnfme()); } else { @@ -615,16 +617,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,25 +658,40 @@ //閫氱敤鍨嬪彿 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; } @Transactional - public boolean syncOrder(Map<String, Object> param) { + public boolean syncOrder(Map<String, Object> param, boolean pakin) { if(Cools.isEmpty(param) || Cools.isEmpty(param.get("orderDetails"))){ throw new CoolException("鍗曟嵁鍙傛暟涓虹┖鎴栬�呭崟鎹鎯呬负绌猴紝鏃犳硶鐢熸垚鍗曟嵁淇℃伅"); } @@ -674,11 +699,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,pakin); 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 +728,43 @@ return true; } - private Order orderMapping(Map<String, Object> param){ - Date now = new Date(); + private Order orderMapping(Map<String, Object> param, Date now, boolean pakin){ 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("cVouchType"))); //鍗曟嵁绫诲瀷 - DocType docType = docTypeService.selectOrAdd(param.get("cVouchType").toString(), Boolean.TRUE); + DocType docType = docTypeService.selectOrAdd(param.get("cBusType").toString(), pakin); 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 +776,57 @@ 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.setManu(toString(odParam.get("irowno"))); //閿�鍞鍗曞彿 - od.setColor(odParam.get("csocode").toString()); + //od.setColor(odParam.get("csocode").toString()); + //od.setColor(toString(odParam.get("csocode"))); + od.setThreeCode(toString(odParam.get("csocode"))); //閿�鍞鍗曡鍙� - od.setOrigin(odParam.get("isoseq").toString()); + //od.setOrigin(odParam.get("isoseq").toString()); + //od.setOrigin(toString(odParam.get("isoseq"))); + od.setDeadTime(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 +836,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