Compare commits

..

7 Commits

Author SHA1 Message Date
曹鹏飞 517bbe1a33 Merge remote-tracking branch '惠信/dev_zhangke' into develop
# Conflicts:
#	nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java
2026-03-05 10:37:33 +08:00
zhangke 0d755fed51 打包收货部分功能完成 2026-03-03 22:48:54 +08:00
zhangke beb4011729 Merge branch 'refs/heads/develop' into dev_zhangke 2026-03-03 22:48:15 +08:00
zhangke 0031d7d37b 修改分页的类型 2026-03-03 16:12:55 +08:00
zhangke 1f839eb9a0 Merge branch 'refs/heads/develop' into dev_zhangke 2026-03-03 16:11:19 +08:00
zhangke 212062096c 修改退货单查询 2026-03-03 11:39:13 +08:00
zhangke b21f951ae2 Merge branch 'develop' into dev_zhangke 2026-03-03 11:33:02 +08:00
25 changed files with 693 additions and 31 deletions

View File

@ -61,8 +61,7 @@ public class LocationTransferController extends BaseController {
@PostMapping("search")
@ApiMark(moduleName = "获取转储信息", apiName = "获取物料的转储信息")
public ApiResult<PageData<TransferOrderVO>> search(@Valid @RequestBody TransferOrderSearchQO request) {
PageData<TransferOrderVO> pageData = transferOrdersService.search(request);
return ApiResult.success(pageData);
return ApiResult.success( transferOrdersService.search(request));
}
/**

View File

@ -7,6 +7,7 @@ package com.nflg.wms.admin.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.DigestUtil;
import com.nflg.wms.admin.pojo.dto.QCMaterialSyncDTO;
@ -87,6 +88,15 @@ public class NormalPGIController extends BaseController {
@Resource
private IWmsPoReceiptItemService wmsPoReceiptItemService;
@Resource
private IWmsPackageService wmsPackageService;
@Resource
private IWmsPackageItemService wmsPackageItemService;
@Resource
private IWmsQrCodeMasterService wmsQrCodeMasterService;
@Resource
private IWmsQrCodeMasterService qrCodeMasterService;
@ -1256,4 +1266,115 @@ public class NormalPGIController extends BaseController {
return ApiResult.success();
}
//------------------------------------通过大包物料扫码收货------------------------------------
/**
* 通过打包码获取到打包码的信息
* @param request
* @return
*/
@PostMapping("scanPackage")
@ApiMark(moduleName = "打包扫码", apiName = "通过打包码获取到打包码的信息")
public ApiResult<PacageScanVO> scanPackage(@Valid @RequestBody PackingPDASearchQO request) {
// 首先判断当前包是否已经收货了
PacageScanVO pacageScanVO = wmsPackageService.getPackageInfo(request.getPackageCode());
VUtil.trueThrowBusinessError(ObjectUtil.isNull(pacageScanVO)).throwMessage("打包码不存在");
VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 0).throwMessage("此打包码尚未打包");
VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 2).throwMessage("此打包码已收货");
return ApiResult.success(pacageScanVO);
}
/**
* 获取打包码对应的送货单信息
* @param request
* @return
*/
@PostMapping("getPackageOrders")
@ApiMark(moduleName = "获取打包码对应的送货单信息", apiName = "获取打包码对应的送货单信息")
public ApiResult<List<PacagePoVO>> getPackageOrders(@Valid @RequestBody FilterIdQO request) {
return ApiResult.success(wmsPackageService.getPackageOrders(request.getId()));
}
/**
* 根据送货单单号和大码的ID获取到具体的物料信息
* @param request
* @return
*/
@PostMapping("getPackageOrderItems")
@ApiMark(moduleName = "根据送货单单号和大码的ID获取到具体的物料信息", apiName = "根据送货单单号和大码的ID获取到具体的物料信息")
public ApiResult<List<PacagePoItemVO>> scanPackage(@Valid @RequestBody PackagePoSearchQO request) {
return ApiResult.success(wmsPackageService.getPackageOrderItems(request.getPackageId(), request.getDeliveryNo()));
}
/**
* 根据送货单单号和大码的ID获取到具体的物料信息
* @param request id= 大码的ID
* @return
*/
@PostMapping("getPackageOrderItems")
@ApiMark(moduleName = "根据送货单单号和大码的ID获取到具体的物料信息", apiName = "根据送货单单号和大码的ID获取到具体的物料信息")
public ApiResult<List<PendingScanningVO>> scanPackage(@Valid @RequestBody FilterIdQO request) {
List<PendingScanningVO> list = wmsPackageService.getPendingScannings(request.getId());
if (CollectionUtil.isNotEmpty(list)) {
list.forEach(vo -> {
if (vo.getIsCounting() != null && vo.getIsCounting() == 0) {
vo.setPendingScanQuantity(vo.getPackingQuantity());
}
});
}
return ApiResult.success(list);
}
@PostMapping("takeDeliveryConfirmUnScan")
@ApiMark(moduleName = "无需扫码收货", apiName = "无需扫码收货")
public ApiResult<Void> takeDeliveryConfirmUnScan(@Valid @RequestBody PendingUnScanningQO request) {
VUtil.trueThrowBusinessError(request.getBarcodeIds().stream().distinct().count() != request.getBarcodeIds().size()).throwMessage("存在重复的码");
// 重新验证所有码的合法性 1是否是已打包未收货的状态2是否全部是已启用储位管理的状态
List<PacageScanVO> pacageScanVO = wmsPackageService.getPackageInfos(request.getBarcodeIds());
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(pacageScanVO)).throwMessage("打包码不存在");
long count = pacageScanVO.stream()
.filter(pkg -> Objects.equals(pkg.getPackageStatus(), (short) 0))
.count();
VUtil.trueThrowBusinessError(count >= 0).throwMessage("存在尚未打包的码");
long count1 = pacageScanVO.stream()
.filter(pkg -> Objects.equals(pkg.getPackageStatus(), (short) 2))
.count();
VUtil.trueThrowBusinessError(count1 >= 0).throwMessage("存在已经收货的码");
long count2 = pacageScanVO.stream()
.filter(pkg -> Objects.equals(pkg.getIsCounting(), 1))
.count();
VUtil.trueThrowBusinessError(count2 >= 0).throwMessage("存在必须扫码的包装");
List<PendingScanningItemDTO> items = wmsPackageService.getScanningItems(request.getBarcodeIds());
//对箱码要做出来将箱码换成对应的物料码
List<>
//根据包装信息获取对应的物料收货信息
List<SrmMaterialReceiptQO> receiptQOS = new ArrayList<>();
//首先要对上面的信息 按照 srmId进行分组汇总quantity
for (PendingScanningItemDTO item : items)
{
SrmMaterialReceiptQO qo = new SrmMaterialReceiptQO()
.setNoteNum(item.getDeliveryNo())
.setLineNumber(item.getDeliveryLineNo())
.setPoNum(item.getPoNumber())
.setPoLineNumber(item.getPoLineNumber())
.setItemCode(item.getMaterialCode())
.setId(item.getSrmId())
.setReceiptNum(item.getQuantity());
// .setScanCodes(item.getScanCodes());
}
}
@PostMapping("takeDeliveryConfirmByScan")
@ApiMark(moduleName = "需扫码收货", apiName = "需扫码收货")
public ApiResult<Void> takeDeliveryConfirmByScan(@Valid @RequestBody List<PendingScanningQO> request) {
}
}

