自动化立体仓库 - WMS系统
zyx
2023-12-22 1cea8144b4ddd9ed19f8e2542b5374ca13c030f4
src/main/java/com/zy/asrs/controller/MatController.java
@@ -10,11 +10,11 @@
import com.core.annotations.ManagerAuth;
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.MatPrint;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.Pakout;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.LocOutAnfmePrintPara;
import com.zy.asrs.entity.result.KeyValueVo;
import com.zy.asrs.service.LocInPrintMatService;
import com.zy.asrs.service.LocOutPrintMatService;
import com.zy.asrs.service.MatService;
import com.zy.asrs.service.PakoutService;
import com.zy.asrs.utils.MatExcelListener;
@@ -45,6 +45,10 @@
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private PakoutService pakoutService;
    @Autowired
    private LocInPrintMatService locInPrintMatService;
    @Autowired
    private LocOutPrintMatService locOutPrintMatService;
    @RequestMapping(value = "/mat/auto/matnr/auth")
    public R autoMatnr(){
@@ -272,6 +276,104 @@
        return R.ok().add(res);
    }
    // 打印
    @RequestMapping(value = "/loc/in/mat/print/auth")
    @ManagerAuth(memo = "商品编码打印")
    public R locInMatCodePrint(@RequestParam(value = "param[]") Long[] ids) {
        if(Cools.isEmpty(ids)) {
            return R.parse(CodeRes.EMPTY);
        }
        List<MatPrint> res = new ArrayList<>();
        for (Long id : ids){
            LocInPrintMat locInPrintMat = locInPrintMatService.selectById(id);
            // 打印数据注入
            MatPrint print = new MatPrint();
            print.setMatnr(locInPrintMat.getMatnr());
            print.setMaktx(locInPrintMat.getMaktx());
            print.setBatch(locInPrintMat.getBatch());
            print.setAnfme(locInPrintMat.getAnfme());
            print.setLocNo(locInPrintMat.getLocNo());
            print.setOwnerId(locInPrintMat.getOwnerId());
            print.setOwner(locInPrintMat.getOwner$());
            print.setId(locInPrintMat.getId());
            res.add(print);
            locInPrintMat.setUpdateTime(new Date());
            locInPrintMat.setUpdateBy(getUserId());
            locInPrintMat.setStatus(2);
            locInPrintMatService.updateById(locInPrintMat);
        }
        return R.ok().add(res);
    }
    // 打印
    @RequestMapping(value = "/loc/out/mat/print/auth")
    @ManagerAuth(memo = "商品编码打印")
    public R locOutMatCodePrint(@RequestParam(value = "param[]") Long[] ids) {
        if(Cools.isEmpty(ids)) {
            return R.parse(CodeRes.EMPTY);
        }
        List<MatPrint> res = new ArrayList<>();
        List<String> memoList = new ArrayList<>();
        for (Long id : ids){
            LocOutPrintMat locOutPrintMat = locOutPrintMatService.selectById(id);
            // 打印数据注入
            MatPrint print = new MatPrint();
            print.setMatnr(locOutPrintMat.getMatnr());
            print.setMaktx(locOutPrintMat.getMaktx());
            print.setBatch(locOutPrintMat.getBatch());
            print.setAnfme(locOutPrintMat.getAnfme());
            print.setOwnerId(locOutPrintMat.getOwnerId());
            print.setOwner(locOutPrintMat.getOwner$());
            print.setId(locOutPrintMat.getId());
            res.add(print);
            print.setMemo(print.getMatnr()+";"+print.getBatch()+";"+print.getOwnerId());
            if (!memoList.contains(print.getMemo())){
                memoList.add(print.getMemo());
            }
            locOutPrintMat.setUpdateTime(new Date());
            locOutPrintMat.setUpdateBy(getUserId());
            locOutPrintMat.setStatus(2);
            locOutPrintMatService.updateById(locOutPrintMat);
        }
        List<LocOutAnfmePrintPara> locOutAnfmePrintParaList = new ArrayList<>();
        for (String memo : memoList){
            LocOutAnfmePrintPara locOutAnfmePrintPara = new LocOutAnfmePrintPara();
            int signInt = 0;
            Double[] anfme = new Double[]{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
            for (MatPrint matPrint:res){
                if (!memo.equals(matPrint.getMemo())){
                    continue;
                }
                if (signInt==0){
                    locOutAnfmePrintPara.setMatnr(matPrint.getMatnr());
                    locOutAnfmePrintPara.setBatch(matPrint.getBatch());
                    locOutAnfmePrintPara.setOwner(matPrint.getOwner());
                    locOutAnfmePrintPara.setOwnerId(matPrint.getOwnerId());
                }
                if (signInt<17){
                    anfme[signInt] = matPrint.getAnfme();
                    signInt++;
                }else {
                    locOutAnfmePrintPara.setAnfme(anfme);
                    locOutAnfmePrintParaList.add(locOutAnfmePrintPara);
                    locOutAnfmePrintPara = new LocOutAnfmePrintPara();
                    locOutAnfmePrintPara.setMatnr(matPrint.getMatnr());
                    locOutAnfmePrintPara.setBatch(matPrint.getBatch());
                    locOutAnfmePrintPara.setOwner(matPrint.getOwner());
                    locOutAnfmePrintPara.setOwnerId(matPrint.getOwnerId());
                    signInt = 0;
                    anfme = new Double[]{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
                    anfme[signInt] = matPrint.getAnfme();
                    signInt++;
                }
            }
            locOutAnfmePrintPara.setAnfme(anfme);
            locOutAnfmePrintParaList.add(locOutAnfmePrintPara);
        }
        return R.ok().add(locOutAnfmePrintParaList);
    }
    /*************************************** 数据相关 ***********************************************/