From 645e8ea6297b5f568cf2fb0126adcf4a9fbac6a4 Mon Sep 17 00:00:00 2001 From: Amjacks <1932302177@qq.com> Date: Wed, 26 Mar 2025 17:40:01 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=8F=98=E6=9B=B4=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idm/controller/DeliveryController.java | 29 +++++ .../java/com/cim/idm/dao/DeliveryDao.java | 30 ++++- .../com/cim/idm/service/IDeliveryService.java | 26 +++++ .../idm/service/Impl/DeliveryServiceImpl.java | 24 ++++ .../resources/com/cim/idm/dao/DeliveryDao.xml | 103 ++++++++++++++++++ 5 files changed, 210 insertions(+), 2 deletions(-) diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java index 55a23ee..7d023d8 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java @@ -2,6 +2,7 @@ package com.cim.idm.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.cim.idm.constants.ReceiveTypeEnums; import com.cim.idm.model.DeliveryDto; import com.cim.idm.model.PageDto; import com.cim.idm.service.IDeliveryService; @@ -13,6 +14,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; @RestController @RequestMapping("/delivery") @@ -38,4 +42,29 @@ public class DeliveryController { public AjaxResult getPurchase(@RequestBody PageDto in) { return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getPurchase(in)); } + + /** + * 获取入库详情 + * 到货单/销售采购单,根据物料清单,创建批次,进行入库 + */ + @PostMapping(value = "/getStoreDetail") + public AjaxResult getStoreDetail(@RequestBody JSONObject in) { + Map params = (Map) in.get("params"); + // siteName + String siteName = params.get("SITENAME"); + String receiveRequestName = params.get("RECEIVEREQUESTNAME"); + // 单据名称集合 + List nameList = new ArrayList<>(); + // 判定是否是到库单 + String typeByKey = deliveryService.getTypeByKey(siteName, receiveRequestName); + if (typeByKey.equals(ReceiveTypeEnums.DK.getCode())) { + // 到库单(找出该单据下的所有的采购单) + nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName); + } else { + // 采购单 + nameList.add(receiveRequestName); + } + // 获取采购单明细及批次 + return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getStoreDetail(siteName, nameList)); + } } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java index b005b09..5e69f2e 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java @@ -2,11 +2,13 @@ package com.cim.idm.dao; import com.cim.idm.model.MaterialReceiveRequest; import com.cim.idm.model.PurchaseDto; +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; @Component @Mapper @@ -28,9 +30,33 @@ public interface DeliveryDao { /** * 获取采购订单 - * @param dto 请求 - * @return 采购订单 */ List getPurchase(@Param("dto") PurchaseDto dto, @Param("typeList") List typeList); + + /** + * 获取入库详情 + */ + @MapKey("storeDetail") + List> getStoreDetail(@Param("siteName") String siteName, + @Param("nameList") List nameList); + + /** + * 获取入库批次 + */ + @MapKey("storeCharge") + List> getStoreCharge(@Param("siteName") String siteName, + @Param("nameList") List nameList); + + /** + * 根据 key 获取值 + */ + String getTypeByKey(@Param("siteName") String siteName, + @Param("receiveRequestName") String receiveRequestName); + + /** + * 根据到库单获取采购单名称 + */ + List getReceiveByDelivery(@Param("siteName") String siteName, + @Param("receiveRequestName") String receiveRequestName); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java index 0184213..cf5bfa9 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java @@ -5,6 +5,9 @@ import com.cim.idm.model.MaterialReceiveRequest; import com.cim.idm.model.PageDto; import com.github.pagehelper.PageInfo; +import java.util.List; +import java.util.Map; + public interface IDeliveryService { /** * 新增到货单 @@ -19,4 +22,27 @@ public interface IDeliveryService { * @return 采购订单 */ PageInfo getPurchase(PageDto dto); + + /** + * 获取采购单明细及批次 + * @param siteName 组织 + * @param nameList 名称 + * @return 采购订单 + */ + Map getStoreDetail(String siteName, List nameList); + + /** + * 根据 key 获取值 + * @param siteName 组织 + * @param receiveRequestName 单据名称 + * @return 类型 + */ + String getTypeByKey(String siteName, String receiveRequestName); + + /** + * 根据到库单获取采购单名称 + * @param receiveRequestName 到库单 + * @return 采购单名称列表 + */ + List getReceiveByDelivery(String siteName, String receiveRequestName); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java index c9a6235..2179f56 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java @@ -15,7 +15,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Service @@ -45,4 +47,26 @@ public class DeliveryServiceImpl implements IDeliveryService { PurchaseDto purchaseDto = JSON.toJavaObject(dto.getParams(), PurchaseDto.class); return new PageInfo<>(deliveryDao.getPurchase(purchaseDto, ReceiveTypeEnums.getPurchase())); } + + @Override + public Map getStoreDetail(String siteName, List nameList) { + Map res = new HashMap<>(); + // 采购单明细 + List> storeDetail = deliveryDao.getStoreDetail(siteName, nameList); + // 批次 + List> storeCharge = deliveryDao.getStoreCharge(siteName, nameList); + res.put("storeDetail", storeDetail); + res.put("storeCharge", storeCharge); + return res; + } + + @Override + public String getTypeByKey(String siteName, String receiveRequestName) { + return deliveryDao.getTypeByKey(siteName, receiveRequestName); + } + + @Override + public List getReceiveByDelivery(String siteName, String receiveRequestName) { + return deliveryDao.getReceiveByDelivery(siteName, receiveRequestName); + } } diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml index fd88341..1544c5d 100644 --- a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml @@ -27,4 +27,107 @@ AND RECEIVEREQUESTNAME LIKE '%'||#{dto.receiveRequestName}||'%' + + + + + + + + + + \ No newline at end of file