#
luxiaotao1123
2021-03-02 2b38e9c64ce9d6b6b054d1540ccd53a9d1bba30a
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java
@@ -1,14 +1,28 @@
package zy.cloud.wms.manager.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import zy.cloud.wms.common.config.CodeCoolException;
import zy.cloud.wms.manager.entity.CustOrder;
import zy.cloud.wms.manager.entity.LocDetl;
import zy.cloud.wms.manager.entity.Mat;
import zy.cloud.wms.manager.mapper.LocDetlMapper;
import zy.cloud.wms.manager.service.CustOrderService;
import zy.cloud.wms.manager.service.LocDetlService;
import zy.cloud.wms.manager.service.MatService;
import java.util.List;
@Service("locDetlService")
public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
    @Autowired
    private CustOrderService custOrderService;
    @Autowired
    private MatService matService;
    @Override
    public Page<LocDetl> getPage(Page page, String nodeId, Object locNo, Object matnr, Object maktx) {
@@ -20,5 +34,28 @@
        return this.baseMapper.selectByLocNoAndMatnr(nodeId, matnr);
    }
    @Override
    public void checkLocDetlCount(String number) {
        List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("number", number).eq("status", 1));
        StringBuilder errorMsg = new StringBuilder();
        boolean error = false;
        for (CustOrder custOrder : custOrders) {
            Double count = this.baseMapper.selectCountByMatnr(custOrder.getUserCode());
            if (count == null) {
                count = 0.0D;
            }
            if (count < custOrder.getQty()) {
                if (!error) {
                    error = true;
                }
                Mat mat = matService.selectByMatnr(custOrder.getUserCode());
                errorMsg.append(mat == null ? custOrder.getUserCode() : mat.getMaktx()).append("库存不足,缺货数量:").append(custOrder.getQty() - count).append("</br>");
            }
        }
        if (error) {
            throw new CodeCoolException("20001-" + errorMsg.toString());
        }
    }
}