From 22a51a35a7367bc5569ea075afe0b7f1c438b529 Mon Sep 17 00:00:00 2001 From: tzsk <Administrator@qq.com> Date: 星期二, 20 二月 2024 11:10:23 +0800 Subject: [PATCH] Merge branch 'tzskasrs-2' of http://47.97.1.152:5880/r/zy-asrs into tzskasrs-2 --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 263 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 250 insertions(+), 13 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 f84e478..536b54f 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -13,18 +13,19 @@ import com.zy.asrs.mapper.ReportQueryMapper; import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; -import com.zy.asrs.task.core.ReturnT; -import com.zy.asrs.task.handler.WorkLogHandler; import com.zy.asrs.utils.MatUtils; import com.zy.common.model.DetlDto; -import com.zy.common.utils.ListUtils; import com.zy.common.utils.NodeUtils; import lombok.extern.slf4j.Slf4j; 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.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; /** * Created by vincent on 2022/4/9 @@ -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 { @@ -603,8 +605,243 @@ */ @Override @Transactional - public void outlogERP() { - + public List<ViewWorkInBean> outlogERP() { + List<ViewWorkInBean> viewWorkInERP = reportQueryMapper.getViewWorkOutERP(); + ArrayList<ViewWorkInBean> viewWorkInBeans = new ArrayList<>(); + for (ViewWorkInBean viewWorkInBean:viewWorkInERP){ + viewWorkInBean.sype(); + viewWorkInBeans.add(viewWorkInBean); + } + return viewWorkInBeans; } + @Transactional + public boolean syncMat(MatInfoParam param) { + Date now = new Date(); + 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.setMaktx(param.getCinvname()); + //瑙勬牸鍨嬪彿 + mat.setSpecs(param.getCInvStd()); + //瀛樿揣鍒嗙被缂栫爜 + mat.setBrand(param.getCinvccode()); + //瀛樿揣鍒嗙被鍚嶇О + mat.setColor(param.getCInvCName()); + //璁¢噺鍗曚綅 + mat.setUnit(param.getCComUnitName()); + //杩涢」绋� + mat.setPrice(param.getIImpTaxRate()); + //閿�椤圭◣ + mat.setUnits(param.getITaxRate()); + //鍚敤鏃ユ湡 + mat.setDsDate(param.getDSDate()); + //寤烘。浜� + mat.setSupp(param.getCCreatePerson()); + //寤烘。鏃ユ湡 + mat.setDInvCreateDatetime(param.getDInvCreateDatetime()); + //閫氱敤鍨嬪彿 + mat.setModel(param.getCinvdefine4()); + + //9999琛ㄧずerp涓嬪彂 + + mat.setUpdateBy(9999L); + mat.setTagId(1L); + + mat.setUpdateTime(now); + + 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涓嬪彂鍟嗗搧淇℃伅澶辫触锛�"); + } + } + + + + return true; + } + + @Transactional + public boolean syncOrder(Map<String, Object> param, boolean pakin) { + if(Cools.isEmpty(param) || Cools.isEmpty(param.get("orderDetails"))){ + throw new CoolException("鍗曟嵁鍙傛暟涓虹┖鎴栬�呭崟鎹鎯呬负绌猴紝鏃犳硶鐢熸垚鍗曟嵁淇℃伅"); + } + + if(!Cools.isEmpty(orderService.selectByNo(param.get("id").toString()))){ + throw new CoolException("璇ュ崟鎹凡瀛樺湪锛屾棤娉曠敓鎴愬崟鎹俊鎭�"); + } + 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,odParam,now); + orderDetlService.insert(od); + }); + + return true; + } + + @Transactional + public boolean orderDelete(String orderNo) { + Order order = orderService.selectByNo(orderNo); + if(Cools.isEmpty(order)){ + throw new CoolException("鍗曟嵁涓嶅瓨鍦紝鏃犳硶鍒犻櫎鍗曟嵁"); + } + + if(order.getSettle() != 1){ + return false; + } + + orderService.deleteById(order); + orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no",orderNo)); + + return true; + } + + 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(toString(param.get("account"))); + //鍗曟嵁鍞竴琛ㄧず + //order.setOrderNo(param.get("id").toString()); + order.setOrderNo(toString(param.get("id"))); + //涓氬姟绫诲瀷 + //order.setDefNumber(param.get("cBusType").toString()); + order.setDefNumber(toString(param.get("cVouchType"))); + //鍗曟嵁绫诲瀷 + DocType docType = docTypeService.selectOrAdd(param.get("cBusType").toString(), pakin); + order.setDocType(docType.getDocId()); + //鍗曟嵁鏃ユ湡 + //order.setOrderTime(param.get("dDate").toString()); + order.setOrderTime(toString(param.get("dDate"))); + //渚涘簲鍟�/瀹㈡埛缂栫爜 + //order.setCstmrName(param.get("ks").toString()); + order.setCstmrName(toString(param.get("ks"))); + //浠撳簱 + //order.setTel(param.get("cWhName").toString()); + order.setTel(toString(param.get("cWhName"))); + //鍑哄叆搴撶被鍒� + //setOperMemb(param.get("cRdName").toString()); + order.setOperMemb(toString(param.get("cRdName"))); + //閮ㄩ棬 + //order.setSalesman(param.get("cDepCode").toString()); + order.setSalesman(toString(param.get("cDepCode"))); + //澶囨敞 + //order.setMemo(param.get("cMemo").toString()); + order.setMemo(toString(param.get("cMemo"))); + //鍒跺崟浜� + //order.setShipCode(param.get("cMaker").toString()); + order.setShipCode(toString(param.get("cMaker"))); + + order.setCreateTime(now); + order.setUpdateTime(now); + + //璁㈠崟鐘舵�� + order.setSettle(1L); + //鐘舵�� + order.setStatus(1); + return order; + } + + private OrderDetl orderDetlMapping(Order order, Map<String, Object> odParam, Date now){ + OrderDetl od = new OrderDetl(); + od.setOrderId(order.getId()); + od.setOrderNo(order.getOrderNo()); + //琛屽敮涓�鏍囪瘑 + //od.setItemNum(odParam.get("autoId").toString()); + od.setItemNum(toString(odParam.get("autoId"))); + //瀛樿揣缂栫爜 + //od.setMatnr(odParam.get("cInvCode").toString()); + od.setMatnr(toString(odParam.get("cInvCode"))); + //瀛樿揣鍚嶇О + //od.setMaktx(odParam.get("cInvName").toString()); + od.setMaktx(toString(odParam.get("cInvName"))); + //瑙勬牸鍨嬪彿 + //od.setSpecs(odParam.get("cInvStd").toString()); + od.setSpecs(toString(odParam.get("cInvStd"))); + //璁¢噺鍗曚綅 + //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(toString(odParam.get("irowno"))); + od.setManu(toString(odParam.get("irowno"))); + //閿�鍞鍗曞彿 + //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(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(); + } + } + + + public void callApiLogSave(MatInfoParam matParam, String tableName, String response, Boolean bool) { + apiLogService.save("ERP涓嬪彂鍟嗗搧淇℃伅", tableName, "null", "10.10.10.1", + "鐗╂枡缂栫爜锛�" + matParam.getCinvcode() + "銆佺墿鏂欏悕绉帮細" + matParam.getCinvname() + "銆佽鏍硷細" + matParam.getCInvStd() + "銆佸娉細" + matParam.getMemo(), + 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