pjb
2025-03-08 83b51a5a0774ea8ecb9a06304af3b956a21307c8
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/PickSheetServiceImpl.java
@@ -1,12 +1,74 @@
package com.zy.asrs.wms.asrs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mysql.cj.util.StringUtils;
import com.zy.asrs.wms.asrs.entity.PickSheet;
import com.zy.asrs.wms.asrs.entity.PickSheetDetl;
import com.zy.asrs.wms.asrs.entity.param.PageRequest;
import com.zy.asrs.wms.asrs.mapper.ManPickSheetDetlMapper;
import com.zy.asrs.wms.asrs.mapper.ManPickSheetMapper;
import com.zy.asrs.wms.asrs.service.PickSheetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Map;
import java.util.Objects;
@Service
public class PickSheetServiceImpl extends ServiceImpl<ManPickSheetMapper, PickSheet> implements PickSheetService {
    @Autowired
    private ManPickSheetDetlMapper pickSheetDetlMapper;
    /**
     * 获取拣货单列表
     * @param params
     * @return
     */
    @Override
    public IPage<PickSheet> getOutFlatSheet(PageRequest params) {
        LambdaQueryWrapper<PickSheet> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.eq(PickSheet::getDeleted, 0).eq(PickSheet::getStatus, 1);
        Map<String, Object> param = params.getParams();
        if (!Objects.isNull(param)) {
            lambdaQueryWrapper.eq(!StringUtils.isNullOrEmpty(param.get("pickNo").toString()),PickSheet::getPickNo, param.get("pickNo"))
                    .eq(!StringUtils.isNullOrEmpty(param.get("waveNo").toString()), PickSheet::getWaveNo, param.get("waveNo"));
        }
        return this.baseMapper.selectMapsPage(params.getPage(), lambdaQueryWrapper);
    }
    /**
     * 获取拣货单明细
     * @param pageRequest
     * @return
     */
    @Override
    public IPage<PickSheetDetl> getSheetDetl(PageRequest pageRequest) {
        LambdaQueryWrapper<PickSheetDetl> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.eq(PickSheetDetl::getDeleted, 0).eq(PickSheetDetl::getStatus, 1);
        if (!Objects.isNull(pageRequest.getParams())) {
            lambdaQueryWrapper.eq(!Objects.isNull(pageRequest.getParams().get("maktx")),PickSheetDetl::getMaktx, pageRequest.getParams().get("maktx"))
                    .eq(!Objects.isNull(pageRequest.getParams().get("batch")), PickSheetDetl::getBatch, pageRequest.getParams().get("batch"))
                    .eq(!Objects.isNull(pageRequest.getParams().get("mantr")), PickSheetDetl::getMatnr, pageRequest.getParams().get("mantr"))
                    .eq(!Objects.isNull(pageRequest.getParams().get("locNo")), PickSheetDetl::getLocNo, pageRequest.getParams().get("locNo"))
                    .eq(!Objects.isNull(pageRequest.getParams().get("pickId")), PickSheetDetl::getPickId, pageRequest.getParams().get("pickId"))
                    .eq(!Objects.isNull(pageRequest.getParams().get("barcode")), PickSheetDetl::getBarcode, pageRequest.getParams().get("barcode"));
        }
        return pickSheetDetlMapper.selectMapsPage(pageRequest.getPage(), lambdaQueryWrapper);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int removePickSheet(Long id) {
        if (this.update(new LambdaUpdateWrapper<PickSheet>().eq(PickSheet::getId, id).set(PickSheet::getDeleted, 1))) {
            return pickSheetDetlMapper.update(new LambdaUpdateWrapper<PickSheetDetl>().eq(PickSheetDetl::getPickId, id).set(PickSheetDetl::getDeleted, 1));
        }
        return 0;
    }
}