update 到货单创建时获取所有订单未入库数量

This commit is contained in:
18110972313 2025-05-22 13:41:59 +08:00
parent 1b7b8915f1
commit 737f74255e
5 changed files with 50 additions and 9 deletions

View File

@ -205,4 +205,13 @@ public class DeliveryController {
}
return AjaxResult.me().setErrorCode(-1).setMessage("修改失败");
}
/**
* 获取采购订单详情
*/
@PostMapping(value = "/getDeliveryReceiveDetail")
public AjaxResult GetDeliveryReceiveDetail(@RequestBody JSONObject in) {
List<String> nameList = (List<String>) in.get("nameList");
return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getDeliveryReceiveDetail(nameList));
}
}

View File

@ -109,6 +109,13 @@ public interface DeliveryDao {
*/
List<DeliveryReceiveDetailVo> getReceiveDetail(@Param("nameList") List<String> nameList);
/**
* 根据到库单获取采购单名称
* @param nameList 到库单
* @return 采购单名称列表
*/
List<DeliveryReceiveDetailVo> getDeliveryReceiveDetail(@Param("nameList") List<String> nameList);
/**
* 获取到货单
* @param dto 请求
@ -155,8 +162,8 @@ public interface DeliveryDao {
/**
* 更新入库单数量
* @param receiveList
* @param relationDto
* @return
*/
int updateMaterialReceiveRequestDetailQty(@Param("receiveList") List<DeliveryRelationDto> receiveList);
int updateMaterialReceiveRequestDetailQty(@Param("dto") DeliveryRelationDto relationDto);
}

View File

@ -95,7 +95,12 @@ public interface IDeliveryService {
* @return 采购单名称列表
*/
List<DeliveryReceiveDetailVo> getReceiveDetail(List<String> nameList);
/**
* 根据到库单获取采购单名称
* @param nameList 到库单
* @return 采购单名称列表
*/
List<DeliveryReceiveDetailVo> getDeliveryReceiveDetail(List<String> nameList);
/**
* 获取到货单
* @param dto 请求

View File

@ -51,9 +51,13 @@ public class DeliveryServiceImpl implements IDeliveryService {
throw new GlobalException("添加到库单关系失败");
}
//更新采购订单行项的已入库数量
if (deliveryDao.updateMaterialReceiveRequestDetailQty(res) <= 0){
throw new GlobalException("更新采购单入库数量失败");
for (DeliveryRelationDto re : res) {
if (deliveryDao.updateMaterialReceiveRequestDetailQty(re) <= 0){
throw new GlobalException("更新采购单入库数量失败");
}
}
// 添加到库单
return deliveryDao.createDelivery(dto, DeliveryStateEnums.CREATE.getCode());
}
@ -124,6 +128,11 @@ public class DeliveryServiceImpl implements IDeliveryService {
return deliveryDao.getReceiveDetail(nameList);
}
@Override
public List<DeliveryReceiveDetailVo> getDeliveryReceiveDetail(List<String> nameList) {
return deliveryDao.getDeliveryReceiveDetail(nameList);
}
@Override
public PageInfo<MaterialDelivery> getDeliveryList(PageDto dto) {
PageMethod.startPage(dto.getPageNum(), dto.getPageSize());

View File

@ -503,9 +503,20 @@
</select>
<update id="updateMaterialReceiveRequestDetailQty">
<foreach item="item" index="index" collection="receiveList">
update MATERIALRECEIVEREQUESTDETAIL set RECEIVEDQUANTITY = #{item.deliveryNum} where RECEIVEREQUESTNAME = #{item.receiveRequestName} and RECEIVEREQUESTDETAILNAME = #{item.receiveRequestDetailName} and MATERIALSPECNAME = #{item.materialSpecName}
INTO MATERIALDELIVERYRECEIVE (RECEIVEREQUESTNAME, DELIVERYNAME, DELIVERYNUM, MATERIALSPECNAME, RECEIVEREQUESTDETAILNAME) VALUES (#{item.receiveRequestName}, #{item.deliveryName}, #{item.deliveryNum}, #{item.materialSpecName}, #{item.receiveRequestDetailName})
</foreach>
UPDATE MATERIALRECEIVEREQUESTDETAIL
SET RECEIVEDQUANTITY = #{dto.deliveryNum}
WHERE RECEIVEREQUESTNAME = #{dto.receiveRequestName}
AND RECEIVEREQUESTDETAILNAME = #{dto.receiveRequestDetailName}
AND MATERIALSPECNAME = #{dto.materialSpecName}
</update>
<select id="getDeliveryReceiveDetail" resultType="com.cim.idm.model.vo.DeliveryReceiveDetailVo">
SELECT receiveRequestName, materialSpecName, requestQuantity, requestQuantity - receivedQuantity as deliveryNum, RECEIVEREQUESTDETAILNAME
FROM MATERIALRECEIVEREQUESTDETAIL
WHERE RECEIVEREQUESTNAME in
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
#{name}
</foreach>
order by RECEIVEREQUESTDETAILNAME
</select>
</mapper>