View File

@ -139,8 +139,7 @@ public class PackingController extends BaseController {
@PostMapping("search")
@ApiMark(moduleName = "获取包装码信息", apiName = "获取包装码信息")
public ApiResult<PageData<PackingVO>> search(@Valid @RequestBody PackingSearchQO request) {
PageData<PackingVO> pageData = packageService.serach(request);
return ApiResult.success(pageData);
return ApiResult.success(packageService.serach(request));
}
/**

View File

@ -222,7 +222,7 @@ public class PurchaseReturnController extends BaseController {
.set(WmsReturnRequest::getApproverId, UserUtil.getUserId())
.set(WmsReturnRequest::getApproverName, UserUtil.getUserName())
.eq(WmsReturnRequest::getId, request.getId())
.update(returnRequest);
.update();
return ApiResult.success();
}

View File

@ -33,6 +33,7 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 装箱管理
* @author: nflg
@ -52,15 +53,14 @@ public class QrCodeMasterController extends BaseController {
@PostMapping("search")
@ApiMark(moduleName = "获取二维码详细信息", apiName = "获取二维码详细信息")
public ApiResult<PageData<QrCodeItemVO>> search(@Valid @RequestBody QrCodeItemSearchQO request) {
PageData<QrCodeItemVO> pageData = qrCodeMasterService.search(request);
return ApiResult.success(pageData);
return ApiResult.success(qrCodeMasterService.search(request));
}
@PostMapping("childrens")
@ApiMark(moduleName = "获取箱内的物料信息", apiName = "获取箱内物料信息")
public ApiResult<PageData<QrCodeItemVO>> getSmallQrcode(@Valid @RequestBody FilterIdSearchQO request) {
PageData<QrCodeItemVO> pageData = qrCodeMasterService.getChildrens(request);
return ApiResult.success(pageData);
return ApiResult.success(qrCodeMasterService.getChildrens(request));
}
/**

View File

@ -33,7 +33,7 @@ public class DeployTest {
//处理主jar包
handleFile(sshUtil, localPath + jarName, remotePath + jarName);
//处理字体目录
// handleDir(sshUtil, localPath, remotePath, "fonts");
handleDir(sshUtil, localPath, remotePath, "fonts");
//处理lib目录
handleDir(sshUtil, localPath, remotePath, "lib");
//执行脚本启动服务

View File

@ -0,0 +1,68 @@
package com.nflg.wms.common.pojo.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Data
@Accessors(chain = true)
public class PendingScanningItemDTO {
/**
* 待扫描的包装物ID
*/
private Long id;
/**
* 待扫描的包装物条码
*/
private String barcodeCode;
/**
* 待扫描的包装物数量
*/
private BigDecimal quantity;
/**
* 待扫描的包装物物料编码
*/
private String materialCode;
/**
* 待扫描的包装物包装类型 0 物料1
*/
private short packagingType;
/**
* 待扫描的包装物PO单号
*/
private String poNumber;
/**
* 待扫描的包装物PO行号
*/
private String poLineNumber;
/**
* 待扫描的包装物收货单号
*/
private String deliveryNo;
/**
* 待扫描的包装物收货单行号
*/
private String deliveryLineNo;
/**
* 待扫描的包装物单位
*/
private String unit;
/**
* 待扫描的包装物序列号
*/
private String serialNo;
/**
* 待扫描的包装物批次号
*/
private String batchNo;
/**
* 待扫描的包装物物料描述
*/
private String materialDescription;
/**
* srm传入的送货单项ID
*/
private Long srmId;
}

