自动化立体仓库 - WMS系统
dubin
1 天以前 be554d9e52799a0ee14c98b0959d07ab3847c8e6
src/main/java/com/zy/asrs/service/impl/MatBarcodeServiceImpl.java
@@ -2,17 +2,19 @@
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.exception.CoolException;
import com.zy.asrs.entity.HalfBarcode;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.MatBarcode;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.mapper.MatBarcodeMapper;
import com.zy.asrs.service.HalfBarcodeService;
import com.zy.asrs.service.MatBarcodeService;
import com.zy.asrs.service.MatService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service("MatBarcodeService")
public class MatBarcodeServiceImpl extends ServiceImpl<MatBarcodeMapper, MatBarcode> implements MatBarcodeService {
@@ -22,6 +24,8 @@
    private MatBarcodeService matBarcodeService;
    @Autowired
    private MatService matService;
    @Autowired
    private HalfBarcodeService halfBarcodeService;
    @Override
    public MatBarcode selectbyMatnr(String matnr) {
        return this.baseMapper.selectByMatnr(matnr);
@@ -30,6 +34,12 @@
    @Override
    public void deleteMatBarcode(List<MatBarcode> list) {
        for (MatBarcode matBarcode : list) {
            HalfBarcode halfBarcode = halfBarcodeService.selectByZpallet(matBarcode.getZpallet());
            halfBarcode.setAnfme(halfBarcode.getAnfme() - 1);
            halfBarcode.setPrice(halfBarcode.getPrice() + 1);
            if (!halfBarcodeService.half(halfBarcode)){
                throw new CoolException("更新半托信息失败");
            }
            matBarcodeMapper.deleteByMatnr(matBarcode.getMatnr());
        }
    }
@@ -47,6 +57,37 @@
        if (mat.getColor().equals("报废")){
            throw new CoolException("该物料已报废,请勿绑定");
        }
        HalfBarcode halfBarcode = halfBarcodeService.selectByZpallet(waitPakin.getBarcode());
        if (halfBarcode == null){
            HalfBarcode hb = new HalfBarcode();
            hb.setZpallet(waitPakin.getBarcode());
            hb.setSpecs(waitPakin.getBarcode().substring(0,1));
            hb.setAnfme(1);
            if (Integer.parseInt(waitPakin.getBarcode().substring(0,1))==6){
                hb.setPrice(24-1);
            }else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==7){
                hb.setPrice(24-1);
            }else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==8){
                hb.setPrice(24-1);
            }
            if (!halfBarcodeService.insert(hb)){
                throw new CoolException("更新半托信息失败");
            }
        }else {
            if (Integer.parseInt(waitPakin.getBarcode().substring(0,1))==6){
                halfBarcode.setAnfme(halfBarcode.getAnfme() + 1);
                halfBarcode.setPrice(halfBarcode.getPrice()-1);
            }else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==7){
                halfBarcode.setAnfme(halfBarcode.getAnfme() + 1);
                halfBarcode.setPrice(halfBarcode.getPrice()-1);
            }else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==8){
                halfBarcode.setAnfme(halfBarcode.getAnfme() + 1);
                halfBarcode.setPrice(halfBarcode.getPrice()-1);
            }
            if (!halfBarcodeService.half(halfBarcode)){
                throw new CoolException("更新半托信息失败");
            }
        }
        MatBarcode mb=new MatBarcode();
        mb.setZpallet(waitPakin.getBarcode());
        mb.setMatnr(mat.getMatnr());
@@ -57,4 +98,37 @@
            throw new CoolException("物料托盘绑定失败");
        }
    }
    @Override
    public void addBarcodeMatnrTwo(Mat mat) {
        Mat m = matService.selectById(mat);
        if (m == null){
            throw new CoolException("物料不存在,请先添加物料数据");
        }
        MatBarcode matBarcode = matBarcodeMapper.selectByMatnr(mat.getMatnr());
        if (matBarcode != null){
            throw new CoolException("该物料已经绑定托盘,请勿重复绑定");
        }
        if (mat.getColor().equals("报废")){
            throw new CoolException("该物料已报废,请勿绑定");
        }
        MatBarcode mb=new MatBarcode();
        mb.setZpallet(mat.getUnit());
        mb.setMatnr(mat.getMatnr());
        mb.setMaktx(mat.getMaktx());
        mb.setSpecs(mat.getSpecs());
        mb.setModel(mat.getModel());
        if (!matBarcodeService.insert(mb)){
            throw new CoolException("物料托盘绑定失败");
        }
    }
    @Override
    public String page(Map<String, Object> param) {
        Integer pageNo = Integer.valueOf(param.get("curr").toString());
        Integer pageSize = Integer.valueOf(param.get("limit").toString());
        String barcode = (String) param.get("zpallet");
        Integer spec = Integer.valueOf(param.get("spec").toString());
        return matBarcodeMapper.page(pageNo,pageSize,barcode,spec);
    }
}