fix 到货单合并入库单

This commit is contained in:
Amjacks 2025-04-01 15:41:26 +08:00
parent 64c4e2f94d
commit 00e0126b4a
5 changed files with 17 additions and 13 deletions

View File

@ -59,17 +59,20 @@ public class DeliveryController {
List<String> nameList = new ArrayList<>();
// 判定是否是到库单
String typeByKey = deliveryService.getByKey(siteName, receiveRequestName).getReceiveRequestType();
boolean isDelivery = typeByKey.equals(ReceiveTypeEnums.DK.getCode());
if (isDelivery) {
// 到货单
String deliveryName = null;
if (typeByKey.equals(ReceiveTypeEnums.DK.getCode())) {
// 到库单找出该单据下的所有的采购单
nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName)
.stream().map(MaterialReceiveRequest::getReceiveRequestName).collect(Collectors.toList());
deliveryName = receiveRequestName;
} else {
// 采购单
nameList.add(receiveRequestName);
}
// 获取采购单明细及批次
return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getStoreDetail(siteName, nameList, isDelivery));
return AjaxResult.me().setSuccess(true).setResultObj(
deliveryService.getStoreDetail(siteName, nameList, deliveryName));
}
/**

View File

@ -41,7 +41,7 @@ public interface DeliveryDao {
@MapKey("storeDetail")
List<Map<String, Object>> getStoreDetail(@Param("siteName") String siteName,
@Param("nameList") List<String> nameList,
@Param("isDelivery") Boolean isDelivery);
@Param("deliveryName") String deliveryName);
/**
* 获取入库批次

View File

@ -29,10 +29,10 @@ public interface IDeliveryService {
* 获取采购单明细及批次
* @param siteName 组织
* @param nameList 名称
* @param isDelivery 是否到库
* @param deliveryName 到库单号
* @return 采购订单
*/
ReceiveDetailVo getStoreDetail(String siteName, List<String> nameList, Boolean isDelivery);
ReceiveDetailVo getStoreDetail(String siteName, List<String> nameList, String deliveryName);
/**
* 根据 key 获取值

View File

@ -58,10 +58,10 @@ public class DeliveryServiceImpl implements IDeliveryService {
}
@Override
public ReceiveDetailVo getStoreDetail(String siteName, List<String> nameList, Boolean isDelivery) {
public ReceiveDetailVo getStoreDetail(String siteName, List<String> nameList, String deliveryName) {
ReceiveDetailVo receiveDetailVo = new ReceiveDetailVo();
// 采购单明细
List<Map<String, Object>> storeDetail = deliveryDao.getStoreDetail(siteName, nameList, isDelivery);
List<Map<String, Object>> storeDetail = deliveryDao.getStoreDetail(siteName, nameList, deliveryName);
receiveDetailVo.setStoreDetail(storeDetail);
// 批次
List<Map<String, Object>> storeCharge = deliveryDao.getStoreCharge(siteName, nameList);

View File

@ -62,11 +62,12 @@
</foreach>
GROUP BY m.MATERIALSPECNAME
)
<if test="isDelivery">
<if test="deliveryName != null">
,DELIVERY AS (
SELECT sum(md.DELIVERYNUM) DELIVERYNUM, md.MATERIALSPECNAME MATERIALSPECNAME
FROM MATERIALRECEIVEDELIVERY md
WHERE md.RECEIVEREQUESTNAME IN
WHERE md.DELIVERYNAME = #{deliveryName}
and md.RECEIVEREQUESTNAME IN
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
#{name}
</foreach>
@ -74,10 +75,10 @@
)
</if>
SELECT distinct MAIN.RECEIVEDQUANTITY, MAIN.MINUSQTY,
<if test="isDelivery">
<if test="deliveryName != null">
DELIVERY.DELIVERYNUM REQUESTQUANTITY,
</if>
<if test="!isDelivery">
<if test="deliveryName == null">
MAIN.REQUESTQUANTITY REQUESTQUANTITY,
</if>
TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) RECEIVETIME, TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) MAKEDATE, '1' RECEIVEREQUESTDETAILNAME, '是' IS_BATCH,
@ -105,7 +106,7 @@
AND BB.MATERIALSPECNAME = m.MATERIALSPECNAME
AND BB.SDK_ID = m.SDK_ID
AND BB.PHASE = m3.PHASE
<if test="isDelivery">
<if test="deliveryName != null">
INNER JOIN DELIVERY ON DELIVERY.MATERIALSPECNAME = m.MATERIALSPECNAME
</if>
WHERE ( m2.RETURNFLAG IS NULL OR m2.RETURNFLAG != 'Y' )