View File

@ -0,0 +1,17 @@
package com.nflg.wms.common.pojo.qo;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class PackagePoSearchQO {
/**
* 包ID
*/
private Long packageId;
/**
* 送货单号
*/
private String deliveryNo;
}

View File

@ -0,0 +1,21 @@
package com.nflg.wms.common.pojo.qo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Data
@Accessors(chain = true)
public class PendingScanningQO {
/**
* 物料二维码ID
*/
private Long barcodeId;
/**
* 待扫数量
*/
private BigDecimal pendingScanQuantity;
}

View File

@ -0,0 +1,15 @@
package com.nflg.wms.common.pojo.qo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@Data
@Accessors(chain = true)
public class PendingUnScanningQO {
/**
* 包装物ID
*/
private List<Long> barcodeIds;
}

View File

@ -0,0 +1,93 @@
package com.nflg.wms.common.pojo.vo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Data
@Accessors(chain = true)
public class PacagePoItemVO {
private Long id;
/**
* 订单id
*/
private Long orderId;
/**
* 送货单行号
*/
private String lineNumber;
/**
* 采购订单号
*/
private String poNum;
/**
* 采购订单行号
*/
private String poLineNumber;
/**
* 物料编码
*/
private String itemCode;
/**
* 物料描述
*/
private String itemName;
/**
* 订单数量
*/
private BigDecimal orderQty;
/**
* 单位
*/
private String uomCode;
/**
* 订单需求日期
*/
private String demandDate;
/**
* 送货数量
*/
private BigDecimal deliveryQty;
/**
* 送货单行状态
*/
private String noteLineStatus;
/**
* 采购订单类型
*/
private String orderType;
/**
* 是否质检
*/
private Boolean isQuality;
/**
* 已收货数量
*/
private BigDecimal receiptQty;
/**
* 收货单号
*/
private String noteNum;
/**
* 是否需要点数
*/
private String isCounting;
}

