自动化立体仓库 - WMS系统
dubin
1 天以前 dd76858f35bb4fdd76d5976465e9bd96267b0f0b
src/main/java/com/zy/asrs/controller/MatController.java
@@ -13,7 +13,6 @@
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.MatPrint;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.entity.result.KeyValueVo;
import com.zy.asrs.service.MatService;
import com.zy.asrs.utils.MatExcelListener;
@@ -33,6 +32,7 @@
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.util.*;
@RestController
@@ -342,7 +342,7 @@
    }
    @RequestMapping(value = "/mat/split")
    @ManagerAuth
    @ManagerAuth(memo = "解析物料码")
    public R split(@RequestParam("matnr") String matnr) {
        if (Cools.isEmpty(matnr)) {
            return R.error("数据为空");
@@ -351,19 +351,37 @@
        if (split.length != 8) {
            return R.error("数据错误");
        }
        Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", split[0]));
        if (Cools.isEmpty(mat)){
            return R.error("未查询到物料信息,"+split[0]);
        }
//        Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", split[0]));
//        if (Cools.isEmpty(mat)){
//            return R.error("未查询到物料信息,"+split[0]);
//        }
        Map<String, Object> map = new HashMap<>();
        map.put("matnr", split[0]);
        map.put("batch", split[1]);
        map.put("specs", split[2].substring(0,split[2].length()-1));
        map.put("manuDate", split[3]);
        map.put("model", split[4].substring(0,split[4].length()-1));
        map.put("weight", split[5].substring(0,split[5].length()-2));
        map.put("length", split[6]);
        map.put("volume", split[7]);
        if (split[0].equals("00000000")) {
            // 原材料码解析规则
            map.put("matnr", split[0]);
            map.put("batch", split[1]);
            map.put("specs", split[2]);
            map.put("manuDate", split[3]);
            map.put("model", split[4]);
            String[] split1 = split[5].split("\\*");
            double a = Double.parseDouble(split1[0]); // 厚度
            double b = Double.parseDouble(split1[1]); // 宽幅
            DecimalFormat df = new DecimalFormat("#.00");
            map.put("weight", df.format(b));
            map.put("length", split[6]);
            map.put("volume", df.format(a * b));
        } else {
            // 半成品码解析规则
            map.put("matnr", split[0]);
            map.put("batch", split[1]);
            map.put("specs", split[2].substring(0, split[2].length() - 1));
            map.put("manuDate", split[3]);
            map.put("model", split[4].substring(0, split[4].length() - 1));
            map.put("weight", split[5].substring(0, split[5].length() - 2));
            map.put("length", split[6]);
            map.put("volume", split[7]);
        }
        return R.ok().add(map);
    }