自动化立体仓库 - WMS系统
#
lsh
2023-12-13 7d9150b95d7db9833de2e57948f5985dfa2a1914
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -958,32 +958,41 @@
    @Override
    public R manDetlOrigin(JSONObject json, User user) {
        String jsonLocNo = (String) json.get("locNo"); //获取库位码
        String jsonCode = (String) json.get("code"); //获取条码
        String jsonOrigin = (String) json.get("origin"); //获取来源地
        OriginRule originRule = originRuleService.selectOne(new EntityWrapper<OriginRule>()
                .eq("origin_address", jsonOrigin));
        String code = "0";
        String weight = "0";
        String date = "0";
        try{
            if (originRule.getStartCode() != 0 && originRule.getEndCode() !=0){
                code = jsonCode.substring(originRule.getStartCode() - 1, originRule.getEndCode());
            }
            if (originRule.getStartWeight() != 0 && originRule.getEndWeight() !=0){
                weight = jsonCode.substring(originRule.getStartWeight() - 1, originRule.getEndWeight());
            }
            if (originRule.getStartDate() != 0 && originRule.getEndDate() !=0){
                date = jsonCode.substring(originRule.getStartDate() - 1, originRule.getEndDate());
            }
        }catch (Exception e){
            return R.error("条码位置有误");
        }
        Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", jsonLocNo));  //获取对应库位信息
        if (Cools.isEmpty(node)){
            return R.error("未查询到库位信息");
        }
        JSONArray combMats = json.getJSONArray("combMats");
        for (int i = 0; i < combMats.size(); i++) {
            DetlOriginDTO jsonOriginDetl = combMats.getObject(i, DetlOriginDTO.class);
            OriginRule originRule = originRuleService.selectOne(new EntityWrapper<OriginRule>()
                    .eq("origin_address", jsonOriginDetl.getOrigin()));
            String code = "0";
            String weight = "0";
            String date = "0";
            try{
                if (originRule.getStartCode() != 0 && originRule.getEndCode() !=0){
                     code = jsonOriginDetl.getMatnr().substring(originRule.getStartCode() - 1, originRule.getEndCode());
                }
                if (originRule.getStartWeight() != 0 && originRule.getEndWeight() !=0){
                     weight = jsonOriginDetl.getMatnr().substring(originRule.getStartWeight() - 1, originRule.getEndWeight());
                }
                if (originRule.getStartDate() != 0 && originRule.getEndDate() !=0){
                     date = jsonOriginDetl.getMatnr().substring(originRule.getStartDate() - 1, originRule.getEndDate());
                }
            }catch (Exception e){
                return R.error("条码位置有误");
            OrderDetl jsonOriginDetl = combMats.getObject(i, OrderDetl.class);
            Mat mat = matService.selectByMatnr(jsonOriginDetl.getMatnr());
            if (Cools.isEmpty(mat)){
                return R.error("未查询到商品信息");
            }
            Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", jsonLocNo));  //获取对应库位信息
            if (Cools.isEmpty(node)){
                return R.error("未查询到库位信息");
            }
            Wrapper<ManLocDetl> manLocDetlWrapper = new EntityWrapper<ManLocDetl>().eq("loc_no", jsonLocNo).eq("matnr", jsonOriginDetl.getMatnr());
            ManLocDetl manLocDetl1 = manLocDetlService.selectOne(manLocDetlWrapper);
            if(!Cools.isEmpty(manLocDetl1)){
@@ -999,14 +1008,15 @@
            }else {
                Date now = new Date();
                ManLocDetl manLocDetl = new ManLocDetl();  //初始化库存实体类
                manLocDetl.sync(mat);
                manLocDetl.setLocNo(node.getName());
                manLocDetl.setNodeId(node.getId());
//            manLocDetl.setZpallet(waitPakin.getZpallet());
                manLocDetl.setAnfme(jsonOriginDetl.getAnfme());
                manLocDetl.setMatnr(jsonOriginDetl.getMatnr());
                manLocDetl.setMaktx(code);
                manLocDetl.setWeight(Double.valueOf( weight));
                manLocDetl.setUnit(date);
                manLocDetl.setName(jsonCode);
                manLocDetl.setModel(code);
                manLocDetl.setWeight(Double.valueOf(weight));
                manLocDetl.setBatch(date);
                manLocDetl.setCustName(jsonOriginDetl.getOrigin());
                manLocDetl.setStatus(1);
                manLocDetl.setCreateBy(user.getId());
@@ -1031,7 +1041,7 @@
        JSONArray combMats = json.getJSONArray("combMats");
        for (int i = 0; i < combMats.size(); i++) {
            DetlOriginDTO jsonOriginDetl = combMats.getObject(i, DetlOriginDTO.class);
            OrderDetl jsonOriginDetl = combMats.getObject(i, OrderDetl.class);
            Wrapper<ManLocDetl> manLocDetlWrapper = new EntityWrapper<ManLocDetl>().eq("loc_no", jsonLocNo).eq("matnr", jsonOriginDetl.getMatnr());
            ManLocDetl manLocDetl = manLocDetlService.selectOne(manLocDetlWrapper);
            BigDecimal outAnfme = BigDecimal.valueOf(jsonOriginDetl.getAnfme());