View File

@ -0,0 +1,28 @@
package com.nflg.wms.common.pojo.vo;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class PacagePoVO {
/**
* 送货单号
*/
private Long deliveryId;
/**
* 送货单号
*/
private String deliveryNo;
/**
* 供应商名称
*/
private String supplierName;
/**
* 是否需要点数
*/
private String isCounting;
}

View File

@ -0,0 +1,41 @@
package com.nflg.wms.common.pojo.vo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
* 扫描的大码信息
*/
@Data
@Accessors(chain = true)
public class PacageScanVO {
private Long id;
/**
* 包装编号
*/
private String packageCode;
/**
* 供应商名称
*/
private String supplierName;
/**
* 包装名称
*/
private String packageName;
/**
* 状态 0 未打包1 已打包2 已收货
*/
private Short packageStatus;
/**
* 是否需要点数 0 不需要点数1 需要点数
*/
private Integer isCounting;
}

View File

@ -0,0 +1,90 @@
package com.nflg.wms.common.pojo.vo;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 待扫描物料VO
*/
@Data
@Accessors(chain = true)
public class PendingScanningVO {
private Long barcodeId;
/**
* 条码编号(可读)
*/
private String barcodeCode;
/**
* 物料编号
*/
private String materialCode;
/**
* 物料描述
*/
private String materialDescription;
/**
* 送货数量
*/
private BigDecimal packingQuantity;
/**
* 待扫数量
*/
private BigDecimal pendingScanQuantity;
/**
* 单位
*/
private String unit;
/**
* 供应商名称
*/
private String supplierName;
/**
* 采购单号
*/
private String poNumber;
/**
* 采购单行号
*/
private String poLineNumber;
/**
* 条码类型(物料码箱码) 0 物料码1 箱码
*/
private Short packagingType;
/**
* 默认为0 如果存在包装的情况此处为包装的条码ID号
*/
private Long parentBarcodeId;
/**
* 送货单单号
*/
private String deliveryNo;
/**
* 送货单行号
*/
private String deliveryLineNo;
/**
* 是否需要点数 0 不需要点数1 需要点数
*/
private Integer isCounting;
}

View File

@ -1,12 +1,13 @@
package com.nflg.wms.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.PendingScanningItemDTO;
import com.nflg.wms.common.pojo.qo.PackingQO;
import com.nflg.wms.common.pojo.qo.PackingSearchQO;
import com.nflg.wms.common.pojo.vo.PackingItemPDAVO;
import com.nflg.wms.common.pojo.vo.PackingVO;
import com.nflg.wms.common.pojo.vo.*;
import com.nflg.wms.repository.entity.WmsPackage;
import java.util.List;
@ -23,7 +24,19 @@ public interface WmsPackageMapper extends BaseMapper<WmsPackage> {
List<PackingItemPDAVO> getPackageContent(Long id);
PageData<PackingVO> search(PackingSearchQO request, Page<Object> objectPage);
IPage<PackingVO> search(PackingSearchQO request, Page<Object> objectPage);
List<PackingItemPDAVO> getChildPackageContent(Long id);
PacageScanVO getPackageInfo(String packageCode);
List<PacagePoVO> getPackageOrders(Long id);
List<PacagePoItemVO> getPackageOrderItems(Long packageId, String deliveryNo);
List<PendingScanningVO> getPendingScannings(Long id);
List<PacageScanVO> getPackageInfos(List<Long> barcodeIds);
List<PendingScanningItemDTO> getScanningItems(List<Long> barcodeIds);
}

View File

