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 7fb446e..1bf1c73 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 @@ -59,7 +59,8 @@ public class DeliveryController { List nameList = new ArrayList<>(); // 判定是否是到库单 String typeByKey = deliveryService.getByKey(siteName, receiveRequestName).getReceiveRequestType(); - if (typeByKey.equals(ReceiveTypeEnums.DK.getCode())) { + boolean isDelivery = typeByKey.equals(ReceiveTypeEnums.DK.getCode()); + if (isDelivery) { // 到库单(找出该单据下的所有的采购单) nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName) .stream().map(MaterialReceiveRequest::getReceiveRequestName).collect(Collectors.toList()); @@ -68,7 +69,7 @@ public class DeliveryController { nameList.add(receiveRequestName); } // 获取采购单明细及批次 - return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getStoreDetail(siteName, nameList)); + return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getStoreDetail(siteName, nameList, isDelivery)); } /** 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 7106d67..e03e352 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 @@ -1,9 +1,10 @@ package com.cim.idm.dao; import com.cim.idm.model.dto.DeliveryRelationDto; +import com.cim.idm.model.po.MaterialReceiveDelivery; import com.cim.idm.model.po.MaterialReceiveRequest; -import com.cim.idm.model.po.MaterialReceiveRequestDetail; import com.cim.idm.model.dto.PurchaseDto; +import com.cim.idm.model.vo.DeliveryReceiveDetailVo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -28,13 +29,6 @@ public interface DeliveryDao { */ int createRelation(@Param("receiveList") List receiveList); - /** - * 绑定采购订单 的 到货单 - */ - int bindDelivery(@Param("siteName") String siteName, - @Param("receiveRequestName") String receiveRequestName, - @Param("nameList") List nameList); - /** * 获取采购订单 */ @@ -46,7 +40,8 @@ public interface DeliveryDao { */ @MapKey("storeDetail") List> getStoreDetail(@Param("siteName") String siteName, - @Param("nameList") List nameList); + @Param("nameList") List nameList, + @Param("isDelivery") Boolean isDelivery); /** * 获取入库批次 @@ -67,10 +62,15 @@ public interface DeliveryDao { List getReceiveByDelivery(@Param("siteName") String siteName, @Param("receiveRequestName") String receiveRequestName); + /** + * 获取到库单关系 + */ + List getRelation(@Param("deliveryName") String deliveryName); + /** * 根据到库单获取采购单名称 * @param nameList 到库单 * @return 采购单名称列表 */ - List getReceiveDetail(@Param("nameList") List nameList); + List getReceiveDetail(@Param("nameList") List nameList); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/dto/DeliveryRelationDto.java b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/DeliveryRelationDto.java index 89c4943..83b8f57 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/dto/DeliveryRelationDto.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/DeliveryRelationDto.java @@ -10,4 +10,6 @@ public class DeliveryRelationDto { private Integer deliveryNum = 0; // 采购单名称 private String receiveRequestName; + // 料号 + private String materialSpecName; } 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 b727f28..2ce7089 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 @@ -1,13 +1,14 @@ package com.cim.idm.service; import com.cim.idm.model.dto.DeliveryDto; +import com.cim.idm.model.po.MaterialReceiveDelivery; import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.model.dto.PageDto; -import com.cim.idm.model.po.MaterialReceiveRequestDetail; +import com.cim.idm.model.vo.DeliveryReceiveDetailVo; +import com.cim.idm.model.vo.ReceiveDetailVo; import com.github.pagehelper.PageInfo; import java.util.List; -import java.util.Map; public interface IDeliveryService { /** @@ -28,9 +29,10 @@ public interface IDeliveryService { * 获取采购单明细及批次 * @param siteName 组织 * @param nameList 名称 + * @param isDelivery 是否到库 * @return 采购订单 */ - Map getStoreDetail(String siteName, List nameList); + ReceiveDetailVo getStoreDetail(String siteName, List nameList, Boolean isDelivery); /** * 根据 key 获取值 @@ -47,10 +49,15 @@ public interface IDeliveryService { */ List getReceiveByDelivery(String siteName, String receiveRequestName); + /** + * 获取到库单关系 + */ + List getRelation(String deliveryName); + /** * 根据到库单获取采购单名称 * @param nameList 到库单 * @return 采购单名称列表 */ - List getReceiveDetail(List nameList); + List getReceiveDetail(List nameList); } 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 5737f1b..0aa3152 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 @@ -7,20 +7,18 @@ import com.cim.idm.model.dto.PageDto; import com.cim.idm.model.dto.PurchaseDto; import com.cim.idm.model.dto.DeliveryDto; import com.cim.idm.model.dto.DeliveryRelationDto; +import com.cim.idm.model.po.MaterialReceiveDelivery; import com.cim.idm.model.po.MaterialReceiveRequest; -import com.cim.idm.model.po.MaterialReceiveRequestDetail; +import com.cim.idm.model.vo.DeliveryReceiveDetailVo; +import com.cim.idm.model.vo.ReceiveDetailVo; import com.cim.idm.service.IDeliveryService; -import com.cim.idm.wmspackage.invoice.management.data.MaterialReceiveRequestKey; import com.github.pagehelper.PageInfo; import com.github.pagehelper.page.PageMethod; 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; +import java.util.*; @Service public class DeliveryServiceImpl implements IDeliveryService { @@ -37,16 +35,18 @@ public class DeliveryServiceImpl implements IDeliveryService { return "添加到库单失败"; } // 添加到库单关系 + List res = new ArrayList<>(); for (DeliveryRelationDto item : dto.getReceiveList()) { - item.setDeliveryName(dto.getReceiveRequestName()); + // 数量大于 0 + if (Objects.nonNull(item.getDeliveryNum()) && item.getDeliveryNum() > 0) { + // 到库单号 + item.setDeliveryName(dto.getReceiveRequestName()); + res.add(item); + } } - if (deliveryDao.createRelation(dto.getReceiveList()) <= 0) { + if (deliveryDao.createRelation(res) <= 0) { return "添加到库单关系失败"; } - // 更新采购单到库单字段 - List collect = dto.getDataList().stream() - .map(MaterialReceiveRequestKey::getReceiveRequestName).collect(Collectors.toList()); - deliveryDao.bindDelivery(dto.getSiteName(), dto.getReceiveRequestName(), collect); return "更新成功"; } @@ -58,15 +58,15 @@ public class DeliveryServiceImpl implements IDeliveryService { } @Override - public Map getStoreDetail(String siteName, List nameList) { - Map res = new HashMap<>(); + public ReceiveDetailVo getStoreDetail(String siteName, List nameList, Boolean isDelivery) { + ReceiveDetailVo receiveDetailVo = new ReceiveDetailVo(); // 采购单明细 - List> storeDetail = deliveryDao.getStoreDetail(siteName, nameList); + List> storeDetail = deliveryDao.getStoreDetail(siteName, nameList, isDelivery); + receiveDetailVo.setStoreDetail(storeDetail); // 批次 List> storeCharge = deliveryDao.getStoreCharge(siteName, nameList); - res.put("storeDetail", storeDetail); - res.put("storeCharge", storeCharge); - return res; + receiveDetailVo.setStoreCharge(storeCharge); + return receiveDetailVo; } @Override @@ -80,7 +80,12 @@ public class DeliveryServiceImpl implements IDeliveryService { } @Override - public List getReceiveDetail(List nameList) { + public List getRelation(String deliveryName) { + return deliveryDao.getRelation(deliveryName); + } + + @Override + public List getReceiveDetail(List nameList) { return deliveryDao.getReceiveDetail(nameList); } } 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 18728ea..da1e150 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 @@ -10,20 +10,11 @@ INSERT ALL - INTO MATERIALRECEIVEDELIVERY (RECEIVEREQUESTNAME, DELIVERYNAME, DELIVERYNUM) VALUES (#{item.receiveRequestName}, #{item.deliveryName}, #{item.deliveryNum}) + INTO MATERIALRECEIVEDELIVERY (RECEIVEREQUESTNAME, DELIVERYNAME, DELIVERYNUM, MATERIALSPECNAME) VALUES (#{item.receiveRequestName}, #{item.deliveryName}, #{item.deliveryNum}, #{item.materialSpecName}) SELECT * FROM dual - - UPDATE MATERIALRECEIVEREQUEST SET DELIVERYNAME = #{receiveRequestName} - WHERE SITENAME = #{siteName} - AND RECEIVEREQUESTNAME IN - - #{name} - - - - + SELECT md.DELIVERYNAME, md.DELIVERYNUM, md.RECEIVEREQUESTNAME, md.MATERIALSPECNAME + FROM MATERIALRECEIVEDELIVERY md + WHERE md.DELIVERYNAME = #{deliveryName} + + +