自动化立体仓库 - WMS系统
pang.jiabao
2024-11-02 00e38de0471c45facd350c7d7b56dd942fc8122a
原材料物料码解析
1个文件已修改
35 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MatController.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MatController.java
@@ -32,6 +32,7 @@
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.util.*;
@RestController
@@ -355,14 +356,32 @@
//            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);
    }