@ -1,6 +1,7 @@
package com.nflg.wms.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.FilterIdSearchQO;
@ -18,7 +19,7 @@ import com.nflg.wms.repository.entity.WmsQrCodeMaster;
*/
public interface WmsQrCodeMasterMapper extends BaseMapper<WmsQrCodeMaster> {
PageData<QrCodeItemVO> search(QrCodeItemSearchQO request, Page<Object> objectPage);
IPage<QrCodeItemVO> search(QrCodeItemSearchQO request, Page<Object> objectPage);
PageData<QrCodeItemVO> getChildrens(FilterIdSearchQO request, Page<Object> objectPage);
IPage<QrCodeItemVO> getChildrens(FilterIdSearchQO request, Page<Object> objectPage);
}

View File

@ -1,6 +1,7 @@
package com.nflg.wms.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.TransferOrderSearchQO;
@ -17,5 +18,5 @@ import com.nflg.wms.repository.entity.WmsTransferOrders;
*/
public interface WmsTransferOrdersMapper extends BaseMapper<WmsTransferOrders> {
PageData<TransferOrderVO> search(TransferOrderSearchQO request, Page<Object> objectPage);
IPage<TransferOrderVO> search(TransferOrderSearchQO request, Page<Object> objectPage);
}

View File

@ -1,10 +1,11 @@
package com.nflg.wms.repository.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.PendingScanningItemDTO;
import com.nflg.wms.common.pojo.qo.PackingQO;
import com.nflg.wms.common.pojo.qo.PackingSearchQO;
import com.nflg.wms.common.pojo.vo.PackingItemPDAVO;
import com.nflg.wms.common.pojo.vo.PackingVO;
import com.nflg.wms.common.pojo.vo.*;
import com.nflg.wms.repository.entity.WmsPackage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nflg.wms.repository.entity.WmsPackageItem;
@ -31,7 +32,19 @@ public interface IWmsPackageService extends IService<WmsPackage> {
void unpackingDel(Long id, List<WmsQrCodeMaster> qrCodeMasters,Long packageId);
PageData<PackingVO> serach(@Valid PackingSearchQO request);
IPage<PackingVO> serach(@Valid PackingSearchQO request);
List<PackingItemPDAVO> getChildPackageContent(@NotNull Long id);
PacageScanVO getPackageInfo(String packageCode);
List<PacagePoVO> getPackageOrders(@NotNull Long id);
List<PacagePoItemVO> getPackageOrderItems(Long packageId, String deliveryNo);
List<PendingScanningVO> getPendingScannings(@NotNull Long id);
List<PacageScanVO> getPackageInfos(List<Long> barcodeIds);
List<PendingScanningItemDTO> getScanningItems(List<Long> barcodeIds);
}

View File

@ -1,5 +1,6 @@
package com.nflg.wms.repository.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.InventoryDTO;
import com.nflg.wms.common.pojo.dto.QrCodeMasterPrintDTO;
@ -34,9 +35,9 @@ public interface IWmsQrCodeMasterService extends IService<WmsQrCodeMaster> {
void transferLocation(List<WmsQrCodeMaster> allQcMasters, List<InventoryDTO> inBoundInventory, List<InventoryDTO> outBoundInventory, List<WmsTransferOrders> transferOrders);
PageData<QrCodeItemVO> search(@Valid QrCodeItemSearchQO request);
IPage<QrCodeItemVO> search(@Valid QrCodeItemSearchQO request);
PageData<QrCodeItemVO> getChildrens(@Valid FilterIdSearchQO request);
IPage<QrCodeItemVO> getChildrens(@Valid FilterIdSearchQO request);
List<WmsQrCodeMaster> getByExtendId(Long orderId);

View File

@ -1,5 +1,6 @@
package com.nflg.wms.repository.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.TransferOrderSearchQO;
import com.nflg.wms.common.pojo.vo.TransferOrderVO;
@ -17,5 +18,5 @@ import jakarta.validation.Valid;
*/
public interface IWmsTransferOrdersService extends IService<WmsTransferOrders> {
PageData<TransferOrderVO> search(@Valid TransferOrderSearchQO request);
IPage<TransferOrderVO> search(@Valid TransferOrderSearchQO request);
}

View File

@ -2,13 +2,14 @@ package com.nflg.wms.repository.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.constant.BarCodeProcessStage;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.PendingScanningItemDTO;
import com.nflg.wms.common.pojo.qo.PackingQO;
import com.nflg.wms.common.pojo.qo.PackingSearchQO;
import com.nflg.wms.common.pojo.vo.PackingItemPDAVO;
import com.nflg.wms.common.pojo.vo.PackingVO;
import com.nflg.wms.common.pojo.vo.*;
import com.nflg.wms.repository.entity.WmsPackage;
import com.nflg.wms.repository.entity.WmsPackageItem;
import com.nflg.wms.repository.entity.WmsQrCodeMaster;
@ -97,7 +98,7 @@ public class WmsPackageServiceImpl extends ServiceImpl<WmsPackageMapper, WmsPack
}
@Override
public PageData<PackingVO> serach(PackingSearchQO request) {
public IPage<PackingVO> serach(PackingSearchQO request) {
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
}
@ -106,5 +107,35 @@ public class WmsPackageServiceImpl extends ServiceImpl<WmsPackageMapper, WmsPack
return baseMapper.getChildPackageContent(id);
}
@Override
public PacageScanVO getPackageInfo(String packageCode) {
return baseMapper.getPackageInfo(packageCode);
}
@Override
public List<PacagePoVO> getPackageOrders(Long id) {
return baseMapper.getPackageOrders(id);
}
@Override
public List<PacagePoItemVO> getPackageOrderItems(Long packageId, String deliveryNo) {
return baseMapper.getPackageOrderItems(packageId, deliveryNo);
}
@Override
public List<PendingScanningVO> getPendingScannings(Long id) {
return baseMapper.getPendingScannings(id);
}
@Override
public List<PacageScanVO> getPackageInfos(List<Long> barcodeIds) {
return baseMapper.getPackageInfos(barcodeIds);
}
@Override
public List<PendingScanningItemDTO> getScanningItems(List<Long> barcodeIds) {
return baseMapper.getScanningItems(barcodeIds);
}
}

View File

@ -1,6 +1,7 @@
package com.nflg.wms.repository.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.constant.BarCodeProcessStage;
@ -133,12 +134,12 @@ public class WmsQrCodeMasterServiceImpl extends ServiceImpl<WmsQrCodeMasterMappe
}
@Override
public PageData<QrCodeItemVO> search(QrCodeItemSearchQO request) {
public IPage<QrCodeItemVO> search(QrCodeItemSearchQO request) {
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
}
@Override
public PageData<QrCodeItemVO> getChildrens(FilterIdSearchQO request) {
public IPage<QrCodeItemVO> getChildrens(FilterIdSearchQO request) {
return baseMapper.getChildrens(request, new Page<>(request.getPage(), request.getPageSize()));
}

View File

@ -1,5 +1,6 @@
package com.nflg.wms.repository.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.TransferOrderSearchQO;
@ -22,7 +23,7 @@ import org.springframework.stereotype.Service;
public class WmsTransferOrdersServiceImpl extends ServiceImpl<WmsTransferOrdersMapper, WmsTransferOrders> implements IWmsTransferOrdersService {
@Override
public PageData<TransferOrderVO> search(TransferOrderSearchQO request) {
public IPage<TransferOrderVO> search(TransferOrderSearchQO request) {
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
}
}

View File

@ -28,7 +28,7 @@
<select id="search" resultType="com.nflg.wms.common.pojo.vo.PackingVO">
select a.*,b.supplier_code,b.supplier_name from wms_package a
inner join user_supplier b on a.supplier_id=b."id"
left join user_supplier b on a.supplier_id=b."id"
<where>
<if test="request.packingCode !=null and request.packingCode !=''">
and a.package_code ilike concat('%', #{request.packingCode}, '%')
@ -58,7 +58,7 @@
po_number,
po_line_number,
delivery_no,
delivery_line_no ,
delivery_line_no,
create_user_name,
create_time,
unit,
@ -68,4 +68,111 @@
from wms_qr_code_master
where parent_barcode_id = #{id}
</select>
<select id="getPackageInfo" resultType="com.nflg.wms.common.pojo.vo.PacageScanVO">
select a.id,
a.package_code,
a.package_name,
c.supplier_name,
min(case when e.is_disable_location = true then 0 else 1 end) as is_counting, a.package_status
from wms_package a
left join wms_package_item b on a.id = b.package_id
left join user_supplier c on a.supplier_id = c.id
left join wms_qr_code_master d on b.barcode_code = d.barcode_code
left join wms_warehouse e on d.storage_location = e."no"
where a.package_code = #{packageCode}
group by a.id, a.package_code, a.package_name, c.supplier_name, a.package_status
</select>
<select id="getPackageOrders" resultType="com.nflg.wms.common.pojo.vo.PacagePoVO">
select b.delivery_no,
c.supplier_name,
min(case when e.is_disable_location = true then 0 else 1 end) as is_counting
from wms_package a
left join wms_package_item b on a.id = b.package_id
left join user_supplier c on a.supplier_id = c.id
left join wms_qr_code_master d on b.barcode_code = d.barcode_code
left join wms_warehouse e on d.storage_location = e."no"
where a.id = #{id}
group by b.delivery_no, c.supplier_name
</select>
<select id="getPackageOrderItems" resultType="com.nflg.wms.common.pojo.vo.PacagePoItemVO">
select a.*, case when e.is_disable_location = true then 0 else 1 end as is_counting
from wms_srm_order_item a
left join wms_package_item b
on a.note_num = b.delivery_no and b.delivery_line_no = a.line_number
left join wms_qr_code_master d on b.barcode_code = d.barcode_code
left join wms_warehouse e on d.storage_location = e."no"
where a.note_num = #{deliveryNo}
and b.package_id = #{packageId}
</select>
<select id="getPendingScannings" resultType="com.nflg.wms.common.pojo.vo.PendingScanningVO">
select a.id as barcode_id,
a.barcode_code,
b.material_code,
b.material_description,
case when b.packaging_type = 0 then b.quantity else sum(f.quantity) end as packing_quantity,
b.unit,
c.supplier_name,
b.po_number,
b.po_line_number,
b.packaging_type,
f.parent_barcode_id,
b.delivery_no,
b.delivery_line_no,
min(case when e.is_disable_location = true then 0 else 1 end) as is_counting
from wms_package_item a
left join wms_qr_code_master b on a.barcode_code = b.barcode_code
left join wms_qr_code_master f on b.id = f.parent_barcode_id
left join wms_warehouse e on b.storage_location = e."no"
left join user_supplier c on b.supplier_code = c.supplier_code
where a.package_id = #{id}
group by a.id, a.barcode_code, b.material_code, b.material_description, b.quantity, b.unit, c.supplier_name,
b.po_number, b.po_line_number, b.packaging_type, f.parent_barcode_id, b.delivery_no, b.delivery_line_no
</select>
<select id="getPackageInfos" resultType="com.nflg.wms.common.pojo.vo.PacageScanVO">
select a.id,
a.package_code,
a.package_name,
c.supplier_name,
min(case when e.is_disable_location = true then 0 else 1 end) as is_counting, a.package_status
from wms_package a
left join wms_package_item b on a.id = b.package_id
left join user_supplier c on a.supplier_id = c.id
left join wms_qr_code_master d on b.barcode_code = d.barcode_code
left join wms_warehouse e on d.storage_location = e."no"
where a.id in
<foreach item="id" collection="barcodeIds" open="(" separator="," close=")">
#{id}
</foreach>
group by a.id, a.package_code, a.package_name, c.supplier_name, a.package_status
</select>
<select id="getScanningItems" resultType="com.nflg.wms.common.pojo.dto.PendingScanningItemDTO">
select a.id,
a.barcode_code,
b.quantity,
b.material_code,
b.packaging_type,
b.po_number,
b.po_line_number,
b.delivery_no,
b.delivery_line_no,
b.unit,
b.serial_no,
b.batch_no,
b.material_description,
c.id as srm_id
from wms_package_item a
left join wms_qr_code_master b on a.barcode_code = b.barcode_code
left join wms_srm_order_item c on b.delivery_no=c.note_num and b.delivery_line_no=c.line_number
where a.package_id in
<foreach item="id" collection="barcodeIds" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</mapper>

View File

@ -33,7 +33,7 @@
and a.note_num =#{ request.deliveryNo}
</if>
<if test="request.supplierCode !=null and request.supplierCode !=''">
and a.supplier_code =#{ request.supplierCode}
and a.supplier_num =#{ request.supplierCode}
</if>
</where>
group by